联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2019-12-02 10:08

University of Westminster

School of Computer Science & Engineering

5COSC001W Object Oriented Programming – Coursework 1 (2019/20)

Moduleleader BarbaraVillarini

Unit Coursework1

Weighting: 50%

Qualifying mark 30%

Description

Object Oriented Programming andDesign

Learning Outcomes Covered

in thisAssignment:

This assignmentcontributes towards thefollowing Learning Outcomes (LOs):

- LO1 Identify and justify goodpractices in the development ofobject

oriented software;

- LO2 Apply acquired knowledge of concepts, characteristics,tools and

environments toadapt to new computational environmentsand

programming languages which arebased on objectoriented principles;

- LO3 Design,implement efficiently applicationsbased on a OOP language,

given aset of functional requirements.

- LO4 ImplementGUI interfaces using anOOP language;

HandedOut: 15th October 2019

Due Date Monday 2nd December 2019 Submissions by 13:00

Expected deliverables Submit onBlackboard a zip file containing:

A folder with all the UML documents andtest case plan attached

A folder with the developed project (NetBeans Solution with your Java code)

Method of Submission:

Electronic submission on BB viaa provided linkclose to the submissiontime.

Type of Feedback and Due

Date:

Written feedback within 15 working days and generic feedback during the

demonstration.

Assessment regulations

Refer to section 4 of the“How you study”guidefor undergraduate students for a clarification of how you are

assessed,penalties and late submissions,what constitutes plagiarism etc.

Penaltyfor Late Submission

If you submit your coursework late but within 24 hours or one working day of the specified deadline,10 marks

will be deducted from the finalmark,asa penalty for late submission, except for work which obtains a mark in

the range 40 – 49%,in which case the mark will be capped at the pass mark (40%).If you submit your

coursework morethan 24hours or more than one working day after the specified deadlineyou will be given a

mark of zero for the work in question unless a claim of Mitigating Circumstances has  been submitted and accepted as valid.

It is recognised that on occasion, illness or apersonal crisiscan mean that you fail to submit a piece of work on  

time. In such cases youmust inform theCampus Office in writing on a mitigating circumstances form, giving

the reason foryour late or non-submission. You must provide relevant documentary evidence with the form.

This information will be reported to the relevant Assessment Board that will decide whether the mark of zero

shall stand. For more detailed information regarding University Assessment Regulations, please refer to the

following website:http://www.westminster.ac.uk/study/current-students/resources/academic-regulations

Coursework Description

Objectives:

The aimof thiscoursework is to assess the knowledge and skills that you have acquired about object-oriented

programming during the module. You are asked toimplement a program in which objects interact in order to

fulfil with a set of functionalrequirements.

Analyse the problem statement:

An important skill thatyou will start to develop in this module is analysing a problem statement in order to  

identify the details needed to develop a solution.

In this assignment, thefirst task you should perform is a careful analysis of the problem statement in order to

make sure you have all the information to elaborate a solution. If you have any questions please write your

queries on the Padlet on BB.

Design a solution

The design of your system should be consistent with theObject Oriented principles and easy to understand by

an independent programmer.

You arerequired to design yourprogramusing UML diagrams. In particular you have to draw:

? two use casesfor thesystem (6 marks).

? a class diagram (6 marks)

Problemdescription andrequirement statement

You arerequired to develop aprogramthat implementsa basicvehiclerental system.

You should implement a consolesystem from where the managercan addnew vehicles, delete if needed, edit

the vehicle information, etc. (as described in detailedbelow).

You should implement a Graphical User Interface (GUI) from where a customer can see the list of vehicles and

book available vehiclesfor specific dates.

In thisassignment, youwill berequired to implement the following functionality:

1. According tothe Inheritance principle you have to design and implement a super classVehicle (6 marks)

and the subclasses Car and Motorbike.The classes should include appropriate methods in order to

comply with the encapsulation principle and hold information about the Plate number, and the Make

