Software Architecture
School of Computer Science University of Oviedo
Role of architect and Quality attributes
Jose E. Labra Gayo Course 2018/2019
Role of architect and Quality attributes School of Computer Science - - PowerPoint PPT Presentation
Software Architecture University of Oviedo Role of architect and Quality attributes School of Computer Science Jose E. Labra Gayo Course 2018/2019 Software Architecture Contents University of Oviedo Role of architect Quality attributes
Software Architecture
School of Computer Science University of Oviedo
Jose E. Labra Gayo Course 2018/2019
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
User interface Business logic Database direct call X
Software Architecture
School of Computer Science University of Oviedo
Things we know Things we know we don't know Things we don't know we don't know Danger!
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
"no matter what they tell you, it's always a people problem", G. Weinberg
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Artifact Response measure Stimulus Response Source Environment
Software Architecture
School of Computer Science University of Oviedo
Artifact Response measure Stimulus Response Source Environment
Software Architecture
School of Computer Science University of Oviedo
Artifact
User interface
Response Measure
< 1sec
Stimulus
20 concurrent clients
Response
Response time
Source
Clients
Environment
Normal operation Source of stimulus Stimulus Artifact Environment Response Response measure Clients 20 concurrent clients User interface Normal
Response time <1sec . . . . . . . . . . . . . . . . . .
Performance: If there are 20 concurrent clients, the response time should be less than 1 sec. under normal operation
Software Architecture
School of Computer Science University of Oviedo
Artifact
Processors Communication channels Persistent storage Processes
Response Measure
Time or time interval system must be available Time in degraded mode Time to dtect fault Repair time Proportion of faults system handles
Stimulus
Fault Omission Crash Incorrect timing Incorrect response
Response
Prevent fault from becoming failure Detect fault Recover from fault Log fault Disable event source Be unavailable Degraded mode
Source
Internal/external people hardware, software physical infrastructure physical environment
Environment
Normal operation Startup Shutdown Repair mode Degraded operation Overloaded operation
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Ref Quality Attribute Scenario Priority 1 Availability When the database does not respond, the system should log the fault and respond with stale data during 3 seconds High, High 2 Availability A user searches for elements of type X and receives a list of Xs 99%
High, Medium 3 Scalability New servers can be added during the planned maintainance window (less than 7 hours) Low, Low 4 Performance A user sees search results within 5 seconds when the system is at an average load of 2 searches per second High, High 5 Reliability Updates to external elements of type X should be reflected on the application within 24 hours of the change Low, Medium . . . . . . . . .
Software Architecture
School of Computer Science University of Oviedo
https://en.wikipedia.org/wiki/List_of_system_quality_attributes
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
https://arquisoft.github.io/Iso25010QualityAttributes.html
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Tactics to control response Stimulus Response
Software Architecture
School of Computer Science University of Oviedo
Availability
Fault Fault masked or repair made
Modifiability
Changes arrive Changes made, tested and deployed within time and budget
Performance
Events arrive Response generated within time constraints
Security
Attack System detects, resists, or recovers from attack
Testability
Faults detected Completion of an increment
Usability
User given appropriate feedback and assistance User request
Software Architecture
School of Computer Science University of Oviedo
http://www.ece.ubc.ca/~matei/EECE417/BASS/ch05lev1sec1.html https://www.cs.unb.ca/~wdu/cs6075w10/sa2.htm
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Example of pattern language Source: "SOA with REST" book
Software Architecture
School of Computer Science University of Oviedo
Fuente: Microsoft Application Architecture Guide, 2nd Ed.
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
achievement of design purpose
Design purpose Primary functional requirements Quality attribute scenarios Constraints Architectural Principles/ Concerns
interfaces
(Refined) Software architecture Design Iterate if necessary From previous round of iterations or from existing system (brownfield development) Leyend Driver Architecture design Precedence step Precedence Artifact flow
Software Architecture
School of Computer Science University of Oviedo
Driver Design decisions and location Rationale and assumptions QA-1 Introduce concurrency (tactic) in the TimeServerConnector and FaultDetectionService Concurrency should be introduced to be able to receive and process several events simultaneously QA-2 Use of a messaging pattern through the introduction of a message queue in the communications layer Although the use of a message queue may seem to go against the performance imposed by the scenario, it hill be helpful to support QA-3 . . . . . . . . .
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo
Software Architecture
School of Computer Science University of Oviedo