5
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.

Project Ooad 58

Embed Size (px)

DESCRIPTION

aaaa

Citation preview

Page 1: Project Ooad 58

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: Project Ooad 58

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: Project Ooad 58

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: Project Ooad 58

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!

Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Peter Kong
Highlight
Page 5: Project Ooad 58

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.