Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS5587935 A
Publication typeGrant
Application numberUS 07/812,598
Publication dateDec 24, 1996
Filing dateDec 23, 1991
Priority dateDec 23, 1991
Fee statusLapsed
Publication number07812598, 812598, US 5587935 A, US 5587935A, US-A-5587935, US5587935 A, US5587935A
InventorsJeffrey S. Brooks, Stephen L. Dohanich
Original AssigneeInternational Business Machines Corporation
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Integrated software development system including group decision support subsystem, application development subsystem, and bridge subsystem therebetween
US 5587935 A
Abstract
Disclosed is an integrated system for creating a process model and writing software based on the process model. The integrated system includes three subsystems, a group decision support subsystem, an applications development subsystem, and a bridge subsystem. The group decision support subsystem is used for creating and ordering a process model according to a protocol. The application development subsystem is used for writing software based on the output of the group decision support subsystem. The bridge sub-system converts the output of the group decision support subsystem to compatible input of the application development subsystem.
Images(18)
Previous page
Next page
Claims(1)
We claim:
1. An integrated system for creating a process model and writing software based on the process model, including a group decision support subsystem for creating and ordering a process model according to a protocol, an application development subsystem for writing software based on the output of the group decision support subsystem and a bridge sub-system therebetween for converting output of the group decision support subsystem into input of the application development subsystem, wherein:
a. said group decision support subsystem comprises one or more of:
(1). means for substantially simultaneously and anonymously collecting information, and exchanging ideas and comments about the said information from participants;
(2). issue analysis and idea organization means for the participants to group, categorize and define issues and ideas from the collected information;
(3). voting application means and alternative evaluation means for the participants to rank and prioritize issues and ideas;
(4). topic commenter means for participants to view and comment upon issues and ideas; and
(5). dictionary means;
b. said application development subsystem comprises rules repository means; and
c. said bridge subsystem comprises means to convert the output of the group decision support subsystem to compatible input of the application development subsystem, including:
(1). means for opening output of the group decision support subsystem and scanning directories thereof for object files;
(2). means for creating and opening initially empty input files of the application development subsystem;
(3). means for parsing an object file output of the group decision support system into object names and object definitions to determine the file contents of the group decision support subsystem output file, and thereafter writing the dissected object names and object definitions into application development subsystem files;
(4). means for building application development subsystem compatible files and writing the application development subsystem compatible files to the application development subsystem, comprising:
i. means to remove the software system delimiters and protocols inserted by the group decision support system;
ii. means to concatenate token numbers to name data and property codes to support data; and
iii. means for uniformly writing out the application development subsystem files.
Description
FIELD OF THE INVENTION

The invention, while not necessarily being so limited, relates generally to process management and the development of software. More specifically, the invention relates to the use of group decision support systems (such as IDEF0, Integrated Computer Aided Manufacturing Definition Level Zero) and methods to define needs, as software needs, and the integration of the group decision support definition process into the computer assisted software engineering environment through a bridge linking the group decision support system and the computer assisted software engineering environment.

BACKGROUND OF THE INVENTION

Computer aided software engineering (CASE) is a powerful software development tool, with the potential of reducing software development backlogs and software maintenance. However, as pointed out by Chang-Yang Lin and Chen-Hua Chung, in "End-User Computing In A CASE Environment," J.Info.Syst.Manage., Vol.8, No. 2 pp. 17-21 (1991), CASE tools are still used primarily by information science professionals, rather then by end-users. This is a serious shortcoming of CASE tools, because as new conditions and opportunities arise, the end-users are the best judges of end-user needs and ways of doing business. CASE tools can not reach their full potential without significant end-user involvement.

In this regard, Lin and Chung posit that CASE is a form of Group Decision Support System (GDSS), in that end-users can participate in the CASE process. End-user participation in the CASE process and environment requires structuring the CASE environment to support end-user applications development.

