Software configuration management feasibility report

xiaoxiao2021-03-06  85

1 About this document

Detailed description is in the feasibility of implementing software configuration management, and comparison of various software configuration tools, combines the actual features of this center to analyze the software configuration tools that suits the center.

This document is written by Lu Guoxi. For details, please refer to the specific performance data of the relevant software configuration tool, see the software company's technical documentation.

2 Present Situation

Existing software configuration management tools (SCM Tools) have roughly the following varieties:

(1) IBM-CLEARCASE (CC);

(2) Microsoft-Visual Source Safe (VSS);

(3) Borland-StarTeam (ST)

(4) Open Source - Concurrent Versions System (CVS);

(5) Hansky-firefly;

The feasibility report is the evaluation report of the above five configuration management tools, focusing on the actual situation of the center, combining the operating system, development processes, project scale, ease of use, price, and other management The good combination of the system is considered.

Perform software configuration management purposes:

1. Access Control Permission Control is critical to the SCM tool. On the one hand, since it is a team development, it may be necessary to limit the permissions of certain members; especially large projects tend to eject sub-project outsourcing, and to the last coordination stage will involve many different units, more need to be managed. On the other hand, authority control also reduces the possibility of misuse, indirectly improves the availability of SCM tools (USAbility). Existing SCM tools are very different in permission control, and it also shows that everyone is exploring more effective permission control. Through the difference in different permissions control methods, we are not difficult to see its part: its core concept is actions, behavioral, behavioral objects. Behavior: User (USER). User Group is not a behavior, but its introduction is greatly convenient for permission management. Behavioral objects: items and project members (MEMBER). Regardless of the developers of SCM tools or users, projects and project members are different behavioral objects. Behavior: That is, a specific operation of applying on the object on the object, checking in, and check out is an example of still exemplified. After three core concepts, you can discuss the concept of permissions. Permissions are such a quadruple vector: (body, object, behavior, Boolean). That is, "the body applies a certain behavior to the object to be approved." From this point of view, the basic task of permission control is to be responsible for maintaining the main collection, the portfolio collection, the behavior collection, and the permission vector collection. Among them, the collection of behaviors is fixed (determined at SCM tool development), and the other three sets are dynamically changed. Second, version control (Version Control) SCM Tool Records Projects and File Modify Trajectories, tracking modification information, making software development work with baseline gradual, avoiding software development uncontrolled situation, making development status Be orderly. The SCM tool can be differential comparisons for different versions of the same file, which can restore individual files or earlier versions of the entire project, allowing users to easily get upgrades and maintenance necessary programs and documents. The SCM tool is identified by the version, which has the version number (Version Number), but provides a variety of ways to identify the version, which is widely used, label (label), and time stamp. A variety of flexible logo means to provide users with convenience. Third, the enhanced version control (Snapshot) and branch (BRANCH) are based on basic version control functions, so that the functionality of the version control is further enhanced. Snapshots are the concept of the version high level, which is a collection of multiple files in the project. Snapshots make the early versions of the recovery project easy, it also supports the operation of CHECK IN, Check Out and Batch Tags (Label). In short, snapshot is an enhancement of version control, making version control more convenient and efficient. The branch allows users to create independent development paths, and we think that the typical use of the branch has two.

First, branches and mergers are supported by concurrent development. Second, the branch supports multi-version development, which is especially useful for post-release maintenance. For example, the customer report has a printed bug, the group may lead a branch from a project version that has not yet introduced the print bug, and finally distributed ā a bug revision. Branch is another enhancement of version control. Version control and enhanced version control are the foundation of other functions of SCM tools. 4. Change Management SCM Tool provides valid problem tracking and system change request (SCRS) management. By tracking records for all issues and change requests at all phases of the software lifecycle, support team member reports, capture and tracking (track) and software changes, what do you change? Why is it changed? Change management effectively supports communication between different developers, and customer and developers to avoid disorder and respective politics. V. Independent Workspaces Development Team members need to work together on the development project, which can greatly improve the efficiency of software development. Sandbox provides an independent work space for parallel development, also known as workbooks in some SCM tools. Using a sandbox, developers can copy all the necessary project files to a private tree directory and modify them on these copies. Once the modification is satisfied, the modification merge (Merge) can go up to the main line; of course, if the file is only modified by the member, you only need to pass the modified file check into the main item. Middle. "Concurrently and sharing is different aspects of the same thing", the private workspace of the same thing share the same set of master project files, so it is necessary to make all team members have the ability to know the current state of the project. The SCM tool provides refresh operations, and a team member can make changes made on the primary project file in the primary project file, reacting on the graphical user interface of his own sandbox. 6. Report (report) to ensure that the project is completed on time, the project manager must monitor the development process and respond quickly to the problem. The reporting function allows the project manager to understand the progress of the project; through graphical report, the bottleneck developed can be discovered at a glance; the standard report provides common project information, custom reporting functions guarantee information that is suitable for yourself. 7. Process Automation SCM Tool Use an event trigger mechanism (Event Trigger), so that an event triggers another event to generate behavior to implement process automation. For example, let the "Add Project Member" Operation Automatically trigger "Generate Function Description Table (FORM)" operation, the developer fills the function description table of the file, and the development process is specified. Process automation not only shorten the time of complex tasks, but also improves productivity, but also standardizes the process of team development, which reduces confusion.

