Question

In: Computer Science

Modifiability comes in many flavors and is known by many names. Find one of the IEEE...

Modifiability comes in many flavors and is known by many names. Find one of the IEEE or ISO standards dealing with quality attributes and compile a list of quality attributes that refer to some form of modifiability. Discuss the differences.

Solutions

Expert Solution

MODIFIABILITY

Modifiability is about the cost of change.

Modifiability General Scenario Generation

Portion of Scenario

Possible Values

Source

End user, developer, system administrator

Stimulus

Wishes to add/delete/modify/vary functionality, quality attribute, capacity

Artifact

System user interface, platform, environment; system that interoperates with target system

Environment

At runtime, compile time, build time, design time

Response

Locates places in architecture to be modified; makes modification without affecting other functionality; tests modification; deploys modification

Response Measure

Cost in terms of number of elements affected, effort, money; extent to which this affects other functions or quality attributes

Sample modifiability scenario

Functionality and Architecture

·       Functionality and quality attributes are orthogonal.

·       What is functionality? It is the ability of the system to do the work for which it was intended. A task requires that many or most of the system's elements work in a coordinated manner to complete the job. If the elements have not been assigned the correct responsibilities or have not been endowed with the correct facilities for coordinating with other elements

·       Functionality may be achieved through the use of any of a number of possible structures. In fact, if functionality were the only requirement, the system could exist as a single monolithic module with no internal structure at all. Instead, it is decomposed into modules to make it understandable and to support a variety of other purposes. In this way, functionality is largely independent of structure. Software architecture constrains its allocation to structure when other quality attributes are important.

2. Architecture and Quality Attributes

·       Achieving quality attributes must be considered throughout design, implementation, and deployment.

·       Architecture is critical to the realization of many qualities of interest in a system, and these qualities should be designed in and can be evaluated at the architectural level.

·       Architecture, by itself, is unable to achieve qualities. It provides the foundation for achieving quality, but this foundation will be to no avail if attention is not paid to the details.

·       Types of quality attributes:

1.     Qualities of the system

2.     Business qualities

3.     Qualities that are about the architecture itself

3. System Quality Attributes

QUALITY ATTRIBUTE SCENARIOS

A quality attribute scenario is a quality-attribute-specific requirement. It consists of six parts.

·        Source of stimulus. This is some entity (a human, a computer system, or any other actuator) that generated the stimulus.

·        Stimulus. The stimulus is a condition that needs to be considered when it arrives at a system.

·        Environment. The stimulus occurs within certain conditions. The system may be in an overload condition or may be running when the stimulus occurs, or some other condition may be true.

·        Artifact. Some artifact is stimulated. This may be the whole system or some pieces of it.

·        Response. The response is the activity undertaken after the arrival of the stimulus.

·        Response measure. When the response occurs, it should be measurable in some fashion so that the requirement can be tested.

Quality attribute parts

SECURITY

·       Security is a measure of the system's ability to resist unauthorized usage while still providing its services to legitimate users.

·       Security can be characterized as a system providing nonrepudiation, confidentiality, integrity, assurance, availability, and auditing.

1.     Nonrepudiation is the property that a transaction (access to or modification of data or services) cannot be denied by any of the parties to it.

2.     Confidentiality is the property that data or services are protected from unauthorized access.

3.     Integrity is the property that data or services are being delivered as intended.

4.     Assurance is the property that the parties to a transaction are who they purport to be.

5.     Availability is the property that the system will be available for legitimate use.

6.     Auditing is the property that the system tracks activities within it at levels sufficient to reconstruct them.

Security General Scenario Generation

Portion of Scenario

Possible Values

Source

Individual or system that is correctly identified, identified incorrectly, of unknown identity who is internal/external, authorized/not authorized with access to limited resources, vast resources

Stimulus

Tries to display data, change/delete data, access system services, reduce availability to system services

Artifact

System services; data within system

Environment

