Professional Documents
Culture Documents
Introduction
Quality attributes of software is assessed in a task set after examining it for design purposes. Computer systems are
used in many critical applications where failure can have serious consequences. Developing systematic ways to
understand the software qualities of a system to the systems architecture provides a sound basis for making
objective decisions which are about design trade-offs that enables engineers to make reasonably accurate predictions
about a systems attributes which are free from hidden assumptions. The ultimate goal is the ability to quantitatively
assess and trade off numerous software quality attributes to arrive at a better overall system. The scope of this
assignment is to evaluate the quality assessment procedure in a given task set.
Computer systems and software are used in many critical jobs and failure of the software system can cause serious
damage. Critical applications of the software systems have the following characteristics:
1.
2.
3.
4.
The applications must be of longer life and must have systemic updates.
The applications must work continuously without stopping
There should be proper interactions between the hardware and software systems.
The applications must be of optimum quality attributes such as timeliness, reliability, safety,
interpolability etc.
Developing systematic ways to relate the software quality attributes of a system to the systems architecture renders
a basis for making objective decisions about design tradeoffs and enables engineers to make precise predictions
about a systems features that are free from bias and hidden assumptions. The ultimate goal is the ability to
quantitatively examine and trade off multiple software quality attributes to arrive at a better overall system.
Software Quality Attributes
Much of a software architects life is spent designing software systems to meet a set of quality features demands.
General software quality attributes include security, performance, scalability and reliability. These are often
informally called an applications -ilities,
Throughout the design process, the quality of the evolving design is assessed with a series of technical reviews
discussed suggests three characteristics that serve as a guide for establishment of a good design:
The design must implement all of the explicit requirements contained in the requirements model,
and it must include all of the implicit requirements which are desired by stakeholders.
The design must be a readable beside an understandable guide for those who generate code and for
those who test and subsequently support the software.
The design must be a complete picture of the software, addressing the data, functional, and
behavioural spheres from an implementation perspective.
Each of these characteristics is a goal of the design process in true sense.
Hewlett-Packard developed a set of software quality attributes that has been given the acronym FURPS
functionality, performance, usability, reliability and supportability. The FURPS quality attributes represent a
target for all software design:
Functionality is assessed by examining the feature set beside capabilities of the program, the generality of the
functions that are to be delivered, and the security of the entire system.
Usability is assessed by considering overall aesthetics, human factors, consistency, and documentation.
Reliability is assessed by considering the accuracy of output results, the frequency and severity of failure, the
mean-time-to-failure (MTTF), the ability to recover from failure, and the predictability of the concerned
program.
Performance is measured by evaluating response time, resource consumption, processing speed, throughput,
and efficiency.
Supportability incorporates the ability to extend the program (extensibility), adaptability, and also serviceability
these three attributes represent a more common term, maintainabilityand in compatibility, addition,
configurability, testability, (the ability to organize and control elements of the software configuration), the ease
and efficiency with which the system can be properly installed, and the ease with which problems can be
localized.