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

SARC Topic 3 - Key Principles

Software design Key Principles 3

Uploaded by

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

SARC Topic 3 - Key Principles

Software design Key Principles 3

Uploaded by

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

Software Architecture

Topic 3
Key Principles

By: Esther Baguma (Msc)

Bachelor of Science in Software Engineering -BSSE


Architectural Style
2

 Software architecture is described as the organization of a


system, where the system represents a collection of
components that accomplish a specific set of functions.
 The architectural style also called an architectural pattern, is
a set of principles that shapes an application.
 It defines an abstract framework for a family of systems in
terms of the pattern of structural organization.

© IUEA – 2020. 07/19/2024


Architectural Style
3

The architectural style:


 Provides a lexicon of components and connectors with

rules on how they can be combined.


 Improves partitioning and allows the reuse of design by

giving solutions to frequently occurring problems.


 Describes a particular way to configure a collection of

components (a module with well-defined interfaces,


reusable, replaceable) and connectors (communication link
between modules).

© IUEA – 2020. 07/19/2024


Architectural Style
4

The software that is built for computer-based systems


exhibits one of many architectural styles. Each style describes
a system category that encompasses:
 A set of component types that perform a required function

by the system.
 A set of connectors (subroutine call, remote procedure call,

data stream, socket) that enable communication,


coordination, and cooperation among components.
 Semantic constraints which define how components can be

integrated to form the system.


 A topological layout of the components indicating their

runtime interrelationships.
© IUEA – 2020. 07/19/2024
Common Architectural Designs
5

The following are architectural styles that can be organized by


their key focus area.
1. Communication:
 Message bus – Prescribes use of a software system that can

receive and send messages using one or more


communication channels.
 Service–Oriented Architecture (SOA) - Defines the
applications that expose and consume functionality as a
service using contracts and messages.

© IUEA – 2020. 07/19/2024


Common Architectural Designs
6

2. Deployment:
 Client/server – Separate the system into two applications,

where the client makes requests to the server.


 3-tier or N-tier - Separates the functionality into separate

segments with each segment being a tier located on a


physically separate computer.
3. Domain:
 Domain Driven Design – Focused on modeling a business

domain and defining business objects based on entities


within the business domain.

© IUEA – 2020. 07/19/2024


Common Architectural Designs
7

4. Structure :
 Component Based – Breakdown the application design into

reusable functional or logical components that expose


well-defined communication interfaces.
 Layered - Divide the concerns of the application into

stacked groups (layers).


 Object oriented - Based on the division of responsibilities

of an application or system into objects, each containing


the data and the behavior relevant to the object.

© IUEA – 2020. 07/19/2024


Types of Architecture
8

There are four types of architecture from the viewpoint of an


enterprise and collectively, these architectures are referred to
as enterprise architecture.
1. Business architecture: Defines the strategy of business,
governance, organization, and key business processes within
an enterprise and focuses on the analysis and design of
business processes.
2. Application (software) architecture: Serves as the
blueprint for individual application systems, their interactions,
and their relationships to the business processes of the
organization.

© IUEA – 2020. 07/19/2024


Types of Architecture
9

3. Information architecture: Defines the logical and physical


data assets and data management resources.
4. Information technology (IT) architecture: Defines the
hardware and software building blocks that make up the
overall information system of the organization.

© IUEA – 2020. 07/19/2024


Architecture Design Process
10

The architecture design process focuses on the


decomposition of a system into components and their
interactions to satisfy functional and nonfunctional
requirements.
The key inputs to software architecture design are:
 The requirements produced by the analysis tasks

 The hardware architecture (the software architect in turn

provides requirements to the system architect, who


configures the hardware architecture)

© IUEA – 2020. 07/19/2024


Architecture Design Process
11

The result or output of the architecture design process is an


architectural description.
The basic architecture design process is composed of the
following steps:
1. Understand the Problem
 This is the most crucial step because it affects the quality of

the design that follows.


 Without a clear understanding of the problem, it is not

possible to create an effective solution.


 Many software projects and products are considered

failures because they did not actually solve a valid business


problem or have a recognizable return on investment (ROI).
© IUEA – 2020. 07/19/2024
Architecture Design Process
12

2. Identify Design Elements and their Relationships


 In this phase, build a baseline for defining the boundaries

and context of the system.


 Decomposition of the system into its main components

based on functional requirements. The decomposition can


be modeled using a design structure matrix (DSM), which
shows the dependencies between design elements without
specifying the granularity of the elements.
 In this step, the first validation of the architecture is done

by describing a number of system instances and this step is


referred as functionality based architectural design.

© IUEA – 2020. 07/19/2024


Architecture Design Process
13

3. Evaluate the Architecture Design


 Each quality attribute is given an estimate so in order to

gather qualitative measures or quantitative data, the design


is evaluated.
 It involves evaluating the architecture for conformance to

architectural quality attributes requirements.


 If all estimated quality attributes are as per the required

standard, the architectural design process is finished.


 If not, the third phase of software architecture design is

entered: architecture transformation. If the observed quality


attribute does not meet its requirements, then a new
design must be created.
© IUEA – 2020. 07/19/2024
14

Thank you
© IUEA – 2020. 07/19/2024

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy