Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
6 views6 pages

Software Engineering - 2

The document discusses the challenges faced in software engineering, including high costs, unreliability, and maintenance difficulties due to complex requirements. It highlights the software crisis resulting from poor project management and the inability to adapt to changing user needs, leading to projects that are late and over budget. The solution proposed is a systematic approach to software development that emphasizes organization, user requirements, and quality control.

Uploaded by

codecon90
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views6 pages

Software Engineering - 2

The document discusses the challenges faced in software engineering, including high costs, unreliability, and maintenance difficulties due to complex requirements. It highlights the software crisis resulting from poor project management and the inability to adapt to changing user needs, leading to projects that are late and over budget. The solution proposed is a systematic approach to software development that emphasizes organization, user requirements, and quality control.

Uploaded by

codecon90
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

1.

4 SOFTWARE PROBLEM
myriad of
Large, complex industrial strength software
systems having conflicting
requirements have some problems related to the design, implementation,
problems are:
maintenance and extendibility. Some important
Software is expensive
year new processors are
With the advancement of technology, virtually every
ancestors. Hardware/
introduced with a speed manifolds of their previous
software ratio for a computer system is shown in figure 1.1.

Software
100+
development
80 Hardware

60

40 T
sbftware
20
maintenance

0 1955 1970 1995

Figure 1.1: Hardware Software Cost


Software Engineering MAHE Page No. 6
Introduction to Softvare Engineering Unit 1

Software is costler because constructing software is labor intensive. in industry.


productivity is measured in terms of DLÌG (Deliverable Lines Of Gode) per
person-month. The current productivity ranges from 300-1000 DLOC per person
month, where as the labor charges 8000-1O000 ollars per person-month.
Therefore, even moderately sized software containing about 50000 lines of code
(LOC)cost between $0.5 million and $1.25 million !
This clearly shows that software is the only costliest item in the
computer-based
system. Asoftware costing millions of dollars can run on the machines COsting
thousands of dollars. So, the hardware cost is only a fraction of the total cost.
Therefore, focus is given to the software component to have better control over
the software construction that should make the software
economical and
efficient.

Late, costly and unreliable


The software industry has gained a reputation of not delivering software within
schedule and budget and of producing poor quality software. Projects are behind
schedule and have heavy cost overruns, products are not being delivered ori
tirme and within budget. The final project completion cost was almost 10times the
original estimate! Some projects are scrapped and others are categorized as
runaway - where the budget and the schedule are out of controi.

Unreliability
Many tirnes, software does not do what it supposed to do and does what is not
Supposed to do. All other engineering disciplines are well advanced and they find
the software component weakest. This is because, the software problems bubble
Qut only after the system become operational. Bugs occur due to errors that
introduced during design and development. The problen of cost and schedule
overruns and reliability are the major contributors to the software CRISIS.

Software Engineering MAHE Page No. 7


Introduction to Software Engineering Unit 1
Intro
Problem of change and rework
Once the softvware is delivered and deploved and becomes operational, software diffi

maintenance is required to fix the residual errors remaining in the system as they cap

are disCOvered. User requirements also change with the use of the system. This long
har
leads to software revwork or software maintenance.
The
be the maintenance cOst.
OT the total software cost. nearly 60-80 percent will nur
understanding of the system,
This is because, maintenance involves complete ma
modifying and testing of the
possibly by the person who has not developed it, cha
Changing requirements
changed parts and retesting of the unaltered parts. pro
reasons: First, user start thinking in
arises in the system mainly because of two sy
accordingly his requirements such as
new ways after start using the system,
un

stated before developing the


interfaces, functionality and constraints have to be
ter

Visualizing all requirements is tough task. Therefore, requirements are


systemn.
operational. Th
frozen gradually after the system becomes
to

change at different stages such as designing, coding, testing


Requirements may
the previous
all C
stage must also be reflected in
etc. Changes made in one maintenance. C

So, earlier the change is made, easier will be the


stages. C

2-3 years, the requirements specified before starting


