Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Software failures in these technology-oriented areas have led to considerable loss in terms of time, money, and
even human lives. History has been witness to many such failures, some of which are listed below.
1.
The Northeast blackout in 2003 has been one of the major power system failures in the history of North
America. This blackout involved failure of 100 power plants due to which almost 50 million customers faced
power loss that resulted in financia110ss of approximately $6 billion. Later, it was determined that the major
reason behind the failure was a software bug in the power monitoring and management system.
2.
Year 2000 (Y2K) problem refers to the widespread snags in processing dates after the year 2000. The
roots ofY2K problem can be traced back to 1960-80 when developers shortened the 4-digit date format like 1972
to a 2-digit format like 72 because of limited memory. At that time they did not realize that year 2000 will be
shortened to 00 which is less than 72. In the 1990s, experts began to realize this major shortcoming in
the computer application and then millions were spent to handle this problem.
3.
In 1996, Arian-5 space rocket, developed at the cost of $7000 million over a period of 10 years was
destroyed within less than a minute after its launch. The crash occurred because there was a software bug in the
rocket guidance system.
4.
In 1996, one of the largest banks of US credited accounts of nearly 800 customers with approximately
$9241acs. Later, it was detected that the problem occurred due to a programming bug in the banking software.
5.
During the Gulf War in 1991, the United States of America used Patriot missiles as a defense against Iraqi
Scud missiles. However, the Patriot failed to hit the Scud many times. As a result, 28 US soldiers were killed in
Dhahran, Saudi Arabia. An inquiry into the incident concluded that a small bug had resulted in the miscalculation
of missile path.
2. Characteristics
A software product can be judged by what it offers and how well it can be used. This software must satisfy on
the following grounds:
Operational
Transitional
Maintenance
Well-engineered and crafted software is expected to have the following characteristics:
Operational
This tells us how well software works in operations. It can be measured on:
Budget
Usability
Efficiency
Correctness
Functionality
Dependability
Security
Safety
Transitional
This aspect is important when the software is moved from one platform to another:
Portability
Interoperability
Reusability
Adaptability
Maintenance
This aspect briefs about how well a software has the capabilities to maintain itself in the ever-changing
environment:
Modularity
Maintainability
Flexibility
Scalability
System Development Life Cycle (SDLC)
2. Feasibility study:
It determine the possibility of either improving the existing system or developing the complete new system. It
helps to obtain an overview of the problem and to get rough assessment of whether physical solution exist. The
purpose of feasibility study is to determine whether the requested system successfully realizable.
There are four aspects of feasibility study :-
i.
ii.
iii.
iv.
i.
Technical feasibility
Economical feasibility
Operational feasibility
Behavioural feasibility
Technical feasibility:
It involves the required and existing computer system, hardware, software & to what extent it can support the
proposed application.
It answers following questions :o Whether the system can be carried out with existing equipments ?
o Whether the existing software is enough ?
o If a new technology is required how best it can be implemented ?
ii.
Economic feasibility:
It involves post benefit analysis to determine the benefit and savings that are expected from new system and
compared with costs. It benefits out weight cost then decision is made to design and implement new system.
iii.
Operational feasibility:
It concerns with human, organisational and political aspects. It covers technical performance as well as
acceptance within the organisation. It determines the general attitude and job skills of existing personals and
whether any restructuring of jobs will be acceptable to the current user.
iv.
Behavioural feasibility:
It includes how strong the reaction of staff will be towards the development of new system that involves
computers use in their daily work. So resistant to change is identified.
3. System analysis:
It involves detailed understanding of all important facts of the business area under investigation. This require
data collection from a verity of sources such as questionnaires, forms, interviews, study of existing documents. It
can be involved the direct observation in the organisation and collected documents to understand the whole
existing system.
4. System designing:
In this process the primary object is to identify user requirements and to build a system that satisfies these
requirements. Design of the system is mainly the logical design that can be sketch on a paper or on a computer. It
includes physical design elements, describes the data to be inputted.
The process involved in manipulation of data & output design represents:i.
File structure, storage devices etc
ii.
iii.
iv.
v.
5. Development of software:
Development is a phase where detailed design is used to actually construct and build the system. In this phase the
system is decided whether to buy commercial software or to develop new customized program with the help of
the programmers. The choice depends upon the cost of software and cost of programming.
6. System testing:
Testing is a process of making sure that the program performs the intended task. Once the system is designed it
should be tested for validity. During this phase the system is used experimentally to ensure that software does not
fail and it will work according to its specification. It is tested with special test data.