Lecture 9 Software Architecture and Design Part 2

You might also like

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

N D

A
R E
E U 2 )
R
A CT RT
T W TE A
F HI (P 9
SO RC GN R E
A ES I T U
D EC
L

1
ARCHITECTURE ACTIVITIES

Architectural
Architecture Architectural Architectural
Synthesis or
Analysis Evaluation Evolution
Design

2
ARCHITECTURE ACTIVITIES
A software architect typically works with project managers.
1. Discusses architecturally significant requirements with stakeholders.
2. Designs a software architecture.
3. Evaluates a design.
4. Communicates with designers and stakeholders.
5. Documents the architectural design and more.
There are four core activities in software architecture design.
These core architecture activities are performed iteratively and at different stages of
the initial software development life-cycle, as well as over the evolution of a system.

3
ARCHITECTURE ACTIVITIES
Architectural Analysis
1. Is the process of understanding the environment in which a
proposed system or systems will operate.
2. Determining the requirements for the system.
3. The input or requirements to the analysis activity can come
from any number of stakeholders and include items such as:
i. What the system will do when operational (the functional requirements)
ii. How well the system will perform runtime (non functional requirements such as reliability,
operability, performance efficiency, security, compatibility defined in ISO/IEC 25010:2011 standard.
iii. Development-time non functional requirements such as maintainability and transferability defined
in ISO 25010:2011 standard.

4. business requirements and environmental contexts of a


system that may change over time, examples are legal, social,
financial, competitive, and technological.

4
ARCHITECTURE ACTIVITIES
Architectural Synthesis or design
1. The process of creating an architecture.
2. Given the requirements determined by the analysis, the
current state of the design and the results of any evaluation
activities, the design is created and improved.

5
ARCHITECTURE ACTIVITIES
Architecture Evaluation
1. is the process of determining how well the current design or a
portion of it satisfies the requirements derived during
analysis.
2. An evaluation can occur whenever an architect is considering
a design decision, it can occur after some portion of the
design has been completed, it can occur after the final design
has been completed.
3. Some of the software architecture evaluation techniques are
Architecture tradeoff analysis method and TARA etc.

6
ARCHITECTURE ACTIVITIES
Architecture Evolution
1. is the process of maintaining and adapting an existing software architecture to cater for
requirement and environmental changes.
2. As software architecture provides a fundamental structure of a software system, its
evolution and maintenance would necessarily impact on this fundamental structure.
3. As such, architecture evolution is concerned with adding new functionality as well as
maintaining existing functionality and system behavior.
4. In order to carry out architecture activities, supporting architecture activities are
essential.
5. These supporting activities take place throughout the core software architecture
activities.
6. They are Knowledge Management and Communication, Design Reasoning and
Decision Making, and Documentation.

7
TO DO…

Create an architecture for a web application.


How can u increase code reusability by changing the architecture
or system organization?

8
SYSTEM QUALITY ATTRIBUTE
A list of quality attributes exists in
ISO/IEC 9126-2001 Information Technology – Software Product Quality

• Performance
• Time To Market
• Availability
End User’s view • Cost and Benefits
• Usability Business
• Projected life time
Community
• Security • Targeted Market
view
• Integration with
Legacy System
• Maintainability • Roll back Schedule
• Portability
• Reusability Developer’s view
• Testability

9
GOOD SOFTWARE.. ?

So how would you define a “good


software?...

10
ARCHITECTURE VS. DESIGN
Architecture: where non-functional decisions are cast, and
functional requirements are partitioned.
Design: where functional requirements are accomplished
architecture
non-functional
requirements
(“ilities”)

functional
requirements
(domains)
design

11
EXAMPLES OF ARCHITECTURE MODELS

12
THE NEED OF ARCHITECTURE?
THE WINCHESTER “MYSTERY” HOUSE

38 years of construction – 147 builders 0 architects


160 rooms – 40 bedrooms, 6 kitchens, 2 basements, 950 doors
65 doors to blank walls, 13 staircases abandoned, 24 skylights in
floors
No architectural blueprint exists
13
an
y I
gb e r
n p t th
7
r i a n
e e C h ( i
i n , 1 1
Y n g g n r
U D E s i t e
ST e D e p
F a r l e l h a
EL
w i l r a C
S t
f er v u i)
o
S m tec h Ed t
So chi 6t
r
A (in
10 di)
E 14

You might also like