You are on page 1of 8

Gatla Bharat kumar

M. Sc in Network Systems,
School of Computing and Technology,
University of Sunderland.

Issues and reflections on software quality


development

Abstract

This paper attains few reflections on the points which must be empathized and the
issues need to be solved to develop quality software. W.E Deming Considered as
father of quality states that “Quality should be aimed at the needs of the
consumer and it begins with the intent by management” (W.E Deming 1986).
Purpose for analysing software quality, using instances of past software debacle, is
staged. Use of Software has become permeative in present era. Almost many trading
companies make use of computers for executing many day to day activities like billing
services, controlling inventory and for other important services. Personal computers are
being used for many applications for dealing home disbursals, calculating income taxes, and
connecting to web browser. Software quality in past has undergone several changes
related to specific quality issues. Issues such as heavy rush to industry of Enterprise
software. Which lead to poor quality of software with patches and numerous changes.
Pathetic functioning of these soft wares might effect to the users, which may lead to death of
person (Alan R. Peslak 2004).

1.Introduction
In past software was developed by taking hardware as primary concern but thanks to the
advances in hard ware technology which reduced the price of hardware .quality software
development is becoming a key aspect in field of computing technology ( John Botsford
1994). Since past , software applications have changed dramatically in magnitude and
design. Many countries in governing bodies, for better use have invested lots in
computerizing their trade services. Which intern made software development as
critical issue and challenge to achieve better quality and maintenance. Software
quality was defined by the International Standard Organization (ISO) “as the totality
of features and characteristics of a software product that bear on its ability to satisfy
stated or implied needs” (Ana Regina Rocha Et All 1986). Productive software
development relays on high quality which may be outlined by quality properties like
“customer satisfaction, attachment to functional essentials, reusability, protection,
constancy and atomicity” (Stefan Heil Et All 2005). Implementation of Space activities
shows the perfect example of software faults. In 1962 on July 22 , rocket containing
US marine I Venus probe had to be demolished about five minutes after launch
because of some error in programme for controlling the rocket(William A. Ward Et
All 1993).similarly on June 4 ,1996 a French rocket namely Arinane 5 detonated after a
minute of its launch due to error in software exception in the code( Seth 1996 ). Extreme
point Programming is a new method of developing software applications. It was
designed for limited projects, windows XP presents a better way to attain high quality
software. The stiff engagement of users, the key idea is on testing which reduce
design phase in development. But, XP may premise to company troubles applied in
huge projects (Thomas Grechenig 2005). Any software development procedure must
specify quality as a primary aim to enhance quality in software. Quality objects need
to be outlined and attested by both the development group and the user. Which can
rise quality more measurable. The Microsoft specifies the qualitative quarries of the
application at the start and emphasises these targets as a important section of the
project (Microsoft Solutions Framework 1992). This paper presents different view of
experts about software quality it also presents ethical issues related to software
development. What are metrics available for software quality and some case related to
software quality ethics and user satisfaction. Discuss different method that can
achieve better quality in software development using case tools at different phase of
software development.

2. What does software quality Experts Say?

The idea of quality got the direction in 1950 by Japan trading experts. Where
American quality leaders came to Japan for suggesting about quality in software. The
period above 1990s was been qualified as the quality decade. Though, it started
previously in 1980s where American companies started looking for better methods for
improving software quality by their experts (Sheryl Duggins 2004). Even though
many software professionals consider that quality software is key aspect in software
development. Software quality is “appearance to explicitly declared methods and
operation essentials, explicitly attested developing criterion and implicit features that
are anticipated of all professional developed software”(Roger Pressman 1992).Quality
can also be defined as a feature or dimension of kind, favourable position, level of
outstanding(William Morris 1976). Quality can be different for each customer. Few
clients regard a quality in item which is of low price, has several characteristics and
user friendly. But the quality experts do not agree both on the specification of quality
and how it can be achieved (Matthew J. Fisher 1987).Deming states that quality
certain level of uniform ness and reliability at less cost. This method can be attained
by operation, problem analysing, control management and betterment. He says that
“improved quality leads to lower costs, higher productivity, greater market share and
more jobs. This continuous process is called the Deming Chain” (W.E Deming 1986).
Joseph M. Juran an expert in quality management. He states that “quality centres
around two concepts: fitness of use and a product free from deficiencies” (J .M. Juran
1988). Juran names three constructs by which quality management can improved they
are planning, control and betterment. Planning means to understanding the client
needs. Ishikawa states that “Quality control begins with education and ends with
education” (Kaoru Ishikawa 1985). He mentions that training must be given at
different stages of development for employee in quality control. He defined six set of
quality measures. These properties admit “Industry wise quality control, quality
control audits, education and training, quality circles activities, statistical methods,
and nationwide control promotions and activities” (G. Schulmeyer 1987). Relation
between cost, quality and user satisfaction is defined in fig1. It comprises of
prototyping three-path direction between software products. In Fig 1. Link one
constitutes the dependency among cost and quality, link two as relation between client
satisfaction and quality. Here we attempt to measure the type of the relationship and
Fig1: Pyramid model

