Software Development Process

Source: Internet
Author: User

Auto: http://www.leadge.com/djnews/news/20076783221.htm

In the afternoon, I downloaded the first lecture of the msdn webcasts series on ASP. Net project practice and learned about the project/product operation process.
The course instructor is Mr. Yan Zhidong, a special lecturer at msdn. In the middle of the course, Mr. Yan Zhidong introduced the software development process, Program Basic personnel quality, quality control and development templates, and project team construction.
Mr. Yan first introduced the software development process. He divided software development into two categories: project development and product development.
Project development is a software customized by the company for a customer based on the needs of a customer;
Product development is a software product (such as Windows and Office) developed by the company based on a certain market demand ).
Here we re-plot the flowchart with PS:


The basic skills of programmers include the following:
1. Project Practice
• Software Engineering Theory
• Quality System: ISO9001 and CMM Systems
• Basic UML Theory
• Use of testing theories and testing tools
• Encryption theory and encryption methods
• Source Code Use of control tools
• Instructions
• Program installation and deployment
2. Professional Skills
3. Basic Qualities of programmers
• Team spirit and collaboration capabilities (• bucket theory, • Learning Organization)
• Document habits (• notes and • Development Process documents: good documents are a very important part of the formal development process. As code programmers, it is normal to write technical documents for 30% of the work time, and as a Senior Programmer and system analyst, this proportion is much higher. If there is no document, a software system lacks vitality. In the future, troubleshooting, upgrading, and re-use of modules will cause a lot of trouble .)
• Standardized and standardized coding habits (as rules of some well-known foreign software companies, variable naming of codes, and annotation formats in codes, even the length of the nested row indent and the empty row numbers between functions are clearly defined. Good writing habits not only help code porting and error correction, but also help different technical personnel to collaborate. • Code writing specifications • Interface Design Specifications) Here, the instructor emphasized that the standards are not fixed, but there must be a unified standard among a project team.
• Reusability and modular thinking capabilities (• User Controls • component technology)
• Testing habits (• unit testing • Integration Testing • System Testing • stability testing • software R & D is an important feature of a project. The earlier the problem is discovered, the lower the cost of solving the problem, the programmer can try to discover and solve some potential problems as early as possible by conducting a serious test after each code segment and each sub-module is completed, this guarantees the efficiency and reliability of the overall system construction .)
• Ability to learn and summarize (• Learning: programmers are easy to get rid of and fall behind in their careers, because a technology may be disruptive in just three or two years, if a programmer wants to live, he must keep following up with new technologies and learn new skills. • Conclusion: being good at summarization is also a manifestation of learning ability. Every time you complete a R & D task and complete a piece of code, you should track the application status of the program with a purpose.
And user feedback, summary at any time, find your own shortcomings, so that gradually improve, a programmer can grow up .)
4. Professional Quality
• Communication Skills
• Expressive ability
• Professionalism
5. Personal Qualities
• Confidence and perseverance
• Good Personal Qualities
• Good personal habits
• Quality Control and Development templates
• Project Team Construction
Basic Qualities of senior programmers:

1. Requirement analysis capability
Programmers can complete qualified code by understanding the requirements. However, for the organization and managers of R & D projects, they must not only understand the customer requirements, but also develop their own requirements more often, why?
2. project design methods and process processing capabilities
Programmers must be able to master at least two or three project design methods (such as top-to-bottom design methods, such as quick prototyping ), you can select an appropriate design method based on your project requirements and resources. Improper selection of design methods will delay the R & D cycle, waste of R & D resources, and even affect the R & D effect.
3. reuse design and modular decomposition capabilities
In a mature software industry, different components can be changed at will in some related projects and systems. For example, many desktop software of Microsoft can be used in many operation modules (such as opening files, save files and so on) are reused in the same functional module, and these interfaces are provided to desktop application developers through some class libraries for convenient mounting, this is an obvious evidence of the reusable module design.
4. Overall project evaluation capability
As a system designer, you must be able to get a clear understanding of the entire project, such as whether the company's resource configuration is reasonable and in place, for example, whether the project schedule can maximize the efficiency will not be completed on schedule. Evaluate the overall workload of the project and the workload of each module, evaluate the resources required by the project, and evaluate the difficulties that the project may encounter. It requires a lot of experience, in other words, this is a kind of realm that can be achieved through continuous summarization.
5. team organization and management capabilities
The first is the quantification of work. Without quantification, it is difficult to achieve a suitable performance appraisal. Program quantification is not a simple calculation of the number of lines of code, therefore, technical management personnel must be able to assess the complexity and workload of a module.
The second is the adjustment of the team collaboration model. Generally, the program development collaboration is divided into groups. The group has the primary programmer and the democratic mode, based on the gap in the ability level between programmers and the needs of project R & D, select an appropriate team-up method and closely combine duties and permissions with the work tasks of members, in this way, the team formation efficiency can be maximized.
Introduction to quality/process standards
What are quality/process standards and what are their purposes?
• There were no quality or process standards at the beginning, but some organizations and enterprises did well, while others did not. Then someone will analyze why these organizations and enterprises have succeeded? What are their common features? The answer is yes, so these features are summarized (such as project initiation, development planning, requirement management, and configuration management in 9000), and the results of management theory are applied, make it a system.
What can he do and cannot do?
• When the operator is conscious, standards can help. If you have not made a product project, or you have done it, but there is no market analysis report, the standard can help, because SQA will say that this violates the procedures, we must first establish a product project, and must be based on the market analysis report.
• When there is no awareness, for example, if most of the participants believe that there is no market or we are not able to launch the product, the project is still approved and the standards are powerless.
How to apply standards?
• The purpose of the standard?
-Controllable-traceable
• Development Template
-User requirement specification-Requirement Review Report
-System Design book-system development progress plan
-Project acceptance criteria-user manual Project Team documents
In the next course, instructor Yan introduced the following content:
• Coding specifications
• Project Team code
• Work Plan Summary
• Sourcesafe specifications
• Several common classes and codes
Use sourcesafe

I. Necessity of Version Management
• If the software crisis in 1970s led to the birth of software engineering ideas and the development of the theoretical system ~ In 1990s, especially in 1990s, the rapid development of the software industry led to the emergence and implementation of another new idea, namely, software version management.
• Previous practices known as well-known programming styles, such as commenting on the reasons for modifying others' source programs, changing people and dates. If multiple members make modifications at the same time, then we need to compare and integrate the differences between humans in a timely manner to form a unified new version. This practice has become increasingly free of Space in the development of large-scale software. It can be said that it is a form of small workshops to face the social production of software, and it can no longer work.
II. Introduction to visual sourcesafe 6.0 (VSS 6.0)
• Microsoft VSS 6.0 solves the long-term version management problems faced by the Software Development Team. It may effectively help the project development team owner manage the project program, store all project source files (including various file types) to the database in a unique manner.
• Developers cannot directly modify files in the database, instead, the version manager copies the source program or subitem program of the project to the working directory of each member for debugging and modification, then, submit the modified project file as checkin to VSS for comprehensive updates.
• Install VSS client and server
• Use of VSS server and client

Related Article

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.