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