that is typically used to develop, maintain and replace
information systems.for improving the quality of the
software design and development process.
The typical phases are analysis, estimation, design,
development, integration and testing and implementation.
The success of software largely depends on proper analysis,
estimation, design and testing before the same is implemented.
This article discusses SDLC in detail and provides guidance
for building successful software.
Planning
The important task in creating a software product is extracting the requirementsor requirements analysis. Customers typically have an abstract idea of
what they want as an end result, but not what software should do.
Incomplete, ambiguous, or even contradictory requirements are
recognized by skilled and experienced software engineers
at this point. Frequently demonstrating live code may help
reduce the risk that the requirements are incorrect.
Once the general requirements are gleaned from the client,
an analysis of the scope of the development should be
determined and clearly stated. This is often called a scope document.
Certain functionality may be out of scope of the project as a
function of cost or as a result of unclear requirements at the
start of development. If the development is done externally,
this document can be considered a legal document so
that if there are ever disputes, any ambiguity of what
was promised to the client can be clarified.
Implementation, testing and documenting
Implementation is the part of the process where software engineersactually program the code for the project.
Software testing is an integral and important part
of the software development process. This part of the process
ensures that bugs are recognized as early as possible.
Documenting the internal design of software for the purpose
of future maintenance and enhancement is done throughout development.
This may also include the authoring of an API, be it external or internal.
Deployment and maintenance
Deployment starts after the code is appropriately tested, is approvedfor release and sold or otherwise distributed into a production environment.
Software Training and Support is important because a large percentage
of software projects fail because the developers fail to realize that it
doesn't matter how much time and planning a development team puts
into creating software if nobody in an organization ends up using it.
People are often resistant to change and avoid venturing into
an unfamiliar area, so as a part of the deployment phase,
it is very important to have training classes for new clients of your software.
Maintenance and enhancing software to cope with newly
discovered problems or new requirements can take far more
time than the initial development of the software. It may be necessary to
add code that does not fit the original design to correct an unforeseen problem
or it may be that a customer is requesting more functionality and code can be
added to accommodate their requests. It is during this phase that customer calls
come in and you see whether your testing was extensive enough to uncover the
problems before customers do. If the labour cost of the maintenance phase
exceeds 25% of the prior-phases' labor cost, then it is likely that the overall quality,
of at least one prior phase, is poor. In that case, management should
consider the option of rebuilding the system (or portions) before maintenance
cost is out of control.
Bug Tracking System tools are often deployed at this stage of the process to
allow development teams to interface with customer/field teams testing the
software to identify any real or perceived issues. These software tools, both
open source and commercially licensed, provide a customizable process to
acquire, review, acknowledge, and respond to reported issues.
Waterfall Model
The waterfall model shows a process, where developers are to follow these phases in order:- Requirements specification (Requirements Analysis)
- Design
- Implementation (or Coding)
- Integration
- Testing (or Validation)
- Deployment (or Installation)
- Maintenance
next one. Reviews may occur before transitioning to the next phase
which allows for the possibility of changes (which may involve
a formal change control process). However, it discourages
revisiting and revising any prior phase once it's complete.
This "inflexibility" in a pure Waterfall model has been a
source of criticism by other more "flexible" models.
Spiral Model
The key characteristic of a Spiral model is risk management atregular stages in the development cycle.

No comments:
Post a Comment