We are going to build our own software but we need to study some techniques and methodologies for proper construction. Why we study these techniques because we want to save our time and also want to meet exact functionality of the software that is required.
Generally the following questions arises in our minds before constructing a software.
. How the requirements can be gathered?
. How to select the team for development?
. What steps should be in our mind before
construction?
. How to calculate the costs of the software?
. How the analysis should be made?
. How the tools can be selected for coding?
. How to make Parts of the system?
. How to meet exact requirements of the customer?
. How to get the functionalities for different tasks?
. How to make our software bug and error free?
. How to test our software that all units are working
properly?
. How to implement the software in the organization?
. How the supporting environment should be created for the software in the market?
. How to maintain the software?
Keeping these questions in our mind, we have to follow a sequence of steps to fulfill the requirements of whole task. That sequence will also help us a lot in a proper documentation of the software. It means that a complete process have to be designed for the
accomplishment of the procedure of software development.
Software Development Process Models are defined for it. The basic structure of software process model which is generally adopted by the software companies and software developers is like this.
Software Development Process Model
The process model is generally divided into following phases:
1)- Requirement Specification and Analysis Phase.
2)- Software Design Phase.
3)- Software Coding Phase.
4)- Software Testing Phase.
5)- Software Implementation and Maintenance Phase.
Software Requirement Specification and Analysis Phase:
It is the most important phase of the whole software development model. In this phase the problems of the existing system is observed. Requirements for the new systems are gathered from the customer. Analysis of existing system and proposed system is made. All other phases depend on this phase. If the requirements are picked from the customer according to their exact points, the hurdles will be minimum in the testing and implementation phase. Complete requirements are
documented in this phase
Software Design Phase:
Second important phase for the software development. Solutions for the problems identified in the requirements specification and analysis are made here. Calculations for the time, costs and system's boundary are made in this phase. System's
front-end and backend is designed in this phase. Divide and conquer rule is applied in it. Problem is
portioned into small parts and solved easily. Therefore modular approach is adopted in design phase. Entity relationship diagrams and use cases are applied in this phase. Detailed design focuses on the logic of the module and design methodology is systematic approach to creating a design by application of set of techniques and
guidelines. Tools and programming languages are selected for coding.
Design documentation is completed in this phase for the next phase of coding.
Software Coding Phase:
Totally based on the system's design phase. All tools and programming languages are used for
coding which are decided in the design phase.
Stubs, modules and subprograms are coded and integrated. Backend and front-end is connected in this phase. Overall system's appearance and functionality appears after
coding phase.
Software Testing Phase:
The software is coded and complete now for use, but will be ultimate after its complete testing to assure its requirements, functionality and quality. So following
testing will be made on the software;
Unit Testing.
Integration Testing.
System testing.
Acceptance Testing.
. Unit testing will be applied on the modules to ensure their proper working.
. Integration testing will check that whether modules and subprograms are effectively integrated or not.
. System testing will check and validate the required functionality of the overall system.
. Acceptance testing will be made by the customer that whether the software fulfills the whole requirements they put in front of software developers.
This testing is made on two levels;
Testing in LAB.
Testing under normal conditions
Software Implementation and Maintenance Phase:
After all testing and satisfactions software is implemented finally in the organization. Software development life cycle is not yet completed, it is an on going process and will continue with the changing needs and environment of the organization. It have to be maintained by the software developers and documentation of all phases will help a lot in maintenance.
|