Eight, the entire life cycle of the management project has been developed, tested, and the mission of the SCM tool "begins in the beginning of the project development, and finally the product is eliminated." The SCM tool should provide a typical development mode template to reduce user labor; on the other hand, it should also support user-defined lifecycle mode to accommodate special development needs. Nine, integration with mainstream development environment integrates version control function and mainstream integration development environment (IDE), greatly facilitating software development process. From the perspective of integrated development environment, version control is a new feature; from the perspective of SCM tools, the integrated development environment acts as a sandbox role. 3 products comparison

According to the specific situation in this center, the characteristics of each product and its own use are combined with the characteristics of each product.

(Red representatives are subject to special needs for this center)

FIREFLY

Clearcase

Cvs

StARTEAM

VSS

Architecture and security

With the C / S mode, the background uses the database store, the storage directory does not share, the client is opaque, the client cannot directly access the storage directory, the security is better

With C / S mode, you need to share the storage directory on the server for client access, which will bring a certain security risk, the company must establish a domain.

With C / S mode, you don't need the storage directory on the shared server, and the security is better.

Based on the file system, use NFS / SMB, the background use file system sharing, you need to share the storage directory, which will bring a certain security hazard.

Access server incremental storage

Quick, only the increment of the files up and down, including text formats and binary formats

Support text format file incremental storage, save binary files in full copy (dispute, internal statement inconsistent)

Support text format file incremental storage, save binary files in full copy

Slow, use remote file access methods, incremental transmission cannot be implemented. When used in large projects, the problem is particularly highlighted

Local operation

fast

fast

fast

fast

fast

Integrate with development tools

Seamless integration with common development tools

Directly integrate with resource manager, it is easy to use

Poor development tool integration

It is better to integrate with Borland development tools.

Seamlessly connected to the Visual Studio development kit, other development tools are poor

Off-site development support

Provide the Serversync module, supporting different site development by automatically or manually synchronizing a repository of different development locations

Provide the Multisite module to support differently development by automatically or manually synchronizing a repository of different development locations

Supports development of different places, but supports unknown support

not support

Permission management and backup

Convenient management interface, uses a rights management method similar to NTFS, you can set access to users and groups for projects, directories, or files, self-contained backup / recovery

Convenient management interface, permission can be grouped, mainly managed by system administrators, need to use third-party backup tools, but have certain rule support

Permissions can be grouped, mainly managed by system administrators, need to use third-party backup tools

Only users, no group concept, permission setting management workload is huge, is inconvenient, need to use third-party backup tools

Platform support

Platform portability, support most hardware platforms and operating systems

Platform portability, support most hardware platforms and operating systems

Platform portability, support most hardware platforms and operating systems

Only support Windows platform

system resource

Good performance, not high for server requirements

The server uses multi-process mechanisms to use the multi-version file system MVFS, which has a great negative impact on performance. As an enterprise-class, comprehensive development configuration management tool, suitable for large-scale development teams, suitable for various level development teams

Requires high-end servers, high requirements for hard disk space, relatively functional single, simple, suitable for small teams for several people, performance can be accepted in the case of small data volume

Atomic transaction

Support atomic transaction processing to ensure data consistency

Support atomic transaction processing to ensure data consistency

not support

not support

Change set and change management

Support the concept of change set, and can be fully integrated with Hansky's change management tool butterfly

Support the concept of change set, and can be fully integrated with the Rational Change Management Tools ClearQuest

not support

not support

Command line interface

Provide all functional command line operations, this is the basic condition for building BUILD daily

Support BUILD management, can confirm which source code generated by each version of Build

Support command line interface, but does not support Build Management

Can only achieve a few functions

Offline version save

You can save all historical versions of the file modified after the offline, and can upload the server

Can be developed offline, only support the last version uploaded server

Can be developed offline, only support the last version uploaded server

