Answered step by step
Verified Expert Solution
Link Copied!
Question
1 Approved Answer

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

blur-text-image
Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students explore these related Databases questions