2 Architecture Qualities 2 1 Quality attribute scenarios
2. Architecture Qualities 2. 1 Quality attribute scenarios Notas del Dr. Hector Duran
Quality Attributes n Functionality and quality attributes are orthogonal q n n E. g. the choice of function does not dictate the level of performance or security The functionality of a systems is about what a systems does The non-functional attributes of a system is about how a system is performed
Quality Attributes (2) n Achieving quality attributes must be considered throughout: q q q Design Implementation Deployment
Quality Attributes (3) n Achievement of an attribute will have an effect (positive or negative) on another attribute q E. g. almost every quality attribute negatively affects performance
Quality Attributes (4) n Quality attribute scenario q q q Source of stimulus Stimulus Environment Artefact Response measure
Quality Attributes (5) n n System’s quality attribute requirements are seldom extracted and recorded in a disciplined way Quality attribute scenarios are used to alleviate this situation
2. 2 Quality attributes
Quality Attributes (6) n Availability q q Is concerned with system failure and its associated consequences Areas of concern: n n n How system failure is detected How frequently system failure may occur What happens when the failure occurs How failures can be prevented Time it takes to repair
Quality Attributes (7) n Failures vs faults q n A fault may become a failure if not corrected or masked Automatic repair strategies q If the system is able to recover from the fault, there’s no failure
Quality Attributes (8) n Availability general scenarios: q q Source of stimulus: internal and external Stimulus: a fault of the following classes: n n Omission. - fails to respond to an input Crash. - repeatedly suffers from omission faults Timing. - early or late Response. - incorrect value
Quality Attributes (9) n Availability general scenarios (2): q q Artefact: specifies resource to be highly available e. g. processor, channel, etc Environment. - state of system when fault or failure occur Response. - logging the failure, notifying selected users or other systems, switching to a degraded mode, etc Response measure. - availability percentage, time to repair, etc
Quality Attributes (10) n Availability concrete scenario q An unanticipated external msg is received by a process during normal operation. The process informs the operator of this and continues to operate without downtime. Source: External To system Stimulus: Unanticipated msg Environment: Normal operation Responses: Inform operator Continue to operate Response Measure: No downtime
Quality Attributes (11) n Modifiability q q Is about the cost of change It brings up two concerns: n n What can change? When is the change made and who makes it?
Quality Attributes (12) n Modifiability q What can change? n n n Most aspects of the system The functionality The platform of deployment q q q n n n Hardware Operating system Middleware The environment within which it operates The quality attributes Its capacity
Quality Attributes (13) n Modifiability q When the change is made? Who? n n n In the past only code was modified by the developer Now, changes can be made by end user Changes can be made to the implementation: q q q Source code Compile time Build time Load time Run time
Quality Attributes (14) n Modifiability q Making a system modifiable involves: n n n Specify changes Design changes Implement Test Deploy
Quality Attributes (15) n Modifiability general scenarios q q q Source of stimulus. - specify who makes the changes Stimulus. - specifies nature of the stimulus Artifact. - specifies what is to be changed Environment. - specifies when the change can be made Response. - possible side effects Response measure. - time and cost to perform the change
Quality Attributes (16) n Modifiability concrete scenario q A developer wishes to change the user interface to make a screen’s background colour blue. It will take 3 hours with no side effects Source: Developer Stimulus: Wishes to Change UI Environment: At design time Responses: Modification is Made with no side effects Response Measure: In three hours
Quality attributes (17) n Performance q q Is about responding to events within certain timing constraints Events n n n Interrupts Messages Requests from the user
Quality attributes (18) n e. g. in a web-based financial system the response might be q n the number of transactions that can be processed in a minute The arrival pattern of events q q q Periodic Sporadic Stochastic
Quality attributes (19) n Measurement categories of the system’s response q q Latency Deadlines in processing Throughput of the system Jitter of the response
Quality attributes (20) n Performance general scenarios q Source of stimulus n q Stimulus n q can be in various operational modes Response n q is always the system’s services Environment n q are event arrivals Artefact n q either from external or internal sources the arriving events that must be processed Response measure n is the time it takes to process the arriving events
Quality attributes (21) n Performance concrete scenario q Users initiate 1, 000 transactions per minute stochastically under normal operations, and these transactions are processed with an average latency of two seconds Stimulus: Source: Users Initiate Transactions Responses: Environment: Under normal operations Transactions are processed Response Measure: With average Latency of two seconds
Quality attributes (22) n Security q q Ability to resist unauthorised usage An attempt to breach security is called an attack or threat n n n Unauthorised attempt to access data Unauthorised attempt to access services Intend to deny services to legitimate users
Quality attributes (23) n Security q Can be characterised as: n n n No repudiation Confidentiality Integrity Assurance Availability Auditing
Quality attributes (24) n Security general scenarios q Source of stimulus n q Stimulus n q is an attack or an attempt to break security Artefact n q either a human or another system the services of the system or the data within it Environment n either online or offline, either connected to or disconnected from a network, either behind a firewall or open to the network
Quality attributes (25) n Security general scenarios q Response n q must authorise legitimate users and grant them access to data and services Response measure n n n difficulty of dealing with various attacks difficulty of recovering from attacks surviving attacks
Quality attributes (26) n Security concrete scenario q A correctly identified individual tries to modify system data from an external site; system maintains an audit trail and the correct data is restored within one day Source: Correctly Identified individual Stimulus: Responses: Tries to Modify information System Maintain Audit trail Environment: Under normal operations Response Measure: Correct data is Restored Within a day
Quality attributes (27) n Testability q q q Ease with which software can be made to demonstrate its faults At least 40% of cost employed by testing To be properly testable is necessary n n To control each component’s internal state and inputs To observe its outputs
Quality attributes (28) n Testability q Testability general scenarios n Source of stimulus q n Stimulus q n The completion of some part of the system Artifact q q q n performed by testers or the client a design, piece of code the whole system Environment. - the test can happen at q q design time Development time Compile time Deployment time
Quality attributes (29) n Testability q Testability general scenarios n Response q n the system can be controlled to perform the desired tests Response measure q q the percentage of statements that have been executed in some test Estimates of the probability of finding additional faults
Quality attributes (30) n Testability concrete scenario q A tester performs a unit test on a completed system component that provides an interface for controlling its behaviour and observing its output; 85% path coverage is achieved within three hours Source: Tester Stimulus: Performs Unit test Environment: At the Completion Of the component Responses: Component Has interface For controlling Behaviour and Output of the Component is observable Response Measure: Path coverage Of 85% is Achieved Within 3 hours
Quality attributes (30) n Usability q q How easy it is for the user to accomplish a desired task Includes facilities for n n n Learning system features Using a system efficiently Minimising the impact of errors Adapting the system to user needs Increasing confidence and satisfaction
Quality attributes (31) n Usability general scenarios q Source of stimulus n q Stimulus. - the user wishes to n n n q the end user is always the source of the stimulus use a system efficiently Learn to use the system Minimise the impact of errors Adapt the system Feel comfortable with the system Artifact n is always the system
Quality attributes (32) n Usability general scenarios q Environment. - actions occur at n n q Response. - provide the user n n q Runtime System configuration time The features needed Anticipates the user’s needs Response measure. - is measured by n n n Task time Number of errors Number of problems solved User satisfaction Gain of user knowledge
Quality attributes (33) n Source: Users Usability concrete scenario q A user, wanting to minimise the impact of an error, wishes to cancel a system operation at runtime; cancellation takes place in less than one second Stimulus: Minimise Impact of errors Environment: At runtime Responses: Wishes to Cancel Current operations Response Measure: Cancellation Takes Less than One second
Quality attributes (34) A Classification and Comparison Framework for Software Architecture Description Languages. Nenan Medvidovic and Richard N. Taylor
- Slides: 37