Sunteți pe pagina 1din 20

SOFTWARE ARCHITECTURE

New wine in old bottles?


(i.e., software architecture global design?,
architect designer)
OVERVIEW

| Tema 1. What is it, why bother?


Role of the software architect

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
| Tema 2. Architecture Design
| Tema 3. Viewpoints and view models
| Tema 4. Architectural styles
| Tema 5. Architecture asssessment

2
PRE-ARCHITECTURE LIFE CYCLE

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
stakeholders
requirements quality
(few)

agreement

development

3
CHARACTERISTICS
| Iteration mainly on functional requirements

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
| Few stakeholders involved

| No balancing of functional and quality


requirements

4
ADDING ARCHITECTURE, THE EASY WAY

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
stakeholders
requirements quality
(few)

agreement

architecture

detailed design development

implementation
5
ARCHITECTURE IN THE LIFE CYCLE

stakeholders
(many)

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
requirements quality

architecture

agreement

development
6
CHARACTERISTICS
| Iteration on both functional and quality
requirements

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
| Many stakeholders involved

| Balancing of functional and quality


requirements

7
WHY IS ARCHITECTURE IMPORTANT?
| Architecture is the vehicle for stakeholder
communication
Architecture manifests the earliest set of design

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
|
decisions
y Constraints on implementation
y Dictates organizational structure
y Inhibits or enable quality attributes

| Architecture is a transferable abstraction of a


system
y Product lines share a common architecture
y Allows for template-based development
y Basis for training

8
WHERE DID IT START?

| 1992: Perry & Wolf


| 1987: J.A. Zachman; 1989: M. Shaw

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
| 1978/79: David parnas, program families
| 1972 (1969): Edsger Dijkstra, program families
| 1969: I.P. Sharp @ NATO Software Engineering
conference:
I think we have something in addition to software
engineering [..] This is the subject of software
architecture. Architecture is different from
engineering.
9
SOFTWARE ARCHITECTURE, DEFINITION (1)

The architecture of a software system defines

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
that system in terms of computational
components and interactions among those
components.

(from Shaw and Garlan, Software Architecture,


Perspectives on an Emerging Discipline,
Prentice-Hall, 1996.)

10
SOFTWARE ARCHITECTURE
statement

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
procedure

module

(design) pattern

architecture
11
SOFTWARE ARCHITECTURE, DEFINITION (2)

The software architecture of a system is the


structure or structures of the system, which

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
comprise software elements, the externally visible
properties of those elements, and the relationships
among them.

(from Bass, Clements, and Kazman, Software


Architecture in Practice, SEI Series in Software
Engineering. Addison-Wesley, 2003.)

12
SOFTWARE ARCHITECTURE

| Important issues raised in this definition:

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
y multiple system structures;
y externally visible (observable) properties of
components.

| The definition does not include:


y the process;
y rules and guidelines;
y architectural styles.

13
ARCHITECTURAL STRUCTURES

| module structure
| conceptual, or logical structure

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
| process, or coordination structure
| physical structure
| uses structure
| calls structure
| data flow
| control flow
| class structure
14
SOFTWARE ARCHITECTURE, DEFINITION (3)

Architecture is the fundamental organization of

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
a system embodied in its components, their
relationships to each other and to the
environment and the principles guiding its
design and evolution

(from IEEE Standard on the Recommended


Practice for Architectural Descriptions, 2000.)

15
SOFTWARE ARCHITECTURE

| Architecture is conceptual.

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
| Architecture is about fundamental things.

| Architecture exists in some context.

16
OTHER POINTS OF VIEW
| Architecture is high-level design

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
| Architecture is overall structure of the system

| Architecture is the structure, including the


principles and guidelines governing their design
and evolution over time

| Architecture is components and connectors

17
SOFTWARE ARCHITECTURE & QUALITY
| The notion of quality is central in software
architecting: a software architecture is devised to
gain insight in the qualities of a system at the

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
earliest possible stage.

| Some qualities are observable via execution:


performance, security, availability, functionality,
usability

| And some are not observable via execution:


modifiability, portability, reusability, integrability,
testability
18
THE ROLE OF THE ARCHITECT

www.wileyeurope.com/college/van vliet
2008 John Wiley & Sons Ltd.
requirements solutions
client,
architect developers
users

assess creates assess

visualises prescribes

appearance, architectural construction,


behaviour design co-operation
19
ROLE OF THE SOFTWARE ARCHITECT
| Key technical consultant
| Make decisions
| Coach of development team
| Coordinate design
| Implement key parts
| Advocate software architecture

2008 John Wiley & Sons Ltd.


www.wileyeurope.com/college/van vliet 20

S-ar putea să vă placă și