<<

AN INTERACTIVE GRAPHICS EDITOR WITH INTEGRATED DICTIONARY FOR IDEFo

Thomas . Hartrum, Ted D. Connally, and Steven E. Johnson Department of Electrical and School of Engineering Air Force Institute of Technology Wright-Patterson AFB, Dayton, Ohio, 45433

supports a classical process-oriented lifecycle based on the Abstract ideas in Dod Standard 2167. A standard “waterfall” model Most of the commercially available structured analysis tools are is followed, consisting of a Analysis phase, a based on data flow diagrams. However, many Government agencies, from the Air Force Materials Laboratory to the Strategic Defense Ini- Design phase, an Implementation & Testing phase, and a tiative Office depend on IDEFo diagrams, a derivative of SofTech’s Maintenance phase. Each phase is supported by Structured Analysis and Design Technique (SADT’). This paper de- consisting of specific entries. scribes SAlool, a graphics IDEFo editor for a SUN workstation. This paper describes a graphics tool developed to sup- An extension of the original IDEFo definition is a data dictio- nary. Entries are defined for both activities and data items, and port the phase and the integration mapped into a relational database management (DBMS). A of that tool with a centralized relational database manage- data manager handles checking data out of the centralized DBMS in ment system. Some results of analysis of user satisfaction a format useable by the graphics editor and updating the appropriate with this tool are also presented. This paper describes relations when the data is checked back in. The data manager was developed in a generic format to support other development the integration of these two techniques into a computer tools. automated tool SAtool for the purpose of improving the The editor and data manager, as part of the Air Force Institute analyst’s productivity. This pro- of Technology’s System 690 system, were used ductivity increase is possible for two significant reasons. in the development of a distributed mail system. User acceptance of the tool was measured through the use of a user survey. Results of First, several pieces of information are needed for both an this survey, as well as a description of the editor and data manager, SA and the corresponding data dictionary entries. are presented in the paper. The integration of the two methods eliminates significant duplication of effort to enter the information. Second, the analyst is freed from much of the effort needed to create the diagram manually by using a tool tailored for this specific 1 Introduction purpose. SAtoolexecutes on a SUN workstation and trans- fers data dictionary information over a TCP/IP local area System 690 is the name given to the software development network (LAN) and through a data manager to a central environment under development at the Air Force Institute relational database management system on a Unix-based of Technology’s Department of Electrical and Computer Vax computer. Engineering. The goal of System 690 is to provide an integrated system in which a designer could sit down at 2 Requirements Analysis Method- a workstation, download the necessary data from a cen- tral database, work on a portion of the design, and when ology finished, upload the modified data back to the database. This data, stored in a comprehensive,centralized database, The requirements analysis phase of the software life cycle would support a system which could share data between is an important one. System 690 has established an anal- tools and provide the means to document a software project ysis methodology for this phase of the software life cycle throughout its entire life cycle. that consists of using structured analysis (SA) d’iagrams System 690 is based on a set of integrated workstation and a data dictionary. This section describes each of the tools and a central database to support a specific design components. methodology. In its current implementation, System 690 2.1 ’SA Diagrams ‘SADT is a registered trademark of SoUech, Inc The SA diagrams use a graphical language that is de- This work sponsored by SDI0 rived from the Structured Analysis and Design Technique

765