not support

Branch and parallel development

Use work space to create a branch, label, and implement parallel development

Use work space to create unlimited branches, labels, implement parallel development

Support branch, support parallel development, but the mode is simple

Support branch, but the branch is limited, the inconvenience is used, and parallel development is not supported.

Rename and movement of files

Fully support, easy to use, and save all historical records

fully support

not support

It is difficult to keep history

Version tree browsing

Graphical version tree browsing the window, the user can intuitively see the version history of the file, and the version is compared

Graphical version tree browsing the window, the user can intuitively see the version history of the file, and the version is compared

not support

not support

WEB interface Access

Web user interface, you can browse the structure, history, history, and comparison of file history, etc.

You can browse the structure, history, review the history, and compare files.

not support

not support

Extensibility

Can support large-scale development

Can support large-scale development

Can support large-scale development

Can support large-scale development

Unable to support the development of big teams and big projects

Report function

Provide automatic generation functions for configuration reports and historical change reports, providing powerful support for CMM

Provide basic simple reports, such as more detailed regular reports need to purchase SODA

not support

not support

Ease of use

In the event of a full configuration management function, the installation, configuration, the entire implementation cycle including installation, configuration, and training, generally not more than one month.

Installation, configuration, relatively complicated use, need to perform team training. All training and services are charged

Installation, more complicated configuration, but the use is relatively simple, just make simple training for configuration management

Installation, configuration, use is simple, it is easy to use

Localization support (Chinese)

Support (including manual and training, client supports Chinese-English switching)

Not supported, but there is a Chinese training

not support

not support

not support

Branch comparison function

Support to file

Support to the directory

unknown

not support

service

It has established a branch in China, and it has a support center in Beijing.

Domestic market has limited expansion, so service support will be restricted. Now China's support is connected by the support center in Sydney, Australia.

Open source software, there is no service and support, the user's data is not allowed to ensure that the domestic market has been more limited, Borland service support is more inferior to IBM and Hansky

As Microsoft's non-core products, technical support is limited. There are some common problems on its website, only provide certain technical support for officially purchased users.

Authorization method and its price

Concurrent authorization, USD 2900.00 / license (excluding server authorization)

Concurrent authorization, RMB 58615.00 / license (excluding server authorization)

free

Not available yet

Free (licensed with Visual Studio)

The above is based on individual trial or related engineers for pre-sale consultation, I hope to organize relevant discussions to further understand the company's current and future demand, targetedly evaluated.

4 Clearcase

* Support for a wide range of file type ClearCase can not only maintain and control the version of the software component, but also maintained a version of a non-text file and directory. Users can define their own component types or use the predefined type in ClearCase. At storage, ClearCase can use the incremental algorithm to store text files in a special structure of file containers, or use standard compression technology to control any operating system files. (This saves 50% -70% storage space than in the previous storage.) * Observing the process of observing component development in the version tree In ClearCase, the organization of file versions is reflected in the version tree structure. Each file can form multiple versions through the checkout-edit-checkin command, and you can also include multi-layer branches and child branches. * Version Control ClearCase can be controlled to the catalog and subdirectory, allowing developers to track the organization's organizational development process. The directory version is controlled to some changes, such as establishing a new file, modifying the file name, establishing a new subdirectory or moving files between directories. ClearCase also supports operations that automatically compare and merge them for directory. * Data Store in an accessible Version Object Library (VOB) ClearCase puts all versions of data in a permanent, secure storage area, called version object base, project team (Or managers) can determine the number of VOBs they need, which can determine what kind of directory or file needs to be maintained. VOB is not only a connectionable file system, but also the resources on the Internet, the host can connect to any VOB. ClearCase (such as detection, check and version belongs to and) can set time records, which are stored in the VOB database, mainly describing the properties of the operation, including "who did, what to do, when is it in? And why "etc."

IBM (Rational) The software configuration management tool CLEARCASE is mainly used for Windows and UNIX development environments. ClearCase provides a comprehensive configuration management feature - including version control, spatial management, establishment management and process control, without software developers to change their existing environment, tools, and way of working. ClearCase has the following main functions:

1

. version control

* Transparent Access ClearCase between versions provides a function of transparent access to the version. ClearCase can access VOB in the form of a standard file directory tree through a VOB mechanism (including multiple versions of the directory). ClearCase can be integrated with Windows Explorer, so that developers don't have to enter the ClearCase interface. * Access views from other host platforms In the LAN, the data that is not installed without ClearCase can also use the data controlled by ClearCase. For example, a ClearCase Unix host outputs VOBs through a special view, and other hosts can connect to it through an NFS mechanism, allowing developers to read and write on the host platform where Clearcase is not installed. However, it must be noted that the host that does not install ClearCase must re-register or use the X-Windows system on the Unix host installed in ClearCase to check and check. Clearcase

