Introduction
Software requirement engineering is a very important phase of the software development process or simply Software development life cycle (SDLC). This phase is used to translate the unclear and incomplete idea of the customer into complete precise and formal specification this document is very must important and act as a bridge between the Customer, User, and Developers. Therefore, the importance of software requirement engineering is very much important for the development of effective and efficient software products.
- Key Decision at the start of the project is very important for the successful delivery of the project.
Some of the key decisions that are very important for successful projects are given below.
4.1.1 Complete Planning
A big project requires more efficient planning for making the project successful likewise a small project also requires planning but if at the start of the project you made a mistake and miss any prerequisites then your project will require two to three times revision is the worst part of development.
4.1.2 Efficiently define the project scope
In the Requirement Engineering process defining the project, the scope is very much important because if you define the scope of the project as poorly or incomplete scope your project leads to unsuccessful.
4.1.3 Effective leadership
In software development the if project leader is ineffective and poorly manages the project improperly defines the iteration of completion of the project is unsuccessful and useless at the end of the project.
4.1.4 Successfully identify the assumptions
In software development, if you failed to define the assumption about the project then your project in the end will be useless.
Example
- The project will work on Android Based Mobile Technology
- The project will work in presence of Wi-Fi, 3G, or 4G technology.
4.1.5 Track the progress.
In software development, if you failed to track the full progress of the project then your project, in the end, will be useless.
4.1.6 Detailed documentation.
In software development, documentation is a very important phase in which we write software documents like SRS document Design Document in later stages of development we use reverse engineering techniques then we use these documents for the updating the software product.
4.1.7 Full track requirements
Software requirement engineering is a very important phase of the software development process or simply Software development life cycle (SDLC). This phase is used to translate the unclear and incomplete idea of the customer into complete precise and formal specification this document is very must important and act as a bridge between the Customer, User, and Developers. Therefore, the importance of software requirement engineering is very much important for the development of effective and efficient software products.
4.1.8 Selection of the right technology.
In software development, if you failed in the selection of technology which technology is best for the development of the project then it may also lead to the project being unsuccessful.
4.1.9 Accurate measurement of time and budget.
- If the time exceeds the completion of the project, then your project and development process leads to an unsuccessful project.
- If the budget exceeds the completion of the project, then your project and development process leads to an unsuccessful project.
4.1.10 Detailed project planning.
- A big project requires more efficient planning for making the project successful likewise a small project also requires planning but if at the start of the project you made a mistake and miss any prerequisites then your project will require two to three times revision is the worst part of development.
- Incomplete Requirements may lead a project to be Unsuccessful.
- Before the beginning of any project, we must be sure about prerequisites and after checking that all the permits have been obtained and make sure that all the requirements are obtained then move to the next step of the software development life cycle (SDLC) if you forget something in the first stage of software development then your project may lead to an unsuccessful project.
4.2 Choose the programming language.
In software development, if you failed in the selection of programming language which programming language is best for the development of the project then it may also lead to the project being unsuccessful. If you want that your project is successful and delivered on time, then select the right programming language that supports your idea that can easily implement your project functionality.
Cause of Not Choosing the Right Technology.
If at the start of the project you select the wrong programming language, then at the middle of the software development your project will need a revision of the programming language then at that stage you go from middle to start of the project and then start development with a new programming language that supports your idea, and this is the worst type of development.
4.3 Choose the Technology you want to use.
In software development, if you failed in the selection of technology which technology is best for the development of the project then it may also lead to the project being unsuccessful. In software development, if you failed in the selection of technology which technology is best for the development of the project then it may also lead to the project being unsuccessful.
Cause of Not Choosing the Right Technology.
If at the start of the project, you select the wrong technology then at the middle of the software development your project will need a revision of technology then at that stage you go from middle to start of the project and then start development with new technology that supports your idea, and this is the worst type of development.
4.4 Selection of Major Software Construction Practices.
Coding
- Selection of the right programming language.
- Follow the coding techniques.
- Follow the Software Engineering principals
- Follow the coding convention.
- Coding standards
Teamwork
- Will the Programmer start programming individually or start working with team members to define some certain steps that either team or individual programmer will follow for completion of the project?
Quality Assurance
- Define some quality insurance techniques that will help you to develop the best software product.
- Write test cases for quality assurance.
- Define a testing strategy for your product.
- Unit Testing
- System Testing
- Integration testing
- Black box testing
- Whitebox testing
Tools
- Select Right Technology.
- Select Right Programming Language.
- Selection of the Right tools for development.
Reference