0% found this document useful (0 votes)
26 views

ArchitechturalDesign Assignment

The document provides solutions to software engineering assignment questions about architectural design patterns. It discusses suitable architectures for a lip reading system (pipe-filter), smart notice board (client-server), and analytical customer module (layered architecture). Other solutions cover architectures for a compiler, drone control system, online bookstore, event management software, learning management system, and OTT/document scanner applications. Justifications are provided for each architectural selection.

Uploaded by

shreyagoudar06
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

ArchitechturalDesign Assignment

The document provides solutions to software engineering assignment questions about architectural design patterns. It discusses suitable architectures for a lip reading system (pipe-filter), smart notice board (client-server), and analytical customer module (layered architecture). Other solutions cover architectures for a compiler, drone control system, online bookstore, event management software, learning management system, and OTT/document scanner applications. Justifications are provided for each architectural selection.

Uploaded by

shreyagoudar06
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

SOFTWARE-ENGINEERING-ASSIGNMENT

CHAPTER-5: ARCHITECTURAL DESIGN

Q1) Select and justify suitable architectures for the following software
systems and explain the rationale (Justification) behind your suggestion:
i) Lip-reading system
ii) Smart notice board
iii) Analytical module for customers buying in online website.
Solution:
There are various architectures available. They are Model View Controller
(MVC, repository, client-server architecture, pipe-filter architecture, and layered
architecture.
i. Lip-Reading System:
Architectural Pattern: Pipe-Filter
Pipe: Represents the flow of data (e.g., video frames).
Filter: Represents processing units (e.g., lip-reading algorithms).

Justification: The Pipe-Filter pattern is suitable for the Lip-Reading


System as it allows the system to process video frames through a series of
filters (lip-reading algorithms) in a sequential manner.

ii. Smart Notice Board:


Architectural Pattern: Client-Server
Client: Represents the user interface and interaction.
Server: Manages and serves the content for the notice board.

Justification: The Client-Server pattern is appropriate for the Smart


Notice Board. The Smart Notice Board uses a Client-Server architecture
because it allows all the notices to be kept in one central place (the
server). This way, different devices (clients) can easily access and display
the notices without having to store or manage them on their own.

iii. Analytical Module for Customer Buying in Online Website:


Architectural Pattern: Layered Architecture
Presentation Layer: Handles user interaction and displays information.
Application Layer: Manages application functionality and business logic.
Data Layer: Deals with data storage, retrieval, and processing.

Justification: The Layered Architecture is suitable for an analytical


module as it promotes a clear separation of concerns. The presentation
layer focuses on user interaction, the application layer manages business
logic, and the data layer handles data-related operations, facilitating
maintainability and scalability.
Q2) Consider an interactive Web site that provides many different features
to perform various tasks. Show that the architecture for this can be
represented as a shared-data style as well as a client-server style. Which
one will you prefer and why?
Solution:
i. Shared-Data Style:
Single Storage: All website data is stored in one place. (Centralized data)
Direct Interaction: Features directly access and modify data.
Possible Consistency Issues: Requires careful management in order to
avoid data consistency problems.

ii. Client-Server Style:


Distinct Components: User interface (client) and data management
(server) are separate.
Server-Managed Access: Features request data from and send updates to
the server.
Consistency Assurance: The server ensures data consistency for reliable
operations.
One would prefer Client-server architecture because: (Advantages of
Client-Server architecture)
i. Scalability: The system's ability to handle increased load by adding more
servers ensures efficient operation with numerous clients, preventing
crashes or slowdowns. Adding servers distributes the load, enhancing the
system's capacity to handle a larger client base.
ii. Modularity: Separating client and server concerns streamlines
development, testing, and maintenance. Changes can be made without
affecting the entire system, facilitating bug identification and fixing.
iii. Security: Centralizing data and logic on the server provides controlled
access, reducing unauthorized entry risks. This centralized approach
makes data management and security more effective, safeguarding
sensitive information.
iv. Data consistency and integrity: The server enforces data validation and
access control, reducing errors and conflicts.
Q3) Consider a compiler used to compile a source code to generate an object
code. Write an architecture for the same.
Solution:
Designing a compiler involves several stages, each with its own set of
components and processes. Below are the phases of a typical compiler:
It comes under the Language Processing System. The components involved are:
1)A lexical analyzer, which takes input language tokens and converts them into
an internal form.
2) A symbol table, which holds information about the names of entities
(variables, class names, object names, etc.) used in the text that is being
translated.
3) A syntax analyzer, which checks the syntax of the language being translated.
It uses a defined grammar of the language and builds a syntax tree.
4) A syntax tree, which is an internal structure representing the program being
compiled.
5) A semantic analyzer, which uses information from the syntax tree and the
symbol table to check the semantic correctness of the input language text.
6) A code generator, which “walks” the syntax tree and generates abstract
machine code.
Q4) In the tiger monitoring project at Anshi National Park drones are used.
These drones are operated by Forest Reserve Officers from the command center.
They have unique IDs to validate their access to the drones. Drones have a
communication module (to transmit and receive information) and a rotary
module (to control drone movement). Draw a sequence diagram for moving the
drone in the forward direction.
Q5) Consider a web-based online bookstore system that sells books, music CDs,
and software. Typically, a customer first logs on to the system, entering a
customer ID and password. The customer can then browse for titles or search by
keyword. The customer puts some of the titles into a "shopping cart" which
keeps track of the desired titles. When the customer is done shopping, he/she
confirms the order, shipping address, and billing address. The bookstore system
then issues a shipping order, bills the customer, and issues an electronic receipt.
At the end of the transaction, the customer logs off. For this scenario design the
class diagram.
Solution:

