People's Month myth read Note 09

Source: Internet
Author: User

1. Prepare for a rainy day the chapter I began to restore has been remembered as a risk, but after careful reading, I found that the main talk about how to adapt to change quickly. In the open of Agile software, we emphasize various methods, such as iteration and fast interaction, to adapt to change. In large-scale software engineering we see still need to consider how to adapt to change, many times for large-scale software and systems, we initially often difficult to design very clearly, so only to assume a scheme, and then the development of prototype validation, only through the validation to start the follow-up plan, otherwise you have to put forward new assumptions.
All things are impermanent, are in the dynamic development and change, the only constant is the change itself. Not only the change of the target is unavoidable, but also the design strategy and technical change are unavoidable. The concept of abandoning the archetype itself is the acceptance of the fact-as the learning process changes the design. Therefore, it is necessary to adapt to the changes in each stage of the software development life cycle.

    • Planning for change is not a requirement for our scope to be ambiguous, but the process of planning should be iterative and gradual refinement.
    • Designing organizational structures for change, such as a surgical team, requires minimal team member interface and the most convenient system modification and extension.
    • Release the issue of how to improve the maintainability of software products and how to fix bug fixes that introduce new bugs.

2. For large-scale software systems, product integration and integration testing has an important position, in order to systematically reduce the difficulty of system integration debugging we need to take a variety of methods and measures. This includes the first for a single build must undergo adequate unit testing, otherwise the unit test problem will be left to the integration test phase resulting in complications, the next is to build a full test platform, test platform often need to write test code, especially may also develop a variety of pseudo-components to verify the correctness of data integration. The final step is to tightly control changes during integration, preferably staged periodic changes.
3. Users need different levels of documentation. Some users only occasionally use the program, some users must rely on the program, and some users must adapt to the environment and the changes in the purpose of the program. In terms of what documents need to be written from the use of programs, validators and modify the program three aspects of how to write a document, the content of the document should contain which core elements. The use of program documentation occurs before the program is written, to describe the purpose of the program, scope, scene, input, output and other important content. Each published program requires additional validation instructions to prepare the test cases that we often do, which occur during the validation testing phase. Finally, tweaking the program or the fix requires more information. Obviously, this requires an understanding of the full details, and these details have been recorded in a well-commented list.

4. A conceptual structure that is tied to each other is an essential part of a software entity, including: data sets, relationships between data items, algorithms, function calls, and so on. These elements themselves are abstract, embodied in the same conceptual framework, can exist in different forms of expression. Nonetheless, it is content-rich and highly accurate. I think the difficult part of software development is to normalize, design, and test these conceptual constructs rather than to express the concepts and validate the fidelity of the implementation. Of course, we still make some grammatical mistakes, but they are trivial compared to the conceptual errors in most systems. If this is true, then software development is always very difficult, born without a silver bullet. Then detailed analysis is made from the complexity, consistency, variability and invisibility of software development.

Personal Impressions:

Adaptability is an essential skill for us both in life and in our work. For us, as time goes by, perhaps the overall goal of the project is constant, but some small details change with the change of life, which requires us to adapt to these changes and make appropriate changes to adapt to these changes. For us, the integration and testing of software is also very important, which is a very important step in software engineering. and writing documents for us is also very important, the teacher said, for our software engineering students, a very important skill is how to write documents, our software engineering is a subject of communication with people, only to write good documents to better communicate with others.

People's Month myth read Note 09

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.