The construction of the method of modern software engineering overview

Source: Internet
Author: User

Programming era: This stage of production is the individual labor, the use of tools are machine languages, assembly language.
The era of program systems: This stage of production is a small group of co-operation, the use of tools is a high-level language, development methods still rely on personal skills, but began to propose a structured approach.
The era of software engineering: This stage of production is engineering, using Database ﹑ development Tools ﹑ Development Environment ﹑ Network ﹑ distributed ﹑ Object-oriented technology to develop software.

The development of software development technology has failed to meet the requirements of growth. Problems encountered in software development can not find a solution, the problem accumulated, the form of sharp contradictions, resulting in a software crisis.
Performance aspects:
(1) Users can not be satisfied with the software developed.
(2) The quality of software products is often unreliable.
(3) General software is difficult to maintain.
(4) Software production efficiency is very low.
(5) The software development cost is more and more big.
(6) Software cost and development progress is difficult to estimate.
(7) The development of software technology can not meet the popularization of computer application and in-depth needs.

To talk about code style, a good code style specification is a software developer's minimum requirements, even if the program is very good, with a broad market application prospects, but if the back is a messy code, then the software will have a lot of negative impact on the future, Especially in the late maintenance and version of the iteration, the code for the future maintenance personnel, is simply a nightmare, so that finally there is no way, had to be all overturned rewrite, of course, this is the worst plan, so good code specification is how important, especially in the future to develop business value of the project , or working in a team of software projects, the code specification is very important.

Pair programming, this is a very interesting new word for me, although this term can be traced back to the last century, whether we are independent of the development of the project or a few people to form a small team to develop, the most basic or need everyone to write code (independent), but in the mode of pairing programming, is developed by the developer, on an equal and complementary basis, whether it is design, analysis, coding, testing. The greatest benefit of pair programming is that the code that is actually developed can be constantly in the process of "review", can find the problem in time, can solve the problem in time, and can greatly avoid bringing the problem to the final test or release stage.

Agile development, is also a very early technology solution, Agile is a series of values and methodologies set, predecessors through continuous practice, summed up the development method and development process, to our current development has a very strong guiding significance, agile development principles are many, the most impressive is " Regular release of available software, the release interval can be from a few weeks, can be short and short ", and" available software is the main indicator for measuring the progress of the project ", my understanding is that agile development emphasizes" small and beautiful ", regular completion of a small version of the software project, than just the final release of the product is much better, This also facilitates the iteration of the product, the scrum methodology in agile, which seems to be unmatched: what to do--and what to do now--sprint--Get an incremental version. In a phased way to solve the problem, but agile also has a lot of drawbacks, Agile Manifesto is not the imperial decree, do not have to fully respect from, like scrum, the actual implementation of the time is not so beautiful, in a complex project, often can not bring more surprises to the team, so, agile use caution.
Specific to the design and implementation of software, from the point of view of software engineering, is not the actual coding, but for such as requirements analysis, writing design documents and other related coding before the relevant preparation work, the first step is to write the design document (Designdocument), Then the design document for the team's internal review, and then development, if in the process of coding will encounter some unexpected problems, and PM to communicate, after writing code, according to the original design documents and code guidelines for self-review, refactoring code; next write unit test, if possible, Then you can publish a simple applet, in the scope of a few users to use, convenient and timely to identify problems. Seems to be here, if there is no big architectural or procedural problems, then a relatively complete version of the software has been implemented, but in the software engineering there is a problem is often overlooked, that is, "user experience", we all know that a beautiful interface design sometimes will also add a lot of software , so that the user's first intuitive feeling is that the interface first is attractive, a good user experience, the first need to clarify the audience of this software or what kind of group objects, according to the specific group is preferred to carry out targeted design, in order to better meet the user.

The construction of the method of modern software engineering overview

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.