Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

TCP2201 Object Oriented Analysis and Design

SESSION 3 2017/18
Group assignment

Assignment overview

In the following, you will find your programming project requirement for this subject. You
are strongly reminded to be honest. Any plagiarism is not tolerated.

You should start working on your project now. Be reminded that a project not only consist
of code, but must also consist of a corresponding documentation and explanation of your code.

To give you a clear guideline: Your project is evaluated approximately to 10% for your code
10% for your report 10% for your presentation.

In the presentation (interview in our course) your lecturer will ask you to change/modify
your code according to his requests in front of him. It is very advisable to have done the
programming on your own. It is even much better to submit a halfway finished but self-written
program and report than a copied one. The interview will clearly detect this.

The projects are easy to understand and based on our classes. Prepare first a clear overview
and use the tools you like and learnt (Flowcharts, Structure Charts, UML Diagrams, Design
Patterns...). Start with easier versions of the projects: Restrict the input variables, restrict the
complexity of the input,… Write small input routines asking the necessary data from the user and
formatting the output as desired.

As such, divide the work between your members and start the coding. Each group must
consist of five (5) members. Finally write a good, detailed report and present your work. The
programming language for this project has to be Java. Console input and output is sufficient but
marks may be awarded for effort put in by groups trying to improve their assignment output with a
proper application.

Assignment division

This project will have two parts:

Part 1: Analysis and Design: UML diagram as per the details given below

Part 2: Implementation: Complete Java program – the implementation of your design Evaluation

Part 1: Your ability to communicate various aspects of your design and ideas (requirements, analysis,
and, design) to the readers using UML

Part 2: Evaluation based on correctness, working and live demo, graceful error handling, successful
testing, clarity and consistency in the source program, consistency with design
Assignment details

FIRST PART

Your system should be described using the following UML diagrams.

1. Use Case Diagram: Describe your system in terms of its main functions and the types/roles of
users. Identify a few broad requirements of this system, and the way different types of users
interact with it, using a use-case diagram.

2. Class Diagram: Describe your system involving a collaboration of classes. Use aggregation,
generalization, association relationships and multiplicity numbers to create a class diagram for your
system.

3. Sequence Diagram: Describe a particular scenario (actions that take place during a specific
interval of time) in the working of a system, where the objects interact to perform some task. Draw
the sequence diagram showing the time ordering of the object interactions. Draw a sequence
diagram for each “important” use case in the Use Case Diagram.

4. Collaboration Diagram: Represent the above scenario in (3) as an equivalent collaboration


diagram.

5. State Diagram: Draw a State Diagram for each “important” object, where an object can have
changes in its state depending on certain events and guard conditions.

SECOND PART

Your software design should be implemented in Java code and show the following aspects of OOP
and OOAD

1. You should implement the concept of inheritance, polymorphism and other OOAD concept that
you learn in this subject as necessary. You will find plenty of opportunities to apply OO concepts into
your design and implementation.

2. You should spend time to design a usable, intuitive, and “live” interface. Marks are given for
intuitive interface.

3. You should handle, if possible, all errors with meaningful error messages. The point here is to
terminate gracefully and properly – you want to keep the users informed and aware of the state of
the system.

4. You are advised to use your own plain text database (if a database necessary). If you choose to
use third party database management system (like MySQL), you will have to learn how to wield
these tools yourself – bearing in mind, the additional complexity that you have to cope with
especially during the demonstration. But, if you are confident, by all means, do.

5. Don’t copy any codes from other groups. Questions will be asked on coding during the
presentation. In addition, the instructor will use anti-plagiarize internet-enabled software to
automatically detect irregularities. If you or your group is caught plagiarizing, every member in your
group will receive zero mark instantly.

6. You are strongly encouraged to participate in all aspects of the development of this project not
excluding problem solving, coding and documentation.
Report submission

At the end of the assignment, you have to submit hardcopy and softcopy containing the following:

Cover Page

Introduction of your system.

Assumptions (if any)

The UML diagrams and the accompanying explanation especially if it helps the reader to understand
your ideas

Appendix: incl (but not compulsory) Source code, Sample interface screen, Sample input /output
screens

Assignment topic

Car Rental Reservation Website.

The Car Rental Reservation website allows potential customers to make a car reservation, specifying
the pickup and drop off dates and type of car.

If they have registered with the website previously their stored details are used to speed up the
process, otherwise they are required to register as a new customer.

Each reservation is given a unique reservation code. Before the date of their arrival they may enter
this reservation code into the website to amend or cancel the reservation. Amendments can include
altering the dates or changing the car type. When the guests arrive at the airport, the reservation id
is used by the receptionist to quickly find the reservation to check them in with.

At the end of their stay the receptionist checks the car drop off, at this point the system validates
their payment through the card payment system; a printed invoice may be requested by the guest at
this point.

The car has many car types available, each with a car model, car type, number of seats and number
of big and small luggage(optional), pick up and drop off date location, pick up date and drop off date,
rental rate and additional information.

Monthly reports are prepared by the system that may be viewed on request by the Manager.

You are a team of programmer assigned to develop the website for the Multimedia Car Rental
website/application. Your final program should have as many features as possible mentioned above.

You might also like