U.S. Government work not protected by U.S. copyright. AUTHOR' lEdM 4 ~O~lE.BI/BBIEB~R€~DERI I I (SADT) (SADT is a trademark of SofTech, Inc.), and are PROJECT: ECS (REV:I.I DATE accompanied by facing page text to assist in the under- optlo" standing of the diagram. Rectangular boxes and arrows are the primary graphical constructs used in an SADT di- agram. The boxes represent the decomposition of the func- tions .of the system being analyzed. The arrows are used to describe how the boxes interface between each other on the diagram. The graphical language consists of English text to label the diagram and 40 graphical constructs to describe relationships [I]. SofTech proposed that the SADT methodology could be applied to many types of problems in addition to soft- ware requirements analysis [2]. The U.S. Air Force Pro- gram for Integrated Computer Aided Manufacturing (ICAM) adopted a version of SADT from SofI'ech and called it ICAM Definition Method Zero or IDEFO. Now the Air Figure 1: Example IDEFo Diagram Force uses this similarly structured methodology to im- prove the communication of people who use computers to increase manufacturing productivity. System 690 uses the IDEFo syntax to support the re- quirements analysis phase of the software development life- cycle. A example of an IDEF, diagram as produced by NAME: mess-parts SAtoolis shown in Figure 1. PROJECT: NETOS-IS0 TYPE: PARAMETER 2.2 Data Dictionary DESCRIPTION: Decomposed message parameters. : C structure or PASCAL record. The purpose of a data dictionary is to manage and docu- MIN VALUE None ment data. According to Lefkovits (Lefkovits, 1977), using MAX VALUE: None data dictionaries provides many benefits including: reduc- RANGE OF VALUES: None tion of administrative effort, reduction of data redundancy, VALUES: None and reduction of system development costs. Regarding PART OF: None software requirements analysis, Leong-Hong and Plagman COMPOSITION: suggested that data dictionaries are an excellent vehicle SRC for maintaining documentation. Furthermore, they rec- DST ommended that the data dictionary systeiii for producing QTY documentation be automated to reduce the monotony of Buffer the task. [3]. ALIAS: Message Parts In System 690, a data dictionary is established for WHERE USED: Passed to Flush Buffer. the Requirements Analysis, Design, and Implementation COMMENT: Part of existing library. phases of the software life cycle. Each of these phases con- REFERENCE: MSG-PARTS sists of a set of action entities and a set of object entities REFERENCE TYPE: SADT for a total of six types of data dictionary entries. Figure 2 VERSION: 1.2 shows a sample data dictionary entry. VERSION CHANGES: Component USE added The data dictionary entries, as can be seen from Fig- DATE: 11/05/85 ure 2, are designed to be readable by human analysts. The AUTHOR. T. C. Hartrum corresponding relational database consists of a number of CALLING PROCESS: Process Message third-normal form relations. (Figure 3 shows the schema PROCESS CALLED: DecomposeMessage for the design phase object entity). The data dictionary DIRECTION: up database contains the schema for all six data dictionary en- 1/0 PARAMETER NAME: partslist tries, and is implemented using the Ingres relational DBMS under the Unix operating system on a VAX 111785. Figure 2: Sample Design Phase Object Entity Dictionary Entry [4]

744 parameter 2. Break the input process into parts to achieve “psy- project c12 chological closure.” paname c25 3. Provide positive feedback to the user. datatype c25 papassed low c15 project c12 4. Minimize memorization required by the user. hi c15 paname c25 span c6 0 prcalling c25 5. Provide a visually pleasing display on the screen. prcalled c25 status cl 6. Minimize the response time of the tool. direction c4 padesc iopaname c25 Finally, part of the tool’s function was to provide hard- project cl 2 copy outputs of the various products maintained by the paname c25 pavalueset tool. Therefore, it was required that the tool implement a line i2 project c12 means to produce the iIDEFo diagram, the accompany- description c60 paname c25 ing facing page text, and the data dictionaries generated value c15 by the tool. paalias pahierarchy project c12 3.2 Description of the Tool paname c25 project c12 aliasname c25 hipaname c25 SAtool was designed to run of SUN workstations due to comment c60 lopaname c25 their availability. Each SUN has a large display moni- whereused c25 tor to accommodate an uncluttered user interface, and a paref mouse input device for manipulating the graphical con- pahistory project c12 structs of the IDEFo diagram. In addition, all the SUN project c12 paname c25 workstations are tied to the AFIT computer network, im- paname c25 reference c6G portant for transporting the data dictionary information version c10 reftype c25 to the central computer. Based on the availability of the date c8 SunView package and the desire to reuse certain software author c20 modules from the prototype, it was decided to proceed comment c60 with the SunView package. The tool was implemented in C because SunView supports this language. Figure 3: Database Schema for the Design Phase Object The design of an acceptable human/computer interface Entity [5] was a primary task in this effort. The screen layout con- sists of five areas or windows as shown in Figure 4.

3 SAtooZ, an Interactive Graphics Editor

