In: Computer Science
course: System Integration
question: “The software design/development team and test engineers need to develop a strategy for planning, design, execution, data collection, and test evaluation”. Discuss this statement.
note: need a unique answer and no handwriting please.
A complete software is much more than just a piece of executable code. It undergoes a complete cycle known as software development life cycle which consists for a set of processes at different levels. Sdlc consists of different phases such as feasibility study, planning and requirement analysis,design, development, testing, deployment and maintenance. There is a dedicated team which is responsible for the success of various phases of sdlc such as design team, development team and test team. For the successful execution of these phases, the dedicated teams are required to develop some strategies. Following the strategies which are likely to be made by the dedicated team during various phases of the software development life cycle:-
Planning:- Software developers and senior managers are generally responsible for this phase. Strategic planning is one of most important parameter for the successful development of the software. The team need to develop a strategy for how to develop the software with the resources available and in minimum possible time such that the software meets client expectations. They also develop strategic plans for different process layouts and the efficiency of each based on various parameters. The selection of appropriate sdlc model is also done in this phase.
Design :- The product owner and the development team is generally responsible for this phase. A concrete strategy about the various high level and level designs of the software is been made. While the software is being conceptualized, a plan is chalked out to find the best possible design for implementing the intended solution. The software is been represented in various design patterns like flow charts, DFD's and pseudo-codes.
Execution:- The core development team is solely responsible for the execution or development of the working software. The team needs to develop a strategy about which programming framework will be suitable for developing the required software and also on how and when to implement various modules as represented by various design patterns. The team also strategizes on how to complete the software in the given time frame and with available resources. Finally, the desing is converted into codes using chosen coding frameworks.
Data collection:- The data to be collected are based on the changes made to the software during development, and are obtained when the changes are made. To ensure accuracy of the data, validation is performed concurrently with software development and data collection. Strategies are developed on when and how to collect required data during development phase.
Testing:- It is a type of investigation to find out if there is any default or error present in the software so that the errors can be reduced or removed to increase the quality of the software and to check whether it fulfills the specifies requirements or not. Testing team is responsible for developing various stratgies related to the testing process. Strategies are developed to formulate the test cases and the type of testing required for software verification. If automatic testing is needed for the software, then appropriate testing framework is been analysed and selected by the testing team.