Mid2 Exam Solution
Mid2 Exam Solution
Instructions:
Return the question paper and make sure to keep it inside your answer sheet.
Read each question completely before answering it. There are 3 questions and 2 pages.
In case of any ambiguity, you may make assumption. But your assumption should not
contradict any statement in the question paper.
You are not allowed to write anything on the question paper (except your ID and section).
b)
This model is a way of understanding the key considerations or important perspectives that need
to be addressed in software architecture.
Logical View:
Definition: It focuses on Object-oriented decomposition, shows the key abstractions in the
system as objects or object classes.
View: End user
Considers: Functional requirements
UML Diagram: Class Diagram, State Diagram
Process View:
Definition: It focuses on process decomposition. Shows how, at run time, the system is
composed of interacting processes.
View: Integrator
Considers: Non-functional requirements, useful for making judgements about non-functional
system characteristics such as performance and availability.
UML Diagram: Activity Diagram
Development View:
Definition: It focuses on subsystem decomposition. Shows how the software is decomposed for
development. It shows the breakdown of the software into components that are implemented by a
single developer or development team.
View: Programmers and Software Managers
Considers: Software module organization (hierarchy of layers, software management, reuse,
constraints of tools)
Physical View
Definition: It focuses on mapping the software to the hardware. It shows how software
components are distributed across multiple cores/processors in the system.
View: System engineers
Considers: Non-functional requirements regarding underlying hardware (topology,
communication)
UML Diagram: Deployment Diagram
Conceptual View: This view is an abstract view of the system that can be the basis for
decomposing high-level requirements into more detailed specifications, help engineers make
decisions about components that can be reused, and represent a product line rather than a single
system.
a)
Cohesion is an indication of the relative functional strength of a module. Coupling is an
indication of the relative interdependence among modules.
Purpose: 1. Easy to develop
2. Easy task scheduling
3. Less error propagation chances
4. Reusable modules
Good design is to be achieved, one should strive for high cohesion and low coupling
b)
a)
b)
Functional:
Non – functional: