This assignment focuses on Object-Oriented Software Engineering using UML, requiring students to create UML diagrams for an online banking system and a library management system. It includes tasks related to UML modeling, object-oriented design principles, reusable technology, requirement development, and class modeling. Students must submit a well-formatted document with thorough explanations and appropriate diagrams.
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
2 views
Assignment oop
This assignment focuses on Object-Oriented Software Engineering using UML, requiring students to create UML diagrams for an online banking system and a library management system. It includes tasks related to UML modeling, object-oriented design principles, reusable technology, requirement development, and class modeling. Students must submit a well-formatted document with thorough explanations and appropriate diagrams.
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3
Assignment – Object-Oriented Software Engineering Practical Development Using UML
Instructions:
Answer all questions.
Use UML diagrams to illustrate your solutions where applicable. Submit the assignment in a well-formatted document (PDF or Word). Make sure your answers are thorough and include appropriate explanations for each step. For UML diagrams, you can use UML tools like Lucidchart, Visual Paradigm, or draw.io.
Section 1: UML Modeling (15 marks)
1. Use Case Diagram (5 marks):
o Imagine you are designing an online banking system. Create a Use Case Diagram for the system that includes the following actors and use cases: Actors: Customer, Bank Employee, System Use Cases: Customer: View Account, Transfer Funds, Pay Bills Bank Employee: Verify Transactions, Manage Account System: Authenticate Users o Task: Draw a Use Case Diagram that shows how these actors interact with the system. Provide a brief explanation of each use case. 2. Class Diagram (10 marks): o Based on the Use Case Diagram you created, design a Class Diagram for the online banking system. Include the following classes: Customer Account Transaction BankEmployee o Define attributes and methods for each class. o Show the relationships between the classes (e.g., associations, inheritance, etc.). o Task: Draw the Class Diagram and provide a brief description of each class and its role in the system.
o Consider the following scenario: You are designing a Library Management System with the following objects: Book (with title, author, ISBN) Member (with name, membership type) Librarian (inherits from Member, with additional admin privileges) o Task: Define how Encapsulation is applied in the system to protect data (e.g., private fields and public getter/setter methods). Explain the Inheritance relationship between Member and Librarian. 4. Polymorphism (8 marks): o Task: Write a short description of how Polymorphism can be used in the Library Management System to handle different types of transactions, such as: Borrowing a book (for a Member) Returning a book (for a Member) Processing fines (for a Librarian) o Show how polymorphism allows the system to handle these actions in a unified way (i.e., using the same method name for different transaction types).
Section 3: Reusable Technology (10 marks)
5. Reusable Components (5 marks):
o Task: Explain the concept of reusable components in software development. Discuss at least two reusable components that can be used in the online banking system you designed in Section 1. o Provide examples of how these components help reduce development time and improve system maintainability. 6. Design Patterns (5 marks): o Task: Choose a design pattern (e.g., Singleton, Factory, Observer, Strategy) and explain how it could be applied in the online banking system to solve a specific problem (e.g., account management, transaction processing). o Provide an example of how this pattern would be implemented in your system.
Section 4: Requirement Development (10 marks)
7. Requirement Gathering (5 marks):
o Task: Choose a software project of your choice (e.g., e-commerce platform, inventory management system). o List five functional requirements and five non-functional requirements for the system. o Provide brief explanations for each requirement. 8. Requirement Traceability (5 marks): o Task: Explain the concept of requirement traceability and how it helps ensure that all system requirements are met during development. o Create a simple traceability matrix linking the requirements to specific design elements (e.g., classes, methods) in the system you modeled in Section 1. Section 5: Class Modeling and UML Tools (10 marks)
9. UML Tool Usage (5 marks):
o Task: Choose a UML tool (e.g., Lucidchart, Visual Paradigm, or draw.io) and create a detailed Class Diagram for the Library Management System based on your design in Section 2. o Submit a screenshot or exported image of the Class Diagram. 10. Class Modeling with Relationships (5 marks): o Task: Model the relationships between classes in the Library Management System. Include the following: Aggregation between Library and Book Association between Member and Transaction o Draw a UML diagram showing these relationships and provide a brief explanation of each.
Submission Guidelines:
Submit the assignment as a PDF or Word document.
Include all relevant UML diagrams (drawn in UML tools) and descriptions. Ensure the diagrams are clear, labeled, and easy to understand. Provide explanations for each section to demonstrate your understanding of the concepts.
(Ebook) Modular Synthesis: Patching Machines and People by Ezra J. Teboul, Andreas Kitzmann, Einar Engström ISBN 9781040015759, 9781003219484, 1040015751, 1003219489 2024 scribd download