Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1998-12-30
2002-01-01
Powell, Mark R. (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S152000, C707S793000
Reexamination Certificate
active
06336217
ABSTRACT:
FIELD OF THE INVENTION
This invention relates generally to computer systems, methods, and program products, and more particularly to computer systems, methods, and program products for software development.
BACKGROUND OF THE INVENTION
Object oriented programming is a computer programming packaging technique which provides reusable and easily expandable programs. In a traditional procedural program, emphasis is placed on methods to be conducted on particular data sets. By contrast, in an object oriented program, emphasis is placed on data. As is well known to those having skill in the art of object oriented programming, object oriented programs are composed of various types of “objects”.
An object is a data structure, also referred to as a “frame”, and a set of operations or functions, also referred to as “methods”, for accessing and manipulating the data structure. Objects having identical data structures and common behavior can be grouped together into, and collectively identified as a “class.” Objects are instances created from a particular class. Each object inherits the data structure and methods of the particular class from which it was instantiated. A hierarchical inheritance relationship exists between multiple classes. For example, one class may be considered a “parent” of another class (the “child” of the parent class). The child class is said to be “derived” from the parent class and inherits all of the attributes and methods of the parent class.
Increasingly, developers are utilizing a team approach in developing object oriented program applications. Component-based development is quickly becoming the focus of many new development efforts. In this type of development, team members working on an application share components stored in libraries to build applications. Components are basically encapsulated software objects, or specifications capable of creating such objects, providing some type of known service that can be used in combination with other components to build applications.
TeamConnection is a software product of International Business Machines, Inc. that provides a team development environment that includes the following: configuration management; version management; change management; and build support for developing multi-tier, multi-language applications across platforms. TeamConnection provides a single repository for development data including reusable parts such as JavaBeans and ActiveX, source code such as C++, COBOL and Java, web applets, HTML documents, end user documentation, test cases, and modeled objects.
TeamConnection facilitates parallel development involving multiple developers. Various mechanisms are provided for allowing developers to access the same objects or components in a corresponding library at the same time without negatively affecting the work of others. TeamConnection also mediates changes made to objects by multiple developers and for controlling the versions of objects stored in the library.
TeamConnection manages development utilizing “parts” which are uniquely named and “versioned” objects stored in TeamConnection. As is known to those skilled in the art of object oriented programming, TeamConnection provides an open model for using classes to create managed objects. A part class can be subclassed by applications to create versioned objects for application specific purposes. TeamConnection supports the development of client/server and distributed applications on Multiple Virtual Storage (MVS), OS/2, Unix and Windows operating systems, and can be configured as stand-alone, or in LAN-based client/server mode.
Developers utilizing the TeamConnection environment, are permitted to “check-out” parts from the TeamConnection repository to a work area. A work area is used by developers to modify existing parts and create new parts for an application. To retrieve a part from TeamConnection, a developer uses an application that checks out the part and brings over the part contents in some form that the user can work with. For example, for a part that stores C++ source code, the application would be one that retrieved the contents into a file so the developer could employ a text editor to modify the C++ source code. Then, when the changes are complete, the developer uses the same application to move the new contents back into TeamConnection. The developer then asks TeamConnection to build the C++ code into an executable. TeamConnection gives the contents of the part to a C++ compiler to produce the executable which is then saved in TeamConnection. The developer can now retrieve and test the executable.
While TeamConnection allows for the efficient management of software libraries, TeamConnection does not provide for tracking documentation which may underlie the entire software development process. Such documentation is typically tracked and managed in a separate system which is isolated from the software library and configuration control tool such as TeamConnection. Thus, while many software development teams may realize the need for a software library and configuration control tool as they develop more complex applications, other intellectual assets of the team, such as technical documentation may be scattered in a wide variety of mediums which are typically not well synchronized with the actual implementation of the software product. For example, users may not know the status of development as it relates to design specifications or other technical information during the development process. Without this information, it may be difficult, if not impossible, to track the status of particular requirements or designs through the development process and relate versions of software back to the specific requirements that resulted in the software being developed. This inability to track status may be a disadvantage if the development team is to be expanded to include more than the software developers such as to include marketing, technical writers and system architects. Furthermore, without a traceable audit process it may be difficult to achieve certification, such as ISO9000 or other certification standards.
SUMMARY OF THE INVENTION
In view of the above discussion, it is an object of the present invention to provide improved tracking of software development.
A further object of the present invention is to provide a system which allows coordination beyond traditional software developers.
Yet another object of the present invention is to provide a single system which may be used in differing aspects of the development process without redesigning the development system.
Still another object of the present invention is to provide a system development system which is flexible and allows for differing development strategies.
These and other objects of the present invention are provided by systems, methods and computer program products which provide an end-to-end software development tracking system including a software change management system which manages software versions and releases. A document management system tracks documentation related to software development and provides data associated with documents in the document management system to the software change management system. The document management system also receives data from the software change management system so as to track changes in the software versions and releases associated with documents in the document management system.
In a particular embodiment of the present invention, the document management system includes a plurality of document databases. A template encapsulates the plurality of document databases so as to coordinate the plurality of document databases as a single documentation database. In particular, the plurality of document databases may include a requirements documents database, a design documents database and a test documents database. In a specific embodiment, the software change management system is TeamConnection. Furthermore, the document management system preferably comprises a Lotus Notes template an
D'Anjou James F.
Percival, III Lynn Cleveland
International Business Machines - Corporation
Khatri Anil
Myers Bigel & Sibley & Sajovec
Powell Mark R.
LandOfFree
Systems, methods and computer program products for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Systems, methods and computer program products for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Systems, methods and computer program products for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2848343