Overview of SAIP and LSSA. Software Architecture in Practice Provides a set of techniques, not a prescriptive method for architectural design. Based on.

Slides:



Advertisements
Similar presentations
Dr. Rogelio Dávila Pérez
Advertisements

ATAM Architecture Tradeoff Analysis Method
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
By Xiangzhe Li Thanh Nguyen.  Components and connectors are composed in a specific way in a given system’s architecture to accomplish that system’s objective.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Page 1 Building Reliable Component-based Systems Ivica Crnkovic Chapter 9 Component Composition and Integration.
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
The Architecture Design Process
Site Skin Structure Services Space plan Stuff Software Architecture and Software Architecture Patterns (1)
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Software Architecture in Perspective SENG 480/580 (H. Muller) Today: Margaret-Anne Storey
Software Architecture in Practice
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
1 Chapter 7 Design Implementation. 2 Overview 3 Main Steps of an FPGA Design ’ s Implementation Design architecture Defining the structure, interface.
SWE Introduction to Software Engineering
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
CSC230 Software Design (Engineering)
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Domain-Specific Software Engineering Alex Adamec.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Architectural Design.
What is Software Architecture?
Software Architecture in Practice (3rd Ed) Introduction
Chapter 10 Architectural Design
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Design.
An Introduction to Software Architecture
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
Architecture Business Cycle
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Lecture 9: Chapter 9 Architectural Design
What is Software Architecture? | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Chapter 2, Authors: Len Bass, Paul,
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
10 Software Architecture CSCU 411 Software Engineering.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
TAL7011 – Lecture 4 UML for Architecture Modeling.
System Context and Domain Analysis Abbas Rasoolzadegan.
John D. McGregor Class 4 – Initial decomposition
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Software Design: Principles, Process, and Concepts Getting Started with Design.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
1 آزمايشگاه سيستم های هوشمند ( معماری سيستمهای با مقياس بزرگ آزمايشگاه سيستمهای هوشمند پاييز 93.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSE 303 – Software Design and Architecture
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
Quality Consulting Module 7 Solution Development.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Software Architecture and Quality BY
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Software Architecture and
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
An Introduction to Software Architecture
Software Architecture
Chapter 6: Architectural Design
Presentation transcript:

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.

SAIP: Evisioning Architecture 1 - The Architecture Business Cycle 2 - What is Software Architecture? 3 - A-7E: A Case Study in Utilizing Architectural Structures

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

SAIP: Moving from Architectures to Systems 12 - Architecture Description Languages 13 - Architecture-Based Development 14 - Flight Simulation: A Case Study

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

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

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

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?

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

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)

What is the difference between? Architectural style Reference model Reference architecture Architecture

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

Architectural Structures Module Conceptual Process Physical Uses Calls Data flow Control flow Class

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

LSSA 1 - What is architecture? 2 - The software architect 3 - SA and the development process 4 - Techniques 5 - Example

LSSA 6 - System context and domain analysis 7 - Component design 8 - Subsystem design 9 - Transaction and data design 10 - Process and deployment design

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.

Software architecture is not Specific implementation mechanisms like –compiler optimizations –shared versus static libraries –implementation languages –COTS class or method names –file format

Attributes of Software Architecture Cultural adaptibility Data integrity Maintainability (portable, changeable, understandable, debugable) Testability Availability, upgradeability, reliability Safety, security

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