Вы находитесь на странице: 1из 4

WHY IS THERE A NEED FOR A STRUCTURED DEVELOPMENT PROCESS?

1. Many organisations are switching from a manual to an automated system and thus
increasing their dependence on their computer system, therefore software needs to be
developed.
2. Problem in previous development projects such as:

increase in cost (because of unrealistic deadlines, inadequate and untimely


financing, and the process used (complexity) or the type of software being
developed)

dissatisfaction of users and management with the quality and suitability of the
software (due to changing needs, requirements aren't well understood because
customer is clueless about the details, and with generic software there is
littleevolution.

increasing length and complexity of software (due to GUI as opposed to


command driven, or it may be required to operate across networks that include
different types of computer systems.

3. Requirements for standard interfaces, both to users and to other software (the
interface should interact with the user on their terms, should be logical and consistent
and should include facilities to help users with the system and to recover from their
mistakes)
4.

need for visibility of the process (project scheduling involves the creation of
various graphical representations of part of the project plan; these include activity
charts showing the inter-relationships of project activities and bar charts showing
activity durations)

need for risk management (major project risks should be identified and assessed
to establish their probability and consequences for the project; for risks which are
probable and potentially serious, plans to avoid, manage or deal with that risk
when it arises should be made; risks should be explicitly discussed at each
project progress meeting)

need for tighter control and management of process (walkthroughs, feedback,


signing off at the various stages)

5. Importance of the need for the involvement of end users and management

when users are involved in the development process the system is more likely to
meet their requirements, users get a concrete impression of the
systemcapabilities, and the user has made a commitment to the system and is
likely to want to make it work.

designers should not impose their view of an acceptable system on users; the
users must take part in the design process.

Software crisis leads to the term "Software Engineering." Software engineering is the
branch of software that deals with development of well developed software that satisfies
all the users' requirements and ensures that the software is provided on time and within
budget. The software is provided along with documentation that gives description to the
user on how to use the software. Software engineering can be defined as:
"Software engineering is the branch of engineering in which the software is developed in
a manner that it will have all the properties like maintenance, extensibility and is within
time and budget and also satisfies all the requirements given by user."
Producing software does not mean producing just software but it means to develop the
software in a cost effective manner. Characteristics of well engineered software are:
Maintainability: software should meet the changing needs of customers
(Keep up, sustain, retain, preserve, look after, take care of)
This characteristic of the software is important for both the software engineer and the
user. If the change is to be required in the software then the change leads to the change
in the software so that it performs in accordance with the user requirement. The
software engineer has to respond very fast if there is any change in the user
requirements. Changes should be performed like this that it will not affect the overall
integrity of the software.
Dependability: software should work everytime and be safe and secure
(Reliable, trustworthy, unfailing, steady, sure, certain)
It is the ability of the software that should not cause any physical or economic damage
in the event of system failure. It includes a range of characteristics like: Reusability,
security, and safety.
Efficiency: software should do what it was designed to do well
(Competence, capability, productivity, skillfulness)
Software is said to be efficient if it uses the available resources in the most efficient
manner. The software should be able to offer a quick response in the least processing

time using the resources at minimum level. Resources refer to the memory and
processor utilization. The software should efficiently perform what the user demanded
and give appropriate response in each case i.e. the output given is accurate or not.
Usability: software should be easy to use and navigate
(Operational, functional, practical, available)
Software becomes usable if it doesn't call for extra efforts to be learned. Usability
increases with good documentation provided along with the software. In software
operations a lot depends on the quality of user manual.
Availability of appropriate documentation
(Within reach, at hand, accessible, obtainable )
Portability: software should be machine independent
(Transportable, moveable, handy, convenient)
Other attributes:
Within budget:
Some of the software gets overrun. Overrun doesn't mean that the cost of the software
exceeds the limit given by user. But, it means that the software cost is out of control. So,
the software should be developed in such a manner that it will not overrun and the
software being developed is within budget.
Functionality:
The software system is developed in a manner that it performs the entire task perfectly
for which it is developed. The software should respond correctly as the user wants.
Adaptability:
The software should be adaptable. Software is desired to be adaptable all the changes
efficiently. The software should easily adopt all the changes in the software with no
change in the efficiency of the software.
On-time:
The software should be developed on-time. If the software is developed late then it is of
no use. A good engineer always develops the software on-time.

If software satisfies all the above characteristics then it is said to be good software or
the software is well engineered.

Вам также может понравиться