Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

Architecture Representation
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Applying Architectural Styles and Patterns. Outline  Defining Architectural Patterns and Style The activation model Styles and Quality Attributes  Common.
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
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.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Unified Modeling (Part I) Overview of UML & Modeling
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Software Architecture in Practice
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Architectural Design.
Software Architecture in Practice (3rd Ed) Introduction
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Chapter 10 Architectural Design
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
Architecture Evaluation Evaluation Factors Evaluation by the designer Every time the designer makes a key design decision or completes a design milestone,
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
An Introduction to Software Architecture
Architecture Business Cycle
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
1 5/18/2007ã 2007, Spencer Rugaber Software Architecture (Informal Definition) The organization of a system into component subsystems or modules Box and.
Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1) analyze the.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Lecture 9: Chapter 9 Architectural Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
SOFTWARE DESIGN.
Slide 1 Introduction to Software Architecture TV Prabhakar.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 13 Architectural Design
Software Architecture CS3300 Fall Beware the Fuzzy Front End We are already almost 1/3 of the way done Need to negotiate deliverable schedule: SDP.
10 Software Architecture CSCU 411 Software Engineering.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Software Architecture and Patterns
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.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
Developing Component- Based Systems X LIU, School of Computing, Napier University TIP This chapter discusses the techniques to develop component-based.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
CSCI 578 Software Architectures Exam #1 Review. Materials you are responsible for Chapters 1-8 in the text book All lecture material up to but not including.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
1 5/18/2007ã 2007, Spencer Rugaber Acme Architectural interchange language – CMU and ISI Extensible Tool support –AcmeStudio.
John D. McGregor Architecture Evaluation
Chapter : 9 Architectural Design
The ATAM method. The ATAM method (1/2) Architecture Tradeoff Analysis Method Requirements for complex software systems Modifiability Performance Security.
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.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Software Architecture and
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
CSCI 578 Software Architectures
An Introduction to Software Architecture
Chapter 9 Architectural Design.
Software Architecture
CSCI 578 Software Architectures
Presentation transcript:

Software Architecture premaster course 1

 Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2

 Introduction  Representations  Styles  Architecture description language  Conclusion 3

 Introduction  Representations  Styles  Architecture description language  Conclusion 4

 Is the study of the structure of large software systems.  It concerns itself with achieving non- functional qualities in large systems. 5

 Introduction  Representations  Styles  Architecture description language  Conclusion 6

 ADD method  ATAM method 7

 It is Attribute-Driven Design approach to defining a software architecture in which the design process is based on the software’s quality attribute requirements.  The method has been used for designing the software architecture of products ranging from embedded to information systems. 8

 ADD follows a recursive design process that decomposes a system by applying architectural tactics and patterns that satisfy its driving requirements.  This method is based on understanding the relationship between software qualities and the architecture mechanisms used to achieve these qualities. 9

 Supporting the earliest stages of the design process where the ability to achieve desired quality attributes is determined.  Allowing design to begin early enough in the life cycle to support modern time-to-market requirements. 10

PlanDoCheck 11

12

 Architecture Tradeoff Analysis Method (ATAM) is a risk-mitigation process  ATAM is used early in the software development life cycle 13

 Clarified quality attribute requirements  Improved architecture documentation  Documented basis for architectural decisions  Identified risks early in the life-cycle  Increased communication among stakeholders 14

15

1. Present ATAM - Present the concept of ATAM to the stakeholders, and answer any questions about the process. 2. Present Business Drivers - Everyone in the process presents and evaluates the business drivers for the system in question. 3. Present the Architecture - The architect presents the high level architecture to the team, with an 'appropriate level of detail. 16

4. Identify Architectural Approaches - Different architectural approaches to the system are presented by the team, and discussed. 5. Generate Quality Attribute Utility Tree - Define the core business and technical requirements of the system, and map them to an appropriate architectural property. Present a scenario for this given requirement. 17

6. Analyze architectural approaches - Analyze each scenario, rating them by priority. The architecture is then evaluated against each scenario. 7. Brainstorm and prioritize scenarios - among the larger stakeholder group, present the current scenarios, and expand. 8. Analyze architectural approaches - Perform step 6 again with the added knowledge of the larger stakeholder community. 9. Present results - provide all documentation to the stakeholders. 18

 Introduction  Representations  Styles  Architecture description language  Conclusion

 It provides a framework on which to base design  Style of software architecture is an established pattern of components with a name, such as client-server architecture

1- Pipe and filter:

2- Object-oriented Architecture:  The focus is on the different items in the system, modeled as objects, classes etc.  Object orientation is one of the most widely spread architectural styles, both in education, industrial practice and science.

3- Layered Architecture:

4- Blackboard Architecture:

5- Client-Server Architecture:

6- Process Control:  Real-world systems often control a physical reality, such as control systems in a power plant.  There are a number of software paradigms for process control.  The significant properties are that the software takes its input from sensors and perform control actions.  The control loop may be of feedback or feed-forward type.

7- State Machine:

 Introduction  Representations  Styles  Architecture description language  Conclusion

 provides features for modeling a software system’s conceptual architecture, distinguished from the system’s implementation.  capture and represent details of software systems at the architectural level.

 DAOP-ADL  ACME

 Description language used to describe components and aspects, together with the composition rules that govern the weaving of components and aspects.  The visual notation of the DAOP-ADL language is CAM (Component-Aspect Model).

 Architecture descriptions using DAOP-ADL comprises of the two parts: - Defines standalone components and aspects - Composition specification.

 It is an ADL (Architecture Description Language) that was developed to create a common interchange format in the software engineering community.  Provides the following key features: o An architectural ontology consisting of basic architectural design elements.

o A flexible annotation mechanism supporting association of non-structural information using externally defined sublanguages. o A type mechanism for abstracting common, reusable architectural idioms and styles. o An open semantic framework for reasoning about architectural descriptions.

 A trivial architectural drawing containing a client and server component, connected by an RPC connector.

 Acme supports the hierarchical description of architectures any component or connector can be represented by one or more detailed, lower-level descriptions.

 Introduction  Representations  Styles  Architecture description language  Conclusion

 Architecture of a software system is its structures comprising of elements, their external properties, and relationships.  Architecture is a high level design.  Architecture can be analyzed for various non- functional attributes like performance, reliability, security, etc.