Software development process
1. Feasibility study----feasibility report
2. Project plan
The project plan describes:
; interim and final deliverables/products the project will deliver
; managerial and technical process necessary to develop
; additional plans required to support the project
3. SRS—software requirements specification
It is a document describing the requirements of a computer system from the user’s point of
view. An SRS document specifies:
; The required behavior of a system in terms of input data, required processing, output
data, operational scenarios and interfaces;
; The attributes of a system including performance, security, maintainability, reliability,
verifiability, availability and safety requirements and design constraints. 4. Software design specification
The document contains the complete design description of the system, including the
architectural features of the system down through details of what operations each code
module will perform and the database layout. It also shows how the use cases promised in the
SRS will be implemented in the system using this design.
5. Architectural design
It consists of object and class diagrams in UML notation, describing how each element of the
analysis model is to be structured.
6. Detailed design
Software detailed design specification describes the design of the instrument software I
sufficient detail to permit code development.
7. Code documentation(software documentation)
When creating software, code alone is insufficient. There must be some text along with it to
describe various aspects of its intended operation.
This documentation is usually embedded within the source code itself so it is readily
accessible to anyone who may be traversing it.
8. PWP—project work plan
It’s the schedule of tasks, durations, and dates to accomplish a project.
PWP provides a plan of what has to be done, how the work will be organized and who will do
The following steps will provide you with information to be used in developing a good work
; List the project objectives and chosen strategies
; List the tasks you need to do for those objectives and strategies to be met
; Put the tasks in the order that they should occur
; Estimate times and dates to create a schedule
; Estimate the resources needed for your activities(including time, money, skills, people,
equipment, facilities, information, etc.)
; Assign responsibility to people for various activities
9. UTP—Unit Test Plan
It is a document describing the unit testing process in terms of the features to be tested, pass/ fail criteria and testing approaches, resource requirements and schedules.
Unit testing is the process of testing the individual sub-programs, sub-routines or procedures in a program.
10. Software test plan
It is a document describing the scope, approaches, resources and schedule of intended testing activities. It indentifies test items, the features to be tested, the testing tasks, who will do each task, and any risks requiring contingency planning.
11. Post-mortem analysis
After a software project is completed it enters the post-mortem phase. During this phase, PM and the project team should get together and carry out a post-mortem review. The post-mortem review looks back at the project with the primary aim of providing feedback to future projects. The following is an indicative list of some of the important information that should come up in the post-mortem analysis:
; Comparison of original planned dates with actual completion dates
; Significant reasons for deviations between the planned and actual performance ; Original planned cost and effort versus actual cost and effort analysis
; Analysis of recording of work to determine the ratios(比率) of times spent in various
; Analysis of the code review findings to determine the trend of defects with respect to
time for each team member
; Analysis of the code review findings to indicate which type of defects are predominate,
so that appropriate training can be given to the team members
; Come up with metrics such as defects found per thousand lines of code, number of limits
coded per day, total number of lines of code, and functions.