Exercise 1: Design with UML (Due: May 27th, 2011)
SE2-Software Design & Architecture (CS446/CS646/ECE452) Spring 2011
Main|Schedule|Term Project
Problem Description
You are to design a new payroll system with the following key features/requirements:
- allow employees to record time card information electronically
- automatically generate paychecks based on the number of hours worked & total amount of sales for commission-based employees
- Web based interface to allow employees to interact with the system
- employee must only operate on their own data records
- employees can choose payment type
- the system must inter-operate with the older database running on mainframe
- employees can be paid by the hour or they can be salaried
- hourly workers must be paid every two weeks on the Friday, where as salaried employees should be paid at the end of the month (last Friday of the month)
- commission based employee can have variable commission rate (not same for all)
- system must be able to provide various types of reports for employees and managers.
Exercises
- Based on the above mentioned requirements identify and draw the main use cases.
- Identify architectural classes and their relationships. Draw the high level class diagrams to represent all important concepts. Clearly identify dependencies and associations (aggregation & composition). Try to use design by contract in your solution.
- Draw a component diagram as to how the system can be integrated with mainframe based data source.
- identify two major use cases and translate them into sequence diagrams.
Solution
Class Diagram.pdf
Submission: Submit your solution as a pdf report not longer than five pages. The diagrams should be readable. Use UWACE to send your pdf files.
This exercise will expire on Monday 30th, 2011.
Last updated on May 19th, 2011 by Atif Khan.