Supplementary question I want to understand the soft work problem

Source: Internet
Author: User

1. Teaching Material 2nd Chapter 2.1

My question is about the unit test in writing good program software, the textbook says that unit test should design test cases of all important control paths in the module, in order to find errors inside the module, and unit test should ensure the correctness of the basic module of the program accurately and quickly.

Question: It's time-consuming to write a program software, why do you have to unit-test it?

A: Because it wastes too much time, once the coding is done, the developer will always be eager to integrate the software, and the unit test will take time to postpone the start of the whole system. In practice, the effort to complete the planned unit tests and to write the actual code is roughly the same. But once these unit tests have been completed, many bugs will be corrected, and developers will be able to work more efficiently with system integration in the belief that they have a stable and reliable component on hand. This is the real progress, so the unit test under the complete plan is a more efficient use of time. So, I think for programmers, if you develop the habit of unit testing your own code, not only can you write high-quality code, but also improve the level of programming. For adequate unit testing, you should specifically write test code and isolate it from the product code. I think the simpler way is to set up a corresponding test project for the product engineering, set up the corresponding test class for each class, and set up a test function for each function (except for the simple).

2. Teaching material 4th Chapter 4.3

My question is about code design specifications, the textbook said that generally written programs will be used by many people, and programmers need to debug and modify their own programs, so need to standardize the design of the code.

Problem: Since code design specification is not only the format problem of the program writing, but also involves the design, the relationship between modules, design modules and so on, and there are a lot of content and specific programming and language. So how do we use functions to standardize code design?

A: Because most of the functions in the modern programming language are implemented in the function of the program, it is necessary to "do only one thing and do it well" for the function. So in combination with the materials and materials, I think we should try to avoid running too much code when the system is initialized. (1) Select the control structure to allow only one entrance and one exit.

( 2 The program statements make up an easily recognizable block, with only one entry and one exit per block.

(3) The complex structure should be implemented by combining the basic control structure with nested nesting.

( 4 ) The control structure that is not in the statement can be simulated by an equivalent section of the program, but requires that the program segment be consistent in the whole system .

( 5 ) Strict control Goto statement, which can be used only in the following cases. 1. Use an unstructured programming language to implement a structured construct.

2. In some cases where the readability of the procedure can be improved rather than impaired.

3. Teaching Material 5th Chapter 5.3

My question is about the development process in software development, the textbook said that software development process is the general process of software design ideas and methods, it can improve the efficiency of software development, operation and maintenance, to improve user satisfaction, software reliability and maintainability.

Problem: Developing software, writing programs need to devote a lot of energy, only in accordance with a reasonable development process to reasonably arrange the human and material resources, and in the shortest possible time to complete the development of good and fast. So what kind of development process should we take to get the most benefit?

A: Before writing the program is to take the topic to start writing, can not write to rewrite other people's Code, and the textbook mentioned in the "Write a re-change mode", not much practical value. But in the real project development, the development of software is needed for the public, at this time need a real user, to solve the actual needs of the software. In combination with the textbook, I think it is necessary to send out a useful software: 1. Conduct business modeling, 2. Analyze the needs of developers and users, 3. Design the function of the software; 4. Write program implementation algorithm and debug run; 5. Perform Test and system maintenance; 6. Submit the procedure.

4. Teaching material 8th Chapter 8.3

My question is about the user needs survey before software development, the textbook says that user demand analysis refers to the investigation and analysis of user requirements before and during the design and development process, which is the basis of system design, system improvement and system maintenance.

Problem: The process of software development is the process of transmitting, transforming, implementing, distorting, or losing the "things users need most" in this chain. For such a software development process important link, how should we conduct user survey?

A: There are many ways to conduct user surveys, such as setting up focus groups, conducting in-depth interviews with customers, classifying cards, questionnaires, and so on. Combined with the textbook and the actual, I think the user survey can be reasonable and comprehensive analysis of the needs of users, so as to enable developers to better analyze user needs, design a better program. Although the user questionnaire seems to be easy, but in fact still need some method. The first is to identify the information and information to be collected, and secondly, to determine the content of the survey according to the survey method of the questionnaire; Thirdly, to decide the problem form, and to choose the language of the question; Finally, to adjust the layout of the questionnaire; in the eighth, try to investigate; Revise and finalize the questionnaire.

5. Teaching Material 16th Chapter 16.3

My problem is that competition in the IT industry has always been a problem for every industry.

Question: For it such a fast-updating industry is necessary, the competition is very fierce, in order to get advantage in the competition, we should understand the factors affecting the competitiveness of products?

A: The main factors affecting the competitiveness of products are: 1. Product industry factors: This is the most important factor affecting product development, the growth period of industrial development can provide a huge assistant to the product, on the contrary if the decline in an industry Fall into this industry, then will face enormous development resistance;

2. Company and market factors: the company in the current target user appeal, the company's existing market capacity and the existing market to open new areas of capacity;

3. Product value factor: The value that the product brings to the user;

4. Team execution factors: depending on the characteristics of the product, the business model is different and the team's strategy will vary.

Supplementary question I want to understand the soft work problem

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.