Program: BSC Computer Systems Engineering
OBJECT ORIENTED ANALYSIS & DESIGN
Java Year 2 Semester 1
Total Marks: 100
Instructions to candidates
Candidates must attempt ALL
You are to make your submission on turn-it-in. You may consult with your tutor/lecturer on how this will be
Ensure that you have an account on turn-it-in by going to turnitin.com. Use the credentials provided for accessing this system. I f you do not have them, get hold of the tutor/lecturer as soon as possible.
Any work with plagiarism level above 30 % will not be marked. It your responsibility to make sure that your plagiarism level is w within this Monitor it on regular bases. If you share your solution with others, chances of the plagiarism rising above this level are high.
I t’s your responsibility to ensure that you have the module in turn-it-in before the submission date and you do not drop the module. Consult with your tutor/lecturer if this is not the case.
SCENARIO: STUDENT EXCHANGE MOTSHELO (STEM)
STEM is a student entrepreneur initiative that lends student money with lower interest. Suppose that you have been approached by the STEM representative as a Systems analyst and Designer. The representative would like you to develop a system for them to use to monitor their lending services. After a long interview with the representative, they finally settled for the following features on the small system, that they would like you to design and implement. The representative agreed on Java programing language to be used and the system to be able to run on college computers that run on Windows.
System Description
The system should allow a user to create an account for them to use it. They will provide a username, password, email, first name, surname, physical address. These details should be saved in a database, MySQL DBMS. The system should allow a user to open an account for a customer by providing at least the following details of the Customer: first name, surname, customer-Number (Student Number) and date. These details should be stored in a database, MySQL DBMS.
The system should allow users to facilitate a loan amount not more than BWP650.00 to a student with a loan account, the borrower should have loan balance of BWP00.00 and should not be flagged customer. The system should increase the loan balance by 10% every 30 days. Here the system should be able to store customer-number, loan amount and date issued in a database, MYSQL DBMS. The system should allow users to list overdue loans (Customer number, Full name, contact, loan date, Number of days due), enable flagging customers as red if they have not paid a loan for more than 62 days. The system should allow the system administrator to view new customers and loans. The administrator should be able to approve the loan.
The student should once have logged in he/she should be view if their loan is approved, make payments to loans and view balance. The system should be able to produce reports customized reports such as monthly, yearly and customer borrowing history. The system should allow users to update loan balance when customer pay back the loan. Every system user should login first before using the system. The system should keep a log file of every login instances in a file called log.txt. The file should contain username, login date and time. Model and develop the prototype of the system.
Part A: System Documentation Instructions (100 Marks) [40%]
Compile a system documentation based on the scenario above.
Introduction [5 Marks]
Problem definition & Statement [5 Marks]
Proposed system
Overview [2 Marks]
Functional requirements [5 marks]
Nonfunctional requirements [5 Marks]
Constraints (“Pseudo requirements”) [3 marks]
System models
Scenarios [10 Marks]
Use case model [15 Marks]
Object model
Database model [10 marks]
Class diagrams [10 marks]
Dynamic models [10 marks]
User interface [5 Marks]
4.Conclusion
Achievements [2 marks]
Challenges [3 Marks]
5.References [10 marks]
Part B System Implementation [100 Marks] [40%]
GUI [20 Marks]
Code Logic [70 Marks]
Presentation [10 Marks]
Part C Research Component [50 Marks]. [20%]
Write a report that discusses the following Software Development Methodologies titled Comparative Analysis of waterfall and SCRUM methodologies. Your discussions should detail how the activities are carried out within each method. Include a recommendation identifying why you would use over the other
Waterfall
SCRUM
The report should be 1500 words.
Criteria |
Possible mark |
Actual mark |
introduction |
5 |
|
Main body waterfall |
10 |
|
Main body SCRUM |
10 |
|
Recommendation/Conclusion |
5 |
|
Presentation |
5 |
|
Structure |
5 |
|
referencing |
5 |
|
Reference list |
5 |
|
total |
50 |
|
Total Marks [50]
OOAD with Java mark sheet |
Awarded |
2. Introduction [5 Marks] 1 marks per valid statement that addresses contents of the documents and the structure of the document max 5
|
|
3. Problem definition & Statement [5 Marks] 1 mark per statement max 5 marks
|
|
4. Proposed system
|
|
4.1 Overview[2 Marks] 2 mark for statements generally explains what it is to be produced.
|
|
4.2 Functional requirements[5 marks] 1 mark for each requirement max 5
|
|
4.3 Nonfunctional requirements[5 Marks] 1 mark for each requirement max 5
|
|
4.4 Constraints (“Pseudo requirements”) [3 marks] 1 mark for each constraint max 3 |
|
4System models
|
|
|
|
Use case model [15 Marks] 2marks per actor 1 system boundary 4 marks for associations 1 mark per use case max 8 |
|
|
|
|
|
Class diagrams. [15 marks]
|
|
Dynamic models [15 marks]
|
|
|
|
Test plan [15 marks] 5 test cases expected of 3 marks each
|
|
5. Conclusion 1 mark per point max 4 marks |
|
5.1 Achievements [2 marks] 1 mark per achievement |
|
5.2 Challenges [3 Marks] I mark per challenge
|
|
6. References[5 marks]
|
|
GUI [Total 15 Marks] 5 well arranged GUI using layout managers 5 for work graphical components with associated event listeners 5 for ability to navigate from screen to screen or view |
|
MVC [10 marks] For using the mvc pattern. Model [4 marks] Viewer [ 3 marks] Controller [ 3 marks]
|
|
Code Logic [Total 70 Marks]
|
|
Login [8 marks] Acceptance of username and password[2] Event to initiate the validation[2] Validation of password[2] [indication of success or failure[2] |
|
Create account [8 marks] Capture student details [2] Event to initiate storage of details[2] Statement to store in the database[2] Message to show success or failure[2] |
|
Facilitate loan [8marks] Capture loan details [2] Event to initiate storage of details[2] Statement to store in the database[2] Message to show success or failure[2]
|
|
List overdue loans [8 marks] Capture loan details [2] Event to initiate display of loan[2] Statement to read loans from the database[2] Message to show read loans[2]
|
|
View new customers [8 marks] GUI component to initiate [2] Event to initiate reading of details[2] Statement to read the database[2] Display of the customer details[2]
|
|
View loans [8 marks] GUI component to initiate[2] Event to initiate reading of details[2] Statement to read the database[2] Display of the loan details[2]
View reports [8 marks] GUI component to initiate report viewing[2] Event to initiate reading of details[2] Statement to read the data from database[2] Display of the loan details[2]
|
|
View balance[8 marks] GUI component to initiate balance viewing[2] Event to initiate reading of balance[2] Statement to read the data from database[2] Display of the balance details[2]
|
|
pay balance[6 marks] input of payment amount[1] GUI component to initiate balance payment[1] Event to initiate r of balance[1] Statement to update the balance from database[2] Message to show success or failure[1]
|
|
Transaction log [12 marks] Call method to log logging on details[2] Open file[2 marks] Write transaction details to the file[2 marks] Exception handling[4] Close file[2 marks]
|
|
Presentation [Total 10 Marks]
|
|
Total marks [100] |
|
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of