3.1 Requirements Definition Requirements for this tool were based on previous research at AFIT. A prototype tool to integrate SA diagrams and data dictionaries was built at AFIT in 1986. This proto- type implemented a small subset of the entire SA language syntax used by SADT and IDEFo. To extend this pro- totype effort, it was necessary to examine the SADT and IDEFo graphic syntaxes and identify a necessary and suf- ficient language for implementation of this tool. The prototype, as well as this tool, were required to carefully consider the human/computer interface aspect of the tool because of the interactive nature of the pro- gram. Specifically, the following rules for developing hu- man/computer interfaces were considered in its design [6]:

1. Keep the user motivated. Figure 4: SAtool Screen Layout

767 These are the Input Window, the Message Window, the fer data between the tools and a data manager which per- Selection Window, the Diagram Window, and the Data forms all database transactions. A primary design consid- Dictionary Window. The Input Window is where the user eration was for the interface to support the incorporation enters all text labels for the diagram. In the Message Win- of new tools into System 690. dow, the user receives instructions, feedback, and help The following describes how the data manager would messages. The Selection Window provides a mechanism be used in a typical analysis session using SAtool from for choosing one of four menus of actions needed to build a remote workstation. The workstation requests a set of an IDEFo diagram and data dictionaries. The Diagram data entities from the database. Ideally, this should be Window shows the current diagram and the Data Dictio- done via the tool itself, as shown in Figure 5, but in the nary Window is where data dictionary information not de- current implementation of SAtool the user remotely logs rived from the diagram is entered by the user. on to the central host and interactively accesses the data A menu,system was selected because it solved several manager directly, as shown in Figure 6. rules for a good user interface. The menu selections are On receipt of the request, the data manager retrieves grouped according to the major function they provide: the data and provides this data back to the requestor in editing a diagram, editing a data dictionary, displaying a standard data file. When retrieving the data, the data facing page text, saving the diagram, or executing system manager provides session control to maintain database in- functions (e.g. changing the working directory). Within tegrity by recording information about the logged-out data each grouping, the menu selections are structured in a hi- in its own database relations. When the desired changes erarchical manner that matches the functional decomposi- have been made to the data by the analyst, the tool (user) tion of the tool. which checked-out the data requests to update the database. The data manager then uses the standard data file, con- 3.3 Data Files taining any changes made by the tool, and the session information previously generated during the retrieval to The tool is capable of producing five data files, two that coordinate and perform the database updates. After the save raw data (graphics and data dictionary information) data is successfully written back to the database, the ses- and three that save output products of the tool. Each file sion is terminated. has a unique file extension. The first two files save the raw data when the “save” menu option is selected. The first one contains graphics 4.2 Data Manager Description information and is labeled with a “.gph” extension. The The data manager performs many tasks, but its func- second contains the data dictionary information in a for- tion is to retrieve data from and write data to a relational mat readable by the database’s data management system. database using the standard data file. The data manager This file is labeled with a “.dbs” extension. The remaining also provides an interface which allows tools and users to three files are generated at the option of the user. The fac- specify the transactions to be performed. Finally, it pro- ing page text for a diagram is stored in an ASCII file with vides session control to protect database integrity. a “.fpt” extension. The data dictionaries associated with Much of the data manager’s efforts are based on its a diagram may be saved in a file with a ‘‘.dd” extension own database relations. The primary components used appended to the file name. These can be printed on any are the tool data definition and the tool description standard line printer. Finally, a copy of the diagram on table. These tables permit the generic classification of the the screen may be saved in a file with a “,dmp” extension which is in a SUN rasterfile format and must be printed by a printer that supports this format.

4 The Data Manager

4.1 Objective Although this paper specifically discusses the Requirements Analysis tool SAtool, the objective of the data manager is to integrate a set of heterogeneous tools that run on a wide variety of workstations by design- ing and implementing a common database interface be- tween the tools and a central relational database. This in- terface is implemented using a standard data file to trans- Figure 5: Data Manager as Controlled by the Tool

768 to provide an easy means to abort an old or corrupted ses- sion, allowing data entities identified as ‘checked-out” to be made available for other users. All transaction results are reported back to the tool/user through the use of a results file. The results file contains the list of successfully

