Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.

Slides:



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

Design Validation CSCI 5801: Software Engineering.
Software Architecture in Practice (3 rd Ed) Understanding Quality Attributes Understanding the following: How to express the qualities we want our architecture.
Auditing Computer-Based Information Systems
Software Requirements Engineering
Quality Attributes Or, what’s wrong with this: Exterminator kit – place bug on block, strike with mallet.
Instructor: Tasneem Darwish
Understanding Quality Attributes. Functionality and Quality Attributes  Functionality and quality attributes are orthogonal.  Functionality can be achieved.
1 Steve Chenoweth Tuesday, 10/04/11 Week 5, Day 2 Right – Typical tool for reading out error codes logged by your car’s computer, to help analyze its problems.
1 Steve Chenoweth Tuesday, 10/25/11 Week 8, Day 2 Right – Desktop computer usability metaphor, from
1 CSSE 477 – Intro to Modifiability Steve Chenoweth Friday, 9/23/2011 Week 3, Day 4 Right - A modified VW beetle, from
The Architecture Design Process
1 Steve Chenoweth Tuesday, 10/18/11 Week 7, Day 2 Right – One view of the layers of ingredients to an enterprise security program. From
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.
Evaluating Software Architectures RiSE’s Seminars Clement’s book :: Chapters 05 Eduardo Cruz.
Software Architecture in Practice Part Two: Creating an Architecture 2nd Ed. Len Bass, Paul Clements, Rick Kazman.
Lecture 7 Quality Attributes = Nonfunctional Req. Topics Quality AttributesReadings: January 29, 2008 CSCE 492 Software Engineering.
Essential Software Architecture Chapter Three - Software Quality Attributes Ian Gorton CS590 – Winter 2008.
Vakgroep Informatietechnologie – IBCN Software Architecture Prof.Dr.ir. F. Gielen Quality Attributes & Tactics (4) Modifiability.
Principles of Software Architecture Evaluation and Design
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Achieving Qualities. Architectural Tactics  A tactic is a design decision that influences the control of a quality attribute response.  A collection.
9/2/2015 | 1 Neil B. Harrison Paris Avgeriou University of Groningen Groningen, The Netherlands Incorporating Fault Tolerance Tactics in Software Architecture.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Achieving Qualities 1 Võ Đình Hiếu. Contents Architecture tactics Availability tactics Security tactics Modifiability tactics 2.
1 Computer Systems & Architecture Lesson 2 3. Understanding Quality Attributes.
CSE 303 – Software Design and Architecture
Quality Attributes Often know as “–ilities” …
Quality Attribute -continued. What is Availability? Availability refers to a property of software that it is there and ready to carry out its task when.
Other Quality Attributes Other Important Quality attributes Variability: a special form of modifiability. The ability of a system and its supporting artifacts.
Software System Architecture Software System Architecture Chapter 6:Air Traffic Control: A Case Study in Designing for High Availability. Chapter 6:Air.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
1 Software Architecture in Practice Quality attributes (The amputated version)
Cloud Computing and Architecture Architectural Tactics (Tonight’s guest star: Availability)
Slide 1 Lecture 14 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Slide 1 Lecture 15 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
1 Software Architecture in Practice Architectural Design (Again, the amputated version)
Vakgroep Informatietechnologie – IBCN Software Architecture Prof.Dr.ir. F. Gielen Quality Attributes & Tactics (1)
Dr. Awais Majeed Achieving Quality CSE 861- Software System Design & Architecture.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Powerpoint Templates Data Communication Muhammad Waseem Iqbal Lecture # 07 Spring-2016.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Chapter 5: Availability © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
Chapter 7: Modifiability
Chapter 4: Understanding Quality Attributes
Lecture 05 Interoperability, Modifiability, Performance
Chapter 6: Interoperability
Software Architecture in Practice
SEVERITY & PRIORITY RELATIONSHIP
Software Architecture in Practice
Achieving Qualities.
Chapter 11: Usability © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
Chapter 19: Architecture, Implementation, and Testing
Fault Tolerance In Operating System
Unit- 3 QUALITY Presented by Sushma Narasimhan Asst. Professor,
Lecture 7 – Quality Attributes
Quality Attributes Or, what’s wrong with this:
Software Architecture in Practice
Fault Tolerance Distributed Web-based Systems
Systems Design Chapter 6.
Quality Attributes Or, what’s wrong with this:
Lecture 7 – Quality Attributes
Lecture 5 – Quality Attributes
Lecture 5 – Quality Attributes
Quality Attributes Or, what’s wrong with this:
Presentation transcript:

Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

2 Types of Scenarios

3 Usage of scenarios

4 Availability General Scenario