Either online or offline, connected or disconnected, firewalled or open

Response

Authenticates user; hides identity of the user; blocks access to data and/or services; allows access to data and/or services; grants or withdraws permission to access data and/or services; records access/modifications or attempts to access/modify data/services by identity; stores data in an unreadable format; recognizes an unexplainable high demand for services, and informs a user or another system, and restricts availability of services

Response Measure

Time/effort/resources required to circumvent security measures with probability of success; probability of detecting attack; probability of identifying individual responsible for attack or access/modification of data and/or services; percentage of services still available under denial-of-services attack; restore data/services; extent to which data/services damaged and/or legitimate access denied

TESTABILITY

·       Software testability refers to the ease with which software can be made to demonstrate its faults through testing.

·       Testability refers to the probability that it will fail on its next test execution.

·       For a system to be properly testable, it must be possible to control each component's internal state and inputs and then to observe its outputs.

Testability General Scenario Generation

Portion of Scenario

Possible Values

Source

Unit developer, Increment integrator, System verifier, Client acceptance tester, System user

Stimulus

Analysis, architecture, design, class, subsystem integration completed; system delivered

Artifact

Piece of design, piece of code, complete application

Environment

At design time, at development time, at compile time, at deployment time

Response

Provides access to state values; provides computed values; prepares test environment

Response Measure

Percent executable statements executed

Probability of failure if fault exists

Time to perform tests

Length of longest dependency chain in a test

Length of time to prepare test environment

USABILITY

Usability is concerned with how easy it is for the user to accomplish a desired task and the kind of user support the system provides. It can be broken down into the following areas:

·        Learning system features. If the user is unfamiliar with a particular system or a particular aspect of it, what can the system do to make the task of learning easier?

·        Using a system efficiently. What can the system do to make the user more efficient in its operation?

·        Minimizing the impact of errors. What can the system do so that a user error has minimal impact?

·        Adapting the system to user needs. How can the user (or the system itself) adapt to make the user's task easier?

·        Increasing confidence and satisfaction. What does the system do to give the user confidence that the correct action is being taken?

Usability General Scenario Generation

Portion of Scenario

Possible Values

Source

End user

Stimulus

Wants to learn system features; use system efficiently; minimize impact of errors; adapt system; feel comfortable

Artifact

System

Environment

At runtime or configure time

Response

System provides one or more of the following responses:

to support "learn system features": help system is sensitive to context; interface is familiar to user; interface is usable in an unfamiliar context

to support "use system efficiently": aggregation of data and/or commands; re-use of already entered data and/or commands; support for efficient navigation within a screen; distinct views with consistent operations; comprehensive searching; multiple simultaneous activities

to "minimize impact of errors": undo, cancel, recover from system failure, recognize and correct user error, retrieve forgotten password, verify system resources

to "adapt system": customizability; internationalization

to "feel comfortable": display system state; work at the user's pace

Response Measure

Task time, number of errors, number of problems solved, user satisfaction, gain of user knowledge, ratio of successful operations to total operations, amount of time/data lost

COMMUNICATING CONCEPTS USING GENERAL SCENARIOS

Quality Attribute Stimuli

Quality Attribute

Stimulus

Availability

Unexpected event, nonoccurrence of expected event

Modifiability

Request to add/delete/change/vary functionality, platform, quality attribute, or capacity

Performance

Periodic, stochastic, or sporadic

Security

Tries to display, modify, change/delete information, access, or reduce availability to system services

Testability

Completion of phase of system development

Usability

Wants to learn system features, use a system efficiently, minimize the impact of errors, adapt the system, feel comfortable

5. Other System Quality Attributes

·       Scalability

·       Portability

·       Interoperability

6. Business Qualities

·        Time to market.

·        Cost and benefit.

·        Projected lifetime of the system.

·        Targeted market.

·        Rollout schedule.

·        Integration with legacy systems.

7. Architecture Qualities