The core function is version control, which is a means of tracking a file or a directory development process in the software development process. ClearCase is controlled to all file system objects (including files, directories, and links), and also provides advanced version branches and mergers to support parallel development. Thus, ClearCase is far from the scope of resource control, and it can also help development teams create a secure and reliable version history for each information type they have processed when developing software.

2

. Workplace management

The so-called spatial management, ensuring that developers have their own independent work environment, with their own private storage, and access to members of sharing information. ClearCase provides a consistent and flexible workspace domain for each developer. It uses new technologies called View, by setting different view configuration specifications, helps programmers choose the appropriate version of each file or directory of a specific task and display them. View makes developers to balance in the constant changes in resource code sharing and private code independent.

3

. Establish management

With ClearCase, the processing of constructors can be compatible with traditional methods. For ClearCase control, you can use homemade scripts to use the Make program provided by this unit, but ClearCase's establishment tool Clearmake (support UNIX) and OMAKE (support NT) provide important features: Automatic completion tasks, Ensure the reliability, storage time, and support of parallel distributed structures. In addition, ClearCase can also automatically track, establish a list of permanent materials.

4

. Process control

Software development strategies and processes have great differences due to different industries, but there is a certain amount: that is, improve software quality and shorten the product launch market time. ClearCase provides a very effective process control and policy control mechanism for team communications, quality assurance, and change management. These processes and strategic control mechanisms fully support the implementation and guarantee of quality standards, such as: SEI Capability Maturity Model and ISO 9000. ClearCase can monitor development processes through a valid settings, which is reflected in the following:

* Assign attributes for objects: For example, the CodeQuality property can have five values ​​of A, B, C, D, or F. Its powerful query tool allows users to find a variety of files. * Hyper link: Hyper links can be traced back to all element variables, specific versions (requirement tracking is also required), or some part of the object. * History: ClearCase automatically records important status information, when the object changes, it will collect "Who, when, why", user comments, and other important data. The system will also reserve similar information when creating and release the project. * Define an event trigger mechanism: Event pre-touch mechanism monitors every specific ClearCase operation or operational use. Triggering can be required to check it before performing an action command, and determine the execution, or cancel the operation. After the event, the trigger mechanism seems to be a monitizer, which will notify the user after an object is executed or gives an object to the properties. * Access control: Control data read, write, execute permission; at the same time, it also applies protection below the physical storage under the file system, effectively stops small actions that try to evade ClearCase to destroy the original operating system storage. * Query function: There is a Find command in ClearCase that makes it possible to quickly know the status of the current project. In summary, ClearCase supports a comprehensive software configuration management feature to bring huge benefits to teams developing complex projects across complex environments (such as UNIX, Windows systems). In addition, ClearCase also supports a wide range of development environments, which have special components that have become engineers and management necessary tools today. ClearCase's advanced features directly solve some difficult problems that the original development team is facing, and use resources to help develop teams, making it more reliable. In today's increasingly fierce market competition, ClearCase acts as a standardized software configuration management tool, fully meets the needs of software developers, and also improves the scientific management of software development.

5 Visual Source Safe

Microsoft's Visual SourceSafe (hereinafter referred to as VSS) is widely used in the version control of the Windows environment-based software project, which has the following features: 1, functional practical

VSS provides basic version control capabilities, including coordination multiplayer simultaneously accessing the same file, tracking the historical version of the file, and other basic functions. VSS also provides a backup and recovery feature of the version database, which ensures the security of version data, which is enough for general project development. 2, cheap

VSS is a member of Microsoft Visual Studio developed product (generally engaged in software development), if you have this software now have Visual Studio 6 Enterprise Edition, or Visual Studio .NET Enterprise Developer Edition, or Visual Studio .NET Enterprise Architect Edition, you can find VSS software above, because Microsoft Visual Studio is lowered (such as Visual Studio .Net Enterprise Developer Edition, online quotation is US $ 1799), if cost-off, VSS's actual cost can be Said to be insignificant, if you don't have the above Visual Studio software, you can also purchase VSS software separately, online quotes US $ 549.3, easy to use

VSS inherits the advantages of all Microsoft products, providing convenient graphical integrated operation interface, users can intuitively perform file access, historical version browsing, file comparison, etc., and can intuitively monitor the current file. Status and information occupied by which users are currently occupied. Users can use VSS basically without training. 4, UNIX support:

