| You
are here: Freetutes.com
> Systems
Analysis and Design
Activities involved Software Development life cycle model
Problem solving in software consists of these activities:
-
Understanding the problem
-
Deciding a plan for a solution
-
Coding the planned solution
-
Testing the actual program
For small problems these activities may not be done explicitly. The start end
boundaries of these activities may not be clearly defined, and not written record
of the activities may be kept. However, for large systems where the problem solving
activity may last over a few years. And where many people are involved in development,
performing these activities implicitly without proper documentation and representation
will clearly not work. For any software system of a non-trival nature, each of
the four activities for problem solving listed above has to be done formally.
For large systems, each activity can be extremely complex and methodologies and
precedures are needed to perform it efficiently and correctly. Each of these activities
is a major task for large software projects.
Furthermore, each of the basic activities itself may be so large that it cannot
be handled in single step and must be broken into smaller steps. For example,
design of a large software system is always broken into multiple, distinct design
phases, starting from a very high level design specifying only the components
in the system to a detailed design where the logic of the components is specified.
The basic activities or phases to be performed for developing a software system
are:
-
Requirement Analysis / Determination of System's Requirements
-
Design of system
-
Development (coding) of software
-
System Testing
In addition to the activities performed during software development, some activities
are performed after the main development is complete. There is often an installation
(also called implementation) phase, which is concerned with actually installing
the system on the client's computer systems and then testing it. Then, there is
software maintenance. Maintenance is an activity that commences after the software
is developed. Software needs to be maintained not because some of its components
"wear out" and need to be replaced, but because there are often some
residual errors remaining in the system which must be removed later as they are
discovered. Furthermore, the software often must be upgraded and enhanced to include
more "features" and provide more services. This also requires modification
of the software, Therefore, maintenance in unavoidable for software systems.
In most commercial software developments there are also some activities performed
before the requirement analysis takes place. These can be combined into a feasibility
analysis phase. In this phase the feasibility of the project is analyzed, and
a business proposal is put forth with a very general plan for the project and
some cost estimates. For feasibility analysis, some understanding of the major
requirements of the system is essential. Once the business proposal is accepted
or the contract is awarded, the development activities begin starting with the
requirements analysis phase.
Following topics describes the above mentioned phases:
-
Preliminary Investigation
-
Requirement Analysis / Determination
of System's Requirements
-
Design of system
-
Development (coding) of software
-
System Testing
-
Software Maintenance
- Error distribution with
phases
See Also
<<
Previous Page | Contents
| Next Page >>
|