·       Conceptual integrity is the underlying theme or vision that unifies the design of the system at all levels. The architecture should do similar things in similar ways. Conceptual integrity is the most important consideration in system design.

·       Correctness and completeness are essential for the architecture to allow for all of the system's requirements and runtime resource constraints to be met. A formal evaluation is the architect's best hope for a correct and complete architecture.

·       Buildability allows the system to be completed by the available team in a timely manner and to be open to certain changes as development progresses.


Related Solutions

An icecream shop has 11 flavors. One can choose 3 different flavors. What is the total...
An icecream shop has 11 flavors. One can choose 3 different flavors. What is the total number of possible flavor combinations? a. 495 b. 165 c. 126 d. 84 e. 220
The compounds listed here are often found in many natural flavors and scents. Calculate the empirical...
The compounds listed here are often found in many natural flavors and scents. Calculate the empirical formula for each compound. ethyl butyrate (pineapple oil): C , 62.04% ; H , 10.41% ; O , 27.55% Express your answer as a chemical formula. methyl butyrate (apple flavor): C , 58.80% ; H , 9.87% ; O , 31.33% Express your answer as a chemical formula. benzyl acetate (oil of jasmine): C , 71.98% ; H , 6.71% ; O , 21.31%...
Many times, innovative idea comes from other industries or other fields of work, please provide one...
Many times, innovative idea comes from other industries or other fields of work, please provide one example of such innovation. Read more about this from HBR's Sometimes the Best Ideas Come from Outside Your Industry (M. Poetz, N. Franke, and M. Schreier).
Find at least one international project on the Internet. Describe as many of the following for...
Find at least one international project on the Internet. Describe as many of the following for the project(s): 1. Project Name 2. Sponsoring organization or project sponsor 3. Project duration 4. Country where the project is located 5. Human Labor source (local, foreign workers, offshoring) 6. Total cost in labor 7. Total cost in capital 8. Environmental Factors 9. Cultural impact or cultural sensitivity or culture shock 10. Project site selection 11. Legal and Political Climate 12. Economic Factors 13....
Heinz's dilemma is a frequently used example in many ethics and morality classes. One well-known version...
Heinz's dilemma is a frequently used example in many ethics and morality classes. One well-known version of the dilemma, used in Lawrence Kohlberg's stages of moral development, is stated as follows: A woman was near death from a special kind of cancer. There was one drug that the doctors thought might save her. It was a form of radium that a druggist in the same town had recently discovered. The drug was expensive to make, but the druggist was charging...
There are many barriers to entry when it comes to entering a foreign market, but the...
There are many barriers to entry when it comes to entering a foreign market, but the top three include monopolies, poor or inadequate legal protection, and corruption. please explain in further detail
Find one new fossil discovery, how it did/did not change what is already known for species...
Find one new fossil discovery, how it did/did not change what is already known for species related to the discovery and how it relates to Darwin’s theory of evolution DNA evidence of changes to the evolutionary tree that is currently accepted Find one new human DNA or fossil or anthropological discovery and explain how it relates to Darwin’s theory of evolution Choose a new method of artificial selection for crops or animals (pets or livestock usually) and explain its connection...
if the involute is known show how to find the evolute ?
if the involute is known show how to find the evolute ?
Inventory comes in many shapes and sizes, explain two types of inventory?!
Inventory comes in many shapes and sizes, explain two types of inventory?!
Orange and grapefruits are known as citrus fruits because their acidity comes mainly from citric acid,...
Orange and grapefruits are known as citrus fruits because their acidity comes mainly from citric acid, H3C6O7. Calculate the concentration of citric acid in a solution if a 30.0 Ml sample is completely neutralized by 15.10 Ml of 0.0100 M KOH. Assume all three acid hydrogens are neutralized in the reaction. Moles of KOH reacted ? Moles of citric acid reacted ? Concentration of citric acid ? What is the oxidation state of C in citric acid H3C6O7?
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT