0321 Summary of the first three chapters of software engineering (draft)

Source: Internet
Author: User

Chapter One software Engineering: challenges and charm coexist

Software engineering is the process of applying the systematic, orderly and quantifiable method to the development, operation and maintenance of software.

The challenge of software engineering

1, complexity. Software engineers usually see only the source code at a time, and as the system grows and the modules grow, the code increases exponentially.

2. Non-visibility. The engineer could not see how the source code was executed on the user's machine, and the commercial software was wrong, and the engineer could see that the program left traces in the blink of an eye, but could hardly reproduce exactly what was wrong with the program.

3, variability. It is easy to modify the software, but it is very difficult to modify the software correctly. It's hard to make the software do something new, adapt it to the new hardware, and modify it correctly.

4, compliance. Software to obey the requirements of other components of the system, but also subject to user requirements, industry system requirements.

5, non-continuity. Sometimes a small amount of input changes, which can cause great changes in the output.

The charm of software engineering

1, need in-depth technology development to create, have a sense of honor.

2, can think deeply, enjoy the process of thinking.

3, to create a satisfactory product, a sense of accomplishment.

4, walking in the forefront of the times, there is a sense of mission.

Chapter II Requirements for unit testing:

1, unit testing should be the most basic function / parameters to verify the correctness of the program. To test each parameter, including illegal input and error handling.

2, after the unit test, the machine status remains unchanged. Ensure that unit tests are not disturbed by the previous unit test instance.

3, unit testing to fast. The run time of a test is a few seconds, not too long.

4. Unit tests should produce repeatable, consistent results.

5, independence. Unit tests run, pass, and fail independently of other tests, and you can artificially construct the data to maintain the independence of the unit tests.

6. Unit tests should overwrite all code paths.

7. Unit tests should be integrated into the framework of automated tests.

8. Unit test must be saved and maintained together with the product code

Chapter three Development Road of specialized software engineer

1. Certificate of Examination. Computer grade examination and the national computer Technology and software professional technical qualification examination.

2, the accumulation of software development-related knowledge, improve technical skills.

3. Accumulate knowledge and experience in problem areas.

4, the general software design ideas and the understanding of the engineering concept.

5, improve professional skills. Including self-management ability, the ability to express and communicate, and the ability to cooperate with people, the quality of the implementation of the task by volume.

6, the actual results. Meet customer needs

12:39:53

0321 Summary of the first three chapters of software engineering (draft)

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.