Master's Thesis Proposal

Distributed Software Change Management System via

the Java, Web and Database

by

Hai Yang

I. Introduction

Software Change Management (SCM) can be thought of as configuration management (CM) tightly integrated with a change request/problem tracking system via a workflow backbone[1]. SCM moves a Capability Maturity Model (CMM) Level 3 [2] organization beyond the management of a particular system and encompasses management of the entire software development process.

With the enormous expansion of the Internet and its increasing use as a means of communicating among geographically dispersed software developers, the need for distributed SCM over the Internet has become acute. Java's platform independent capability makes the distributed SCM feasible.

PERFORCE [3] is a leading-edge configuration management system providing all standard CM features and fully effective in a distributed environment, and it is adopted as the CM system of HPDRC. A distributed SCM with fully taking advantage of PERFORCE CM features has been proposed and a practical framework will be implemented in the proposed thesis via Web database [4] and Java.

II. Motivation

The Need for Distributed Software Change Management

There are several key factors [5] that have driven the need for distributed SCM.

Configuration Management and Problem Management

Configuration management (CM) is a key element of the software process. This discipline provides stability to the production of a software system by controlling the product evolution[6]. Dart[7] defines eight functionality requirements for CM, component, structure, construction, auditing, accounting, controlling, process and team.

Problem Management (PM) manages defects and enhancement requests throughout the entire software development and maintenance lifecycle. The PM system supports team process models that require specific procedures for making changes. PM system needs to provide full tractability between the change request, the tasks to implement the request, and the physical files that were changed in performing the tasks.

Software Change Management Solution

Software Change Management combines modern CM with workflow and process technology to focus on the overall CM development process and provide a level of team automation necessary to achieve the quality and time-to-market objectives of today's software teams[5].

There are five distinctive but interrelated components of the SCM [5]:

PERFORCE system

The PERFORCE [3] system is a fast software configuration management system. It is built upon a true client/server architecture, works in a heterogeneous environment, provides atomic change transactions, flexible client views, and a powerful branching model. Furthermore, PERFORCE is adopted as the standard can take advantage.

The Java, Web and Database

The Web offers standardization of the user interface, high transaction volume, and the ability to work across platforms and applications. It provides a unique opportunity for the development of applications that are system independent and accessible to everyone on the Internet. Developing application using Java results in software that is secure, high performance, portable across multiple machine architectures, operating systems, and graphical user interfaces. It provides us a new approach to distributed computing [7].

The acute need of SCM, a fully functional CM, and the advantages of Web database and Java makes the distributed SCM a valuable framework that will be implemented in the proposed thesis.

III Implementation Proposal

Functionality

The capabilities in the framework of distributed software change management (DSCM) are,

Architecture

The DSCM will be designed as a three-tiered client/server architecture.

Clients

There are two version's clients. The web-version client can allow user query and report all information in the problem domain system, and all available information from change tracking database and PERFORCE system. Stand-alone version clients give you complete access to PERFORCE system while you are in

DSCM. You can browse history information, check in/out and attach a history of PERFORCE files and version numbers to each bug report. The stand-alone client could be started in the web-version client as a helper or in command line.

Server

The server tier is occupied by a database server, and the middle tier holds a web server and a server extension program. The server extension program accepts the requests that are passed to it, converts them to a form that the database server will accept, and passes them to the database server. After the database

server returns a result set, the server extension program converts the database results to a form that the web browser will accept, and passes them to the web server in turn passes them to the web browser.

Furthermore, in DSCM, the server extension program also provides workflow/process management capabilities. Several classes of users from a hierarchy of access rights to information in the database have different roles and responsibilities. Several levels of access controls exist such as access based on passwords, user classes and specific data item or change request assignments. The server extension program could enforce the security of these concepts.

Technologies

For above capabilities and architecture, following technologies might be used in DSCM,

IV. Related Work

Continuus/CM [5] is one of the few systems that have been seamlessly implemented with all major functionalities of SCM. Others vendors take the approach that integrate their own CM or PM application with PM or CM from the same or different vendors, such as ClearTrack/ClearCase [8] and Visual Intercept [9]/Microsoft Visual SourceSafe [10]. The proposed DSCM differs from all other system above in truly distributed with platform independence, lightweight client side, and reduced requirement of server support.

V. Conclusion

The proposed thesis will implement a framework of distributed software change management (DSCM) system using Java and Web/Database. Software Change Management emerged from the need to merge modern configuration management technology with change tracking, workflow and process technology,

into a single, flexible solution for software development and maintenance. The use of Java and Web/Database enables the system to be more distributed, robust and responsive. The SCM with Java and Web/Database makes it feasible to implement the framework of a truly distributed software change management system.

VI. References

[1] Continuus Software Corporation, "Change Management & Validation," 1997.

[2] Mark C. Paulk, Bill Curtis, Mary Beth Chrissis, Charles V. Weber,

"Capability Maturity Model (SM) for Software, Version 1.1," Technical report, CMU/SEI-93-TR-024, 1993.

[3] Perforce Software, http://www.perforce.com

[4] Gurt Lang, Jeff Chow, "Database Publishing on the Web & Intranet,"

Coriolis Group, Inc. 1996

[5] Continuus Software Corporation, "Continuus/CM: Change Management for Software Development"

[6] Peter H. Feiler, "Configuration Management Model in Commercial Environments," Technical Report, CMU/SEI-91-TR-7, 1991.

[7] James Gosling, Henry McGilton, "The Java Language Environment White Paper," Sun Microsystems, Inc., 1996.

[8] Pure Atria, http://www.pureatria.com

[9] Elsinore Technologies, Inc., http://www.elsitech.com

[10] Microsoft Corporation, http://www.microsoft.com

[11] James J. Hunt, Frank Lamers, Jurgen Reuter, and Wakter F. Tichy, "Distributed Configuration Management via Java and the World Wide Web," 7th International Workshop on Software Configuration Management in Boston, 1996.


Click HERE to vote for this page as a Starting Point Hot Site.
If you have fast access and sound device, please visit its Multimedia version.
There are so many hits on this site since last update.

This page hosted by Get your own Free Home Page