Thoughts on reading the second edition of the construction of modern software engineering--Tengfei

Source: Internet
Author: User

Question 1: section 1.2 of the first chapter presents software engineering including requirements analysis, software design, software construction, software testing and software maintenance. I read that the experience of developing a project here has found that I have not rigorously analyzed the design, so is it possible to omit one of these processes for quick completion of the project?

At each start of a project development, needs analysis is necessary is also the most easy to be ignored, remember that when the completion of the time in order to hurry and did not detailed requirements analysis, so that the late time only to discover that there is a function can not meet the requirements of the topic and also understand the wrong one of the features, So that the project can not go on, have to find the teacher to learn more about the function of the project. Therefore, the initial demand analysis is very necessary. Software design, software construction is the basis of development projects, if not these steps are certainly disorganized and the function is chaotic. As for the importance of software testing and maintenance is self-evident, no two-step program is a great hidden danger, and even the situation will not work properly. Therefore, in the future development in earnest to do a good job in each stage, so as to smoothly and efficiently complete a software development.

Question 2: Section 2.3 of chapter II presents Carnegie Mellon University's competency Maturity Model, a set of models used to measure a team's ability, and what is the competency maturity model?

The competency maturity Model is a set of architecture that helps the software industry to improve the process maturity of the software process, explicitly defining 5 different "maturity" levels, and an organization moving toward a higher maturity level in a series of small, improved steps. There are maturity level 1-5, respectively: initial level, repeatable level, defined level, managed level and optimization level. The competency Maturity Model provides a ladder-based framework for the process capability of software, and it provides a framework diagram based on the experience of previous software engineering, which indicates what major tasks a software organization needs in terms of software development, the relationship between these tasks, and the sequencing of their work, One step at a to do these work to the maturity of the software organization.

Question 3: Chapter fifth, section 5.3, 2, argues that Winston does not advocate a strict waterfall model, but instead points out the various flaws and improvements in this model. So what is the downside of the waterfall model?

1) The division of each stage is completely fixed, and a large number of documents are generated between stages, which greatly increases the workload.

2) Since the development model is linear, users can only see the development results at the end of the process, thereby increasing the risk of development.

3) track individual project stages with too many mandatory completion dates and milestones.

4) The prominent disadvantage of the waterfall model is that it does not adapt to changes in user requirements.

Question 4: Chapter fifth, section 5th 3.4, presents an analysis and design workflow that transforms the requirements into a system design. So how to design the system?

The design of the system is based on the demand analysis results, using the principles, patterns, practices and experience of software design, put forward the solution of the problem, and clearly define the structure, interface and interface of the system to be built. The task of this stage is to design the module hierarchy of the software system, design the structure of the database and control flow of the design module, which is to define the software system "how to Do". This stage is divided into two steps: the outline design and detailed design outline design solves the software system Module division and the module hierarchy organization as well as the database design, detailed design solves each module the control flow, the internal algorithm and the data structure design. The end of this phase is to deliver a summary design specification and design instructions, which can also be combined together, called a design manual.

Question 5: Chapter sixth, section 6th 1.2, below the banner of "agile", we can see several methodologies for software development. So what are the other methodologies besides the scrum methodology introduced in this section?

1) FDD (Feature-driven development)-Feature driven development

Traditional waterfall methods are crosscutting through features and feature sets, and all software development activities including project planning are driven by feature units and features.

2) dsdm-Dynamic system development method, also known as Business Center Framework Development Method

DSDM's basic view is that nothing can be done at once, and it should take 20% of the time to complete 80% useful functions, whichever is appropriate for commercial purposes.

3) Crystal methods-Crystals method Family

The crystal approach sees development as a series of collaborative games, and the goal of writing documents is to help the team win in the next game.

4) XP (Extreme Programming)

XP is a near-spiral development method that breaks down the complex development process into relatively simple small cycles, and through positive communication, feedback, and a range of other methods, developers and customers can be very aware of development progress, changes, problems to be solved and potential difficulties, and adjust the development process in time according to the actual situation.

5) ASD (Adaptive software development)-adaptive software development
ASD emphasizes speed and flexibility. It is best suited for this occasion: companies need application software to be quick to take effect, and can be flexibly changed with the growth of customer usage requirements.

(Reference: http://blog.sina.com.cn/s/blog_493a84550100civ0.html)

Thoughts on reading the second edition of the construction of modern software engineering--Tengfei

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.