architecture is more than just meeting requirements ron olaski se510 fall 2003

16
Architecture is More Than Architecture is More Than Just Meeting Requirements Just Meeting Requirements Ron Olaski Ron Olaski SE510 SE510 Fall 2003 Fall 2003

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Architecture is More Than Architecture is More Than Just Meeting RequirementsJust Meeting Requirements

Ron OlaskiRon Olaski

SE510SE510

Fall 2003Fall 2003

Page 2: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

ArchitectureArchitecture

The result of technical, business, and social The result of technical, business, and social influences and it is a crucial part of the system influences and it is a crucial part of the system design processdesign process

The realization of early design decisions made The realization of early design decisions made with respect to the various parts of a systemwith respect to the various parts of a system

Serves as an important communication, Serves as an important communication, reasoning, analysis, and growth tool for systemsreasoning, analysis, and growth tool for systems

Page 3: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

The Architecture Business The Architecture Business Cycle (ABC)Cycle (ABC)

The relationship among the technical, business The relationship among the technical, business and social environments that subsequently and social environments that subsequently influence future architectureinfluence future architecture

Influencing factors include organizational goals, Influencing factors include organizational goals, business and technical requirements and business and technical requirements and processes that bring about new organizational processes that bring about new organizational capabilitiescapabilities

Page 4: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Software ArchitectureSoftware Architecture

Concerns the structure of large software systemsConcerns the structure of large software systems

Architectural view is an abstraction that distills Architectural view is an abstraction that distills away details of implementation, algorithm and away details of implementation, algorithm and data representation and concentrates on the data representation and concentrates on the behavior and interaction of “black-box” behavior and interaction of “black-box” componentscomponents

Developed as the initial step toward designing a Developed as the initial step toward designing a system that has a collection of desired propertiessystem that has a collection of desired properties

Page 5: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Software Architecture (cont’d)Software Architecture (cont’d)

Consists of software components, the externally Consists of software components, the externally visible properties of those components and the visible properties of those components and the relationships between them relationships between them

The earliest artifact that enables the priorities The earliest artifact that enables the priorities among competing concerns to be analyzedamong competing concerns to be analyzed

Page 6: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003
Page 7: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003
Page 8: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Feedback mechanismsFeedback mechanisms

The architecture can affect the business goals of the The architecture can affect the business goals of the developing organization.developing organization.

The architecture can affect the customer requirements The architecture can affect the customer requirements for the ensuing system by presenting the customer for the ensuing system by presenting the customer with an opportunity to receive an upgraded system in a with an opportunity to receive an upgraded system in a more reliable, timely and economical manner. more reliable, timely and economical manner.

The system building process will affect the architect’s The system building process will affect the architect’s experience by adding to the corporate experience experience by adding to the corporate experience base. base.

Page 9: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Feedback mechanisms (cont’d) Feedback mechanisms (cont’d)

A few systems will influence and actually change A few systems will influence and actually change the software engineering culture and technical the software engineering culture and technical environment.environment.

Page 10: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Activities involved in creating Activities involved in creating a software architecturea software architecture

Creating the business case for the systemCreating the business case for the system Understanding the requirementsUnderstanding the requirements Creating or selecting the architectureCreating or selecting the architecture Representing and communicating the Representing and communicating the

architecturearchitecture Analyzing or evaluating the architectureAnalyzing or evaluating the architecture Implementing the system based on the Implementing the system based on the

architecturearchitecture Ensuring that the implementation conforms to the Ensuring that the implementation conforms to the

architecturearchitecture

Page 11: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Process RecommendationsProcess Recommendations The architecture should be the product of a single The architecture should be the product of a single

architect or a small group with an identified leader.architect or a small group with an identified leader.

The architect (or team) should have the technical The architect (or team) should have the technical requirements for the system and an articulated, requirements for the system and an articulated, prioritized list of qualitative properties that the prioritized list of qualitative properties that the architecture is expected to satisfy.architecture is expected to satisfy.

The architecture should be well documented using an The architecture should be well documented using an agreed on notation that all stakeholders can agreed on notation that all stakeholders can understand.understand.

Page 12: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Process Recommendations Process Recommendations (cont’d)(cont’d)

The architecture should be circulated to the system’s The architecture should be circulated to the system’s stakeholders, who should be actively involved in its stakeholders, who should be actively involved in its review.review.

The architecture should be analyzed for applicable The architecture should be analyzed for applicable quantitative measures and formally reviewed for quantitative measures and formally reviewed for qualitative properties before it is too late to make qualitative properties before it is too late to make changes to it.changes to it.

The architecture should lend itself to implementation The architecture should lend itself to implementation via the creation of a “skeletal” system in which the via the creation of a “skeletal” system in which the communication paths are exercised but which at first communication paths are exercised but which at first has minimal functionality.has minimal functionality.

Page 13: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Process Recommendations Process Recommendations (cont’d)(cont’d)

The architecture should result in a specific and The architecture should result in a specific and small set of resource contention areas, the small set of resource contention areas, the resolution of which are clearly specified, resolution of which are clearly specified, circulated, and maintained.circulated, and maintained.

Page 14: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Structural RecommendationsStructural Recommendations The architecture should feature well-defined modules The architecture should feature well-defined modules

whose functional responsibilities are allocated on the whose functional responsibilities are allocated on the principles of information hiding and separation of principles of information hiding and separation of concerns.concerns.

The modules should allow development teams to work The modules should allow development teams to work largely independently of each other.largely independently of each other.

The information-hiding modules should include those The information-hiding modules should include those that encapsulate idiosyncrasies of the computing that encapsulate idiosyncrasies of the computing infrastructure, thus insulating the software from infrastructure, thus insulating the software from platform changes.platform changes.

Page 15: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

Structural Recommendations Structural Recommendations (cont’d)(cont’d)

The architecture should never depend upon a The architecture should never depend upon a particular version of a commercial product or tool.particular version of a commercial product or tool.

Modules that produce data should be separate Modules that produce data should be separate from modules that consume data to increase from modules that consume data to increase modifiability.modifiability.

Every task or process should be written so that its Every task or process should be written so that its assignment to a specific processor can be easily assignment to a specific processor can be easily changed even at run time.changed even at run time.

Page 16: Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003

ConclusionConclusion