1. version control technology and tools
Version control is an essential tool for Program Development and Management. Especially in a collaborative team, appropriate version control tools can improve development efficiency and eliminate many problems caused by code versions. By using version control technology and tools, you can ensure that the same document involved by Different developers in software project development is correctly updated.
1.1 common version control tools
1. CVS (Concurrent Versions System)
It is an open-source software with powerful functions, cross-platform support for Concurrent Version Control and free of charge. Therefore, it is widely used in small and medium-sized software enterprises. The biggest regret of CVS is the lack of technical support.
To solve many problems, you need to find your own materials, or even study the source code. CVS is a typical server/client software that supports remote management. In distributed development of project groups, CVS is generally used for code.
And document version control.
2. SVN (subversion)
SVN is a version control tool that improves the disadvantages of CVS. Compared with CVS, SVN is easier to use and SVN has a client tool for its specific platform. For example, tortoisesvn is a SVN client that integrates windows Resource Manager and file management system for Windows Shell programs. It is quite convenient to use.
Clearcase is a heavyweight Software Configuration Management Tool of rational. Unlike CVs and Svn, clearcase covers version control,
Establish management, workspace management, and process control. Clearcase runs throughout the entire software lifecycle and supports the vast majority of existing operating systems. However, it is relatively complicated to install, configure, and use.
Line team training.
2. Software Testing Technology and tools
As software applications become more and more widely used, the advantages and disadvantages of software quality have been paid more and more attention,
The strength of software quality assurance has become an important factor that directly affects the development and survival of the industry. As the main content of software quality assurance, software testing is an important part of a mature software enterprise.
A very important and complex task in the cycle is of great significance for Software Reliability Assurance.
2.1 Software Testing Technology
The purpose of software testing is to determine the software quality or acceptability and discover problems existing in the software development process. In the actual project development process, the commonly used software testing methods include unit testing, integration testing, function testing, and acceptance testing.
1. Unit Test
Unit Testing is mainly used by developers to test the correctness of functions, classes, variables, and other data in the program during development. Developers can write code after detailed design as needed. Average
In this case, each time a function (class) is completed, a unit test is performed to verify that the function can complete the functions described in the detailed design. Currently, commonly used unit testing tools include JUnit testing,
C ++ test.
2. Integration Testing
Integration testing is based on unit testing. All modules are assembled into subsystems or systems according to the detailed design requirements for integration testing. Unlike unit testing, which focuses on the correctness of a single function (class) function, integration testing focuses on the correctness of interfaces between modules and the correctness of the integrated overall function.
3. Function Testing
Functional testing is the software black box testing. Unit testing and integration testing ensure that development can run normally and the execution efficiency is the highest. However, they cannot ensure that the required functions are correctly implemented. Use
User requirement design function testing (black box testing), can follow the instructions in strict accordance with the requirements, test whether the newly developed system fully complies with the user's requirements and the actual operation process and business logic.
4. Acceptance Test
During the acceptance test, the relevant users perform the test and acceptance of the system according to the requirement instructions, and decide whether to receive the system, it is a test to determine whether the product meets the contractual or user-defined requirements. The purpose of the acceptance test is to ensure that the system is ready and can be put into daily use, so that end users can use the features described in the requirements.
2.2 software testing tools
1. JUnit Test
JUnit testing is currently the most popular unit testing tool on the J2EE platform. It is a programmer testing tool called white box testing. In JUnit testing, programmers know how the tested software can complete its functions and what features it can accomplish. Therefore, After inheriting testcase, they can use JUnit for automatic testing.
2. c ++ Test
Test is an automated unit test tool developed by parasoft for C/C ++ source code. It can perform three tests on source code: white box test, black box test, and regression test.
Try. In view of the wide application of C/C ++ in the embedded field, parasoft also provides corresponding versions for embedded programs, supporting eclipse and visual
Studio, which can be executed in batches.
3. winrunner Test
The winrunner tool is used for functional testing. The main function is to automatically repeat a fixed test process. It records a series of manual tests, replays in the same environment, and checks whether the program is abnormal in the same environment or does not match the actual results.
4. LoadRunner Test
LoadRunner is an industrial standard-level stress testing tool that predicts system behavior and performance. It has been the preferred tool for software stress testing in recent years. It can simulate thousands of concurrent operations, test the pressure and performance of application systems, web services, Web servers, databases, and so on, and is compatible with windows and UNIX operating systems.
3. Document Management Technology
Project document management refers to the process of collecting and managing submitted documents in a project development process.
Generally, document management is not very important in project development. It is often too late to identify its importance. As a result, the entire project may become chaotic in management, and the problems may be untraceable after they arise. Document management for a project
Smooth development plays a vital role, and its importance cannot be ignored.
3.1 Document Management Technology
A document in a software project is a process used to record, describe, and display a series of information in the software project development process. It describes and specifies every detail of the software project development, and uses the software operation commands, comments on product use and descriptions on product defects and quality.
The compilation of documents requires understanding and following the industry standards of documents. Common types of documents in existing software development are as follows:
1. Development Documentation
This type of documents reflects the results of the previous phase of the software development in the software project development process and serves as the basis for the subsequent phase of work. These documents include feasibility study reports, software project development plans, Software Requirement Specifications, system specification documents, software functional instructions, and data dictionaries.
2. Manage documents
This type of documentation is developed by software developers during software project development and should be submitted to some work plans, work plans and work reports of the management department. By reading these documents, managers can learn about the schedule, progress, and resource usage of software project development activities. Such documents include the project development plan, test plan, test plan, development progress report, and project summary report.
3. User Documentation
This type of documents is related to the use and operation of the software product prepared by software developers for the outlet handling personnel who use the software. It is mainly about the operation manual and new function introduction documents.
4. Software Modeling Tools
As the scale of software development grows, the advantages of object-oriented analysis and design are highlighted.
The company's project development shows more and more frequent trends. There are two common software modeling technologies in development: UML modeling and database modeling. The former is a visual modeling language and is mainly used for object-oriented modeling.
Analysis and design; the latter is used for the logical design of the database and generates the object relationship diagram of the project database.
4.1 common software modeling tools
1. Rational Rose
Rose is a powerful UML modeling tool that makes it easy to improve and maintain the design, generate reports from the model, and perform modeling with others in a parallel collaboration environment. At the same time, as an excellent
Analysis and design tools, Rose has strong positive and reverse engineering capabilities. Forward Engineering refers to the code generated by the design, and reverse engineering refers to the design summarized by the Code. Rose can use reverse engineering
System Analysis, improvement, and new system code are generated through forward engineering. This design method is called re-engineering.
Visio is currently the most widely used CASE tool in China and can be used for common case design and UML modeling. It provides the painting function of the vast majority of block charts in daily use (including
Various schematics and design drawings of the domain), and provide a physical map of some information fields. The advantage of Visio is its ease of use. After installation, Visio can be run independently or
Object insertion, good integration with word. Visio supports Static and Dynamic Modeling of UML and provides separate organization management for UML modeling.
Concise and practical modeling tools are not only an excellent traditional tool for database modeling, but also can be used for UML modeling. Powerdesigner has powerful functions in Database Modeling and is very convenient to use. It supports reverse engineering and re-engineering since version 8.0, and also supports usecase/sequence/class views of UML modeling.
Another common database modeling tool is a model-driven data structure management and database design product. Compared with powerdesigner, it is more streamlined and supports reverse engineering and re-engineering. There is a gap between it and powerdisigner in terms of database compatibility and UML modeling.
This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/newsainton/archive/2009/09/03/4515484.aspx