You are on page 1of 5

Birla Institute of Technology & Science, Pilani

Work Integrated Learning Programmes Division


Second Semester 2023-2024

Mid-Semester Test
(EC-2 Regular)

Course No. : Software Architecture


Course Title : SEZG651 SSZG653
Nature of Exam : Closed Book No. of Pages = 3
Weightage : 30% No. of Questions = 3
Duration : 2 Hours
Date of Exam : 16/03/2024 (FN)
Note to Students:
1. Please follow all the Instructions to Candidates given on the cover page of the answer book.
2. All parts of a question should be answered consecutively. Each answer should start from a fresh page.
3. Assumptions made if any, should be stated clearly at the beginning of your answer.

Q1 [10 Marks]
Birla Institute of Technology Science, Pilani
Work Integrated Learning Programmes Division
Mid Term -Semester Test
(EC-2 Regular)
Answer Key for SOFTWARE ARCHITECTURES

Question :
You are building an inventory management system for a manufacturing company.

a. Explain the benefits of layered architecture with respect to above case study. [1Mark]

Ans : The layered architecture pattern helps encapsulate and decouple the application by
grouping the distinct segments using their functional role. This pattern follows the separation of
concerns principle, resulting in improved testability and maintainability of the application.
Managing the optimum stock and finished product. Also managing faster delivery of finished
product based on the sales order and transferring the finished goods to nearest warehouse.

b. How would you go about implementing layered architecture in this case? Explain with a
Internal user will request for requisition
diagram. [3 Marks ] USERS
of raw material, will book sales order
Ans : The inventory management system follows a layered architecture, comprising the
presentation layer (GUI), business logic layer (e.g. Java classes), and data access layer
The GUI(database e,g. SQL
part of each Server or will
requirement Oracle or MySQL). The layers are designed
PRESENTATION LAYERto ensure
modularity, flexibility, and
be taken care at presentation layer separation of concerns.
The most important activity will be to
manage the inventory like issue of Raw BUSINESS LAYER
Material on FIFO basis. Also the
decision of ordering stock in optimal
way. Transferring finished product to
various warehouse to deliver in time
based on the sales order
Managing, validation and storing of
. and communicate with business
data DATA LAYER
layer. Streamline operations, and API
optimize resource utilization miz
e
DB SERVICES
Services layer is needed to provide interface to external systems

Inventory management involves effectively monitoring and regulating the movement of products
into and out of a company. It entails controlling every step of the inventory management process,
from purchasing goods from suppliers to storing, selling, and delivering them. This also includes
managing inventory for goods that are needed for a company’s daily operations, like hardware,
stationery, and software. By ensuring that a company has the proper amount of inventory at the
right time, effective inventory management helps reduce the expenses related to excess inventory
or stock out on FIFO Basis and also ensures the company’s smooth functioning. Find out the
nearest location of a warehouse so that item can be delivered to user.

Each layer of the layered architecture pattern has a specific role and responsibility within the
application. For example, a presentation layer would be responsible for handling all user interface
and browser communication logic, whereas a business layer would be responsible for executing
specific business rules associated with the request. Each layer in the architecture forms an
abstraction around the work that needs to be done to satisfy a particular business request. For
example, the presentation layer doesn’t need to know or worry about how to get customer data; it
only needs to display that information on a screen in particular format. Similarly, the business
layer doesn’t need to be concerned about how to format customer data for display on a screen or
even where the customer data is coming from; it only needs to get the data from the persistence
layer, perform business logic against the data (e.g., calculate values or aggregate data), and pass
that information up to the presentation layer. A request originating from the presentation layer
must first go through the business layer and then to the persistence layer before finally hitting the
database layer.

c. Is Architecture evaluation in conflict with Agile process? Explain how an Agile Process would
work in the above case. You answer should be in the context of the above case study and should
cover at least 3 agile principles. [3 Marks]

Ans : In an Agile context, the software architect plays a significant role in supporting and
facilitating emergent architecture. As each iteration or sprint progresses, the architect
collaborates closely with the development team to build a common understanding of emerging
patterns and structures.
Any of the following principle should map with the activity of Inventory process flow, like stake
holder, product manager
1. Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness
change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support
they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users
should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity—the art of maximizing the amount of work not done—is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and
adjusts its behavior accordingly.
d. Explain with rough sketches how you would use Kruchten’s 4+1 architectural view model
with respect to the above case study? [3 Marks]

