The objective of this homework is to give you experience using software modeling with UML. This exercise will help familiarize you with several different UML
The objective of this homework is to give you experience using software modeling with UML. This exercise will help familiarize you with several different UML diagrams and with software conceptual design. These are requirements and conceptual design related activities, so you should not have to implement any code for this assignment.
The scenario: You have been telling your boss about a fantastic software engineering course you are taking; you tell her that you are quickly on the path to becoming a Ninja Programmer and are developing an expertise in UML. Naturally, she is very impressed so she appoints you to lead a team which will develop an accounting system that will be used to control project funding. Initially, your software will provide the capability for a manager to set up and allocate funds for each project. The project employees will enter a timecard weekly showing the number of hours worked on each project. An accounting person will enter the hours worked by individuals on each project the individuals may be either salaried, or hourly - and as part of the process, will adjust the amount of funding left to be spent. If the project funds are depleted, the manager will be notified and work on the project will cease. The payroll clerk will pay the hourly employees weekly and the salaried employees monthly.
For now, you will not have to implement any work stoppage mechanisms needed when the project funds run out, nor worry about dealing with the deficits that may occur when the funds are running low.
For this design effort, you will do the following:
1. Develop a UML use case diagram which describes the requirements given above.
2. Develop activity diagrams for:
The project set up and funds allocation activity
The timecard entry activity
The project accounting activity
The payroll activity
Wherever possible, try and define common functions that can be included in multiple activities. For example, you may want to have an adjust project funding activity that has multiple uses. The manager may adjust the funding upward, while the account person will adjust the funding downward.
3. Using your Employee, SalariedEmployee, and HourlyEmployee classes, develop a class diagram which shows the relationship between the three. Propose other classes and how they would associate with the three classes that you have already implemented.
Note: This is a design exercise, so there is not one correct answer. We are striving to leverage common functions, implement a system that provides flexibility to adapt to new requirements, and ultimately, generate a design that not only meets all the requirements, but is understandable and easy to maintain.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started