Phases Of Software Development Project:-
A software development process consists of
various phases, each phase ending with a defined output. The phases are
performed is an order specified by the process model being followed. The main
reason for having a phased process is that it breaks the problem of developing
software into successfully performing a set of phases, each handling a
different concern of software development. This insures that the cost of
development is lower than what it would have been if the whole problem was
tackled together. Thus, in order to manage the complexity, project tracking,
and quality, all the development process consists of a set of phases. Various
process models have been proposed for developing upon the problem.
Software development activity
consists of the following activities:-
v
Requirement analysis and specification.
v
Design and specification
v
Coding
v
Testing
Requirement analysis and specification:-
Requirement analysis
is done in order to understand the problem of the software system is to solve.
The problem could be automating and be existing manual process, developing a
new automated system. The emphasis in requirements analysis in an identifying
what is needed from the system, not how the system will achieve its goal. This
fact is complicated by the fact that there are often at least two parties
involved in software development a client and a developer.
In
most software project the requirement phases ends with a document describing
all the requirements specification document. The person responsible for the
requirement analysis is often called the analyst.
Design
and specification:-
The
purpose of design phase is to plan a solution of the problem specified by the requirement
document. This phase is the first step in moving from the problem domain of the
solution domain. The design of system is perhaps the most critical factor
affecting the quality of the software it has a major impact on the later phases,
particularly testing and maintenance. The output of this phase is the design
document.
The
design activity is often divided into two separate phases-system design and
detailed design. System design, which is sometimes also called top-level design,
aims to identify the modules that should be in the, the specification of these
modules and how they interact with each other to produce the desired results.
During detailed design, the internal logic of each of the modules specified.
The logic of a module is independent of the target language in which the
software will eventually implement.
Coding:-
The goal of the coding phase is to
translate the design of the system into code n a given programming language.
The coding phase affects both testing and maintenance profoundly. Well written
code can reduce the testing and maintenance effort. Because the testing and
maintenance cost of software are much higher than the coding cost, the goal of
coding should be to reduce the testing and maintenance effort. Hence during
coding the focus should be on developing programs that are easy to read and
understand, and not simply on developing programs that are easy to write.
Simplicity and clarity should strived for during the coding phase.
Testing:-
Testing
is the major quality control measure used during software development. Its
basic function is to detect errors in software. During requirements analysis
and design, the output is a document that is usually textual and
non-executable. After the coding phase computer programs are available that can
be executed for testing purpose. This implies that testing not only has uncovered
errors, introduced during coding but also errors introduced during the previous
phases. Thus the goal of testing is to uncover requirement, design and coding errors
in the programs. Consequently, different levels of testing are used.
The
starting point of testing is unit testing. In this a module is tested separately
and is often performed by the code himself simultaneously along with the coding
of the module. During integration of modules integration testing is performed
to detect design errors by focusing on testing the interconnection between
modules.
Testing
is an extremely critical and time consuming activity. It requires proper planning
of the overall testing process. Frequently the testing process starts with a
test plan that identifies all the testing related activities that must be performed
and specifies the schedule, allocate the resource, and specifies guidelines for
testing
No comments:
Post a Comment
Please Comment here all your thinking about this website, and post your Problems here... Thank You