Q6) An Event Management Software System needs to be developed to manage


events such as weddings, Birthday parties, conferences, etc. Different users
should be able to access the system remotely, register for events, and view and
manage.
Solution:
Client-Server Model:
Justification:
 There is centralized management of data and logic.
 Efficient management of data and business rules on the server.
 Allows diverse users to access the system remotely.
 Can handle increasing numbers of users and events.
Web Server:
Host a web server that serves the web application.
1. Application Server: A server to handle business logic, user authentication,
and event management. This will communicate with the database and
handle requests from clients.
2. Database Server: Use an appropriate database to store user data, event
details, and related information.
3. Authentication Server: Implement a secure authentication mechanism to
ensure that only authorized users can access and manage events.
Client:
1. Web Application:
 Accessed through web browsers on desktops, laptops, tablets etc.
 Communicates with the server via HTTP requests to fetch and
update data.
2. Mobile App:
 For Android and iOS platforms.
 Interacts with server through APIs for data exchange.
Q7) A learning management system (LMS) is a software application or web-
based technology used to plan, implement, and assess a specific learning
process
Presentation Layer:
Web-based User Interface (HTML, CSS,
Javascript)
Mobile Application.

Application Layer:
Course Management
User Authentication and authorization
Communication Module->Announcements
and discussions.
Calculating grades and progress

Data Layer:
 Manage data storage and retrieval.
 Storing course content, activity logs,
grades, and user information.

Infrastructure Layer:
Logging and monitoring.
Application storage
Security.

1. Presentation Layer:
 Focuses on User Interface and interaction.
 For presenting courses, assignments and grade information.

2. Application Layer:
 Responsible for Business logic.
 For course management, user authentication and authorization,
communication for assignments and announcements, and calculating and
storing grades and progress.

3. Data Layer:
 Manage data storage and retrieval.
 Storing course content, activity logs, grades, and user information.
4. Infrastructure Layer:
 Manages security, logging and monitoring services, and application
storage.
Q8) Select suitable architectural patterns (more than one) and propose an
architecture for the following applications. Justify your selection.
a. OTT (over-the-top) application (similar to Amazon Prime or
Netflix
b. Document Scanner application

Solution:
a. OTT Application
1. Event-Driven Architecture:
Justification:
Events like user interactions, content availability, and user preferences are
critical in OTT applications. An event-driven architecture helps in handling
asynchronous communication and responding to events in real-time.
It facilitates the implementation of features such as personalized
recommendations, content updates, and notifications based on user behavior.
2. Client-Server Architecture:
Justification:
Thin Client-Server Architecture is also applicable here because most of the
work is inclined to the Server side where the streaming is monitored. The client-
side work is just to choose what to stream. It also supports multiple users.
Hence this architecture is better suited.

b. Document Scanner Application


1. Pipeline Architecture:
Justification:
Document scanning involves a series of sequential tasks such as image capture,
image processing, OCR (Optical Character Recognition), and document storage.
A pipeline architecture can model the flow of these tasks, making it modular
and scalable.
Each pipeline stage can be optimized independently, and new features can be
added to specific stages without affecting the entire process.
2. Client-Server Architecture:
Justification:
The processing power required for tasks like OCR can be intensive in a
document scanner application. A client-server architecture allows offloading
resource-intensive tasks to a server, enabling lightweight clients (mobile devices
or web browsers).
It facilitates centralized management, updates, and maintenance of OCR
algorithms and other processing logic on the server side.

You might also like