Top Banner
Software Architecture premaster course 1
42

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

Dec 23, 2015

Download

Documents

Ashlyn Rose
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.

Software Architecture premaster course

1

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

Israa Mosatafa Islam Neveen Adel Mohamed Omnia Ibrahim Ahmed

Dr Hany Ammar

2

Page 3: 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

Page 4: 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

4

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

Is the study of the structure of large software systems.

It concerns itself with achieving non-functional qualities in large systems.

5

Page 6: 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

6

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

ADD method

ATAM method

7

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

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

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

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

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

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

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

11

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

12

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

Architecture Tradeoff Analysis Method (ATAM) is a risk-mitigation process

ATAM is used early in the software development life cycle

13

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

Clarified quality attribute requirements

Improved architecture documentation

Documented basis for architectural decisions

Identified risks early in the life-cycle

Increased communication among stakeholders

14

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

15

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

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

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

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

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

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

Page 19: 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

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

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

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

1- Pipe and filter:

Page 22: Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Page 23: Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.

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. 

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

3- Layered Architecture:

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

4- Blackboard Architecture:

Page 26: Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Page 27: Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.

5- Client-Server Architecture:

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

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.

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

7- State Machine:

Page 30: 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

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

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.

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

DAOP-ADL

ACME

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

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).

Page 34: Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Page 35: Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.

Architecture descriptions using DAOP-ADL comprises of the two parts:

- Defines standalone components and aspects

- Composition specification.

Page 36: Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Page 37: Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.

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.

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

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.

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

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

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

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

Page 41: 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

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

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.