Chapter 2 software development process and organization

Source: Internet
Author: User

Chapter 2 software development process and organization

To deal with the "software crisis ", the methods of structured programming, software engineering, object-oriented, plug-and-play, and Internet platform and open-source software are proposed successively.

1. Basic Issues in software development and solutions.

For programmers, the key to doing a good job of software is to do two transformations:

First: from the user's understanding of the software to the programmer's understanding of the software functions

Second: from programmer's understanding to program implementation

To ensure the first conversion: Compile the program design task book in a standardized way, and use clear languages, figures, and tables, the information, format, source, destination, storage, and processing to be processed by the program are clearly expressed and handled as a common understanding of both parties.

To ensure the second transformation: Improve the programmer's knowledge and practical experience

Supplement: web system axure Rapid Prototyping

2. What are the difficulties in the development of large-scale software projects? Why?

Difficulties:

1) It is difficult to maintain consistency.

2) difficult to test

3) difficult to control the work progress

4) It is difficult to coordinate documents and codes.

5) difficulties caused by version updates

Causes of difficulties:

1) Complexity of large systems

2) organization and coordination between individuals

3) differences between various fields

4) time and change factors

3. What are the responsibilities of design roles in large-scale software development?

1) Users: puts forward requirements, acceptance software, use software, and modification requirements.

2) programmers: programming, writing documents, debugging their own programs, and submitting results to the project owner

3) project owner: analyze user requirements to form a design scheme, assign tasks to programmers, accept the programmer's results, conduct joint debugging of the entire software, deliver and use to users, receive and analyze user modification requirements, and so on.

4) Computer Hardware: Run

4. structured program design ideas and methods:

Basic Idea: The program mechanism is divided into three basic modules: Processing Unit, cycle mechanism, and binary decision-making mechanism, and the Division of modules meets the requirements of "good structure:

1) The functions of the module should be as single and clear as possible logically.

2) Relationship between modules and impact as little as possible

3) The module size should be small enough for easy debugging.

The module division adopts the "top-down" method. No matter how big the project is, we adopt a top-down and gradual decomposition method to draw a system structure diagram until the bottom-layer module meets the requirements.

Principles of structured design:

1) restrict or prohibit the use of the GOTO statement.

2) one subprogram entry and one exit

3) The program style should be as clear as possible, add comments, and write code hierarchies. Variable names must be meaningful.

4) programming and writing documents at the same time.

Disadvantages: it increases the workload of subprograms, increases the troubles and trivial work in programming, and reduces the program running efficiency.

5. Basic ideas and methods of Software Engineering:

The basic idea of software engineering comes from traditional engineering. to greatly improve the efficiency and quality of software development, we must strengthen our strength from the perspective of organization and management, improve software production from the personal work of programmers to organized and controllable projects.

Implementation Method of Software Engineering:

First, standardize the software development process.

Stage 1: requirement analysis. Understand the structure and functions, understand the needs of organizations or managers, and find out the actual information flow. (Business Process)

Stage 2: analysis and design. Perform functional decomposition and data analysis to complete data processing and database logic design.

Stage 3: programming stage. Coding implementation

Stage 4: test phase: test the document.

Stage 5: Use and Maintenance. Change the problem during use.

Standardization is explored in two aspects:

1) Standardized expressions, unified specification flowcharts, data dictionaries, etc.

2) establish standards for quality and inspection of work, such as ISO9001 standards.

 

6. Basic Idea of object-oriented programming.

Basic Idea:

1) everything in the objective world is an object. Each object has static attributes (member variables) and related operations (methods ). As a whole, objects do not have to disclose these attributes and Operations externally, which is "encapsulation ".

2) There are several relationships between objects, including abstraction and specifics, groups and individuals, and the whole and part.

3) Inheritance

4) messages can be transmitted between objects through parameters.

The ideology and Methods reflected by object-oriented programming language are getting closer and closer to people's way of thinking, and they discard the "top-down" and "bottom-up" debate, the understanding of complex systems is attributed to the understanding of a group of objects and their relationships.

7. The basic idea of plug-and-play program design. Component-based development.

It is proposed based on the object-oriented programming method. The basic idea is to use the idea of making hardware to generate software. Some people specialize in the production of software components, and some people design the overall software structure.

The actual implementation is not that simple. Standardization is difficult. How software components are provided.

8. Open-source software-oriented programming ideas:

With the development of open-source software, it is becoming more and more common to use open-source software for programming. In practical applications, in some application fields that have a wide range of applications, clear processes, and relatively standardized application fields, open-source code reuse is relatively confident, such as website design ** CMS and forum. Zhimeng CMS; jspxms; phpcms;

The application field is complex and diverse, and you need to carefully weigh the use of open-source software.

On the one hand, we fully understand the application field, and on the other hand, the quality of open source software.

9. What kind of software is good?

1) the required functions are correctly implemented and the predefined output results are provided accurately.

2) friendly user interface, in line with user habits and knowledge

3) have enough speed (not as fast as possible ).

4) it has sufficient reliability and can maintain normal operation under various interference conditions.

5) easy to read, well-structured, complete documentation, and easy to modify.

10. Evaluate the metrics of a single programmer?

1) have basic knowledge and skills required for programming.

2) have a deep understanding of the project's fields.

3) familiar with the technical environment of software development, software and hardware environment. Especially the programming language used, and practical experience.

11. What requirements should I comply with as a member of the project team?

1) ensure that operations are strictly performed in this module, and do not apply commands or functions that interfere with other modules.

2) Transmit parameters in strict accordance with the overall design requirements

3) Public file or database operations must be performed in accordance with the provisions and unified format.

4) use the identifier to comply with the unified requirements and specifications of the project team.

5) write documents in strict accordance with the unified requirements.

6) Keep the style of the program as consistent as possible.

12. What conditions should a good project team meet?

A good project team is gradually formed during long-term work. According to the measurement of the CMM Model of the project team, a good project team should have the following conditions:

1) there are strict and written work regulations and document standards, which are well known to all members and are effectively observed.

2) there is a strict division of labor among personnel. In addition to programmers, there must be dedicated secretaries, dedicated testers, especially dedicated project owners who do not participate in specific programming.

3) A detailed schedule should be prepared for each project in advance, and complete information should be provided after each project is strictly implemented and properly kept. You can use it immediately once you need to modify or update the version.

Supplement:

CMM Capability Maturity Model:

 

Question type: Fill in the blank and select 2-3 points for a short answer. About 7 points.

 

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.