CASE is an environment of integrated tools that automate the systems development process. Ultimately, Lin and Chung argue that CASE should be able to capture requirements in natural English statements and automatically generate systems that meet these requirements. However, they point out that this is not an easily attainable goal. This is because CASE tools only automate limited portions of the software life cycles, i.e., code generators and diagramming tools.

In this regard, the CASE environment can be regarded as a set of software tools that provide some degree of automation to one or more phases of the system life cycle, e.g., code generation. CASE accomplishes this through a central repository, rules, reusable software, and tools that support systems development. Exemplary systems development tools include, solely by way of exemplification and not limitation include:

1. Diagramming tools for analysis and design of an enterprise's data, activities, and interactions.

2. Dictionary tools for recording, maintaining, and reporting system details.

3. Prototyping tools that support, for example, user interfaces, inputs, dialogs, outputs, forms, and reports through the use of screen generators, report generators, and menu generators. These prototyping tools may also be the outputs of the CASE system.

4. Code construction tools including code generators to automate conversion of specifications into high level languages and data bases.

To be noted is that the set of CASE tools encourages user-developer interaction by its support of diagramming and programming tools. This gives rise to Joint Application Development (JAD). JAD is an extension of CASE, relying on interviewing and user understandable user interfaces.

Prototyping is the normal form of end-user interface to the CASE environment. Even this level of interface requires heavy Information Scientist involvement. In a prototyping environment, users use, for example, entity-relationship diagrams and process hierarchy diagrams to produce a graphic representation of a proposed system. End users may also use prototyping tools to lay out screens and reports, and define tables and reports. These activities may involve GDSS methodology.

The output of the end-user prototyping process is not a direct input to the CASE environment. CASE is still, primarily an Information Science professional tool. Lin and Chung do not propose an interface to the end-user. To the contrary, they propose an new generation of CASE tools and environments. Lin and Chung propose that this new generation of CASE tools start from a task oriented, icon based system, supporting sophisticated application generation through the direct manipulation of icons representing reusable codes. This new CASE environment would combine prototyping with a simplified and standardized, user friendly, graphical user interface, and would have built in expert systems.

Another end-user software development system is the Information Center Expert (ICE), which is described, for example, by Ajay S. Vinze, Douglas Ro Vogel, and Jay F. Nunamaker, Jr., in "Validation of a Knowledge-Based System: The ICE Case," Proceedings of the Twenty-Third Annual Hawaii International Conference On Systems Sciences, 1990, Volume 3, pp. 239-246. ICE is an expert system that is designed to allow an end user to develop application specific software. It does this through a graphical user interface, and four subsystems:

1. A profiling subsystem that collects information necessary to generate a user profile and a problem profile.

2. A requirement--software matching subsystem that initiates an algorithm to match the user profile and the problem profile with a profile of the software tools supported by ICE.

3. A tracking subsystem that captures the "consultation" results.

4. A maintenance subsystem that maintains information about tool resources and profiles.

ICE is an expert system based "matching" system, that matches requirements with available software tools and packages.

The goal of the various systems is to empower the software end-user to develop the end-use specific application software. The existing systems fail to accomplish this empowerment. This is because they fail to provide a user driven application development environment, in which an end-user group defines its software needs and develops software to fill those user-defined needs.

The above described systems, i.e., expert systems and enhanced CASE environments, while being strong attempts to empower non-experts, i.e., end users, to complete the steps of creating application software in the same way that an expert would, require an high level of software development expertise on the part of the end-user. Thus, they fail to take advantage of the end-user's superior knowledge of the task specific application software needs.

Nor do the above systems even attempt to integrate group decision support methods with computer assisted software engineering methods in a single, interactive, synergistic system.

Thus, a clear need exists for an interactive, integrated group decision support system with a computer assisted software engineering system.

OBJECTS OF THE INVENTION

It is a primary object of the invention to empower end-users to develop their own application specific software.

It is another object of the invention to facilitate this empowerment in a group setting.

It is a further primary object of the invention to provide a user driven application development environment, in which the end-user group defines its software needs and develops software to fill those user-defined needs.

