Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

ITS70104

Principle of Programming

Assignment 2

 Assessment Criteria

Assessment Task

 

Weightage

MLO    Assessed

Formative / Summative

Assessment Instrument

 

Topics

 

Week

 

MCQ2.0

Practical         Assessment 2

 

15%

 

MLO 4

 

Formative

Individual

Assignment

Hands-on

 

3,4

 

4

 

C2, C3D

 

 Objectives / Module Learning Outcomes (MLO 4)

The objective of this assessment is to enable the students to:

Design, develop, test and debug application in various industries.

 Scenario

A huge automobile manufacturer has decided to convert its inventory warehouse system to a fully Object  Oriented  (OO)  System  using  Python  environment.    The  existing  system  keeps  the inventory details separated by types of cars; ICE (Internal combustion Engine) and Electric.  All types have attributes Inventory No (INO), Inventory Value, and Model Code (MC). In addition, ICE cars keep track of engine size while Electric cars has battery size.

 

 

Example data for ICE Car

 

Car 1

INO = C001

Value = $21,000   MC = JF03

Engine = 1990cc

Car 2

INO = C002

Value = $28,000   MC = KF02

 

Example data for Electric Car

Engine = 2490cc

Car 3

INO = E001

Value = $19,000   MC = MK01

Battery = 30kWh

Car 4

INO = E002

Value = $42,000   MC = NK02

Battery = 60kWh

To test the validity of the OOP structures, few transactions that generate various inventory value increment and decrement should be demonstrated.  You also need to ONE (1) more type of car, and add TWO (2) additional attributes for each of the three types of cars.

Output Examples

Car details output (without additional attributes and a subclass) screen example

***** ICE CAR DETAILS *****

Inventory No : C001

Value      Model Code Engine Size

: $21000.00

: JF03

: 1990cc

***** ICE CAR DETAILS *****

Inventory No : C002

Value      Model Code Engine Size

: $28000.00

: KF02

: 2490cc

***** ELECTRIC CAR DETAILS *****

Inventory No : E001

Value      Model Code Battery Cap

: $19000.00

: MK01

: 30kWh

***** ELECTRIC CAR DETAILS *****

Inventory No : E002

Value      Model Code Battery Cap

: $42000.00

: MK02

: 60kWh

 

 

TOTAL INVENTORY VALUE     : $110000.00


Sample transactions output (without additional attributes and subclass) screen example

 

C001 increases inventory value by $1000 C002 sold

E001 decreases inventory value $2000

E002 sold

 

***** ICE CAR DETAILS *****

Inventory No : C001

Value        : $20000.00

Model Code   : JF03

Engine Size  : 1990cc

 

***** ICE CAR DETAILS *****

Inventory No : C002

Value        : SOLD

Model Code   : KF02

Engine Size  : 2490cc

 

***** ELECTRIC CAR DETAILS *****

Inventory No : E001

Value        : $16000.00

Model Code   : MK01

Battery Cap  : 30kWh

 

***** ELECTRIC CAR DETAILS *****

Inventory No : E002

Value        : SOLD

Model Code   : MK02

Battery Cap  : 60kWh

 

TOTAL INVENTORY VALUE     : $36000.00

Task Part 1 (5%) ANALYSIS and DESIGN


Conduct an in-depth analysis and design of an OO solution to the problem above. Specifically, you need to provide the followings:

1.  A top level UML use case diagram that shows the use case relationships among main actors. You may list your own assumptions.

2.  A high level UML class diagram with minimum of FIVE (5) classes that has a has-a” and a “is-a” relationships, and represents the structure of the above system. This should include the TWO (2) additional attributes for each of the subclasses.

Deliverables

A well-structured and properly formatted academic document that contains the UML use case and  UML class  diagrams,  and any associated  assumptions.    Ensure that your submission includes a cover page which shows your name, student ID and assignment name.                       All submission should be in pdf format (Asgn2Part1_StudentNo_FirstName.pdf).

Submission Due Date: 1159pm 28/09/2022 submit via times.taylors.edu.my submission link.

 Task Part 2 (10%) IMPLEMENTATION

Based on your design in Task 1, create a full object-oriented Python program that contains multiple classes and object transactions in the main program.  Specifically, you need to demonstrate the followings:

1.   Instantiation of at least cars (hard coded); two from ICE car, two from Electric car, and two from another car type of your choice.

2.   Encapsulation of all attributes.

3.   Inheritance relationship.

4.   Polymorphism that covers method overriding and method overloading where possible.

5.   Minimum of two input exceptions to facilitate debugging.

Deliverables

A well-structured and properly formatted academic document that provides brief description of your class/object, and you must clearly point out where those OO concepts are used in your program.  In addition, include the source code of ALL Python files created for the program along with sample screenshots of your program’s output. Please follow proper coding style, use proper identifier naming, indent the code, and comment the code where appropriate .  Ensure that your submission includes a cover page which shows your name, student ID and assignment name. All submission should be in pdf format (Asgn2Part2_StudentNo_FirstName.pdf).

Submission Due Date: 1159pm 05/10/2022 submit via times.taylors.edu.my submission link.

 Ethics

Students should submit original work. Proper citations should be provided if any references to publicly accessible materials are used. Students who are found to be plagiarized will receive severe penalties.