Starting from:

$29

System Development Assignment 1


CSCI222
System Development

Assignment 1 - Group Assignment (15 marks)

TASKS
Your tasks are to:
•    Form and structure your group, allocating roles and responsibilities to your members;
•    Elicit and specify requirements for the system, including all detailed functional and non-functional requirements for the new system, the data that the system will need to manage, interfaces to other systems, and interfaces and functionalities for different classes of users. The lecturer and tutor will act as clients for this project. You would also need to explore existing similar systems that are available online.
•    Complete the planning and the requirements analysis for the system that is described in the attached informal specification document.
•    Use a versioning system of your choice. 
•    Produce a report detailing the group's work.
The book “The rational unified process: an introduction” by P. Kruchten  contains explanations of the Rational Unified Process (RUP) roles. Details include lists of artefacts that are the responsibility of a person holding a particular role, and workflow diagrams. Students should check these outlines to gain guidance as to what they are to do in the project.
Each group will hold formal minuted meetings. The group member holding the "manager" role is responsible for these meetings, in particular preparing agendas and keeping meetings on track, and is also responsible for the reports on meetings. The meeting structure should be along the following lines:
•    Reports from individuals who were allocated "urgent action items" in the previous meeting; discussion of issues related to these "urgent action items";
•    Manager reviews his/her perception of the current status of the project; this review is to use data from bug reports and feature tests as created by the systems integrator;
•    Scheduled agenda items are discussed - in the early meetings this will involve resolution of open design issues, later it will involve review of progress on implementation elements and integration;
•    Reports by individual members on progress in their areas of responsibility ("code walkthroughs" may be used) and identification of any problems;
•    Identification of any "urgent action items" and allocation of responsibility for these;
•    Proposals for agenda items for the subsequent meeting.
Each group member will maintain a work diary. This should cover: planned work schedule, actual work times, summary of work completed, report on "defects" in own work. The purpose of a work diary is really to provide data that identify ineffective work practices so that remedial action can be taken . Often you will find planned and actual work times differ significantly; such differences may point to poor work management practices. Every developer has his/her own blind spots that lead to defects in code.  Analysis of defect patterns can help identify weaknesses and thus lead to a pre-emptive approach where the developer checks for their typical errors prior to running code.

REPORT
The work of the group is to be presented in a report. The report is the basis for your assessment. The report should briefly present the product that you are developing and provide evidence for a competently handled development process. It should use grammatically correct English and should not contain innumerable spelling errors. You should use the spelling and grammar checkers in your word processor application.
The report should be structured as below:
•    Business case:  What is this system that you are to build?  Who will it serve?  What will it do for them?  
•    Detailed plans for the whole project (from requirements until implementation). 
•    Risks and counter measures.
•    Software Requirements Specification
•    Use cases (including use case diagrams and detailed description for each use case)
•    A domain model with detailed description of each class.  
The “meta-report” part should include:
•    A tabular summary of the group structure identifying group members, the roles that they filled, the artefacts that they successfully delivered.
•    Group meeting records and individual diaries:
o    There should be a summary detailing the work done at each group meeting.
o    There should be agendas and reports from all group meetings.
o    There should be work diaries of all members of the group.



SUBMISSION
Your group is to submit a hardcopy of the report to the lecturer as well as upload a softcopy to moodle before deadline.  The report must contain a “member contribution assessment” section.  This should identify the member contributions on the ordinal scale “contributed”, “some contribution”, “almost no contribution”, or “no contribution”.  This section must be signed by all group members.

MARKING SCHEME
•    Overall presentation of report  (2 marks)
•    Requirements elicitation and analysis efforts as evidenced by your report  (9 marks)
•    Project management  (4 marks)
These marks are based on evidence for the use of an effective software development process. Factors contributing to this part of the assessment will include: evidence for an effective group structure and adoption of roles; effective group collaboration as evidenced by meaningful group meetings; well-planned and disciplined work processes of individuals; and effective use of a versioning system.
Individual marks are based on the group mark.  Individual marks are adjusted in accord with the “member’s contribution assessment” document submitted by the group. Individual marks cannot be greater than the group mark. 
 
Appendix A – Warehouse Management (WM) Tool 
Overview
An effective Warehouse Management (WM) Tool is essential for streamlining process, long range planning and optimisation.  It gives a better understanding of day-to-day operation with its summary information of how a warehouse is performing.  The managers could use this data for making critical management decisions.  
It is critical for the warehouse management to have an effective system in place due to various reasons such as security, accuracy, availability and so on. Therefore, you are asked to use a test-driven approach to develop the warehouse management tool which needs to meet the following requirements.
Functional Requirements
List of features include:
1.    Abilitity to record the incoming stock and outgoing stock easily.
2.    Track ithe stock in accordance to their category and sub-category.
3.    Ability to search and display available stock for a particlar category and/or sub-category.
4.    Ability to search and display stock in accordance to price range and quantity in ascending and descending order.
5.    Daily, weekly or monthly summary report of total incoming and outgoing stock details.
6.    Provide login authentication process.
7.    Login security feature with option of encrypting the data stored.
8.    If there are three unsuccessful login attempts, the record will be marked as “locked” and one is not allowed to login to the system.
9.    The system shall encrypt and decypt the password.
10.    Provide stock item alerts when it drops below a threshold set previously.
 
11.    The WM may have the following interactive menu:
a)    Add new stock
b)    Remove stock
c)    Edit stock item 
d)    Search stock item
e)    Daily stock summary report
f)    Weekly stock summary report
g)    Monthly stock summary report
h)    Yearly stock summary report
i)    Quit

The WM allows new stock item’s details to be individually entered and then stored in a text file as the following format:
[Item ID]:[Item Description]:[Item Category]: [Item Sub-category]:[Amount Per Unit]:[Qty]:[Transacted date]
eg:    
    023:Samsung Phone XYZ:Electronics:Mobile Phone:300:100:15-Dec-12
    053:Dan Sofa:Furniture:Sofa:1200:-10:15-Dec-12
    045:Nike ABC:Shoes:Trainers:50:60:22-Dec-12
    023:Samsung Phone XYZ:Electronics:Mobile Phone:300:-50:15-Dec-12    
    045:Nike ABC:Shoes:Trainers:50:-10:22-Dec-12
     
The colon (:) character is used to separate each piece of information.  

A sample of the  daily stock transacted is shown below.  





You can also provide more information such as the total number of stock items availale in the warehoue at any point in time.





Non-functional Requirements
1.    The system is to be implemented in C++ and is to run on a Linux OS.
2.    The system is to use a simple textual “menu-select” style of user interface.
You need to elicit further requirements and specify them in much more detail in Software Requirement Specification by doing a further requirement analysis with your supervisor.
Note: The first part of this project (Assignment 1) involves planning and eliciting and analysing requirements. The second part (Assignment 2) will involve designing, implementing and testing the system. 

More products