Reference no: EM133735263
Principles of Programming
Learning Outcome 1: Analyse challenging programming issues and apply programming concepts to design and develop efficient and scalable software solutions.
Learning Outcome 2: Use an integrated development environment (IDE) and industry-best project management practices to create, test, and debug code that addresses requirements for different organisational settings.
Learning Outcome 3: Develop programming skills through the application of flowcharts to design, analyse, and optimise software solutions.
Learning Outcome 4: Effectively communicate and collaborate with interdisciplinary teams to design, implement, and present the software project to both technical and non-technical audiences.
Assessment Task
In this assessment, you are required to undertake three tasks. For each task, it is required that you implement a Python program to solve a business problem presented in the business case.
Please refer to the Instructions for details on how to complete this task.
Context
Module 1.1 to Module 4.2 covered many expressive programming syntax and powerful Python language features. Collectively, they can be used to create sophisticated programs to solve real business problems. In each Module, we focused almost exclusively on particular language features or syntax taught in that Module. In this assessment, you have the opportunity to put them all together.
In contrast with the practical exercises in each Module, you are presented with close-to-real-life business problems, and you are asked to develop programs to solve these problems. Sometimes, understanding the business problems and the associated business rules is challenging in their own. The business logics sometimes need to be determined/inferred/interpreted from the business case and business rules, which then need to be implemented using a programming language.
These are the challenges you will inevitably have to address in real life. Therefore, the business case and the business rules in this assessment have been deliberated designed to be convoluted and less straightforward. Understanding the case and the business problem is an integral part of the assessment.
In this assessment, you will demonstrate the following skills and knowledge:
Grasp business requirements, rules, and logics, and be able to translate them into programming code.
Implement programs in Python to solve business problems.
Design a program and illustrate the logic through flowcharts.
Instruction
Form groups of 2 - 3 students. Please read attached MIS501_Assessment 2 & 3_Group Formation, Registration and Administration Guidelines document.
All implementations must be in Python 3 (that is NOT Python 2). Programs implemented in a different language will be marked 0. Programs implemented in Python 2 will be capped at 50% of the available marks.
You may only use the language features and syntax taught in Module 1.1 through to Module
4.2. You MUST not use any other language features beyond what was taught by Module 4.2. (Penalties apply).
You may implement the programs in any IDE of your choice.
Review the Case Study briefing document, located in the assessment area of your learning portal and submit the required files as per the Submission Instructions to complete the assessment.
Case Study: Transportation Logistics System
Introduction:
In this case study, we will develop a Transportation Logistics System using Python to efficiently manage fleets, shipments, and deliveries. The system will implement a command-line interface where users can navigate through different menus to perform various actions. We will utilize Python lists, tuples, regular expressions, conditionals, loops, input, and print statements to create a robust and user- friendly application.
Task Summary
In response to the issues raised in the case study provided, design and develop Python programs that address business needs. You are required to undertake and combined the three tasks using the concepts learned in Modules 1, 2, 3 and 4. Please refer to the Instructions for details on how to complete this task.
As part of the development team in the SAS software solutions, you are required to design and develop the mobile ordering program. Before the application release deadline, you are required to submit the following deliverables:
A design of the application process using a Flow Chart diagram
2- Python program for the three tasks as per the description that follows in this document
Main Menu:
To begin, the program will display the Main Menu with four options: Fleet Management, Shipment Management, Delivery Management, and Quit. The user will be prompted to select an option from the menu. Based on their selection, the corresponding menu will be displayed.
Fleet Management
Shipment Management
Delivery Management
Quit Application
Part 1: Fleet Management:
Upon choosing Fleet Management, the program will display the Fleet Management Menu with several options:
Add a vehicle
Update vehicle information
Remove a vehicle
View all vehicles
Quit fleet management
Add a Vehicle:
When the user selects "Add a vehicle," they will be prompted to enter vehicle details: Vehicle ID, Vehicle Type, and Vehicle Capacity. The program will validate the Vehicle ID to ensure it is unique and the Vehicle Capacity to ensure it is a positive integer. If the details are valid, the vehicle will be added to the list of fleet vehicles, and a success message will be displayed. Otherwise, an error message will be shown, and the user will be returned to the Fleet Management Menu.
Update Vehicle Information:
If the user chooses "Update vehicle information," they will be prompted to enter the Vehicle ID they want to update. The program will validate the Vehicle ID to ensure it exists in the fleet. If it is a valid ID, the user will be prompted to enter the new Vehicle Type and Vehicle Capacity. The new Vehicle Capacity will be validated to ensure it is a positive integer. If the details are valid, the vehicle information in the fleet will be updated, and a success message will be displayed. Otherwise, an error message will be shown, and the user will be returned to the Fleet Management Menu.
Remove a Vehicle:
When the user selects "Remove a vehicle," they will be prompted to enter the Vehicle ID they want to remove. The program will validate the Vehicle ID to ensure it exists in the fleet. If it is a valid ID, the user will be asked for confirmation before removing the vehicle. If the user confirms, the vehicle will be removed from the fleet, and a success message will be displayed. If the Vehicle ID is invalid or the user cancels the removal, an error message will be shown, and the user will be returned to the Fleet Management Menu.
View all Vehicles:
If the user selects "View all vehicles," the program will display a tabular list of all vehicles and their details. After that, the user will be returned to the Fleet Management Menu.
Quit Fleet Management:
If the user chooses "Quit fleet management," they will be returned to the Main Menu.
Part 2: Shipment Management:
If the user selects Shipment Management from the Main Menu, the program will display the Shipment Management Menu with the following options:
Create a new shipment
Track a shipment
View all shipments
Quit shipment management
Create a New Shipment:
Upon selecting "Create a new shipment," the user will be prompted to enter shipment details: Shipment ID, Origin location, Destination location, Weight, and Vehicle ID. The program will validate the Shipment ID to ensure it is unique and the Weight to ensure it is a positive numeric value. A list of available vehicles from the fleet will be printed for the user, and the user will be asked to select a Vehicle ID from the list. The selected Vehicle ID will be validated to ensure it exists in the available vehicles. If all details are valid, the shipment will be added to the list of shipments, and a success message will be displayed. If the details are invalid, an error message will be shown, and the user will be returned to the Shipment Management Menu.
Track a Shipment:
When the user selects "Track a shipment," they will be prompted to enter the Shipment ID they want to track. The program will validate the Shipment ID to ensure it exists in the list of shipments. The status of the shipment (In transit or Delivered) will be displayed, and the user will be returned to the Shipment Management Menu.
View all Shipments:
If the user chooses "View all shipments," the program will display a tabular list of all shipments and their details, including their status. A message has to be displayed at the end of the shipment list giving in a hint on how to exit the menu. E.g. To exit the menu, type "Exit". After that, the user will be returned to the Shipment Management Menu.
Quit Shipment Management:
If the user selects "Quit shipment management," they will be returned to the Main Menu.
Part 3: Delivery Management:
Upon selecting Delivery Management from the Main Menu, the program will display the Delivery Management Menu with the following options:
Record delivery for a shipment
View delivery status for a shipment
Quit delivery management
Mark Shipment Delivery:
If the user chooses "Mark Shipment Delivery," they will be prompted to enter the Shipment ID for which the delivery needs to be recorded. The program will validate the Shipment ID to ensure it exists in the list of shipments and has not been delivered already. If the ID is valid, the Shipment will be marked as delivered, and the Shipment ID will be added to the list of delivered shipments. A success message will be displayed. If the Shipment ID is invalid or has already been delivered, an error message will be shown, and the user will be returned to the Delivery Management Menu.
View Delivery Status for a Shipment:
When the user selects "View delivery status for a shipment," they will be prompted to enter the Shipment ID they want to view the delivery status for. The program will validate the Shipment ID to ensure it exists in the list of delivered shipments. The delivery date and time for the shipment will be displayed, and the user will be returned to the Delivery Management Menu.
Quit Delivery Management:
If the user selects "Quit delivery management," they will be returned to the Main Menu.
4. Quit:
If the user chooses "Quit," the program will display an exit message, and the execution will end.
Need only this part - Shipment Management: If the user selects Shipment Management from the Main Menu, the program will display the Shipment Management Menu with the following options:
2.1. Create a new shipment 2.2. Track a shipment 2.3. View all shipments 2.4. Quit shipment management
Referencing
It is essential that you use appropriate APA style for citing and referencing research.