In this regard, it is a still further primary object of the invention to empower non-experts, i.e., end users, to complete the steps of creating application software in the same way that an expert would, thereby taking advantage of the end-user's superior knowledge of the task specific application software needs.

It is a further object of the invention to integrate group decision support methods with computer assisted software engineering methods.

It is a still further object of the invention to integrate group decision support methodology and the application development process into a single, interactive, synergistic system.

SUMMARY OF THE INVENTION

These and other objects of the invention are obtained by the integrated software development system of the invention, including an integrated group decision support subsystem, an integrated application development subsystem, and an integrated bridge subsystem providing a software link between the group decision support subsystem and the application development subsystem. The application development sub-system may be a CASE toolkit or workbench, or a rules repository.

The integrated system provides a user driven application development environment, in which the end-user group defines its software needs and develops software to fill those user-defined needs. In this way a non-expert can complete the steps of creating application software in the same way that an expert would. This is because the end-user knows the task specific needs, e.g., application software needs or rule repository needs, better than an outside developer. More particularly, the integrated system back integrates the application development sub-system, used to develop the application software, e.g., a computer assisted software engineering workbench and toolkit, or a rules repository, into the group decision support system used to define the software needs.

The integrated system is particularly useful for creating enterprise specific process models and writing software, including rules repositories, based on the enterprise-specific process model. The group decision support subsystem is used by the participants, e.g., end-users, for creating and ordering a process model according to a protocol. Using this protocol, the bridge sub-system transforms the output of the group decision support subsystem into the input of the application development subsystem. The application development subsystem is used for writing software or rules repositories based on the bridge transformed output of the group decision support subsystem.

The group decision support subsystem of the invention may be any standard group decision support subsystems. It is characterized by having one or more of the following group decision support tools:

(1). Electronic brainstorming for facilitating substantially simultaneous and anonymous information collection, with concomitant exchange of ideas and comments about the collected information from the participants.

(2). Issue Analysis and Idea Organization capability. This allows the participants to group, categorize and define issues and ideas from the collected information.

(3). Voting Application capability. This facilitates ranking and prioritization of issues and ideas.

(4). Topic Commenter capability to facilitate viewing and comment on the issues and ideas.

(5). A dictionary means that allows participants to define words that are ambiguous.

(6). Specific software for compatibilizing the output of the group decision support system to the input of either the bridge subsystem or the application development subsystem.

The application development subsystem includes one or more of the following tools:

(1). An Association Matrix tool that allows users to describe relationships between objects. This can provide a matrix output or a tabular output.

(2). A Decomposition Diagrammer tool that allows users to decompose objects into greater levels of detail.

(3). A Property Matrix Diagrammer tool that allows users to describe the properties of objects.

(4). An Entity Relationship Diagrammer tool that allows users to describe data requirements the enterprise as well as the data requirements of and between objects within the enterprise.

(5). A Data Flow Diagrammer Tool that allows users to identify data flowing into, out of, and between objects.

(6). A rules repository.

The group decision support subsystem and the application development subsystem of the integrated system are joined by a bridge subsystem. The bridge subsystem converts the output of the group decision support subsystem to compatible input of the application development subsystem.

THE FIGURES

The invention may be understood by reference to the FIGURES appended hereto.

FIG. 1 is a schematic view of the integrated system of the invention.

FIG. 2 is a block diagram of the integrated system of the invention.

FIG. 3, which is made up of 13 sheets, FIGS. 3A through 3M, is a REXX listing of the bridge subsystem of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The integrated software development system of the invention is shown in the FIGURES. The system 1 includes an integrated group decision support subsystem, 11, an integrated application development subsystem, 21, and an integrated bridge subsystem, 31, providing a software link between the group decision support subsystem, 11, and the application development subsystem, 21.