5 Sample Availability Scenario Artifact: Process Source: External to System Environme nt: Normal Operation Response Measure: No Downtime Stimulus: Unanticipat ed message Response: Inform Operator to Continue

6 Example: Modifiabilty Artifact: Code Source: Developer Environme nt: At Design Time Response Measure: In three hours Stimulus: Wishes to change UI Response: Modificatio n made with no side effects

7 Specifying Requirements

8 Availability Fault = Something went wrong or was unexpected Failure = System is unavailable Note: Can talk about degraded modes of operation ~ degrees of availability In considering availability must consider mean time to failure plus recovery time

9 General Scenarios for Availability Source – Internal or External? Stimulus – omission, crash, timing, response Artifact – what should be available? Environment – State/Mode of system Response – What is the desired response? (logging, restart) Response Measure – Time intervals or repair time

10 Modifiability Chief concerns –What can change? –Who makes the change? What is the change mechanism and binding time? »Ex: Change the code vs change configuration file

11 General Scenarios for Modifiability Source – User, developer, sys admin… Stimulus – Wishes to add/delete/mod functionality/quality attribute/capacity Artifact – UI, Platform, environment,… Environment – run, compile, build, design Response – Locates section of architecture, makes modification,… Response Measure – Cost, effort, time, ripple

12 Performance Timing –Events, interrupts, messages, requests… –Measuring time between arrival and response Complicated by –Large # of possible sequences and combos

13 General Scenarios for Performance Source – where does event come from? Stimulus – characterize arrival (sporadic, simultaneous, periodic) Artifact – System Environment – System mode Response – process event; change mode Response Measure – Latency, deadline, throughput, miss rate, data loss

14 Security Ability of the system to prevent unauthorized use while allowing authorized use Properties –Confidentiality of data from unauthorized access –Integrity (delivered as intended) –Assurance of identity –Availability for authorized use –Auditing

15 Security General Scenarios Source – human or another system; anticipated/actual sources important Stimulus – The attack Artifact – Services of system or data Environment – Mode, firewall status Response – Granting/withdrawing access Response Measure – Difficulty of attacks, recovery from attacks

16 Testability How can we find faults in the system? Is a test harness available? Can pieces of the system be tested independently and at different levels of integration?

17 General Scenarios for Testability Source – Who performs test Stimulus – What triggers testing? Artifact – design, code, part/whole system Environment – Time at which test occurs Response – provides access to state, provides results, etc. Response Measure – Coverage, effectiveness (prob of finding error), effort/time to test

18 Usability How easy is it for the user to accomplish a desired task? –Learning system features –Using system effectively –Minimizing impact of errors –Adapting to user needs –Increasing confidence & satisfaction

19 General Scenarios for Usability Source – User Stimulus – What the user wants to do Artifact – System Environment – Runtime or config time Response – What the system does Response Measure – time, tries, number of errors or solutions, learning curve

Tactics

21 Tactics & Strategies Tactic – Fundamental design decisions that impart desired quality attributes to a design Architectural Strategy – A collection of tactics

22 Example

23 Where to Tactics Fit in? Idea about System Important Qualities Focus with Quality Scenarios Tactics form 1 st broad brush strokes

24 Organizing Tactics

25 Availability Tactics

26 Availability Tactics Goal: Stop a Fault from becoming a Failure Fault Detection –How to tell when a fault has occurred? Fault Recovery –How to deal with a fault when it occurs? –Preparation and Repair –Recovery and reintroduction Fault Prevention –How to stop faults from occurring?

27 Availability: Fault Detection Ping/Echo Heartbeat/Watchdog Exceptions

28 Availability: Fault Recovery Prevention and Repair –Voting –Active Redundancy (Two parallel systems) –Passive Redundancy (Master & backup components) –Spare Reintroduction –Checkpoint/Rollback

29 Availability: Fault Prevention Removal from service to prevent failures Transactions Monitor processes for faults and create replacement processes

30 Availability Tactics

31 Modifiability Tactics

32 Modifiability Tactics Localize modifications –Minimize the # modules that must change Prevent ripple effects –Limit necessary modifications to localized modules (those directly affected) Control deployment time & cost –Defer binding time

33 Modifiability: Localize Modifications Maintain semantic coherence –Coupling and cohesion Anticipate expected changes Generalize

34 Modifiability: Prevent Ripple Hide information Maintain existing interfaces Restrict communication paths Use an intermediary

35 Modifiability: Defer Binding Time Runtime registration Configuration files Polymorphism Component replacement Define protocols

36 Modifiability Tactics

37 References Bass, L., Clements, P. and Kazman, R., Software Architecture in Practice, Second Edition (2006), Addison-Wesley. Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, j., Little, R., Nord, R. and Stafford, J., Documenting Software Architectures: Views and Beyond, 2002, Addison-Wesley. Documenting Software Architectures