distinguish the primary points by deducing managerial imports for software


development and application stand. The observing link three will be conducted later.
Which permit us to analyse the three connectivity from the peak of pyramid.

2.1 Client demands for software quality

Software quality development is relayed on client necessitates, they can be broken as


shown in fig 2: operational needs cover with the use of software to execute the jobs it

Fig 2: software user needs


was meant to do. Maintenance involves care with changing the software in different
way to assist the user. The operational needs, functionality consorts with software
during execution and operation. for analogy the functionality of communication
software refers to power the software has to send and obtain inter processor contents
,where as the operation of communication software relates to the rate at which
message can be broadcast and incurred using it. with in the maintenance demands
,change deals with altering the software to either rectify errors , conform code to new
platforms. Management demands holds with planning for change, maintaining the
editions in software, testing and installation (Michael S. Deutsch 1998).

2.2 views on Software Quality development.

Mostly, users imagine quality as correspondence and deference to stipulations


endlessly and systematically. Garvin states that, “quality is multifaceted and can be
viewed from several perspectives, the transcendental view, the user-based view, the
product based view, the manufacturing view, and the value-based view” (Garvin
1984). The preternatural opinion matches the quality of a product to ‘‘innate
excellence’’ which may not be distinguished merely can be discerned if divulged to it.
If this opinion is true, where quality is incomputable and employ of numerical
functions to meliorate quality is a run off of time. Technical experts and software
Professionals in peculiar, refuse this aspect. The client based advance opinions the
quality of a software product as representing to cater utmost satisfaction to the user
side by nature everlasting and acting to the rightist of its potentiality. The software
placed aspect deals with quality which depends on the integral features of a software
product and can be measured placed on the absence of a number of ascribes. The
developer’s vista centres on attachment to essentials and specifies quality as a routine
of the operation quality. Lastly, the cost based method specifies quality as which
allows the involved execution at low-cost and satisfactory costs. Hence the remaining
views of software quality may be attained without excessive consumption
(Buvaneswari Venkataraman 1993).
.

2.3 Factors that effect software quality and productivity

Development of software products and maintaining is a difficult job. Those have


written small application programs for personnel usage may find it hard to cater the
key aspect of orderly actions. The level of formality and measure of time expended on
several activities will alter with size and difficulty of the software product, but are in
fact, essential. we can notice that electrical technologists do not produce electronic
circuits by soldering components together. It is ridiculous to opine an electrical
engineer sitting at a work bench, choosing around components, linking them together
breaking for few instants, choosing few more component, interconnecting them,
breaking apart and setting up the components(Richard E. Fairley 1985) . However this
is a perfect example to way in which many programmers go about the job of building
a computer programme. Development and maintenance of eminent quality software
products need technical and managerial acquirements corresponding to those in more
traditional engineering fields. Software quality and programmer productivity can be
enhanced the actions used to develop and maintain software products .some factor
that effect quality and productivity are:
 mortal ability
 group communication
 product complexity
 suitable notations
 orderly methods
 Change control
 degree of technology
 Required reliability
Mortal ability: production and maintenance of software products relay on intensive
actions. Productivity and quality are thus aim methods of individuals ability and effort
there are two prospects to ability, competence to single and familiarity of individual
with particular application area. on a huge projects the number of programmer is so
many that individual deviations in programmer productivity will incline to average
out. Modules developed by weaker programmers may march poor quality and may lag
in time(Richard E. Fairley 1985) .some of the goals of software engineering is to
render tools and methods that can help developers to produce good products. it is of
no use investing lots of money in hardware aspects if the developer is not up to the
mark of standard .there for individual ability is primary factor in software quality and
production.

Group communication: programming as historically been considered as an mortal


and private activity many programmers have low social need and prefer to work
alone. Many phases in software development are mutually exclusive and must take
place in successive order. Adding more programmers to ongoing project may make
the situation worst because they need to understand the details of project. Brooks
states that “Men and Month are interchangeable attributes only when a task can be
portioned among many workers with no communication among them. This is true of
reaping wheat and picking cotton it is not even approximately true of
programming”(Brooks 1983).

Product complexity: there are three levels of product complexities, application


programs, utility programs and system level programs. Application program include
scientific and data processing functions written in a high level language such as
Pascal or Ada. Utility programs include compliers, assemblers, linkage editors and
loaders. Which are usually written in high level systems such as PL/1.application
programs have highest productivity than system programs.