The group decision support subsystem, 11, of the invention may be any standard group decision support subsystems. The preferred GDSS's for end user software development increase the over quantity of effort put forward by the team members, while focusing the efforts of the end-user team members toward the software product, This is done in an environment that increases consensus reaching while decreasing decision making time.

One suitable GDSS is "Team Focus," a facilitator led, GDSS. "Team Focus" uses desktop computers, connected through a local area network. It allows participants to anonymously generate, exchange, categorize, and prioritize ideas, and formulate plans and policies based on the ideas. As described below, "Team Focus" has electronic brainstorming, issue analysis/idea organization, voting, topic commenter, alternative evaluation, policy formation, group dictionary, and questionnaire tools.

"Team Focus," like other suitable GDSS environment tools and environments, is characterized by having one or more of the following group decision support tools:

(1). Electronic brainstorming for facilitating substantially simultaneous and anonymous information collection, with concomitant exchange of ideas and comments about the collected information from the participants.

(2). Issue Analysis and Idea Organization capability. This allows the participants to group, categorize and define issues and ideas from the collected information.

(3). Voting Application capability. This facilitates ranking and prioritization of issues and ideas.

(4). Topic Commenter capability to facilitate viewing and comment on the issues and ideas.

(5). A dictionary means that allows participants to define words that are ambiguous.

(6). Specific software for compatibilizing the output of the group decision support system to the input of either the bridge subsystem or the application development subsystem.

In a preferred exemplification of the invention, the application development subsystem, 21, is a CASE workbench subsystem to support the analysis and design of a software system. This is generally accomplished through support of graphical notations, tools and concepts. Exemplary is Structured Design. The CASE environment allows for continuous and smooth transition from the planning stage carried out in the GDSS subsystem, 11, to the construction stage of the application, with data sharing, consistency, and compatibility between the CASE tools

The application development susbsystem, 21, includes one or more of the following tools:

(1). An Association Matrix tool that allows users to describe relationships between objects. This can provide a matrix output or a tabular output.

(2). A Decomposition Diagrammer tool that allows users to decompose objects into greater levels of detail.

(3). A Property Matrix Diagrammer tool that allows users to describe the properties of objects.

(4). An Entity Relationship Diagrammer tool that allows users to describe data requirements the enterprise as well as the data requirements of and between objects within the enterprise.

(5). A Data Flow Diagrammer Tool that allows users to identify data flowing into, out of, and between objects.

(6). A rules repository.

The group decision support subsystem, 11, and the application development subsystem, 21, of the integrated system, 1, are joined by a bridge subsystem, 31. The bridge subsystem, 31, converts the output of the group decision support subsystem, 11, to compatible input of the application development subsystem, 21.

The bridge subsystem, 31, opens the output file of the group decision support subsystem, 11, and also opens the input file of the application development subsystem, 21. The bridge susbsystem, 21, determines the file contents, that is, does the file contain data information or process information ? Next, the bridge subsystem removes the software system delimiters and protocols inserted by the group decision support system, 11. The bridge subsystem, 31, then concatenates token numbers to name data and property codes to support data. These data type are used by the bridge subsystem, 31, to build CASE compatible output files, and to write to the files.

The bridge subsystem, 31, integrates the group decision support subsystem, 11, and the application development subsystem, 21, into an interactive, synergistic system, 1.

FIG. 3 shows a REXX language listing of one exemplification of the bridge subsystem of the invention. While FIG. 3 shows a REXX language listing, it is, of course, to be understood that any language, as C, PASCAL, FORTRAN, BASIC, or the like may be used.

The group decision support subsystem, 11, is used by the participants, e.g., end-users, for creating and ordering a process model according to a protocol. Using this protocol, the bridge sub-system, 31, transforms the output of the group decision support subsystem, 11, into the input of the application development subsystem, 21. The application development subsystem, 21, is used for writing software based on the bridge transformed output of the group decision support subsystem, 11.

Thus, according to the method of the invention there is provided a user driven application development environment, in which the end-user group defines its software needs and develops software to fill those user-defined needs. The integrated system of the invention empowers non-experts, i.e., end users, to complete the steps of creating application software in a Group Decision Support System environment in the same way that an expert would. This is because the end-user knows the task specific application software needs better than an outside developer.

