Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% 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.

Uploaded by

awadkarimomer
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% 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.

Uploaded by

awadkarimomer
Copyright
© © All Rights Reserved
Available Formats
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.

Section 2: Object-Oriented Design Principles (15 marks)

3. Encapsulation and Inheritance (7 marks):


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.

You might also like