Part 1 – User Interface – 40 marks
FoodCo needs user interfaces for the production line control system. Choose EITHER of the following use cases and perform the tasks specified below to design and implement a user interface for that subsystem.
i. recording an employee leaving an active production run .
ii. the line supervisor halting the production line for a line stoppage.
Submit a detailed use case description for the use case you select. This may be the same as the use case described in Assignment 1. Make sure the user interface you design will support that use case.
1. List as many of the requirements for the user interface(s) as you can without knowing the details of the hardware or software platform on which it will be implemented. (10 marks)
2. Decide how you will handle the user interaction. Draw a prototype user interface design to document your design. Draw separate diagrams for each high level (window/dialog) object involved. Show how the user interface elements identified in your prototype map onto GUI elements in a well known GUI toolkit such as .NET or Java Swing. (10 marks)
3. Draw state diagrams to model the behaviour of the high level user interface objects identified in Question 2. (10 marks)
4. Draw a sequence diagram to show the interaction between the high level (window/dialog) objects of your user interface, and any control and/or entity/domain objects during the use case. (Hint: design the collaborations first, and remember to document any messages associated with changing the state of the user interface objects.) (10 marks)
Part 2 – Data Management – 40 marks
It is very important to FoodCo that production run operational records, including employee work records, and the details of any stoppages, are not lost due to any computer or network outages. FoodCo has a centralized RDBMS, and it is required that these operational records should be updated in the central database as they are entered.
5. Map the information held for the production run environment onto a set of tables in third normal form that can be stored in a database. Submit the specifications for the set of tables. (15 marks)
6. Design a database broker framework, which can be used to implement a persistence mechanism for the production run environment using the objects and tables you have designed. Construct class and sequence diagrams to show the interactions between entity objects and the database during the execution of the use case you selected for Part 1. (25 marks) (Extension: use proxy objects)
Part 3 – Implementation – 20 marks
The fundamental reasons for engaging in design are to facilitate the implementation task and to make extending the system simpler. Implementation also serves to validate and verify the design. Validate your proposed architecture and design by carrying out the following tasks:
7. Implement the software required to support your chosen use case using the architecture and design for HCI and Data Management layers you have developed in Parts 1 and 2.
Manually populate your database to fulfill pre-conditions for exercise of the chosen use case using the database structure specified in Part 2 Question 5. Specify post-conditions that result from the normal flow of events in the chosen use case, and any alternate flows.
Specify test cases that verify correct operation of your design, and capture information that shows the results of those tests.
Implement your user interface design using .NET or Java. Use an Access database (or openOffice equivalent) and populate your tables with a set of test records manually.
Submit source code, your test database, test scripts, and screen dumps or other outputs to demonstrate the results of executing those tests. Include any relevant design documentation you create (Even if it is just images of diagrams sketched on scrap paper). (20 marks)
To reinforce and consolidate unit material related to the the design of the HCI.
To reinforce and consolidate unit material related to Data Management.
To reinforce the relationship between design and implementation.
Assignment 2 Marking Criteria
Diagrams will be assessed on the basis of :
how well they reflect the requirements of the case study,
how well they adhere to UML standards.
how well thought through, comprehensive, consistent, and correct they are.
Designs will be assessed on the basis of:
how well they address the requirements of the case study
how well they demonstrate the properties of good design (high cohesiveness, low coupling)
whether they demonstrate intelligent and appropriate use of relevant design patterns
The implementation will be assessed on:
how well it adheres to the stated design
how well it actually works
standard code assessment criteria of good style, good structure, and good coding standards (neat, meaningful variable names, decent commenting)
All required files are to be placed in a single directory, and that directory compressed into a single zip file identified with your name and student number. The single zip file containing everything to be submitted for the assignment should be on CDROM.
Note: no other compression format apart from zip is acceptable. Any assignments submitted using some other compression format will be regarded as 'did not submit'.