More particularly, utilizing the bridge subsystem, the integrated system back integrates the application development sub-system, used to develop the application software, e.g., a computer assisted software engineering workbench and toolkit or a rules repository, into the group decision support system used to define the software needs. Thus, the integrated system of the invention expedites creating enterprise specific process models and writing software based on the enterprise-specific process model.

While the invention has been described with respect to certain preferred embodiments and exemplifications thereof, it is not intended to limit the scope of the invention thereby, but solely by the claims appended hereto.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US4713775 *Aug 21, 1985Dec 15, 1987Teknowledge, IncorporatedIntelligent assistant for using and operating computer system capabilities to solve problems
US4809170 *Apr 22, 1987Feb 28, 1989Apollo Computer, Inc.Computer device for aiding in the development of software system
US4841441 *Aug 1, 1985Jun 20, 1989Adata Software LimitedMethod of creating a computer system
US4951192 *Jun 4, 1987Aug 21, 1990Apollo Computer, Inc.Device for managing software configurations in parallel in a network
US5008853 *Dec 2, 1987Apr 16, 1991Xerox CorporationRepresentation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5075847 *May 26, 1989Dec 24, 1991Hewlett-Packard CompanyMethod and apparatus for computer program encapsulation
US5170465 *Jun 30, 1989Dec 8, 1992Digital Equipment CorporationIncremental-scanning compiler for source-code development system
US5233513 *Dec 28, 1989Aug 3, 1993Doyle William PBusiness modeling, software engineering and prototyping method and apparatus
Non-Patent Citations
Reference
1"End-User Computing In A CASE Environment" J. Info. Syst. Management; vol. 8, No. 2 pp. 17-21; C. Lin et al (1991).
2"Validation Of A Knowledge-Based System: The ICE Case", Proceedings Of The Twenty-Third Annual Hawaii International Conference On Systems Sciences, 1990, vol. 3, pp. 239-246.
3 *End User Computing In A CASE Environment J. Info. Syst. Management; vol. 8, No. 2 pp. 17 21; C. Lin et al (1991).
4 *Validation Of A Knowledge Based System: The ICE Case , Proceedings Of The Twenty Third Annual Hawaii International Conference On Systems Sciences, 1990, vol. 3, pp. 239 246.
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US5729746 *Oct 23, 1995Mar 17, 1998Leonard; Ricky JackComputerized interactive tool for developing a software product that provides convergent metrics for estimating the final size of the product throughout the development process using the life-cycle model
US5734890 *Aug 22, 1995Mar 31, 1998Gartner GroupSystem and method for analyzing procurement decisions and customer satisfaction
US5819270 *Aug 27, 1997Oct 6, 1998Massachusetts Institute Of TechnologyComputer system for displaying representations of processes
US5995951 *Jun 4, 1996Nov 30, 1999RecipioNetwork collaboration method and apparatus
US6029169 *May 1, 1997Feb 22, 2000Stratum Technologies CorporationUniversal software structure for representing model structures
US6047288 *Jul 19, 1996Apr 4, 2000Canon Kabushiki KaishaGroup environment setting method and system thereof to provide an equivalent environment for plural participants
US6292830Aug 7, 1998Sep 18, 2001Iterations LlcSystem for optimizing interaction among agents acting on multiple levels
US6370681Oct 28, 1997Apr 9, 2002Massachusetts Institute Of TechnologyComputer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions
US6401114May 1, 1998Jun 4, 2002Stratum Technologies CorporationMethod and apparatus for dynamic programming across a computer network
US6507845Sep 14, 1999Jan 14, 2003International Business Machines CorporationMethod and software for supporting improved awareness of and collaboration among users involved in a task
US6678723Mar 29, 2002Jan 13, 2004Startum Technologies CorporationMethod and apparatus for dynamic programming across a computer network
US7035860Jan 17, 2003Apr 25, 2006International Business Machines CorporationTrusted access by an extendible framework method, system, article of manufacture, and computer program product
US7150000Aug 15, 2000Dec 12, 2006Nash Controlware, Inc.Component development with autonomous and compiled components to implement and consume services with components operate in edit and run mode
US7162519Nov 24, 2003Jan 9, 2007Stratum Technologies CorporationStructure and method for providing customized web pages-therefor
US7272544Jan 15, 2004Sep 18, 2007Honeywell International Inc.Integrated modeling through symbolic manipulation
US7624161Jan 2, 2007Nov 24, 2009Open Invention Network, LlcMethod and apparatus for email programming across a computer network
US7774429Aug 15, 2003Aug 10, 2010Open Invention Network, LlcMethod and apparatus for dynamic programming across a computer network
US8055531 *May 4, 2001Nov 8, 2011The Boeing CompanyMethod and computer program product for assessing a process of an organization
US8166448May 25, 2007Apr 24, 2012Microsoft CorporationRapid development of distributed web service
US8225272Oct 30, 2006Jul 17, 2012Savigent Software, Inc.System and method for generating distributed information systems
US8494436May 28, 2009Jul 23, 2013Watertown Software, Inc.System and method for algorithmic selection of a consensus from a plurality of ideas
US8639776Jul 28, 2010Jan 28, 2014Jimmy J. JenkinsDynamic programming across a computer network
US20080115103 *Feb 14, 2007May 15, 2008Microsoft CorporationKey performance indicators using collaboration lists
US20100146404 *Feb 16, 2010Jun 10, 2010Paul NykampMethods for interactive and synchronous display session
WO1998049612A1 *Apr 29, 1998Nov 5, 1998Stratum Technologies CorpUniversal software structure for representing model structures
WO1999008254A1 *Aug 7, 1998Feb 18, 1999Taylor GailSystem and method for facilitating interaction among agents
WO2000020968A2 *Sep 17, 1999Apr 13, 2000Unisys CorpA software system development framework
WO2000041081A1 *Dec 30, 1998Jul 13, 2000Terry K GilliamComputer-based group problem solving method and system
WO2001003026A1 *Jul 6, 2000Jan 11, 2001Paul C VerhaegheComputer based conferencing system
WO2008063861A2 *Nov 6, 2007May 29, 2008Shawn M DavisSelection of a consensus from a plurality of ideas
Classifications
U.S. Classification703/2
International ClassificationG06F9/06, G06F9/44
Cooperative ClassificationG06F8/10
European ClassificationG06F8/10
Legal Events
DateCodeEventDescription
Feb 22, 2005FPExpired due to failure to pay maintenance fee
Effective date: 20041224
Dec 27, 2004LAPSLapse for failure to pay maintenance fees
Jul 14, 2004REMIMaintenance fee reminder mailed
Jan 5, 2000FPAYFee payment
Year of fee payment: 4
Dec 23, 1991ASAssignment
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION A COR
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:BROOKS, JEFFREY S.;DOHANICH, STEPHEN L.;REEL/FRAME:005976/0595
Effective date: 19911219
Sep 27, 1988ASAssignment
Owner name: 3 T S.P.A., VIA MASACCIO 26, 10151 TORINO, ITALY,
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:BORROMEO, LUCIO;REEL/FRAME:004950/0935
Effective date: 19851210
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BORROMEO, LUCIO;REEL/FRAME:4950/935
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BORROMEO, LUCIO;REEL/FRAME:004950/0935
Owner name: 3 T S.P.A., VIA MASACCIO 26, 10151 TORINO, ITALY,
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BORROMEO, LUCIO;REEL/FRAME:004950/0935
Effective date: 19851210
Owner name: 3 T S.P.A., VIA MASACCIO 26, 10151 TORINO, ITALY,
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BORROMEO, LUCIO;REEL/FRAME:4950/935
Effective date: 19851210