Since VSS is Microsoft is designed to be used as software version management in a Windows operating system environment, the files managed can only be files that Windows system control. If you want the VSS to manage files on the UNIX system, you must use certain software support, order to the UNIX file and directory to map to the Windows system, which will become visible and controlled resources, which, VSS can access and manage these files. 5, VSS basic function: first is the concept of the project, the so-called project is a set of files in VSS (any type), which can be added, deleted, edited, and shared between the project or between items. A project has a lot of similarities with the folder of the operating system, but it better supports file merge, history and version control. All files exist in a VSS database project, the development group member cannot work on the primary backup file in the VSS (except for special cases such as check and version comparison) but VSS provides one for each member in their respective working directories. Copy for work. Although a file can also be viewed without a working directory, if you want to work under VSS management, you must create a work directory. VSS can maintain multiple versions of a file, including a record from different versions. Version control includes the following aspects: Coordination within the group - Make sure that only one member is modified at any time, which prevents files from being modified by other members. Update. Of course, VSS administrators can change this default settings to allow multiple Checkout for single files, and still prohibit the coverage of others. Version Tracking - archives and tracks the old version of the source code and other files, and these versions can be reacted to perform bug tracking or other purposes. Cross-platform development - supports the same code to control the version of multiple developments. Reusal or object-oriented code - Track which programs use which code can be reused modules. The meaning of version control will be further discussed in the later chapter. We already know that VSS provides version control and historical services to ensure that each version of a file is recoverable. When the VSS date / timestamp is used to record the file by Checkout or when it is modified, it mainly has three ways to track the version of the file and project: Version number: This is the internal Digital, the user is There is no control. Each version of each file and project has a version number, which is always an integer and increment. Tags: These are a string of a version of a version of a project or file that can be a string of no more than 31 characters in any format. Date / Timestamp: It gives a file that is finally modified, or when a file is checkin. VSS supports 12 hours and 24 hours of time format. The working directory is where the user really debugs the project file. When the user Checkout is extracted, the VSS copies the item to the user's working directory, when the user modifies the file and uses it when Checkin or submits, VSS Then come back from the user's work directory to the VSS database. When the user make Checkout, VSS will automatically manage his work directory, such as creating the necessary subdirectory. And the working directory can be created or modified at any time.

6 StARTEAM

In order to make the use of StartEAM in software development, you need to be familiar with StartEAM terminology. These terms are at the beginning, they may be more unfamiliar, but soon you will find that the StarTeam model is more suitable for your business practices than the previous generation of SCM tools. At the same time, the STARTEAM model has the elasticity that enables you to eventually manage all of your information assets, source code, and documentation through a single, tightly integrated system. (1) STARTEAM library

The center of the StarTeam system is the StarTeam library, which maintained through StarTeam Server. This library is an object-oriented data repository that supports object version, links, and configuration. Any object, called a STARTEAM term, stored in the library, has its history, so the state of the previous state can be retrieved and restored. The StarTeam item can be linked to other items in the library, so you can maintain the relationship between different information assets and use it in your work process. The configuration work is created, maintained, and recovered by the library service provided by StarTeam.

(2) C / S architecture

Access to the StarTeam library is made through StarTeam Server, which means that your archive file is fully protected. Other products such as PVCS and SourceSafe require that the archive library can be accessed by the relevant personnel, which may cause these archives and their stored information assets to attack or dissatisfied employee attacks. . The only way to access these archived libraries is StarTeam Server with STARTEAM. All StarTeam clients, whether it is a StarTeamWindow GUI, a command line interface, IDE integration, Stardisk, or a custom application established using StarTeam SDK, and communication with StarTeam Server uses TCP / IP protocols. StarTeam, as an app under the Windows platform, you can also use NetBeui, IPX / SPX, or named pipe protocol. Since StartEAM has been optimized for the Internet, remote users can access the data in a compressed and encrypted way to the StarTeam library. One of the last considerations when STARTEAM's C / S architecture is that StarTeam allows you to choose to use, you can choose MSDE, Oracle, Microsoft SQLServer, Sybase SQL Server, Informix and IBM DB2, etc. All your DBA Familiar industrial standard database. From the beginning, you can choose the database that suits your company standard to manage your information assets.

Figure 1: StarTeam client / server architecture

COM / Java

Using the StarTeam SDK

StarTeam Client

Stardisk

StarTeam cross-platform client

IDE - SCC Support

Custom Applications

WebEdition

StarTeam Server

StARTEAM

Repository

PVCS Archive

SourceSafe

Archive

