ITS70104 Principle of Programming Assignment 2
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.
2022-09-25