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.