Software engineering work 5

Work requirements link
Work requirements https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584
Course objectives Trends discuss software development methods
references https://www.cnblogs.com/xinz/p/3852390.html
Text of the job https://www.cnblogs.com/TG1999/p/12652937.html

Work requirements

So far, we have learned a lot of software engineering methodology. Pick several articles on software engineering methodology from the table below, read (including the related discussion), share your opinion based on your experience in software engineering.

https://www.cnblogs.com/xinz/p/3852390.html


view:

Waterfall model

Waterfall model (Waterfall Model) is a project development framework, the development process through a series of sequential design phase of expansion, the system needs analysis from the beginning until the product launches and maintenance, each stage will have a feedback loop, so if the information is not covered or find a problem, then the best "return" on a stage and make appropriate changes, from one stage of the project development process "flows" to the next stage, which is the origin of the name of the waterfall model. Including software engineering, enterprise project development, production and marketing and other construction waterfall model.
The waterfall model has the following advantages
1) for the project provided by phasing checkpoint.
2) After the completion of the previous stage, you just need to focus on subsequent phases.
3) can be applied to the waterfall model in an iterative model.
Incremental iterative waterfall model applied. 1 iteration to solve the biggest problem. Each iteration produces a version that can run while adding more features. Each iteration must be quality and integration testing.
4) It provides a template that makes the analysis, design, coding, testing, and support the method can have a common guidance on this template.
The waterfall model has the following disadvantages
1) divided into various stages of the completely fixed, a large amount of documents between stage, which greatly increases the workload.
2) Since the development model is linear, the user only until the end of the whole process of development in order to see the results, thus increasing the risk of development.
3) to keep track of the various stages of the project through excessive force completion dates and milestones.
Highlight the shortcomings 4) waterfall model is not suited to the user's needs change.

Agile Development

Agile Software Development (English: Agile software development), also known as agile development, is a software development capabilities able to cope with rapid changes in demand. Their specific names, concepts, processes, terminology is different, as opposed to "non-agile", more emphasis on close collaboration between the programmer team and business experts face to face communication (considered to be more effective than written documentation), frequently delivery of a new software version, compact and self-organizing type of team, able to adapt to changing needs approach to writing code and team organization, but also pay more attention to the role of the human software development process.
1. Agile methods are adaptive rather than predictive. Engineering methods tend to try a large part in a very long period of time detailed process planning software, which has been good until the situation changes. Therefore, their nature is to resist change. However, agile methods welcome change. They tried to adapt and become prosperous development process, even to change their proportions.
2. Agile people-oriented rather than process-oriented. The goal of engineering methods is to define a process that happens to be using the process regardless of the person, can work very well. Agile methods assert that no process can not constitute a development team skills, the role of the process is to support the work of the development team.

to sum up:

I think that we ultimately have to rely heavily on the ability of developers, this is a more important consideration, rather than choose which language or entangled in the nuances of the methodology. Honestly, we all know this, but it seems we are excessively entangled in the ability to develop the key factor in this thing. Perhaps this is an economics extended a widely accepted view, if everyone can substitute (can easily find someone on top), then that would be okay? But it was not like some. So, whether the method is better, but finally fell to the head of the individual, the individual can reasonably play the effect would be sufficient.

As a software craftsman ideals, we have been practicing, enhance the standard of professional software development, and to help others to learn this craft. Through these processes, we have established the following values:
not only make the software work,
but also to strive
not only to respond to changes,
but also to steadily increase the value
not only have individual interaction,
but also to form a community of professionals
not only to work with clients
more to establish a fruitful partnership
that is to say, of course worth pursuing item left and right equally indispensable items
taken from http://manifesto.softwarecraftsmanship.org/#/zh-cn

Guess you like

Origin www.cnblogs.com/TG1999/p/12652937.html
Recommended