1, it is well known that software requirements analysis of the changes to the implementation of the project caused a great risk and difficulty, then how to avoid such a change?
Personal opinion: Personally think such changes can be avoided, at least can be greatly weakened, in the early stages of the project, complete market research, adequate feasibility analysis. Sign development agreements with customers, identify requirements, increase the cost of customer demand changes, and reduce demand changes. At the same time, a fully scalable software architecture is also available to reduce the impact of changes in requirements on the progress and quality of project completion.
2, how to ensure that the use of software testing can cover more code snippets? Does the software test need to overwrite all code snippets?
Personal Insights: Software testing includes black-box and white-box testing, and black-box testing is a functional test. Code testing first to test the software features, code coverage of how much is not measurable software quality, but to a certain extent, the code coverage of test cases can detect the implementation of software functions. There is no definitive answer to whether software testing needs to cover all of the code, and the answers vary from person to person.
3, software developers and users of the communication skills to ensure that the user needs can be fully reflected?
Personal profile: First of all, developers should design good communication with the user process, the idea of clearly guide users to express their true ideas. Second, developers have to use "human" language to communicate with users, avoid the jargon to confuse users. Finally, the results of the phase of the user experience and collect user feedback, timely optimization and improvement.
Modern Software Engineering _ the first week of practice _ question 8th