1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
DAIMI(c) Henrik Bærbak Christensen1 Software Architecture Quality Attributes.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Chapter 19: Network Management Business Data Communications, 5e.
Software Architecture in Practice (3 rd Ed) Understanding Quality Attributes Understanding the following: How to express the qualities we want our architecture.
ArchE Presented By Samanvitha Ramayanam. TOPICS 1. Introduction 2. Theoretical assumptions 3. ArchE as an expert system 4. Overall flow of ArchE 5. Key.
Quality Attributes Or, what’s wrong with this: Exterminator kit – place bug on block, strike with mallet.
Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Instructor: Tasneem Darwish
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Software Testing and Quality Assurance
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
1 Exercise a short summary of you so your professor can get to know you better: Name, company, job/role/title, most interesting SE area, any architecting.
An Introduction to Software Architecture Pejman Salehi
Evaluating Software Architectures RiSE’s Seminars Clement’s book :: Chapters 05 Eduardo Cruz.
Lecture 7 Quality Attributes = Nonfunctional Req. Topics Quality AttributesReadings: January 29, 2008 CSCE 492 Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
EMBEDDED SOFTWARE Team victorious Team Victorious.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Achieving Qualities 1 Võ Đình Hiếu. Contents Architecture tactics Availability tactics Security tactics Modifiability tactics 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
12.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 Computer Systems & Architecture Lesson 2 3. Understanding Quality Attributes.
CSE 303 – Software Design and Architecture
Quality Attributes Often know as “–ilities” …
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
12 - Arch. ReintroCSC4071 Systems-Level Architecture A Re-Introduction.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
An Introduction to Software Architecture Software Engineering Lab.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
THE DESIGN WORKFLOW  Object-oriented design  The design workflow  The test workflow: Design  CASE tools for design  Challenges of the design workflow.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 Software Architecture in Practice Quality attributes.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
Database Environment Chapter 2. Data Independence Sometimes the way data are physically organized depends on the requirements of the application. Result:
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 Software Architecture in Practice Quality attributes (The amputated version)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Architecture Quality Attributes. Good or Bad? Measurable criterions required...
Vakgroep Informatietechnologie – IBCN Software Architecture Prof.Dr.ir. F. Gielen Quality Attributes & Tactics (1)
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Architecture in Practice
Software Architecture Quality Attributes
Model-Driven Analysis Frameworks for Embedded Systems
Quality Attributes Or, what’s wrong with this:
Software Architecture in Practice
Quality Attributes Or, what’s wrong with this:
Software Engineering and Architecture
Quality Attributes Or, what’s wrong with this:
Presentation transcript:

1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University

Outline 1. Understanding Quality Attributes 2. Functionality, Architecture & Quality Attributes 3. Classes of Quality Attributes 4. Quality Attribute Scenarios 5. Business Qualities 6. Architectural Qualities 7. Summary 2

Understanding Quality Attributes Lecture: 3-B 3

Understanding Quality Attributes ABC: business considerations determine qualities that must be accommodated in a system’s architecture. Systems are frequently redesigned not because they’re functionally deficient  The replacements are often functionally identical  But they are difficult to maintain, port, or scale, or are too slow, or have been compromised by network hackers 4

Functionality, Architecture & Quality Attributes Functionality and quality attributes are orthogonal Achieving quality attributes must be considered throughout design, implementation, and deployment Satisfactory results depend on getting the big picture (architecture) & the details (implementation) right 5

Functionality, Architecture & Quality Attributes (Continue…) Ex: Performance depends partially on  how much communication is necessary among components (Arch)  what functionality has been allocated to each component (Arch)  how shared resources are allocated (Arch)  the choice of algorithms to implement selected functionality (Non-arch)  how these algorithms are coded (Non-arch) 6

Key Message Architecture is critical to deliver quality requirements, and these qualities should be designed in and can be evaluated at the architectural level Architecture, by itself, is unable to achieve qualities - attention must be paid to the details Within complex systems, quality attributes can never be achieved in isolation. The achievement of one will have an effect, positive or negative, on others 7

Classes of Quality Attributes Qualities of the system  availability, modifiability, performance, security, testability, and usability Business qualities  time to market, cost & benefit, projected life, target market, rollout schedule, legacy integration Architectural qualities  conceptual integrity, correctness & completeness, buildability 8

System Quality Attributes - Issues From an architect’s point of view there are three problems with the previous discussions of system quality attributes  Non-operational definitions System is modifiable  Overlapping attribute concepts System failure  Attribute specific vocabulary Events (performance), attacks (security) etc. 9

Quality Attribute Scenarios 10

A QA-Specific Requirements Source of stimulus - generating entity Stimulus - arriving condition needing consideration Environment - system condition Artifact - part of or entire system Response - activity caused by the stimulus Response measure - measurable results that tests the requirements 11

Types of QA Scenarios There are two of QA scenarios  QA General Scenarios System independent scenarios  QA Concrete Scenarios System specific scenarios 12

Availability Availability is concerned with system failure and its associated consequences There is a difference in failure and faults Once failure occurs how much time system takes to repair from it Scheduled downtimes are not considered in calculating availability 13

Sample Availability Scenario 14

Availability General Scenarios 15

Modifiability Modifiability is about cost of change Modifiability brings up two concerns; 1. What can change? Functions system computes Platform system exists on Environment within which the system operates 2. When is the change made and who makes it? In past change was made in code Change can be made at development time, compile time, execution time and so on Change can be made by developer, user and System Administrator 16

Sample Modifiability Scenario 17

Modifiability General Scenarios 18

Performance Performance is about timing  interrupts, messages, requests from users, or the passage of time  basically: how long it takes the system to respond when an event occurs Complexity  number of event sources & arrival patterns  this characterization is the language to construct general performance scenarios 19

Performance Scenarios  Start with a request for service arriving at the system. Satisfying the request consumes resources. Usually events are handled in parallel Arrival Patterns  periodic - most often seen in real-time systems  stochastic - events arrive according to some probabilistic distribution  sporadic - a pattern that can’t be represented by either 20

Sample Performance Scenarios 21

Performance General Scenarios 22

Reading Assignment Three System QA 1. Security 2. Testability 3. Usability 23

Communicating Scenarios Each attribute community has its own vocabulary; different terms can mean the same thing The problem is for the architect to understand which stimuli represent the same occurrence, which are aggregates of other stimuli, and which are independent  Ex: a performance event may be atomic or an aggregate of other lower-level occurrences 24

Quality Attribute Stimuli 25

Business Qualities A number of business quality goals frequently shape software’s architecture;  Time to Market  Cost and Benefit  Projected lifetime of the System  Targeted Market  Rollout Schedule  Integration with Legacy Systems 26

Architectural Qualities Besides system’s and business’ qualities there are some directly related to architecture;  Conceptual Integrity It unifies design of the system at all levels Architecture should do similar things in similar ways  Correctness and Completeness Essential for the architecture to allow for all of the system’s requirements and runtime resource constraints to be met  Buildability Allows the system to be completed by the available team in a timely manner 27

28 Summary Any Questions?