SRE
SRE
Object Orientation is a programming paradigm based on the concept of “objects”, which can
contain data (attributes) and code (methods). It emphasizes reusability, encapsulation, and
modularity.
A class is a blueprint or template for creating objects. It defines the attributes and methods that
the object will have.
1. Encapsulation – Bundling data and methods operating on that data within one unit
(class).
2. Inheritance – A class can inherit attributes and methods from another class.
3. Polymorphism – Objects can take on more than one form, allowing for method
overloading and overriding.
User
└── Aggregates --> Account
└── Composes --> Transaction
Transaction
└── Inherited by --> BillPayment
Actors: User
Use Cases: Enter Username/Password → Validate Credentials → Login Successful / Login
Failed
+-------------+
| User |
+-------------+
|
v
+--------------------+
| Enter Credentials |
+--------------------+
|
v
+--------------------+
| Validate Login |
+--------------------+
/ \
v v
Success Failure
Scenario Steps:
Add the following use case and connect it to the User actor:
User
|
v
+-------------+
| Pay Bills |
+-------------+
|
+-------------------+
| Select Bill Type |
| Enter Amount |
| Confirm Payment |
+-------------------+
QUESTION 2
a) Pipes and Filters (5 marks)
A design pattern where data is passed through a sequence of processing components (filters)
connected by pipes.
Diagram:
Centralized data storage where multiple components can access and modify data.
Diagram:
[Component1]
→ [Repository] ← [Component2]
[Component3]
c) Layering (5 marks)
System is structured into layers: e.g., Presentation, Business Logic, Data Access.
Diagram:
d) Client-Server (5 marks)
Diagram:
QUESTION 3
a) Why software fails (3 marks)
Improvement Techniques:
1. Modularization
2. Abstraction
3. Reusability
4. Refactoring
Diagram:
Conceptual → Technical
(User goals) (System implementation)
QUESTION 4
a) Four Software Development Models (10 marks)
1. Content Coupling
2. Common Coupling
3. Control Coupling
4. Data Coupling
QUESTION 5
a) Wasserman’s Discipline of Software Engineering (8 marks)
• Abstraction
• Modularity
• Reusability
• Incrementality
• Consistency
• Validation
If you’d like diagrams designed visually or answers reformatted for printing or study notes, let
me know!