• No results found

6- Architecture design 1

N/A
N/A
Protected

Academic year: 2020

Share "6- Architecture design 1"

Copied!
17
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

Software architecture

Architectural design

.

The design process for identifying the

sub-systems making up a system and the

framework for sub-system control and

communication

The output of this design process is a

(3)
(4)

Architectural design

 An early stage of the system design process.

 Represents the link between specification and

design processes.

 Often carried out in parallel with some specification

activities.

 It involves identifying major system components

and their communications.

 It is useful to think of architectural design as a series

(5)
(6)

Architectural abstraction

 Architecture in the small is concerned with the

architecture of individual programs. At this level, we are concerned with the way that an individual program is decomposed into components.

 Architecture in the large is concerned with the

architecture of complex enterprise systems that include other systems, programs, and program components. These enterprise systems are

(7)

Advantages of explicit

architecture

 Stakeholder communication

 Architecture may be used as a focus of discussion

by system stakeholders.

 System analysis

 Means that analysis of whether the system can

meet its non-functional requirements is possible.

 Large-scale reuse

 The architecture may be reusable across a range

of systems

(8)

Architectural representations

Box and line diagrams

 Simple, informal block diagrams showing entities and

relationships are the most frequently used method for documenting software architectures.

Very abstract - they do not show the nature of

component relationships nor the externally visible properties of the sub-systems.

 However, useful for communication with stakeholders

(9)

Architectural design decisions

Architectural design is a creative

process

so

the

process

differs

depending on the type of system being

developed.

During the architectural design process,

system architects have to make a

number of structural decisions by

considering

fundamental

questions

(10)

Architectural design decisions

 Is there a generic application architecture that can be

used?

 How will the system be distributed?

 What architectural styles are appropriate?

 What approach will be used to structure the system?  How will the system be decomposed into modules?  What control strategy should be used?

(11)

Architecture reuse

 Systems in the same domain often have similar

architectures that reflect domain concepts.

Application product lines are built around a core

architecture with variants that satisfy particular customer requirements.

 Most large systems are now distributed systems in

which the system software is distributed across many different computers

 The choice of distribution architecture is a key

(12)

Architecture and non functional requirements

Performance

 If performance is a critical requirement, the

architecture should be designed to localize critical operations within a small number of components

 These components all deployed on the same

computer rather than distributed across the network.

 This may mean using a few relatively large

components rather than small, fine-grain components, which reduces the number of component communications.

 You may also consider run-time system

(13)

Architecture and non functional requirements

 Security

 If security is a critical requirement, a layered

structure for the architecture should be used, with the most critical assets protected in the innermost layers, with a high level of security validation

applied to these layers.

 Safety

 the architecture should be designed so that

safety-related operations are all located in either a single component or in a small number of components.

 This reduces the costs and problems of safety

(14)

Architecture and non functional requirements

 Availability

 If availability is a critical requirement, the

architecture should be designed to include redundant components so that it is possible to replace and update components without stopping the system.

 Maintainability

 If maintainability is a critical requirement, the

(15)

Architectural views

 What views or perspectives are useful when

designing and documenting a system’s architecture?

 Each architectural model only shows one view or

perspective of the system.

 It might show how a system is decomposed into

modules, how the run-time processes interact

or the different ways in which system

(16)

4 + 1 view model of software

architecture

 A logical view,

 which shows the key abstractions in the system as

objects or object classes.

 It should be possible to relate the system

requirements to entities

 A process view,

 which shows how, at run-time, the system is

composed of interacting processes.

 This view is useful for making judgments about

(17)

4 + 1 view model of software architecture

 A development view,

 which shows how the software is decomposed for development.

 it shows the breakdown of the software into components that

are implemented by a single developer or development team.

 This view is useful for software managers and programmers.

 A physical view,

 which shows the system hardware and how software

components are distributed across the processors in the system.

 This view is useful for systems engineers planning a system

deployment.

conceptual view (+1)

 This view is an abstract view of the system that can be the basis

References

Related documents

Since the Amsterdam Treatise was adopted (in June 1997), the European Union (EU) explicitly recommends the implementation of “active” labour market policies (hereafter

He was of the opinion that the key to understanding analysis is the continuum, the thing over which the variable moved for 18th century, and for Newton moved even

Such a statement could imply that Proto-Semitic vowel length was retained in some of the Ethiopian Semitic terms in the glossary, which is questionable, as it is a secondary

Applications may be multifaceted (housing, infrastructure, and business needs); however, 2005 Disaster Recovery Initiative grant recipients are required to utilize at least 70%

Use an HDMI cable to connect the local HDMI video display (HDTV) to the HDMI output port on the rear of the VE809T.. Plug the provided power adapter into an appropriate power

The previous solutions can be recovered as a

download media player classic 1 7 7 terbaru, energy prices, and any discounts or classic costs, and the app can generate graphs detailing your energy usage on a daily, weekly,