uml design

This project received 1 bids from talented freelancers with an average bid price of $150 USD.

Get free quotes for a project like this
Employer working
Project Budget
$30 - $250 USD
Total Bids
Project Description

Software is required for an “internet café” software system as described below:

The system controls all PCs in the café’s local network. New users must register to use the PCs. The

supervisor enters user details into the system which then produces a magnetic-strip card for that user. On

payment of a fee the system writes on the card the appropriate amount of “credit time” and the user can

then place it in a PC card-reader to operate the PC. No actual login is needed as the system obtains the

user’s ID from the card. When finished the user simply removes the card (any time left on the card can

be used next time). While using the system, the remaining time is shown at the bottom of the screen, and

a message is displayed when only 3, 2 or 1 minutes remain, and finally the user is logged off when the

paid-for time expires. The system stores information about users and their usage times, and can produce

various reports at the supervisor’s request.

• Working alone (not in groups), produce a layered partial software design for the above system

using Rational Rose. The design need not be complete, for example the user interface is not

important. However all submissions must include the following:

1. The class diagram of the overall layered software design.

Your design must make appropriate use of GRASP and GoF patterns.

Advice: the layers and the patterns must be made obvious in your design

2. A detailed design sequence diagram that realizes a major use-case (or thread

of execution). [see Note A] This development is interdependent with (3).

3. A sub-set of the design class diagram in (1) showing the detailed design of

the classes involved in the use case above. This must show:

(a) The types of all the attributes.

(b) The return types of the methods that appear in the sequence diagram (but

not the other methods)

(c) The arguments and argument types for the methods that appear in the

sequence diagram (but not the other methods)

[See Note B] This development is interdependent with (2).

4. a state diagram for a significant class involved in that use case.

Advice: make sure it is a state diagram (not a flowchart of tasks, actions and


5. Skeleton Java code listings for three of these classes, to be produced as


(a) Use the code generator in Rose to generate the skeleton Java code for the


(b) Edit the Java code to include appropriate Contract4J or iContract style

DbC assertions (contract tests).

Advice: clear narrative assertions may be used for difficult cases, but only

score 40%.

6. In addition to the diagrams from Rational Rose, you will need to include

appropriate descriptions and explanations of your design into the relevant sections

of the design document. In particular you must include discussion reflecting on

the design decisions you made such as your layers, major patterns you used, why

you used them, and where you used them.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online