(3) facing project

Old SCM applications such as PVCS and SourceSafe are directly for a single file. They are called file-oriented version control systems. Each file added to the system has its version number, stored in a specific archive file, and a one-to-one mapping between them is not related to the location where the files when the application is built. Some products, such as PVCs, do not track records to be checked out, and this information is necessary to correctly rebuild history profiles.

StarTeam uses a project-oriented approach. In this method, the source code and document files are only used as specific items that make up the entire project. In addition to file-oriented version control features with old-style products, StarTeam also supports all other items required to be needed, such as changing requests, topics, tasks, requirements, and folder structures for these items. Project-oriented systems also allow users to view these items in different ways according to their roles or instant work. A project-oriented approach is a supercoming superchard for realization in a file method product. Figure 2: StarTeam is a project-oriented SCM tool

(4)

StarTeam model use items such as files, requirements, change requests, topics, tasks, and auditing entries. Most common items can be versioned, that is, StarTeam stores the revision history of the item and allows you to view and compare content of different revisions.

Items can also be branched, that is, they can be derived from other items (those items become their ancestors).

Items may have several completely different revision history, and these revision history has a common ancestor. In the case of text documents, the branch item can be merged with the original item derived. For example, the products developed for the new operating system can begin based on files developed for the first operating system.

The concept of branches is not many in the document management system. However, this ability is based on software configuration management. Developers often need to make or small changes while maintaining the original development path.

STARTEAM's collaborative framework architecture supports multiple types and can develop and add more items based on customer needs. The following table lists the types of items supported by StarTeam's current versions:

Table 1: STARTEAM Item Type

Item type

Whether it is a version

Is it branchless?

file

Yes

Yes

demand

Yes

no

Change request

Yes

Yes

task

Yes

no

theme

Yes

no

(5) Project

StarTeam uses items, views, and folders to organize items stored in the StarTeam library. A StarTeam project can be considered a collection of closely related views, and each view represents a configuration of the items from the library that supports different development phases on the same code. The folder divides the item into groups, for example: you might want to detect all the files under a folder to work on products with specific features. There is no restriction on items in different projects. As long as items are in the same library, they can move or share between any view, regardless of the items and views in which project is located.

The project provides an organization's additional level, which provides a hierarchy, and also provides an opportunity to assign access in project-level assignment. How does the project depends on you.

You may establish a project for each product produced by your company; or depending on how you build a product, you may be more willing to create a project for each of the primary components. To establish a separate project for each product component, it provides more elastic because each component can be easily tagged, branched, and operates through its own lifting model sequence.

(6) view

When you open a StarTeam project, you can choose the default (or main) view or choose another view. The default view of the project typically contains configurations for the main development. Other views can be derived from this view, which is to create and have different behavior based on its basis. The selected view represents a collection of items under specific configurations.

The view usually has naming below: baseline, 4.0 maintenance, 4.0 China Edition, 5.0 new development. They represent the configuration of the items provided support for different development baselines based on the same code. The view can be compared and merged. For example: You may want to finally merge the files in the [4.0 Maintenance] view and [5.0 New Development] view to the view [baseline].

You can reach by creating and using the view:

1. Dynamically displays the changes in the source code and documentation in your project.

This is the typical use of the default (main) view when the [SELECT Configuration] command is selected from the [Select Configuration] command from the [View] menu. This dynamic view shows changes in all items and can be used to develop. 2. Reference The subset of items in the original view.

They are often referred to as reference views. Any changes made in the new view will also change the same item in the original view. This is because the subview contains references to the original items in the original view, and does not generate branch behavior when the change occurs. Typically a reference view has the following naming: [Development View] or [Document View], only the appropriate item gives the corresponding person, such as the developer or document staff.

3, read-only, based on the specific state of the original view.

This is usually for convenience, so that the revision of the items in the product release can be easily positioned. For example: A [4.1 release] view can be used to rebuild a version 4.1 version of the product in the future, or allow the company to buy your source code to view the source code after signing a temporary agreement.

4, allow you to branch in the new view

This view can be used to modify the items in a particular view state without affecting the main development. It is usually done by creating and maintaining a maintenance baseline.

An important feature of the view is that you can reconfigure it to display the view at an earlier time, or a specific view tag, or an item when the view is associated with the view. Use the [SELECT Configuration] command back rollback to the view menu. The rollback view is read-only, the exact state of the display, and no longer allows you to make changes.

Tip: Use the [Select Configuration] command to use the [View] menu to locate the status of file revisions and change requests that are checked in specific time, and requirements, subjects, and tasks.

(7) folder