C performed transac- tions. In the case of an error, the cause and error recovery results are placed in the results file. Twl Common Database 4.4 Session Control Session control provides the data manager’s librarian func- tion. During retrievals, the data manager determines the status of all requested data entities and generates the ses- Figure 6: Data Manager Interactively Controlled sion control information. During updates, the data man- ager uses this information to perform transaction verifica- tion to insure that only the permitted modifications have entities used by a tool. The tool data definition table s’up- been requested. This session information is maintained in ports the retrieval of data dictionary entries, formatting two tables, session entity table and session identification the retrieved data into the standard file format, and up- table. The session entity table tracks each entity used in dating the database. This table provides all the informa- a session, its type, and update status. The session iden- tion necessary to retrieve or update a and it tification table maintains the status of a session, describes contains the information necessary to read and write the the type of data used in a session, and identifies the ses- standard data file. A data definition table must be created sion’s owner and tool being used. This table supports the for each data entity type used by a tool. Each table has a data manager update function in verifying session update unique relation name and is tool, phase, and type specific. requests and provides the database administrator an easy The use of multiple relations localizes the impact of tool way to identify session owners. changes and supports the to easily incorpo- rate new tools into System 690. To add a new tool, the only requirement is for the appropriate tool data definition 4.5 Standard Data File table(s) be created. The tool description table describes a The standard data file is the means used by the data man- tool and its data needs to the data manager, and is used ager to transfer data between System 690 tools and the for transaction request verification and database retrievals common database. It provides a standard file structure and updates. There is a tool description table entry for for all tools to use in interfacing with the data manager. each phase and type of data entity used by a tool. This is The file is the interface and therefore must contain not required to identify the specific data definition table rela- only the requested tool data, but also provide control in- tion describing the requested data dictionary enti v. This formation to the tool and data manager by describing the table, in conjunction with the data definition t

769 based on that experience. On a scale from -1.00 (maxi- Bibliography mally dissatisfied) to +1.00 (maximally satisfied), the user scores averaged 0.295. The scores ranged from -0.182 to 1. Softech Inc. An Introduction to SADT Structured .682 with a standard deviation from the mean of 0.294. Analysis and Design Technique. Softech Report 9022-78R. On the average, the evaluators used the tool about 138 minutes before completing the evaluation. Waitham, MA, 1976. 2. Ross, Douglas T. “Structured Analysis (SA): A Lan- 5.2 Data Manager guage for Communicating Ideas,” IEEE Transactions on To evaluate the data manager and standard data file im- Software Engineering, SE-3, NO.l, 16-34 (January 1977). plementation, two tools, an existing data dictionary editor and SAtool were modified to interface with the standard 3. Leong-Hong,. Belkis W. and Bernard K. Plagman. data file. Both tools were able to successfully use the com- Data Dictionary/Directory , Administnation, Im- mon interface and access the central database. The most plementation and Usage. New York, John Wiley & Sons, important result of this integration was the ease in which 1982. the tools were modified to support the interface. The pro- grammers modifying the tools found the standard data file 4. Hartrum, Thomas C. Software Development Doc- to support the integration very well and did not require umentation Guidelines and Standards (Draft Sa). School extensive programming effort to incorporate its use with of Engineering, Air Force Institute of Technology (AU), their tools. Wright-Patterson AFB OH, September 1986.

5. Foley, Jeffrey W. Design of a Data Dictionary Ed- 6 Summary and Conclusions itor in a Distributed Software Development Environment. MS Thesis. School of Engineering, Air Force Institute of This paper has described the design and integration of Technology (AU), Wright-Patterson AFB OH, June 1986 SAtool, an interactive IDEF, diagram graphics editor that (AD- A152406). integrates data dictionary information. The resulting data dictionary files are compatible with the System 690 data 6. Urscheler James W. Design of a Requirement Analy- manager, a flexible interface which integrates software de- sis Design Tool Integrated with a Data Dictionary in a Dis- velopment tools with a commercial relational database man- tributed Software Development Environment. MS Thesis, agement system. School of Engineering, Air Force Institute of Technology The objective of SAtool to improve the requirements (AU), Wright-Patterson AFB, OH, June 1986. analyst’s productivity was demonstrated through the quan- titative assessment of a group of graduate students who used the tool to create IDEFo diagrams. The data man- ager’s goal of easily supporting the integration of new tools was demonstrating by successfully integrating two tools currently in use in System 690. The development of SAtool and the data manager pro- vide a big step forward in the development of the System 690 integrated software development environment.