Suitable notations: In software engineering development good notations can always


help in clearing the relationship and interactions of interests. Many programming
language prove different type of notations for implementing phase of software
environment .several notations are developed which provide as vehicles of the of
communication among project and introduce the possibility of using software tools to
manipulate notations and verify proper usage. Development of use case tools which
can help to some extent.

Orderly methods: software development is process of different phases i.e analysis,


design, coding, implementation, testing. Several methods to software development
and maintenance were developed but because the field of software engineering is in
its infancy, many procedures and methods have not matured .at this point in the rating
of software development should be used in positions. yet, we convinced that
combination of methods derive superior to ad hoc method to development(John musa
1978) .

Degree of Reliability: almost all software products must have a basic grade of
reusability. Extreme reliability is gained with good care in analysis, design, and
implementation, system testing and maintaining of software product these results in
reduced productivity when productivity is measured in lines of code produced per
programmer(Boehm 1981).
3. Ethical issues related to software quality devlepment

Software development and professional code measures were mentioned in software


development Code of Ethics and master pattern that is being suggested to the
embarking professional communities at December l997. Ethical code aids to deal
various duties of a community. Software with substantially specified code will assist
to cultivate various communities. If a code is properly elaborated it aids to understand
users and community almost what fairly be anticipated from software engineers and
from their applications. In many events the users’ information is true or satisfactory
practice will cut the developer’s leaning to adopt short cuts. A more elaborated code
can be applied as grounds for a coping fit versus programmers who deliberately fail to
adjoin the standards defined in a code. A code helps to cultivate its team and expected
group close to the measures of the profession (Don Gotterbam 1998). Few ethical
worries straight off linked to the practice of software engineering may not be simply
useful or cerebral recitations. The applying software engineer hires in a social phase
on software output and gains responsibilities to: “users, clients, customers, colleagues,
supervisors, the organization for which he works, and the discipline of software
engineering”(Keith Miller 1998). The ethical problems confronted by the software
engineer imply the end product, the march of acquiring a product.

3.1 Different cases in ethical issues in software quality

A computer company is writing the first stage of a more efficient accounting system
Which will be used by the government and will save taxpayers a considerable amount
of money. A software engineer is asked to design a user interface for the system. The
accounting system and the interface contain all of the functionality described in the
requirements. The system is installed, but the user interface is so hard to use that the
complaints of the customer’s staff are heard by the customer’s upper level
management. Because of these complaints, upper level management will not invest
any more money in the development of the new accounting system and they go back
to their original more expensive system.

A computer company wrote a radar system for ships which identifies incoming
aircraft as friend or foe. A software engineer developed a user interface which will
display needed information. This information can be used to determine if defensive
action is necessary. The radar system and the interface contain all of the functionality
described in the requirements. Although all of the information required was
displayed, it was not displayed in a way that was adequate for them to distinguish a
military attack

.
In this paper, I would like to discuss the following issues:

 What is software Quality


 Issues and ethics related to software quality
 Perspective on software quality
 Software quality metrics
 Software quality via better process, measurement and Case tools
 Cases related Software quality ethics and customer satisfaction
 Methods and tools for software quality assurance
 UML heuristics with software quality metrics

In this research paper primary concentration will be stressed on the following:


Formulating strategic procedures for improving software quality in which more
tending will be drawn towards making the mortal users and clients aware of the
ethical and legal issues of the above things it will discuss the cases related to ethical
issues(User interface , System modification, Professional judgement and Responses).
How UML diagrams are related to software quality metrics as described in ISO/IEC
9126 and similar quality standards.

CONCLUSIONS

Conclusions will be provided that research in software process looks for methods and
technologies to evaluate, support and improve software development and maintenance
activities. Software quality is key aspect because in past hard ware costs was a big
concern in computing but enhancement in technology and reduce cost in hard ware
made more use of software which has become major cost in computing industry.
Execution of good quality practices often involves significant time, crusade and total
commitment from the management and all the people involved in software development.

REFERENCES

Káthia Marçal de Oliveira, Ana Regina Rocha, Kival Chaves Weber(may 2002).
Proceedings of the 24th International Conference on Software Engineering

William A, Ward, B. Venkataraman(April 1999).


Proceedings of the 37th annual southeast regional conference (CD-ROM)

Sharon Wheeler, Sheryl Duggins (April 1998)


Proceedings of the 36th annual Southeast regional conference

Shahid Nazir Bhatti (March 2005)


ACM SIGSOFT Software Engineering Notes

Alan R. Peslak (April 2004)


Proceedings of the 2004 SIGMIS conference on Computer personnel
research: Careers, culture, and ethics in a networked environment

You might also like