Each STARTEAM view contains a folder hierarchy to organize its items. The folder reflects the logical organizational structure of the configuration of the view. The folder usually has the following name: source code, plan, user manual. They are grouped based on who need to access which items or the tight correlation between files, and the folder can be organized to any hierarchy (usually followed by the structure of the work folder when the file is detected).

Folders are useful when you need to create a shared item. You can share folders, files, change requests, tasks, and topics between views or views, as long as these views use the same server configuration. After the folder is shared, the two views of the two views can access its content, including subfolders and their content.

The setting of the shared folder is an important part of setting the view. For example: assuming that all of the company's products use the company's public library, although these libraries are not maintained by the developer of a product, the product is based on a version of the source code in this library, and It must be compiled with one. Therefore, these library folders should be shared to this product.

Use [Ctrl DRAG] to share folders or items from one location to another. By sharing, you have created a reference to the original folder or item. Unless the behavior of the shared folder or item is set to [Branch On Change], all changes to it will also modify the original folder or item at the same time.

The configuration (floating, label, a certain lifting state, or a certain moment) is initially in the two views. However, they can be modified separately, which means that the shared item may have great differences in each view, so it is sure to have a deep understanding of sharing before this.

The shared folder or item will lose any of their labels in the previous view. The label cannot move from one view to another.

(8) View label

Another feature of the StarTeam view is a view tag. The view tag is used to identify a static configuration of a specific revision of the item in the view. When you create a view tag, it saves a timestamp for the view. The view tag saves you a static snapshot of the dynamic view when it creates.

The revision of the item associated with the view tag can be changed by dragging the label from the item in the label panel to another revision. Typically, a view tag will contain a small amount of label change, and most item revisions are identified by its timestamp. Tip: Use view tags to indicate the development milestone, such as building every day. This allows you to return to a specific revision of exact configuration by using the [Select Configuration] command using the [View] menu or using [CFGL (Configure View)] option from the command line.

(9) Branch view

One of the common operations in software development is to create a new configuration with branch items based on the previous state configuration. It usually wants to perform maintenance of the previously built system, but does not want to affect the current development. StarTeam supports this activity through a branch view.