(You can add any other information thatyou consider appropriate for a rental vehicle system and you can

implement additional classes with justificationto make the code more robust or user friendly).

In particular:

? The Car class should hold specific information and methods. You should add at least 2 instance

variables (attributes that you believe are important tobe held in this class) and the relative get/set

methods(5 marks).

? The Motorbike class should hold specific information and methods.You should add at least 2

instance variables (attributes)and therelative get/set methods (5 marks).

? You should implement a classSchedule to represent the time slot when a vehicle has been booked.

The class should have apick-update and a drop-off date (to represent the date you can use either

the class provided during tutorials or you can use any java API). (5 marks).

2.Design and implement a class called WestminsterRentalVehicleManager,which implements  the

interface RentalVehicleManager (2 marks). WestminsterRentalVehicleManagermaintains the list of the

vehicleto rent and provides all the methods for the system manager.

The class should display in theconsolea menu containing the following management actions from which the

manager can select one.

? Add a new vehicle in the rental system. It should be possibleto add a new vehicle, either a car or a

motorbike with all the relevantinformation. You shouldconsider that in the rental car park there

are max50 parking lots(5 marks).

? Delete a vehicle from the system,selecting the plate number.Display a message with the information of the vehicle that has been deleted (if it is a car or motorbike) and the number of

available parking lots in the garage (5marks).

? Print the list of the vehicles in the system.For each vehicle, print the plate number, the type of

vehicle(if is a car, avan or a motorbike). The list should beorderedalphabeticallyaccording to the

vehiclemake (5marks).

? Write/Save the vehicle stock list in a file after anychanges (5 marks).

Create a Graphical UserInterface (GUI) that can be opened selecting an option from the menu

console (? marks).

You should implement the GUI according the following specification:

? The user canvisualise the list of vehicles in WestminsterRentalVehicle system (8 marks).

? The user canfilter the vehicles according at least one parameter (e.g. the type of the vehicle,

or the engine size, or the make, etc.) (4 marks).

? The user can check the availability of the vehicle inspecific dates and can bookmake a

reservation if it is available(8 marks).

Note: You can choose how the GUI shouldlook like and how to meet at the best thesespecifications.

3. Testing and system validation:

? Writea test plan designed toensure that the coded solution works as expected. The test plan will

includespecific instructions about thedata and conditions theprogramwill betestedwith (5marks).

? Implement an automated testing (you can use JUnit or feel free to use any other tool or scripts for

unit testing) that runsscenarios of each of the use cases you implemented in the consolemenu (10 marks).

? The followingwill beevaluated:

o The robustness of thecodethroughthe useof error handling and input validation (5marks).

o The quality of the code and the adherence to coding standardsand conventions (5 marks).

Demonstration

You will be expected tobe familiar with your code and required to make any ad-hocchangesduring

the demonstration

Please note that no marks will be givento a task if there is no understanding of the code.

Note that the maximum mark for work marked without a viva/demonstration shall range from 1-30% only.

Coursework Guidance

The implementation goals are split into4 phases:

Phase I This involves an initial designof yoursystem throughUML diagrams and the implementation of the

classesVehicle, Car, Motorbike and Schedule (plus any accessory class you might need), and the Interface

RentalVehicleManager. The marking scheme allowsfor students toscore up to 35%. I would suggest

concluding thisPhase 1 by Week 05.

Phase II This is for implementing the system functionalities through a console menu. You should provide the

implementation (in the class WestminsterRentalVehicleManager) of methods to add, delete,print, sort

vehicles and generate report. The marking scheme allows for students to score up to 55%. I would suggest

concluding thisphase 2by Week07.

Phase III Thisphase involves the GUIimplementation and the possibility fora user to visualise and book a

vehicle. The marking scheme allows for studentsto score up to 75%. I would suggest concluding this phase 3

by Week09.

Phase IV This phase isdedicated to the testing and evaluation of your system and the marking scheme allows

for students toscore up 100% for completing all the phases. This Phase 4 needs to be concluded by week 11

(week of final submission).


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp