You are required to do the following:
- Identify the software’s use cases. Draw the UML use-case diagram and include supporting use-case description tables. At least three scenarios (each with at least two use cases) must be identified. Ensure that the “include” and “extend” relationships are added, where necessary.
- Identify the objects and their respective classes from the use-case descriptions. Draw the UML class diagram and include supporting descriptions to explain the classes identified. At least 4 classes must be identified. Ensure that access specifiers are included for member visibility.
- Create Python classes with the constructor, attributes (at least 5), and required setter/getter methods for all the identified classes. Identify and include other required function-headers in the classes where the function’s body is just a pass statement and include a comment to indicate what the function should achieve.
- Create objects of all the identified classes and use the object’s functions to populate and display all the information shown in Figure 1.
Submission
- Submit a report (single PDF file) that has the following sections:
- UML Use-Case Diagrams and Descriptions.
- UML Class Diagram and Descriptions.
- Python classes (copy-paste the code from PyCharm, NOT an image of the code)
- The code must be well documented, error-free, and have good coding standards.
- GitHub repository link, with access made public:
- The GitHub repository will have a record of your work. The repository would indicate the cumulative progress of your work in the assignment over the time you have worked on it.
- Summary of learnings
- **Submission deadline: **September/30th/2024, 11:59 PM
Assignment Information
Learning Outcomes Added
- LO1_OOAD: Analyze and design software that map real-world entities and relationships using Unified Modelling Language (UML) notations.
- LO2_OOProgramming: Create working object-oriented programs in a computer language that are well- structured, error free, and can solve computational problems.
- LO4_SWDocumentation: Communicate with a clear and precise style that is suited to an appropriate audience to produce well-documented code, design documents, and presentations that are readable and understandable.