Create a branch view by selecting [New ...] from the [View] menu and select [Permit Items to Branch With "View]. Select this option will cause the new view with different and separate view namespaces and items in the new view can be branched. You can choose to make each item generate a branch or you can postpone this decision and selectively select the item you want to branch in the new view.

Tip: STARTEAM's project-oriented approach allows you to determine the branch behavior of the entire configuration through the [Branch On Change] option. Unlike file-oriented systems, it requires you to point out in each file you want to branch, and StarTeam allows you to specify the behavior you want to use or the workflow made for this view. .

Users who are unfamiliar with the StarTeam model often confuse the view tags in the old view not found in the new view. This is usually because they are familiar with file-oriented systems and revised labels, in which all branches of the revised label are archived in a particular file archive. In a project-oriented system like STARTEAM, each configuration space is represented by a view that allows branches, must also have a unique view tag namespace. This is because the view has branch when you create a new view that allows the branch. In addition, each view only presents the branch history of the item referenced by the view, not the entire history of this item throughout the branch. This makes the new view into the independent configuration of the item, so the view tab found in the original view will not exist in the new view.

Tip: You do not need to create a new view every time you need a branch. By sharing the item from a folder to another, then set the behavior option to [Branch On Change], you have implemented a branch that created an item in the same view. This gives you an old version control system, such as the same file-based branching ability found in SourceSafe.

Figure 3: Creating a new view based on the original baseline

Development baseline

Merge

BUG repair

(10) Merger View

Often, you may want to merge these independent branches to return to the original view or merge to another view. You can merge items in different views, or even items from the same view. StarTeam's View Comparison / Merging Utility [Compare / Merge Utility] is responsible for performing a complete comparison of folders, files, change requests, tasks, and topics.

Tip: The ability of the consolidation view capability allows you to first modify the item in the maintenance view and then merge them into the main development view. Since the change request can also be branch, you can indicate a change request in the maintenance view to [Fixed], and remain in the [Open] state in the development view. Change requests can also be merged, so important information found in the maintenance view is not lost at the time of incompatibility.

(11) link

The ability to link to any other item is a powerful feature of Starteam. This can help us record the relationship between items, such as demand documents (stored in a file), a specific change description (stored in a change request), design discussion (in the subject mode storage) and source change ( File mode storage). Since the link can also be stained (or attached) on a specific version of the link item, you have an environment that provides a complete trackability. Tip: The ability of the link items provided by StartEAM can help you through the CMM audit. In addition, the task components provided by STARTEAM also provide powerful support through CMM audit.

(12) document status

One of the only features of StarTeam is the sensitive display of file information. [File Status] Status field provides information stored in the StarTeam library and the relationship between your workstation. Understand these states and how to use this information can help you greatly improve your productivity. The value of the file status is listed in the following table:

Table 2: File status description

File status

description

Current

The files on the workstation are the same as the top of the corresponding files in the view.

Out of

Date

The file on the workstation is the same as the old revision of the corresponding file in the view.

Modified

Since the view is detected from the view, the workstation file has been modified, but there is no revision of this file update in the view.

Merge

Since the view is detected from the view, the workstation file has been modified and there is a revision of this file in the view.

Missing

This file in the workstation is found.

NOT IN

View

There is no corresponding file in the workstation in the view.

Unknown

This file does not have records detected from this view, but there is a file that is the same as the file under the corresponding work folder. Use the [Update Status] command to let StartEAM match the files on the workstation with a version of the files in the view and provide an accurate state.

When you update the status of the file, the StarTeam compares the work file with the revisions you detected and the top (nearest). For example: The file list may say that a file is [Current] status, but someone may already have a copy of it, so your true state should be [out of date].

The update file status is different from the update file. For example: Suppose a file is not in your work folder, the update status operation will let you know the status of the file is [missing]. It does not detect this file in order to make the status no longer [missing]. After all, you may not want the file to check out on your hard drive. In general, the status of the file is used to determine if the file should be checked, detected, joined or ignored. Once you are familiar with the status of the file, you can use it:

1. Check into the file, if it is [out of date], [missing] or [merge].

2, check out the file, if it is [modified] or [Merge].

3. Add the file to StarTeam if it is [Not in View].

4. During the detection, let you know that you need merge workstation files in advance.

5. Run [Visual Diff] to compare the working files of [out of date] with the top. This allows you to check the changes made by other team members before reviewing the top amendments.

6. Vire to check all files from an earlier building by rollback to a particular view tag (using [View-> Select Configuration ...], then return to the current configuration, by compais detected files Their top revision comes to view each modification since this build is created).

7, through the incremental rollback view and look up the status of the state [Modified] to find small changes caused by big problems. Use [History] to determine when the file is changed. 7 Concurrent Versions System

CVS mainly has the following features:

Free: Because it is open source project, natural free;

Cross-platform: can be used on many platforms;

Support parallel development: support a tree version tree for a file;

Higher security: You can support read-only users, and control users can only access the specified directory;

Support version Tags: Due to the versions of each file, the version tag is used to unify;

Flexible batch checkout function: support by the version tag, time, etc. check out the code;

And other basic features:

Check into the advertisement function;

Check out any version, version comparison and other functions;

Comparison of CVS and other commercial products:

The advantage is: free; functional and sustainable improvement; high efficiency; C / S has higher efficiency; high security; has version tag function.

Disadvantages: Do not support automatic creation directory; poor support for binary files.

8 Firefly

The Firefly software configuration management system has the following main features:

l Version Control: Track the creators, time and reasons for each change, thus speeding up the determination of problems and defects, and can easily reproduce any of the historical versions of the software system.

l Concurrent development support: Due to development and maintenance, it is required to achieve development personnel to work on the same software module at the same time, and simultaneously do different modifications to the same code part, even cross-regional distribution teams can not interfere with each other. , Collaborate, and do not lose control.

l Project branch management: Multiple versions of the same item can also support multiple versions of the same item, while you can merge multiple parallel versions when necessary.

l Integration with CRM (Change Request Management System): Can work together with the DTS system to coordinate workflows.

l Support a variety of platforms: you can work in today's popular operational platform.

l Support multiple document formats: not only support documentation in text format, but also support binary format.

l Support Change Set: It is possible to process a set of associated modifications as a collection of changes, rather than single processing a separate change.

l Support atomic transactions: It is possible to handle system operation as an indivisible action to maintain system consistency.

l Support for Notification: Support for actions in the system (such as check in and check), you can trigger some of the user-defined actions (such as in the email method to notify someone, etc.)

l Support for different places: can synchronize the contents of two SCM servers that are physically distributed.

l Support for personnel permissions: Support for the privilege setup of the development of relevant personnel, so that all operations are under the control of the system.

l Easy to expand, support enterprise-level applications: maintain good performance when developing scale expands, and it is easy to expand the development scale.

L is easy to use: concept is clear, easy to operate.

转载请注明原文地址:https://www.9cbs.com/read-106413.html

New Post(0)