Overview of SAIP and LSSA

21
Overview of SAIP and LSSA

description

Overview of SAIP and LSSA. Software Architecture in Practice. Provides a set of techniques, not a prescriptive method for architectural design. - PowerPoint PPT Presentation

Transcript of Overview of SAIP and LSSA

Page 1: Overview of SAIP and LSSA

Overview of SAIP and LSSA

Page 2: Overview of SAIP and LSSA

Software Architecture in Practice

• Provides a set of techniques, not a prescriptive method for architectural design.

• Based on belief that software architecture is the development product that gives the highest return on investment with respect to quality, schedule, and cost.

Page 3: Overview of SAIP and LSSA

SAIP: Evisioning Architecture

1 - The Architecture Business Cycle

2 - What is Software Architecture?

3 - A-7E: A Case Study in Utilizing Architectural Structures

Page 4: Overview of SAIP and LSSA

SAIP: Creating and Analyzing an Architecture

4 - Quality attributes

5 - Architectural styles

6 - Unit Operations

7 - The WWW: A Case Study

8 - CORBA: A Case Study

9 - The Software Architecture Analysis Method

10 - Architecture Reviews

11 - Air Traffic Control: A Case Study

Page 5: Overview of SAIP and LSSA

SAIP: Moving from Architectures to Systems

12 - Architecture Description Languages

13 - Architecture-Based Development

14 - Flight Simulation: A Case Study

Page 6: Overview of SAIP and LSSA

SAIP: Reusing Architectures

15 - Product Lines: Reusing Architectural Assets within an Organization

16 - CelsiusTech: A Case Study

17 - Communitywide Reuse

18 - Meteorological Anchor Desk: A Case Study

19 - Software Architecture in the Future

Page 7: Overview of SAIP and LSSA

Architecture Business Cycle

• Architecture is about things not normally thought of as part of the requirements, such as security, modifiability, reliability

• Different organizations with the same requirements will produce different architectures

Page 8: Overview of SAIP and LSSA

• What are system stakeholders?• How can their priorities conflict?• How can technical constraints affect the

architecture?– Caterpillar

• How does the experience of architects and developers affect the architecture?– Innoverse

Page 9: Overview of SAIP and LSSA

Architecture Business Cycle

• Many influences on architect• Architect makes an architecture• System is developed from architecture• System (and architecture) become an influence

• What is good about this model?• What is bad?

Page 10: Overview of SAIP and LSSA

Architecture Business CYCLE

• Architecture affects structure of developing organization

• Architecture affects goals of developing organization

• Architecture affects customer requirements

• Building this systems develops experience

• A few systems change S.E. culture

Page 11: Overview of SAIP and LSSA

SAIP2: What is Software Architecture?

• Document produced early in the project

• The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. (page 23)

Page 12: Overview of SAIP and LSSA

What is the difference between?

• Architectural style

• Reference model

• Reference architecture

• Architecture

Page 13: Overview of SAIP and LSSA

Why is Software Architecture Important?

• Communication among stakeholders– Why do users care about components?

• Early design decisions

• Transferable abstractions of a system– Can be applied to other systems with similar

requirements

Page 14: Overview of SAIP and LSSA

Architectural Structures

• Module• Conceptual• Process• Physical• Uses• Calls• Data flow• Control flow• Class

Page 15: Overview of SAIP and LSSA

Large-Scale Software Architecture

• What is large?– More than 50 developers– Several hardware platforms– Many operating systems processes– Over half a million lines of code

Page 16: Overview of SAIP and LSSA

LSSA

1 - What is architecture?

2 - The software architect

3 - SA and the development process

4 - Techniques

5 - Example

Page 17: Overview of SAIP and LSSA

LSSA

6 - System context and domain analysis

7 - Component design

8 - Subsystem design

9 - Transaction and data design

10 - Process and deployment design

Page 18: Overview of SAIP and LSSA

Software Architecture is

• The set of entities, the properties of those entities, and relationships among them that define structure of the system.

• The set of software components, packages, relationships, interactions, the properties of each of these elements, and the set of guiding principles that together constitute the fundamental properties and constraints of a software system.

Page 19: Overview of SAIP and LSSA

Software architecture is not

• Specific implementation mechanisms like– compiler optimizations – shared versus static libraries– implementation languages– COTS class or method names– file format

Page 20: Overview of SAIP and LSSA

Attributes of Software Architecture

• Cultural adaptibility

• Data integrity

• Maintainability (portable, changeable, understandable, debugable)

• Testability

• Availability, upgradeability, reliability

• Safety, security

Page 21: Overview of SAIP and LSSA

Why Architecture is Important

• Systems are big• Some decisions are hard to change• Most developers weren’t there at the

beginning of a project and need the big picture

• Properties like reliability require hard work, they do not happen by accident, and they are properties of the entire system