Ans :

Logical View captures the functional requirements of the application as decomposition of structural
elements or abstractions.
For Developers, Engineer Managers to define various module of inventory like Requisition, issue, order
booking, warehouse management and transfer
Object Decomposition is capturing of application behaviour into classes and packages. Classes and
packages may be represented using UML Class Diagrams and UML Package Diagrams, respectively.
Data Modelling is the analysis of data gathering and organizing data into logical entities for each of the
activity like ordering, procurement, delivery, transfer to warehouse
System and subsystems view is breaking down of application into modules and arrangement of their
responsibilities and relationships with respect to raw materials and finished products management.
Process View captures the process, behaviour, task concurrency, and flow of information and non-
functional aspects.
States Transition can be used to understand state and transition in case of a workflow-based system like
transferring data from stores to various warehouse. Manage raw material in optimized manner.
Information Flow represents information routing from one entity to another entity.
.
Non-functional aspects like Throughput, Availability, and Concurrency. These are easier to put in words
than in diagrams.

Development View focuses on the management of an application.


For Management & Developers. Software module organization. Like how the raw material or finished
product management done.
(Hierarchy of layers, software management, reuse, constraints of tools).

Teams Organization — Roles and Responsibilities of team members who will be doing what activity in
each process flow.
Development Methodology is a way of development workflow implementation to manage the
inventory process flow.
Physical View represents the deployment layout or infrastructure of an application. In essence, it
captures hardware mapping of application components or processes.

Topology Architecture | Deployment Plan


The cluster of application instances and their places in the geography of physical or virtual machines
available.
Q2 [10 Marks]

The GoLearn system is a digital learning environment used to support learning in


schools for students from age 4 to 18.

a. How can the testability tactics be applied for the utility services, application
services and configuration services? Explain your answer by drawing a diagram
giving the scenario only one tactic for each of these services in the context to the
case study [5]

Answer: Students should highlight a few aforementioned points in respect to the


testability tactics such as Controlling and observing in different states of utility,
application and configuration services after replacing Utech.

b. “Utech is replaced by GoLearn”– Justify the role of usability-tactics in this


context. [2]

Answer: Usability tactics is classified into two classes viz. (i) to support user
initiative, (ii) to support system initiative.
Students should highlight a few aforementioned points in respect to in the
context of the case study given i.e. User initiative like introduce of users’ own
application, and Support system initiative like being open system, it can easily
accommodate new features and existing services of the prior system.

c. Please give examples of 3 Design Decision for Performance that you would take
for the services described in the above case. The answer must be in the context of
the case study given. [3]

Answer: 1. Co-ordination model


2. Resource management
3. Allocation of different responsibilities
Students should highlight a few aforementioned points in respect to 3 Design
Decision for Performance in the context of the case study given
Q3 [10 Marks]

Hospital Patient Management System

a. What are the hospital's goals for the new patient management system? [1]

Answer: Enhance patient safety, improve data security, streamline healthcare


delivery.

b. What are the roles and responsibilities of stakeholders involved in the system
(doctors, nurses, patients, administrators)? [2]

Answer: Each stakeholder has specific needs and workflows in managing


patient data.

c. Describe using diagrams 4 Brainstorm scenarios for potential security breaches


and usability issues. [4]

Answer: Unauthorized access to patient medical records due to weak password


policies. Data breaches could compromise patient privacy and cause distrust in
the system. Complex interfaces could hinder efficient healthcare delivery.

Give 4 scenarios showing source-stimulus-environment-artifact-response-


response measure. Vague statements without Scenario description will not
be evaluated.

d. What methodology have you studied in the course to assist in prioritizing


scenarios for a small project where the time available is short. [1]

Answer: Lightweight Architectural Evaluation

e. Prioritize scenarios based on their criticality, considering the potential impact on


patient safety and user experience. [1]

Answer: Scenarios involving unauthorized access to sensitive patient data would


be the highest priority due to the severe consequences. Connect to the scenarios
given. Must mention that stakeholders need to decide and that it will be based
on the priority determined during Lightweight ATAM or ATAM..

f. Is there any international standard for deciding what scenarios are the be given
priority? [1]

No. There is no international standard for deciding the priority. It is based on


stakeholders’ assessment.

You might also like