If the project takes
useless when the project is completed. This makes
development, may become
the software useless.

1.5 SOFTWARE CRISIS


perform demanding tasks such as space shuttle
These days software is asked to
controlling the elevators in hundred-story office
control. air traffic control, myriad of
These applications are inherently complex with
buildings
requirements. Behavior of such system is intensely
competing and contradictory
Page No. 8
MAHE
Software Engineering
Introduction to Software Engineering Unit 1

difficult to comprehend. Complexity of such systems exceeds human intellect ual


capacity. Such applications usually take a long time to implement, stay around
long time, As it persists it accumulates Variety of patches, and more it is patched
harder it becomes to maintain.

The problem worsens because making moditications causes potentialy


numerous problems in other parts OT SOtware. Under these circumstances
maintenance of large systems becomes true headache, implications of srmall
changes are difficult to isolate, tixes made to one part may give birth to the
problems at another part.) No one understands the architecture of the entire
system, identifying mistakes become virtually impossible./Extending software
under such condition is impossible. By this time, a lot of time and cost is spent in
terms of maintenance. Ultimately the software becomes useless.

The more complex the system, more open it is to the total breakdown. Qur failure
to master the complexity results in projects that are too late, over
budget and
deficient in their stated requirements., This state of a project is called software
CRISIS. This crisis leads to squandering of precious human resources as well as
considerable loss of opportunities. It is unacceptable to allow this situation to
continue.

The solution to this software crisis is a systematic


organized method of
constructingsoftware, called software engineering.

1.6 SOFTWARE ENGINEERING PROBLEM

The Adhoc, programming-centered approach of software development does not


work for large, complex systems. To control the problems that crops up due to
software crisis, a systematic, methodical approach of software development that

Software Engineering MAHE Page No. 9


Introduction to Sottware Engineenng
close to the scientitic method must be followed. If these
repeatable and applied by different people, similar methodoprloogducejes a,
software should be
developing software
Software engineering focuses on the methods of Throughout the
projects.
these methods can be applied on various
importance must be given tothe user's requirements. devclopmert
Engineering
} 1.6.1 Fundamental Problems of Software

The problem of scale


The methods used for developing a small software containing hundreds of lines
wilil not work for the large Systems containing thousands of lines. When a scale
formal method of development that
changes from smallto large Systems, a more
validations are required. This
includes more management, organization and
as wel as the formal method
requtres fomal methods of software development
project, a proper method of
of project management. To successfully execute the
to make
deveiopment has to be used and the project has to be tightly managed
quality and
Sure that the methods are indeed being followed and that the COSt,
schedule are under control.

Cost, schedule and quality


Like ali engineering disciplines, software engineering is also driven by the
3 rnajor factors: cost, quality and schedule.

COST: The cost of developing asystem is the cost of resources (hardware,


software, manpower etc.). The manpower cost is the dominant cost and is
neasured in terms of the totalnumber f person-months spent on the project.
D

SCHEDULE: The window of opportunities in the business field is very smal.


Business trends require that the cyCle time from the accept to delivery of a
Software Engincering MAHE Page No. 10
Introduction to Software Engineering
Unit 1

product should be small. Therefore, to maintain this reduced cycle tirne, schedule
is an important factor in projects.

QUALITY: Producing high-quality software products is a key to establish the


good Customer base and also it is important for the survival of the inductoy
Quality of software can be viewed as having 3 dimensions.

Qualities related to the operation of the system - correctness, reliability,


efficiency, usability and integrity.

Qualities related to the product transition - portability, inter operatability and


reusability.

Qualities rlated to the maintenance - flexibility, testability and modifiability.

Therefore, the measure of quality cannot be reduced to any single parameter and
quality factors are different for different projects. Before starting the project,
quality objectives specific to the project must be decided and the development
process should ensure achieving these quality objectives.

One measure of quality is number of defects in KLOC (Kilo Lines of Code). A


defect may be any thing from asevere one that causes the system to crash, or a
simple fornatting mistake.

The problem of Inconsistency


e is the

You might also like