0% found this document useful (0 votes)
45 views4 pages

SCS205 ASSIGNMENT Sc21232862023

The document outlines key concepts in Object Oriented Analysis and Design (OOAD), including definitions of object-oriented analysis, design, and programming, as well as primary tasks in analysis. It discusses the object model, relationships like aggregation and composition, cardinality ratios, and measures of system quantity. Additionally, it highlights the benefits of OOAD in systems like bank ATMs, differentiates between analysis methods, and explains the purpose of component and deployment diagrams.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views4 pages

SCS205 ASSIGNMENT Sc21232862023

The document outlines key concepts in Object Oriented Analysis and Design (OOAD), including definitions of object-oriented analysis, design, and programming, as well as primary tasks in analysis. It discusses the object model, relationships like aggregation and composition, cardinality ratios, and measures of system quantity. Additionally, it highlights the benefits of OOAD in systems like bank ATMs, differentiates between analysis methods, and explains the purpose of component and deployment diagrams.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

SCS205 ASSIGNMENT

OBJECT ORIENTED ANALYSIS AND DESIGN (OOAD)


FAIZA IBRAHIM SURAW- SC212/3286/2023
1. Define the following terms:
i. Object Oriented Analysis
Refers to the process of examining a problem domain to identify objects, their
attributes, behaviours, and relationships. It focuses on gathering requirements
and defining system functionalities based on real-world entities.
ii. Object Oriented Design
Refers to the process of defining the software architecture, components, and
their interactions using object-oriented principles. It transforms the analysis
model into a blueprint for implementation.
iii. Object Oriented Programming
A programming paradigm that uses objects and classes to structure software. It
promotes concepts like inheritance, encapsulation, polymorphism, and
abstraction to enhance modularity and reusability.
2. Highlight the primary tasks carried out in Object Oriented Analysis.
i. Identifying key objects in the problem domain.
ii. Defining relationships between objects.
iii. Specifying attributes and behaviors of objects.
iv. Creating models like class diagrams and use case diagrams.
v. Establishing system requirements based on object interactions.
3. Describe The Object Model.

The object model represents a system using objects, classes, and their relationships. It
includes:

a) Objects (instances of classes) with attributes and methods.


b) Classes (blueprints for objects) with shared properties.
c) Relationships (associations, aggregation, inheritance) between objects.
d) Encapsulation (hiding internal details) to improve modularity.

4. Differentiate between the following terms used in Object Oriented Analysis and
Design:
i. Generalisation and Specialisation
a) Generalization – A top-down approach where common characteristics
of multiple classes are abstracted into a superclass. Example: A Vehicle
class generalizing Car and Bike.
b) Specialization – A bottom-up approach where a superclass is divided
into more specific subclasses. Example: Bird being specialized into
Parrot and Eagle.
ii. Aggregation and Composition
a. Aggregation – A weak relationship where the contained object can
exist independently. Example: A Department has Professors, but
professors can exist without the department.
b. Composition – A strong relationship where the contained object cannot
exist without the container. Example: A House contains Rooms, and
rooms cannot exist independently.
5. Explain and give examples of the three types of Cardinality ratios of associations.
i. One-to-One (1:1) – One entity is related to only one other entity. Example:
Each person has only one passport.
ii. One-to-Many (1:M) – One entity is related to multiple entities. Example: A
teacher teaches multiple students.
iii. Many-to-Many (M: N) – Multiple entities are related to multiple entities.
Example: Students enroll in multiple courses, and courses have multiple
students.
6. Discuss any three measures of quantity of the System.
a) Function Points – Measures system functionality based on user interactions.
b) Lines of Code (LOC) – Counts the total lines of source code.
c) Cyclomatic Complexity – Measures the complexity of a program's control
flow.

7. Highlight and briefly explain four elements that are found in a State Machine
diagram.
a) States – Represents the condition of an object at a particular time.
b) Transitions – The movement from one state to another.
c) Events – Triggers that cause a transition.
d) Actions – Activities performed during transitions.

8. Define the following terms as used in OOAD:


i. Abstraction
Hiding unnecessary details while showing only essential features. Example: A
Car class provides a drive() method without exposing internal mechanisms.
ii. Encapsulation
Wrapping data and methods within a class and restricting direct access.
Example: Private variables in a BankAccount class.
iii. Polymorphism
The ability to take multiple forms. Example: A method draw() in Shape being
implemented differently in Circle and Rectangle.
9. Discuss five benefits of using object-oriented analysis in a bank ATM system, such as
a Customer model.
a) Modularity – Divides the system into manageable objects (e.g., Customer, Account).
b) Reusability – Code components like Transaction can be reused in different parts.
c) Scalability – Easily extends the system to include new features like mobile banking.
d) Security – Encapsulation prevents unauthorized access to critical data.
e) Maintainability – Easier debugging and upgrades due to well-defined object
interactions.
10. Design a use case diagram for the ATM system.

11. Differentiate between Object Oriented Analysis and Structured Analysis.


a) OOA – Based on real-world objects, relationships, and behavior.
b) Structured Analysis – Uses data flow diagrams (DFDs) and functions instead
of objects.

12. Differentiate between Iterative and Incremental development processes.


a) Iterative – Develops the system in cycles, refining it after feedback.
b) Incremental – Builds and delivers small portions of the system in phases.
13. Explain these three techniques used in gathering requirements.
a) Interviews – Direct discussions with stakeholders.
b) Surveys/Questionnaires – Collecting structured feedback.
c) Observation – Studying user behavior in their environment.

14. State three features of message passing.


a) Encapsulation of data – Messages contain necessary information only.
b) Dynamic binding – The receiving object determines how to process the
message.
c) Asynchronous communication – Messages can be queued and processed later.
15. Explain the purpose of Component and Deployment diagrams in modelling a software
system.
1. Component Diagram

A Component Diagram represents the software architecture, showing how different modules
interact. It focuses on components, interfaces, and dependencies within a system.
Purpose:

a. Organizes modular design for easier maintenance.


b. Defines interfaces & dependencies between components.
c. Improves scalability by enabling independent updates.
d. Supports system integration with APIs and external services.

Example:

In a Banking System, components include:

a. User Interface (customer interactions)


b. Transaction Processor (deposits, withdrawals)
c. Database (stores account info)
d. Security Module (authentication, encryption)

2. Deployment Diagram

A Deployment Diagram shows how software is physically deployed on hardware (servers,


databases, cloud, etc.).

Purpose:

a. Represents software-hardware mapping for real-world deployment.


b. Optimizes performance & scalability by distributing workload.
c. Ensures fault tolerance with backup and load balancing.
d. Supports cloud & on-premise deployment planning.

Example:

For an E-Commerce System, deployment includes:

a. Client Devices (Browsers/Apps)


b. Web Server (Hosts front-end)
c. Application Server (Handles business logic)
d. Database Server (Stores customer data)

You might also like