Upload
peter-kong
View
5
Download
0
Embed Size (px)
DESCRIPTION
aaaa
Citation preview
Page 1 of 5 Project ooad 58.doc
Subject: TCP2201 Object Oriented Analysis & Design Session: Trimester 2, Year 2014/2015
Project (30 marks) Overall Comments In the following, you will find your programming project for this subject. You are strongly reminded about honesty. Any plagiarism is not tolerated. You should start working on your project now. Be reminded that a project does not consist of code only. We are not a company where it is important to hide the techniques that lead to the solution! Your submission must consist of a suited documentation and explanation of your code. To give you a clear guideline: Your project is evaluated approximately to
10% of your code 10% of your report 10% of 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 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.
Page 2 of 5 Project ooad 58.doc
• 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
PROJECT DETAIL
FIRST PART (5 marks) 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.
Page 3 of 5 Project ooad 58.doc
SECOND PART (5 marks) 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 is
required). 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 FORMAT (Second Part) You have to submit hardcopy and softcopy containing the following:
i) Cover Page (a sample is provided at the end of this document)
ii) Introduction of your system.
iii) Assumption (if you have)
iv) The UML diagrams and the accompanying explanation especially if
it helps the reader to understand your ideas
Page 4 of 5 Project ooad 58.doc
v) Appendix:
i) Source code
ii) Sample interface screen
iii) Sample input /output screens
The project specifications: Multimedia Online Banking. The Multimedia Bank is a commercial bank provides online banking to Multimedia University students and staffs as customers. Every account holder will be given a debit card, which can be swept in all the stores inside the MMU campus. The transactions performed using the debit cards will be recorded and stored by the online banking system database. The online banking provided by the bank refers to a system that enables the bank customers to access accounts and general information on bank products and service through Internet. The functions provided by the online banking included:
• Different account types with various interest rates and service charges. • Keep tracks of transactions and balance for every account. • Calculate and update interest paid into every account. • Customers can view details of transactions for the past 3 months. • Customers can make fund transfer to another account, immediately if in the
same bank, approved by bank administrative if to other banks. • Customers can pay utility bills online. • Report of lost cards and cards deactivation. • Provide analysis on the transactions to customers, e.g., how much a
customer spends on phone, food or electricity in the last 3 months. • Provide analysis on the customer profile to the bank administrators, e.g.,
which type of account is the most popular, average balance per account, spending patterns etc.
You are a team of programmers assigned to develop the online banking system for the Multimedia Bank. Your final program should have as many features as possible mentioned above. And now: Have fun!
Page 5 of 5 Project ooad 58.doc
Evaluation Objectives: • Ability to identify primary use cases and record them in expanded, essential
form. • Ability to identify outstanding concepts, associations, and attributes and
record them in a conceptual model using the UML notation. • Ability to identify system events and record them in a system sequence
diagram using the UML notation. • Ability to assign responsibilities and design collaborations between software
components using the GRASP patterns, and illustrate the results in UML collaboration diagrams.
• Ability to summarize class definitions in a UML design class diagram. • Ability to map design artifacts into class definitions in an object-oriented
programming language.