Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 18

Architectural Design

The software needs the architectural design to represents the design


of software.
Architectural Design: The process of defining a collection of
hardware and software components and their interfaces to establish
the framework for the development of a computer system.

The software that is built for computer-based systems can exhibit


one of these many architectural styles.

Architectural Style consists of A set of components(eg: a database,


computational modules) that will perform a function required by the
system.
The set of connectors will help in coordination, communication, and
cooperation between the components.
Architectural pattern:

These patterns define the overall structure of the software, indicate


the relationships among subsystems and software components.

Types of Architectural patten


Model –view controller pattern
Layered pattern
Client server pattern
Pipe and filter pattern
Model –view controller pattern
This pattern, also known as MVC pattern, divides an interactive
application in to 3 parts as,
1. model — contains the core functionality and data
2. view — displays the information to the user (more than one view
may be defined)
3. controller — handles the input from the user
Model –view controller pattern
This pattern, also known as MVC pattern, divides an interactive application in to
3 parts as,

1. model — contains the core functionality and data

2. view — displays the information to the user (more than one view may be
defined)

3. controller — handles the input from the user

This is done to separate internal representations of information from the ways


information is presented to, and accepted from, the user.
It decouples components and allows efficient code reuse.

Usage:
1.Architecture for World Wide Web applications in major programming
languages.
2.Web frameworks such as Django and Rails.
Layered pattern
This pattern can be used to structure programs that can be decomposed into
groups of subtasks, each of which is at a particular level of abstraction.

Each layer provides services to the next higher layer.

The most commonly found 4 layers of a general information system are as follows.

• Presentation layer (also known as UI layer)


• Application layer (also known as service layer)
• Business logic layer (also known as domain layer)
• Data access layer (also known as persistence layer)

Usage

• General desktop applications.


• E commerce web applications.
Structure of Layered Architecture
Client server pattern
This pattern consists of two parts- a server and multiple clients.
The server component will provide services to multiple client components.
Clients request services from the server and the server provides relevant services
to those clients.
Furthermore, the server continues to listen to client requests.
Usage:
Online applications such as email, document sharing and banking.
Pipe and filter pattern
This architecture is applied when input data are to be transformed through a
series of computational or manipulative components into output data.

A pipe and filter structure has a set of components, called filters, connected by
pipes that transmit data from one component to the next.

can be used to structure systems which produce and process a stream of data.
Each processing step is enclosed within a filter component.
Data to be processed is passed through pipes.
Usage
Used in Compiler ,parser code generator
System modeling:
System modeling helps the analyst to understand the functionality of the
System and models are used to communicate with customers.

Different models present the system from different perspectives


➢ External perspective showing the system’s context or environment;
➢ Behavioral perspective showing the behavior of the system;
➢ Structural perspective showing the system or data architecture.
Interaction models:
➢ Modeling user interaction is important as it helps to identify user requirements.

➢ Modeling system-to-system interaction highlights the communication problems


that may arise.

➢ Modeling component interaction helps us understand if a proposed system


structure is likely to deliver the required system performance and dependability.

➢ Use case diagrams and sequence diagrams may be used for interaction
modeling
Use case modeling

➢ Use cases were developed originally to support requirements elicitation


and now incorporated into the UML.
➢ Each use case represents a discrete task that involves external interaction
with a system. • Actors in a use case may be people or other systems.
➢ Represented diagrammatically to provide an overview of the use case and
in a more detailed textual form.
Sequence diagrams

➢ Sequence diagrams are part of the UML and are used to model the interactions
between the actors and the objects within a system.
➢ A sequence diagram shows the sequence of interactions that take place during a
particular use case or use case instance.
➢ The objects and actors involved are listed along the top of the diagram, with a
dotted line drawn vertically from these.
➢Interactions between objects are indicated by annotated arrows.
Structural models:
➢ Structural models of software display the organization of a system in terms of
the components that make up that system and their relationships.
➢ Structural models may be static models, which show the structure of the system
design, or dynamic models, which show the organization of the system when it is
executing.
You create structural models of a system when you are discussing and designing
the system architecture.

Class diagrams
➢ Class diagrams are used when developing an object-oriented system model to
show the classes in a system and the associations between these classes.
➢ An object class can be thought of as a general definition of one kind of system
object.
➢ An association is a link between classes that indicates that there is some
relationship between these classes.
➢ When you are developing models during the early stages of the software
engineering process, objects represent something in the real world, such as a
patient, a prescription, doctor, etc.
Example for Class diagram
Behavioral models
Behavioral models are models of the dynamic behavior of a system as it is executing.
They show what happens or what is supposed to happen when a system responds to a
stimulus from its environment.

You can think of these stimuli as being of two types: –

Data Some data arrives that has to be processed by the system.


Events Some event happens that triggers system processing. Events may have
associated data, although this is not always the case.

State machine models


➢ These model the behavior of the system in response to external and internal events.
➢ They show the system’s responses to stimuli so are often used for modelling real-
time systems.
➢ State machine models show system states as nodes and events as arcs between these
nodes. When an event occurs, the system moves from one state to another.
➢ State charts are an integral part of the UML and are used to represent state
machine models.
A state Diagram of a Microwave oven
States and stimuli
States and stimuli
Microwave oven operation

You might also like