Experience on Developing an Information System Using CASE Tools Anne M. Welch, James W. Hong and Michael A. Bauer Department of Computer Science University of Western Ontario London, Ontario, Canada fwelch,jwkhong,bauer@csd.uwo.cag June 10, 1994 Abstract Computer Aided Software Engineering (CASE) tools were introduced commercially in the early 1980's for assisting developers in the design and development of information systems. Although most CASE tools' capabilities have improved considerably since then, they are still not meeting the expectations that were initially anticipated. In this report, we provide an overview of the project which involved the development of an information system using an integrated CASE tool, namely the Information Engineering Facility (IEF) by Texas Instruments. We present a brief overview of the information system that was developed. We also present a brief overview of the IEF CASE tool and our evaluation of the specic pros and cons of the tool. Our overall experience as well as the lessons learned on the project are also discussed. This research work is supported by the Supply Services Canada and the Natural Sciences and Engineering Research Council of Canada Contents 1 Introduction 2 Project Overview 2.1 2.2 2.3 2.4 2.5 2.6 Information Strategy Planning : : : : Business Area Analysis : : : : : : : : : Business System and Technical Design Construction and Testing : : : : : : : Methodology : : : : : : : : : : : : : : Evaluation Factors : : : : : : : : : : : 7 8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 Overview of the Information System 3.1 Objective : : : : : : 3.2 Rationale : : : : : : 3.3 Information System 11 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 Overview of the IEF CASE tool 4.1 4.2 4.3 4.4 IEF Planning Toolset : : IEF Analysis Toolset : : : IEF Design Toolset : : : : IEF Construction Toolset 12 12 12 13 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 Development of the Information System 5.1 Information Strategy Planning (ISP) : : : : : 5.1.1 IEF Planning Toolset Summary : : : : 5.1.2 IEF Planning Toolset Deliverables : : 5.2 Business Area Analysis (BAA) : : : : : : : : 5.2.1 IEF Analysis Toolset Summary : : : : 5.2.2 IEF Analysis Toolset Deliverables : : 5.3 Business System and Technical Design (BSD) 5.3.1 IEF Design Toolset Summary : : : : : 5.3.2 IEF Design Toolset Deliverables : : : 5.4 Construction and Testing : : : : : : : : : : : 5.4.1 IEF Construction Toolset Summary : 5.4.2 IEF Construction Toolset Deliverables 8 9 9 9 9 9 13 14 14 15 15 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 Experience 6.1 Summary of Good Features of the IEF Toolsets : 6.2 Summary of Poor Features of the IEF Toolsets : 6.3 Summary of Inconsistencies in the IEF Toolsets : 16 16 18 24 24 26 28 30 30 31 32 32 32 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 33 34 35 7 Project Summary 7.1 Goals : : : : : : : : : : : : : : : : : : : : : 7.1.1 Case Study : : : : : : : : : : : : : : 7.1.2 CASE Tool Review : : : : : : : : : : 7.2 Evaluation Factors : : : : : : : : : : : : : : 7.2.1 Diagramming Capabilities : : : : : : 7.2.2 Software Engineering Methodologies 7.2.3 Consistency Checking : : : : : : : : 7.2.4 Toolset Integration : : : : : : : : : : 7.2.5 Documentation : : : : : : : : : : : : 7.2.6 Database Generation : : : : : : : : : 7.2.7 Code Construction : : : : : : : : : : 7.2.8 Reengineering Support : : : : : : : : 7.2.9 Availability of Metrics : : : : : : : : 35 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 Conclusions and Future Work 8.1 Conclusions : 8.2 Future Work 38 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : A Distributed Project Management Information System A.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : A.1.1 Objective : : : : : : : : : : : : : : : : : : : : : : A.1.2 Information System : : : : : : : : : : : : : : : : A.1.3 Rationale : : : : : : : : : : : : : : : : : : : : : : A.2 Denition of Information System : : : : : : : : : : : : : A.2.1 Update/Create Tool (Information Maintenance) A.2.2 Retrieval/Browse Tool : : : : : : : : : : : : : : : A.2.3 Entities, Attributes and Relationships : : : : : : 36 36 36 36 36 36 36 37 37 37 37 38 38 38 39 42 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B IEF-Generated Entity Type Denition Report C A Sample IEF-Generated C Code D Evaluation of the IEF Toolsets D.1 The IEF Planning Toolset : : : : : : : : : : : : : : : : : : : : D.1.1 IEF Organizational Hierarchy Diagram (OHD) : : : : D.1.2 IEF Data Model: Entity Relationship Diagram (ERD) D.1.3 Activity Hierarchy Diagram (AHD) : : : : : : : : : : D.1.4 Activity Dependency Diagram (ADD) : : : : : : : : : D.1.5 Matrix Processor : : : : : : : : : : : : : : : : : : : : : D.1.6 Summary : : : : : : : : : : : : : : : : : : : : : : : : : D.2 The IEF Analysis Toolset : : : : : : : : : : : : : : : : : : : : D.2.1 Data Model: Entity Relationship Diagram (ERD) : : D.2.2 Data Model List (DML) : : : : : : : : : : : : : : : : : 42 42 42 42 43 43 44 45 52 59 66 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 66 66 68 70 71 72 73 73 74 74 D.2.3 Activity Hierarchy Diagram (AHD) : : : : : : : : D.2.4 Activity Dependency Diagram (ADD) : : : : : : : D.2.5 Action Diagram - Process Action Diagram (PAD) D.2.6 Action Block Usage : : : : : : : : : : : : : : : : : D.2.7 Matrices : : : : : : : : : : : : : : : : : : : : : : : : D.2.8 Business System Denition : : : : : : : : : : : : : D.2.9 Summary : : : : : : : : : : : : : : : : : : : : : : : D.3 The IEF Design Toolset : : : : : : : : : : : : : : : : : : : D.3.1 Business System Defaults : : : : : : : : : : : : : : D.3.2 Dialog Design : : : : : : : : : : : : : : : : : : : : : D.3.3 Screen Design : : : : : : : : : : : : : : : : : : : : : D.3.4 Action Diagram : : : : : : : : : : : : : : : : : : : D.3.5 Work Set List : : : : : : : : : : : : : : : : : : : : : D.3.6 Structure Chart : : : : : : : : : : : : : : : : : : : D.3.7 Action Block Usage : : : : : : : : : : : : : : : : : D.3.8 Data Structure List and Data Store List : : : : : : D.3.9 Transformation : : : : : : : : : : : : : : : : : : : : D.3.10 Retransformation : : : : : : : : : : : : : : : : : : : D.3.11 Referential Integrity : : : : : : : : : : : : : : : : : D.3.12 Reports : : : : : : : : : : : : : : : : : : : : : : : : D.3.13 Consistency Checks : : : : : : : : : : : : : : : : : D.3.14 Summary : : : : : : : : : : : : : : : : : : : : : : : D.4 The IEF Construction Toolset : : : : : : : : : : : : : : : : D.4.1 Environment : : : : : : : : : : : : : : : : : : : : : D.4.2 Packaging : : : : : : : : : : : : : : : : : : : : : : : D.4.3 Generation : : : : : : : : : : : : : : : : : : : : : : D.4.4 Application Environment Facility (AEF) : : : : : : D.4.5 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : E TI IEF Tutorials E.1 Introduction : : : : : : : : : : : : : : : : E.2 Information Engineering Facility (IEF) : E.3 IEF Toolsets : : : : : : : : : : : : : : : E.3.1 Planning Toolset : : : : : : : : : E.3.2 Analysis Toolset : : : : : : : : : E.3.3 Design Toolset : : : : : : : : : : E.3.4 Construction Toolset : : : : : : : E.4 IEF Tools and Features : : : : : : : : : E.4.1 Chain : : : : : : : : : : : : : : : E.4.2 Edit : : : : : : : : : : : : : : : : E.4.3 View : : : : : : : : : : : : : : : : E.4.4 Redraw : : : : : : : : : : : : : : E.4.5 Consistency Checks : : : : : : : E.4.6 Help : : : : : : : : : : : : : : : : 75 75 76 79 79 80 80 81 81 82 84 85 86 86 87 87 87 88 88 88 89 89 90 90 91 91 92 93 94 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 94 94 94 94 95 96 96 97 97 97 97 97 97 98 E.4.7 Reports : : : : : : : : : : : : : : : : : : E.5 Tutorial 1 - Organizational Hierarchy Diagram E.6 Tutorial 2 - Entity-Relationship Diagram : : : E.6.1 Entities, Attributes and Relationships : E.7 Tutorial 3 - Activity Hierarchy Diagram : : : : E.7.1 Function and Process Descriptions : : : E.7.2 IEF Activity Hierarchy Report : : : : : E.8 Tutorial 4 - Activity Dependency Diagram : : : E.8.1 Process Dependencies : : : : : : : : : : E.9 Tutorial 5 - Process Action Diagrams : : : : : : E.9.1 Sample IEF Process Action Diagrams : E.10 Tutorial 6 - Business System Defaults : : : : : E.11 Tutorial 7 - Dialog Flow Diagram : : : : : : : : E.12 Tutorial 8 - Procedure Action Diagrams : : : : E.13 Tutorial 9 - Screen Design : : : : : : : : : : : : E.14 Tutorial 10 - Construction : : : : : : : : : : : : E.15 Tutorial 11 - Testing : : : : : : : : : : : : : : : E.15.1 Testing using the Installation Monitor : E.15.2 Testing using the AEF : : : : : : : : : : 98 : 100 : 102 : 104 : 108 : 110 : 114 : 115 : 117 : 118 : 119 : 123 : 125 : 128 : 130 : 132 : 134 : 134 : 134 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : List of Figures 1 2 3 4 5 6 7 8 9 10 Organizational Hierarchy Diagram : : : : : : Consistency Check Report : : : : : : : : : : : Entity Relationship Diagram (ERD) : : : : : Entity Relationship Diagram (Project Entity) Activity Dependency Diagram (ADD) : : : : Activity Hierarchy Diagram (AHD) : : : : : : A Sample Action Block Diagram : : : : : : : Structure Chart Diagram : : : : : : : : : : : A Sample User Interface Screen : : : : : : : : Dialog Flow Diagram (DFD) : : : : : : : : : 17 : 19 : 20 : 21 : 22 : 23 : 25 : 27 : 29 : 127 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 Introduction Computer Aided Software Engineering (CASE) tools were introduced commercially in the early 1980's. CASE was developed to facilitate the use of a structured and consistent methodology for software/systems development, particularly within an organization. The use of a structured development methodology and specically a CASE tool which would enforce the consistency of methods in an organization was seen as a solution to the diculty of maintaining a consistent methodology and quality of product. Although some organizations have adopted the use of CASE tools 1], in some instances these tools are simply not used after purchase 15]. Reasons which have been cited for the lack of acceptance include the length of the learning curve involved in adapting to the CASE tool and simply the adjustment to structured development methodology in an environment where this has not been followed previously. CASE tools are purported to decrease development time and increase productivity, however, the learning phase must be completed and the technology accepted, before changes in productivity can accurately be assessed. CASE tools fall into three categories depending on the phase of the development life cycle the tool supports. Upper CASE tools support the planning and analysis phases of system development with some support of the design phase. Lower CASE tools support the design and construction phases of development. Integrated CASE tools (I-CASE) support all the phases of development and provide support as well for reengineering. Advancements in the CASE tools available have resulted in the growth of the integrated CASE tools category which take the developer or development teams through the entire process from planning to construction and testing. This project was undertaken to study the development of an information system using an integrated CASE tool. The goals of the project were: To develop a case study for possible use in class environments (such as software engineering, systems analysis and design). To assess the reason(s) CASE tools have not achieved the level of acceptance that was initially anticipated. { Is the learning curve excessively long? { If so, why is the learning curve so long? { Is the learning curve worth the eort? The integrated CASE tool that was selected was Texas Instruments' (TI) Information Engineering Facility (IEF), Version 5.1. This CASE tool consists of four toolsets: 1) Planning, 2) Analysis, 3) Design and 4) Construction. These allow the developer(s) to evolve the application under development through the entire process from planning to implementation. The same information system that was developed for this case study was also developed in the department without the use of a CASE tool which provided insight into the development process without the introduction of CASE technology. The rest of this report is organized as follows. Section 2 provides an overview of the project, including the methodology followed for the project. A number of factors were identied prior to 7 the start of the project which would provide a basis for the evaluation of the CASE tool. These are detailed in the overview of the project. Section 3 provides a brief overview of the information system that was developed for this project and the rationale for the selection of this information system. Complete details of the information system can be found in Appendix A. Section 4 provides an overview of the IEF toolsets and the tools available in each toolset. A detailed evaluation of the IEF toolsets is given in Appendix D. A set of tutorials that can be used for learning the IEF CASE tool is also included in Appendix E. Section 5 provides details of the development of the information system. This section is divided into subsections, one for each of the four development phases and each subsection also includes a brief summary of the evaluation of the applicable IEF tools and toolset. Section 6 provides a discussion of the experience in the use of the IEF. This section highlights some of the good features and poor features of the IEF, some of which may be applicable to I-CASE tools in general. Section 7 provides a summary of the project. This section also includes comments regarding the evaluation factors stated in Section 2 and provides answers to the questions raised for these factors. Section 8 provides the conclusions reached at the end of this project. The questions raised in the goals of the project are answered, or at the very least the author's opinions regarding the answers to those questions are provided. This section also provides plans or suggestions for future work in this area. 2 Project Overview This project involved a case study using the Information Engineering Facility (IEF) by Texas Instruments (TI). The software development methodology followed was determined by the IEF tool which uses the Information Engineering structured methodology dened by James Martin 9, 13, 18]. The project involved four distinct phases: 1) Information Strategy Planning, 2) Business Area Analysis, 3) Business System and Technical Design, and 4) Construction and Testing. 2.1 Information Strategy Planning Information Strategy Planning (ISP) involves the denition of broad information requirements for a business system as well as a plan for the development of the information system. This includes a denition of the organization and the entire set of business processes for a business system. This project analyzed a specic business process and designed and implemented an information system for that process rather than an entire business system. The plan established for this project was a Systems Project Management Plan (SPMP) 17]. Microsoft Project, Version 3.0 was also used to detail the project plan. The IEF Planning Toolset, does not support documentation of a project plan. 8 2.2 Business Area Analysis Business Area Analysis (BAA) involves the analysis of a specic business area. BAA further denes the data and activity requirements of a business process as well as the dependencies and interactions between data and activities. The IEF Analysis Toolset supports the activities of the BAA phase of development. 2.3 Business System and Technical Design Business System and Technical Design (BSD/TD) involve the detailed development of the elementary processes and activities in a business process and identication of the target environment for the completed information system. The IEF Design Toolset supports the activities of the BSD/TD phase of development. 2.4 Construction and Testing Construction involves the generation and installation of the database and the code for the information system. The IEF Construction Toolset for OS/2 supports the construction activities and provides testing facilities to debug the installed information system. 2.5 Methodology The goals of this project required adherence to the Information Engineering methodology and use of all IEF toolsets. The lack of an organizational structure to analyze in this project required the use of unrelated information to fully review the IEF Planning Toolset. The information used for this purpose is dened in the pertinent sections of this document. The information system selected for development was the Distributed Project Management Information System (DPMIS). The DPMIS provides a set of applications to support the information requirements necessary to track the progress, status and descriptive details of projects spanning multiple sites. Details of the information system are included in the section, \Overview of the Information System". The DPMIS developed was saved at the completion of each development phase to provide a complete case study for future reference. The process of developing this system was detailed and documented with a view to providing documentation of the CASE development process and information on the functionality of the selected CASE tool. In addition, a set of tutorials has been developed for possible use in future courses, to assist individuals in gaining experience with the IEF toolsets. 2.6 Evaluation Factors The following aspects of the CASE tool's performance and functionality were taken into consideration and the associated questions answered in order to complete the evaluation. The factors considered in this study have been dened through a combination of the author's CASE tool experience and a review of the available literature 1, 15]. Diagraming Capabilities 9 { Quality of Diagrams Are diagram labels readable? Can diagram objects be resized? Can diagram lines be redrawn? { Flexibility of Diagraming Tools Is it possible to transfer between levels of a diagram? Is it possible to transfer between related diagrams? { Quality of Printout of Diagrams Is diagram printout legible? Can diagram fonts be adjusted? Can diagram headings be changed? Software Engineering Methodologies { Methodologies Supported Does the tool support a single methodology? Are multiple methodologies supported? What methodologies are supported? { Adherence to Specic Methodologies Are there specic omissions that can be identied related to the methodology? Consistency Checking { Flexibility of Consistency Checking Are consistency checks run automatically by the CASE tool? Can the user initiate consistency checks? Can the user specify the level of the consistency check? { Completeness of Consistency Checks Are there errors in the development process that are not identied in consistency checks and become evident at a later phase of development? Toolset Integration { Level of Integration Are all of the toolsets for the CASE tool integrated? Is a common repository accessible by all tools? Is all of the information entered in the planning phase toolset available to the analysis phase toolset? Do details of the information system need to be reentered? Documentation 10 { Completeness of Documentation Are there omissions of detail regarding the information system that can be identied in the documentation produced? Is the documentation produced useful to individuals not familiar with the specic CASE tool? Are all details regarding a process or object presented in the documentation and reports available? { Readability of Documentation Do documents include a description of processes or objects that allows the reader to understand the purpose of the object or process with respect to the information system? Are headings included that identify the report or document? Database Generation { What databases types can be generated? Code Construction { Programming Languages What languages can be generated? { Quality of Code Generated Does the code generated compile without errors? If not, how many errors are encountered per module? Are changes/additions necessary to the nal code? How many changes/additions are required? Reengineering Support { Are changes made in earlier development phases integrated into the latter phases (specifically related to reengineering)? Availability of Metrics { Management Metrics Are management metrics available? { Quality Metrics Are quality metrics available? 3 Overview of the Information System The information system selected for development was the Distributed Project Management Information System (DPMIS). This section provides essential details of the DPMIS. A complete description of the DPMIS is appended to this document (Appendix A). 11 3.1 Objective The DPMIS supports the tracking of the progress, status and descriptive details of projects spanning multiple sites, including: Denition of Projects which are local to sites or span multiple sites. Permit the creation, update and deletion of Projects by Project Leaders. Permit any Project Member to Browse and/or Retrieve information about any Project or related entities. 3.2 Rationale The information system oers a number of attractions for use in the case study: We have experience with a distributed project, namely CORDS, 10] which can provide a set of needs and for which such an information system would have been very useful. It oers local update and yet requires a browsing capability which entails multi-site queries. Interfaces for the two tools, one for information maintenance and one for information retrieval, should be kept simple. It is easy to explain the scenario and need for such an information system to non-technical users (e.g. managers and executives). It is easy to dene additional tools for generating reports, extracting data for PERT or Gantt Charts, extracting e-mail lists, etc. 3.3 Information System The information system consists of two (initial) components: 1. Information Maintenance Tool The Information Maintenance Tool allows the creation, update and deletion of all entities dened in the information system. 2. Information Retrieval Tool The Information Retrieval Tool allows the retrieval of information regarding all current Projects and the related entities dened in the information system. Each tool will run local to a Site. The Information Maintenance Tool will update a local database (or designate) while the Information Retrieval Tool will permit information to be collected from the multiple sites. The entities dened in the information system are as follows: Projects are research projects being conducted by organizations at various sites in Canada, the United States and Europe. 12 Sites are organizations in Canada, the United States and Europe where Projects are undertaken. Sites can be maintained on the database without currently active projects. Members are sta, students and faculty at the sites who are currently involved with projects which are being monitored using the DPMIS. Milestones represent signicant development events that exist for each project. Deliverables represent specic documents, prototypes and presentations and their respective delivery dates that exist for each project. Documents represent information about the current projects. 4 Overview of the IEF CASE tool The IEF products utilized in this project were the IEF Version 5.1 for use in the DOS/Windows Version 3.1 environment and the IEF Version 5.1 for use in the OS/2 environment. The initial development of the DPMIS was done using the Planning, Analysis and Design Toolsets of the IEF for Windows because the OS/2 operating system and Extended Services for OS/2 were not available at the start of this project. The IEF Construction Toolset requires either a mainframe environment or the OS/2 operating system with Extended Services for OS/2. The IEF DPMIS model was transferred to the IEF for OS/2 when this became available. This section of the document details the IEF toolsets and the tools available in each toolset. The IEF Planning, Analysis and Design toolsets are nearly identical for both environments, however, dierences that do exist in the toolsets are noted. 4.1 IEF Planning Toolset The Planning Toolset of the IEF was used during information strategy planning in the development of the business information system. The Planning Toolset of the IEF has the following options available. Data Model facilitates the creation of an entity relationship diagram (ERD) for the information system under development. Data Model List provides an alternative method of constructing the ERD and provides the entity relationship details in a list format. Activity Hierarchy facilitates the creation of an activity hierarchy diagram (AHD) for the information system under development. Activity Dependency facilitates the creation of an activity dependency diagram (ADD). This is developed automatically by the IEF as the user develops the AHD. Organizational Hierarchy accesses the organizational hierarchy diagraming tool to enable the construction of the organizational hierarchy diagram. 13 Matrices are automatically generated by the IEF and are utilized to perform analysis of the system. Check initiates a Consistency Check. 4.2 IEF Analysis Toolset The Analysis Toolset of the IEF is used during business area analysis of the information system under development. The Analysis Toolset of the IEF has the following options available 1 . Data Model. Data Model List. Activity Hierarchy. Activity Dependency. Action Diagram facilitates the creation of action diagrams (algorithms) for processes dened in the activity hierarchy. Work Set List provides a list of the work sets available for the system. Work sets are used for items such as counters, user input that is not entity related (e.g., menu selections). Structure Chart which displays the action block hierarchy diagram. Action Block Usage which displays the usage of action blocks by procedures and procedure steps. Matrices. Business System De nition facilitates the denition of a business system for use in the Design Toolset. Check. 4.3 IEF Design Toolset The Design Toolset of the IEF is used during business system design and technical design of the information system under development. The Design Toolset of the IEF has the following options available. Business System Defaults allows the setting of system defaults such as screen video properties and function key assignments. Dialog Design allows the development of the dialog ow diagram. Screen Design allows the design of the user interface. 1 Options that are not described here possess the same meaning as given previously. 14 Action Diagram. Work Set List. Structure Chart. Action Block Usage. Prototyping allows the review of the design of the user interface. Dialect De nition allows the user to dene objects for use in the model. The IEF has a default dialect. Check. Data Structure Defaults allows the user to set the defaults for data structures. Data Structure List presents a list of the physical data model. Data Store List provides a list of the data stores, tablespaces and records. Transformation is the transformation of the data model objects to data model structures. Retransformation is used to perform transformation again when changes have been made to the data model. Referential Integrity Process checks the integrity of the data model relationships. 4.4 IEF Construction Toolset The Construction Toolset of the IEF was used to generate and install the database tables and the code for the DPMIS. The code generated was C although generation of COBOL source code is also available. The Construction Toolset of the IEF has the following options available. Environment is the tool used to dene the environment the application will be used in following development. The environment parameters that are dened here include the target operating system, database management system and language. Packaging allows the user to specify the type of load modules: Online, Batch, or Window and the number of load modules or objects will be required for the business system. Generation is the nal tool used in this toolset. This tool allows the user to generate and install the database and code. Installation includes compilation and linking of the load modules and results in the production of executable modules. 5 Development of the Information System The development of the DPMIS followed the Information Engineering methodology used by the IEF CASE tool. The following sections describe the activities and IEF tools used in each phase of development. The reference materials available for the IEF 2, 3, 4, 5, 6, 7, 8] were reviewed prior to the initiation of the DPMIS development. 15 5.1 Information Strategy Planning (ISP) The IEF Planning Toolset was used throughout this phase of the project. The IEF Planning Toolset does not support project management plan documentation, therefore, a SPMP 17] was developed. The basic information requirements and functional requirements of the DPMIS had been outlined prior to the initiation of the use of the IEF. The denitions of the DPMIS and the entities for this system were claried prior to the development of an entity relationship diagram (ERD). The entity relationship diagram was developed in detail during the planning phase although this is not necessary in the ISP phase of development. Generally the details of entities and entity relationships for an information system would be entered in the Business Area Analysis (BAA) phase with the use of the Data Model tool. The Data Model tool is accessible in both the Planning Toolset and the Analysis Toolset. The consistency check feature provided by the IEF was used throughout the planning phase and was the nal step undertaken before moving on to the analysis phase to ensure the information contained in the IEF model of the DPMIS was correct and complete (see Figure 2). The reports available from the IEF, including the consistency check reports, were reviewed and used to conrm the correctness and completeness of the planning phase development throughout this phase of the project. In addition to the development of the DPMIS with the IEF Planning toolset additional examples were used and tests were undertaken to ensure the utilization of all of the features of the Planning toolset. In particular, the IEF Organizational Hierarchy diagraming tool was utilized to develop an organizational hierarchy diagram (OHD) (Figure 1). The details of the good features, poor features and inconsistencies that were encountered in the use of the IEF Planning Toolset are included in the \Evaluation of the IEF Toolsets" document (Appendix D). A summary of these comments is included here. 5.1.1 IEF Planning Toolset Summary The IEF Planning Toolset is, overall a straight forward tool to learn to use. The on-line Help facility is very good and detailed. Methods for developing the diagrams are consistent throughout the various diagramming tools. The IEF does not oer the exibility or diagram quality that would be required to develop presentation quality diagrams. The diagrams produced are more appropriate for information only. For example, the information contained in the diagrams could be useful to an analysis team for the next phase of development. The following short comments provide a brief outline of notable good features, poor features and inconsistencies. Details of these features and other features can be found in Appendix D. Chaining allows the developer to move quickly between sections of a diagram and between diagrams. Chaining does not allow the display of dierent sections of a diagram in dierent windows at the same time. Subordinate units in an organizational hierarchy diagram (OHD) cannot have two parents. Names of organizational units cannot exceed 32 characters in length. 16 Model :UNIVERSITY OF WESTERN ONTARIO Subset:ALL Date: Jun. 06, 1994 Time: 09:14 CHANC> PRESIDE> INSTITUTI> LIBRARIES VICE-PR> DEAN A> DEAN A> DEAN B> DEAN D> DEAN E> D Figure 1: Organizational Hierarchy Diagram 17 Printing of diagrams produces poor quality print outs. Help is very good in the Planning Toolset. There are instances where the information provided was inadequate. Reports are useful and provide good detail regarding the information system that is being developed. Automatic population of related diagrams and matrices by the IEF is a great time saver. Consistency checks are the primary error checking method used throughout development. The reports provided are useful (See Figure 2). Consistency checks can be initiated by the developer. Release Notes provided in the Reports menu are useful, particularly, since the documentation available was for Version 4.1. 5.1.2 IEF Planning Toolset Deliverables The IEF deliverables for the ISP phase were produced. Examples of the diagrams and reports produced are included to provide a view of the type of documentation produced by the IEF Planning Toolset. The entire set of deliverables for this phase is not included because of the length of some of the reports. 1. 2. 3. 4. 5. 6. 7. 8. 9. Organizational Hierarchy Diagram (Figure 1) Data Model (Entity-Relationship Diagram) (Figure 3) Entity Hierarchy Report Data Model List Entity Type Denition Attribute Denition Report Process (Activity) Hierarchy Diagram (Figure 6) Activity Hierarchy Report Process (Activity) Dependency Diagram (Figure 5) 18 Model : DISTRIBUTED PROJECT MANAGEMENT Subset: ALL Mar. 20, 1994 09:43 page 1 Consistency Check ______________________________________________________________________________________________ Level: TD ---------Model/Subset ---------Process ADD_PROJECT WARNING : ICCPF10W Dependencies of elementary processes and external objects should be associated with information views. Business System DISTRIBUTED_PROJECT_MANAGEMENT WARNING : ICCBS02W All processes scoped in a business system should be implemented. Screen for Procedure Step MAINTAIN_PROJECT WARNING : ICCSC10W Each mandatory input predicate view should be input by a screen variable or provided by a dialog flow. Link from Procedure Step MAINTAIN_PROJECT to Procedure Step MAINTAIN_PROJECT WARNING : ICCDV11W The view provided as import should have all the attribute views needed by the receiving action block. Link from Procedure Step MAINTAIN_PROJECT to Procedure Step MAINTAIN_MEMBER WARNING : ICCDV11W The view provided as import should have all the attribute views needed by the receiving action block. Screen for Procedure Step MAINTAIN_MEMBER WARNING : ICCSC10W Each mandatory input predicate view should be input by a screen variable or provided by a dialog flow. Link from Procedure Step MAINTAIN_DELIVERABLE to Procedure Step MAINTAIN_MEMBER WARNING : ICCDV11W The view provided as import should have all the attribute views needed by the receiving action block. Link from Procedure Step MAINTAIN_DELIVERABLE to Procedure Step MAINTAIN_DELIVERABLE WARNING : ICCDV11W The view provided as import should have all the attribute views needed by the receiving action block. External Object DISTRIBUTED_PROJECT_MANAGEMENT WARNING : ICCEX02W An external object should be associated with at least one activity. Number of ERRORS: 0, number of WARNINGS: 9. -End of Report- Figure 2: Consistency Check Report 19 Model :DISTRIBUTED PROJECT MANAGEMENT Subset:ALL Date: Mar. 20, 1994 Time: 09:40 DISTRIBUTED PROJECT MANAGEME> HAS RELATION TO IS RELATED TO HAS DELIVERABLES IS DESCRIBED BY DOCUMENT IS COORDINATED BY PROJECT SUPERVISES IS SUPERVISED BY COORDINATES PROJECT HAS MILESTONE HAS MEMBER IS MEMBER OF PROJECT IS AT IS AT PRIMARY IS PRINCIPAL> MEMBER HAS PRIMARY AFF> IS RESPONSIBLE FOR ALSO WORKS AT WORKS ON IS AUTHOR OF IS CONTACT FOR MANAGES HAS MEMBER IS PRIMARY AFFILIATION FOR HAS PROJECT IS PRIMARY LOCATION FOR HAS CONTACT SITE CAN FTP DOCUMENT IS MILESTONE OF Figure 3: Entity Relationship Diagram (ERD) 20 IS MANAGED BY Model :DISTRIBUTED PROJECT MANAGEMENT Subset:ALL Date: Mar. 20, 1994 Time: 09:43 DISTRIBUTED PROJECT MANAGEMENT HAS RELATION TO IS RELATED TO HAS DELIVERABLES IS DESCRIBED BY DOCUMENT IS COORDINATED BY PROJECT HAS MILESTONE HAS MEMBER IS AT IS AT PRIMARY H IS PRIMARY AFFIL HA IS PRIMARY LOC Figure 4: Entity Relationship Diagram (Project Entity) 21 Model :DISTRIBUTED PROJECT MANAGEMENT Subset:ALL PROJECT INFORMATION EXISTS MILESTONE INFORMAT> PROJECT MANAGEMENT DATABASE INFO INFORMATION EXISTS SITE INFORMATION RETRIEVAL MEMBER INFORMATION> I> SITE DOCUMENT INFORMATION EXISTS DELIVERABLE Date: Mar. 30, 1994 Time: 21:06 MEMBER INFORMATION RETRIEVAL Figure 5: Activity Dependency Diagram (ADD) 22 Model :DISTRIBUTED PROJECT MANAGEMENT Subset:ALL Date: Mar. 30, 1994 Time: 21:04 DISTRIBUTED PROJECT MANAGEME> INFORMATION MAINTENANCE PROJECT MAINTENANCE SITE MAINTENANCE MEMBER MAINTENANCE MILESTONE MAINTENANCE DELIVERABLE MAINTENANCE DOCUMENT MAINTENANCE INFORMATION RETRIEVAL PROJECT INFORMATION RETRIEVAL SITE INFORMATION RETRIEVAL MEMBER INFORMATION RETRIEVAL MILESTONE INFORMATION RETRIE> DELIVERABLE INFORMATION RETR> DOCUMENT INFORMATION RETRIEV> Figure 6: Activity Hierarchy Diagram (AHD) 23 5.2 Business Area Analysis (BAA) The Analysis toolset of the IEF was used to continue development of the DPMIS in the business area analysis phase. The Activity Hierarchy Diagram (AHD) had been developed to the Process Hierarchy Diagram (PHD) level rather than the Function Hierarchy Diagram (FHD) level and details such as expected eects had been included in the initial phase of the project. The analysis phase of the project, therefore, consisted of a review of the information developed during the planning phase and adjustments and corrections to this information as well as to the denition of the DPMIS. The entity-relationship diagram (ERD) that had been constructed in the planning phase was reviewed and necessary changes were made. An alternative ERD was constructed to review the partitioning and entity subtype features of the IEF data model tool. Partitioning and entity subtypes were not used in the DPMIS because these were not applicable. The use of the Data Model List tool of the IEF toolset was reviewed. This tool can be utilized to build the ERD as an alternative to the Data Model diagraming tool that was used for this project. The Data Model List tool was not used to build an ERD. It was used to implement some of the changes necessary. The Matrix Processor of the IEF toolsets was reviewed and used to review the relationships of function, processes and entities and the expected eects of functions and processes on the entities in the data model. The Action Diagram tool of the Analysis toolset was used to develop action diagrams for the elementary processes dened in the analysis and planning phases of development. Ultimately, the action block synthesis tool of the IEF toolset was used to produce the process action diagrams and further review and development of these diagrams was reserved for the design phase of the project. Figure 7 shows a sample action block diagram developed by the IEF Action Diagram tool. A nal consistency check was completed for the analysis phase and the Business System Denition completed to provide a business system denition to utilize in the design phase of the project. The reports available in the IEF Analysis toolset were reviewed and utilized where appropriate throughout the business area analysis phase of the project. An example of a report generated by the IEF is appended to this document (Appendix B). The details of the good features, poor features and inconsistencies that were encountered in the use of the IEF Analysis Toolset are included in the \Evaluation of the IEF Toolsets" document (Appendix D). A summary of these comments is included here. 5.2.1 IEF Analysis Toolset Summary The Analysis Toolset usage followed very closely to that of the Planning Toolset and since the mechanical procedures for the use of IEF tools had been learned in the Planning Toolset the development was on the most part smoother and faster. The following short comments provide a brief outline of notable good features, poor features and inconsistencies. Details of these features and other features can be found in Appendix D. Chaining is useful again for moving to sections of a diagram and between diagrams. Consistency Checks are still very helpful. The checks that are initiated by the IEF are unobtrusive and essential. 24 Model : DISTRIBUTED PROJECT MANAGEMENT Subset: ALL Mar. 20, 1994 12:31 Page: 1 Process: ADD_MEMBER ___________________________________________________________________________ Process Description: Add Member is an elementary process in the Member Maintenance process hierarchy. Action Block Description: ADD_MEMBER IMPORTS: ... EXPORTS: ... LOCALS: ENTITY ACTIONS: ... 1 1 1 1 2 3 4 5 6 7 8 9 10 11 12 3 13 3 14 3 15 3 16 17 17 17 17 17 17 18 19 19 20 21 21 21 21 21 21 22 23 23 21 24 21 20 17 25 17 16 1 26 1 READ stored site WHERE DESIRED stored site organization IS EQUAL TO import_1 site organization WHEN successful MOVE stored site TO export_1 site CREATE stored member SET surname TO import member surname SET first_name TO import member first_name SET project_position TO import member project_position SET email TO import member email SET telephone TO import member telephone SET fax TO import member fax SET job_type TO import member job_type SET password TO import member surname ASSOCIATE WITH stored site WHICH is_primary_affiliation_for IT WHEN successful MOVE stored member TO export member WHEN already exists EXIT STATE IS member_ae WITH ROLLBACK WHEN permitted value violation EXIT STATE IS member_pv WITH ROLLBACK IF EXITSTATE IS EQUAL TO ok READ stored_manager member WHERE DESIRED stored_manager member surname IS EQUAL TO manager_in member surname AND DESIRED stored_manager member first_name IS EQUAL TO manager_in member first_name WHEN successful MOVE stored_manager member TO manager_out member ASSOCIATE stored_manager member WITH stored member WHICH is_managed_by IT IF import member project_position IS EQUAL TO "student" READ stored_supervisor member WHERE DESIRED stored_supervisor member surname IS EQUAL TO supervisor_in member surname AND DESIRED stored_supervisor member first_name IS EQUAL TO supervisor_in member first_name WHEN successful MOVE stored_supervisor member TO supervisor_out member ASSOCIATE stored_supervisor member WITH stored member WHICH is_supervised_by IT WHEN not found EXIT STATE IS supervisor_nf WHEN not found EXIT STATE IS manager_nf WHEN not found EXIT STATE IS site_nf WITH ROLLBACK Figure 7: A Sample Action Block Diagram 25 This process will facilitate cr Help was again, on the whole, very good. There were diculties in locating some information on topics such as View Maintenance. Printing again presents a problem because generating readable print outs is dicult, if not impossible. Data Model List provides a simple alternative tool for development of the ERD. Consistency Check was successful despite the omission of an identier for an entity subtype. An identier is essential in the development of an Action Diagram that eects this entity subtype. Action Block Synthesis and Expand Expected Eects are tools that provide automatic generation of portions of the action diagrams. These can save a great deal of time and should be utilized. Stereotype is another tool for automatic generation. Stereotype action diagrams can be automatically generated for diagrams such as menus. This is a useful tool, however, it is dicult to locate from the the information in the documentation provided. 5.2.2 IEF Analysis Toolset Deliverables The IEF deliverables for the BAA phase were produced. Examples of the diagrams and reports produced are included to provide a view of the type of documentation produced by the IEF Analysis Toolset. The entire set of deliverables for this phase is not included because of the length of some of the reports. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Data Model (Entity-Relationship Diagram) Entity Hierarchy Report Data Model List Entity Type Denition Attribute Denition Report Process (Activity) Hierarchy Diagram Activity Hierarchy Report Process (Activity) Dependency Diagram Activity Denition Report Process Action Diagrams Structure Chart (action block hierarchy) Diagram (Figure 8) 26 Model :DISTRIBUTED PROJECT MANAGEMENT Subset:ALL Date: Mar. 30, 1994 Time: 21:11 DELETE DOC> UPDATE DO> ADD DOCU> MAINTAIN D> UPDATE DO> ADD AUTHOR ADD AUTHOR Figure 8: Structure Chart Diagram 27 5.3 Business System and Technical Design (BSD) The IEF Design toolset was used to complete the business system and technical design for the DPMIS. The design of the DPMIS information maintenance tool was completed rst, followed by the design of the DPMIS information retrieval tool. Design of both tools followed the format detailed below. Procedures and procedure steps which used the elementary processes dened in the analysis and planning phases of development were dened and created in the design phase. The ows between procedures and procedure steps were detailed with the Dialog Design tool of the IEF producing the dialog ow diagram. Action diagrams for the procedures and procedure steps dened were constructed in the design phase. Design also involved the user interface (screen) design. The initial step in the system design was to review the Business System Defaults dened in the IEF Design toolset such as, screen video properties and function key assignments. The next step in design was the identication of essential ows between procedures such as the ows from the menu procedures to the procedures for maintenance and retrieval of database information. All ows identied throughout the design phase were included in the IEF dialog ow diagram. Initial construction of procedure and procedure step action diagrams was undertaken with the use of the IEF Stereotype tool. This tool automatically generates action diagrams which t the stereotype selected. For example, the basic outline of an action diagram for a menu can be generated by selecting the menu stereotype. The action diagrams generated with this tool were reviewed and utilized where appropriate. Procedure and procedure step action diagrams were also constructed with the use of the Edit feature in the action diagraming tool. Screen design for each of the procedures and procedure steps identied was completed with the use of the IEF screen design tool. The IEF screen design tool provides an auto layout feature for screen design. This feature was used to determine its usefulness, however, ultimately the screen design was done without the use of the auto layout feature. The Prototype tool provided by the IEF was utilized to review the screens designed. Figure 9 is a sample screen developed for the DPMIS using the IEF screen design tool. The IEF Design toolset for OS/2 includes a Window Design tool. The use of this tool was reviewed briey by redeveloping some of the user interface in a Windows design, however, the Windows design was not implemented for the DPMIS. Consistency checks were performed at the business system design level following which technical design was undertaken with the use of the IEF transformation, referential integrity and retransformation features available in the Design toolset. Transformation of the data model objects into data structure objects was completed successfully. The IEF automatically performs both consistency and referential integrity checks before allowing the transformation to proceed. The reports available from the IEF, including the consistency check reports, were reviewed and used to conrm the correctness and completeness of the system development throughout the design phase. The details of the good features, poor features and inconsistencies that were encountered in the use of the IEF Design Toolset are included in the \Evaluation of the IEF Toolsets" document (Appendix D). A summary of these comments is included here. 28 Model :DISTRIBUTED PROJECT MANAGEMENT Subset:ALL TRANCODE Date: Mar. 20, 1994 Time: 12:33 PROJECT MAINTENANCE YY-MM-DD HH:MM:SS PROJECT DETAIL Project Name XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Status XXXXXXXXXX Start Date YY-MM-DD Completion Date YY-MM-DD Description XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX SITE Organization XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PROJECT LEADER Surname XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX First Name XXXXXXXXXXXXXXXXXXXX MILESTONE Milestone Name XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELIVERABLE Deliverable NameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Command XXXXXXXXXXXXXXXXXXXX <<< PFK >>> <<< PFK >>> <<< PFK >>> <<< PFK >>> <<< PFK >>> <<< PFK >>> <<< PFK <<< ERR >>> <<< ERR >>> <<< ERR >>> <<< ERR >>> <<< ERR >>> <<< ERR >>> <<< ERR Figure 9: A Sample User Interface Screen 29 5.3.1 IEF Design Toolset Summary The Design toolset followed very closely in usage to both the Planning and Analysis toolsets in the mechanics of development of IEF diagrams. The consistency in methods of editing diagrams is helpful in the continued use of the IEF toolsets. The information provided in on-line Help and in the reference material available is primarily limited to \how-to" instructions. It would be benecial to have a better explanation of the concepts involved in the design phase. The reports available that are relevant to the Design Toolset are useful. These reports provide lists and denitions of items such as procedures, procedure steps, commands and exit states. The following short comemnts provide a brief outline of notable good features, poor features and inconsistencies. Details of these features and other features can be found in Appendix D. Consistency Check reports at times poorly identify problems. Notication of a problem is provided but it is sometimes dicult to determine which entity or action was associated with the error. Help is less helpful in this phase because of the extent of gaps in information on topics such as Exit States. Prototyping is a tool that allows the designer to view prototypes of the screens designed using the IEF tool. This was not useful for this project. Chaining is extremely useful in this phase. It is possible to chain between screens, action diagrams, prototyping and the structure chart. Printing of a screen design does not include the function key assignments in the printout. Auto Layout of screens is available. This generates the screen design when import and export views have been dened. This was not useful for this project, however, the layouts generated in testing were reasonable. Help presents information on \how-to" develop action diagrams but is lacking in explanations of the concepts and ow within the action diagrams. Descriptions of procedure steps can be entered, however, the description does not print correctly when the action diagram is printed. 5.3.2 IEF Design Toolset Deliverables The IEF deliverables for the BSD phase were produced. Examples of the diagrams and reports produced are included to provide a view of the type of documentation produced by the IEF Design Toolset. The entire set of deliverables for this phase is not included because of the length of some of the reports. 1. Structure Chart 2. Action Block Usage 30 3. 4. 5. 6. 7. 8. 9. 10. 11. Procedure Action Diagram Procedure and Procedure Step Screens Procedure Step Denition Report Dialog Flow Diagram Exit State List Exit State Usage Report Data Structure List Data Store List DSD Implementation List 5.4 Construction and Testing This phase of the project involved the generation of the code and setting up the database for the DPMIS. This phase used the IEF Construction Toolset and the Extended Services for OS/2. OS/2 and the Extended Services were not available prior to the Construction phase of the project and the IEF for the Windows environment does not include the Construction Toolset. Therefore, the DPMIS \model" was transferred from the DOS version of the IEF to the OS/2 version of the IEF. This was simply a matter of copying the les for the DPMIS model in the models directory for the OS/2 version of the IEF. The environment specied for the application was the OS/2 operating system and all other environment parameters were set to those specied in the Workstation Construction guide 9]. Packaging of the load modules for the business system oers two options: one load module or multiple load modules. The DPMIS business system was packaged using multiple load modules. The load modules specied in packaging will each become executable les. It is recommended in the Workstation Construction guide 9] that a single load module be specied for the OS/2 environment. The single load module is recommended to eliminate of loading of multiple executable les during testing. Multiple load modules were selected for the DPMIS based on the tutorial information that is provided for the IEF Installation Model which is packaged in multiple load modules. The next step in the construction of the DPMIS was to generate and install the database and the code with the IEF Construction toolset. All modules were generated with the trace option selected. This option allows for testing of the action diagrams and enables the user to debug the diagrams, stepping through each diagram and moving between diagrams. The IEF automatically runs a consistency check when generation is requested. The information system was tested using the testing facilities provided in the IEF. Testing was done with the Application Environment Facility (AEF) and also from the IEF Installation Monitor. Testing in the IEF environment is done on the Action Diagrams rather than the C code, when the code has been generated with the trace option. The IEF Installation Monitor becomes active during generation and installation and the option to test can be selected when it is active. 31 The AEF testing facility was used when the IEF Installation Monitor was not active. These two methods of testing were used and both methods worked in identical fashion once activated. The details of the good features, poor features and inconsistencies that were encountered in the use of the IEF Construction Toolset are included in the \Evaluation of the IEF Toolsets" document (Appendix D). A summary of these comments is included here. 5.4.1 IEF Construction Toolset Summary The IEF Construction Toolset is fully integrated with the other toolsets. It is fully automated and the user is really only required to enter environment information and select the appropriate menu selections to initiate the generation and installation of the DDL and source code. The following short comments provide a brief outline of notable good features, poor features and inconsistencies. Details of this features and other features can be found in Appendix D. Generation and installation of the load modules cannot be halted with the STOP button in the generation dialog box. The button was simply not functional. Install All Changes saves a great deal of time since only the code for those sections of the information system that were changed would be regenerated and installed. Testing or debugging is done on the action diagrams. This is highly desirable over debugging the source code. The testing methods are simple. Testing was delayed by the omission of necessary instructions from the manuals. Install All Changes worked successfully on the initial use of this function. A second attempt to use the function was unsuccessful and a fatal error encountered. It was necessary to exit and then restart the IEF to use Install All Changes again. 5.4.2 IEF Construction Toolset Deliverables The IEF deliverables for the ISP phase were produced. Examples of the diagrams and reports produced are included to provide a view of the type of documentation produced by the IEF Construction Toolset. The entire set of deliverables for this phase is not included because of the length of some of the reports. A sample IEF-generated C source code is given in Appendix C. 1. C Source Code 2. Database Denition Language 3. DPMIS Executable Load Modules 6 Experience The case study undertaken was overall a good and very interesting experience. As stated previously, the initial development was done in the DOS/Windows version of the IEF. The IEF for OS/2 was not available at the beginning of this project and the IEF Construction Toolset requires the OS/2 32 environment. Therefore the DPMIS model was transferred to the IEF for the OS/2 environment for the Construction and Testing phase of development. The transfer was a simple matter of copying the model les to the OS/2 IEF directory. The IEF toolsets utilized during this project proved to be well integrated and the functionality of the tools was consistent throughout the toolsets. The IEF is designed to span the entire systems development process and does this very well. The feature that may disappoint users of upper CASE tools is the quality of printouts available from the diagraming tools, such as the Organizational Hierarchy Diagram tool, which do not produce diagrams of a quality that would be appropriate for presentations. The IEF version for OS/2 would be the preferred environment for the development of future information systems. It is anticipated that the learning curve would have been faster with the use of the OS/2 version since the generation and testing of some modules would make up for some of the lack of documentation of the IEF procedures. Incomplete documentation or outdated documentation presented the major diculty in learning the proper use of the IEF CASE tool. Summaries of good features and inconsistencies, as well as, poor features encountered are outlined in the following sections of this document. 6.1 Summary of Good Features of the IEF Toolsets Procedures for creating and editing diagrams were very consistent from toolset to toolset. There were some dierences in functionality of some tools which did not present a problem in the use of the tools. The consistency of the diagraming tools speeded the development of further diagrams once one IEF diagram had been constructed. Diagrams and matrices were automatically populated by the IEF during the construction of related diagrams which also helps to speed the system development process. Alternative methods of developing diagrams are available such as the Data Model List which provides an alternative method of developing the entity-relationship diagram and some users may nd the list style easier to work with than the diagram style. The IEF eciently maintains the data for the DPMIS during the development process. Details regarding the information system which were entered during the use of one toolset were consistently available when progressing to the next toolset and phase of development. The reports available from the IEF toolsets provide a good reference for the IEF users as well as information on the system for project members not involved in the use of the IEF toolsets. The IEF Chaining tool allows you to transfer quickly to other diagrams or other sections of the current diagram. For example, it is possible to chain from the activity hierarchy diagram to the activity dependency diagram. Consistency Checks are available at each development level and for the most part these are initiated by the user. The few Consistency Checks that are automatically run by the IEF are essential and unobtrusive. Generation and installation of the Database Denition Language (DDL) and the load modules is handled completely by the IEF. The IEF runs a consistency check prior to the generation and installation. Error reports are provided for each module which clearly identify the errors encountered. 33 The source code produced by the IEF is dicult, if not impossible, to follow. Therefore, testing is done by stepping through the action diagrams. The testing procedures are identical in the AEF and from the IEF Installation Monitor and once the user is familiar with the way to use the testing facilities it works very well and testing proceeds very smoothly. Necessary changes that are identied through the testing of action diagrams can easily be changed in the action diagrams, dialog ow or view mapping in the screen design can be implemented with the use of the appropriate tool. The IEF tools provide the option to generate code for a specic action diagram or screen and the construction toolset allows the user to select the option to \Install All Changes" which saves a great deal of time over complete regeneration and installation of the entire application. 6.2 Summary of Poor Features of the IEF Toolsets The poor features encountered in the use of the IEF toolsets centered mainly around the exibility of the diagraming tools and the quality of the printouts available from the diagraming tools. Specic diculties encountered are detailed in the evaluations of the individual toolsets. The IEF diagraming tools did not allow the user to generate a good quality printout. It was not possible to change the label on the diagrams printed to provide simple identication of the diagram, for example, process activity hierarchy versus function activity diagrams. To produce a reasonable quality print out of the diagrams, in particular, the larger diagrams, it was necessary to perform a great deal of tedious moving of boxes and lines. Fonts were adjustable in the IEF diagrams with the Options selection of the IEF, however the fonts on the printed diagrams were not adjustable by the user. The IEF provides documentation of the information system, however, it is not mandatory to complete many of the descriptions, such as the descriptions of procedures and procedure steps. The entry of this information would be essential for using the IEF in the team environment where the development phases were completed by separate teams or individuals. The IEF Help facility was, on the whole, useful. The most notable drawback was the fact that, particularly in the Design toolset, was that the information available on a topic stressed the \how-to" and did not always provide a satisfactory explanation of the purpose and downstream eects of a topic referenced. The generation and complete installation of the entire information system, DDL and code required approximately three (3) hours and the \STOP" button in the generation dialog box did not work. This button should halt the generation process once it has been initiated. This presents a problem, particularly, in the learning phase of using the IEF since once the generation has been started, the user has only two options, reboot the machine or wait until the generation has nished. The benets noted regarding generation of specic modules and installation of the changes only presented a diculty when utilized. The user was allowed to use this option once successfully, however, a second attempt to use this function without exiting the IEF resulted in an internal error and any changes that had been made were lost. The testing facilities available in the IEF, as mentioned above are quite good, however, the documentation available for the AEF did not instruct the user that it was necessary to set \aetest" to on in order to use the trace facility. This omission delayed the testing of the information system. The instruction was eventually located in the IEF Rapid Development Tutorial 12]. 34 6.3 Summary of Inconsistencies in the IEF Toolsets The IEF toolsets did not present the user with many inconsistency problems. Some minor diculties that were encountered are detailed in the evaluations of the individual toolsets. The most notable inconsistency was the fact that a consistency check run on a sample model developed to experiment with the use of entity subtypes was successful despite the fact that an identier had not been included for an entity subtype. This presents a problem when the user attempts to select an identier for the entity subtype in action block synthesis. One inconsistency that became apparent in the construction toolset was the fact that changes made to view mapping in screens were not consistently reected with simply generation and reinstallation of that screen module. It was necessary in one instance to regenerate the entire application code, despite the fact that the error corrected was identical to that which occurred in another screen. A user error could not be identied as the reason for this inconsistency. 7 Project Summary This project developed a case study of the use of an integrated CASE tool, specically the IEF by TI, for the development of an information system. The development process has been documented to provide general information on the use of a CASE tool. This documentation details the functionality of the IEF CASE tool. The information system selected was the Distributed Project Management Information System (DPMIS) which was designed to support the tracking of the progress, status and descriptive details of projects spanning multiples sites. This information system was selected because we have experience with a distributed project and this information system would have been very useful in that project. The development of the DPMIS followed the structured methodology embedded in the IEF CASE tool. The CASE tool and the consistency check feature, in particular, enforce the adherence of the user to the methodology dened within the CASE tool and, therefore, the order in which the toolsets are used. The integration of the toolsets enables the development of the information system to ow easily from toolset to toolset. The information engineering methodology embedded in the IEF coupled with the integration of the toolsets, is geared to the team environment where the system under development would be passed from the planning team to the analysis team, design team and nally to the construction team. The level of integration of the IEF toolsets make this a clearly feasible development method. The only drawback that should be mentioned with respect to this is that the IEF does not enforce the completion of descriptions of many elements of the information system such as procedures or procedure steps. This information is required by each team as the development progresses. This experience was an extremely benecial one and hopefully the documentation of this experience will be of benet to others who are interested in implementing the use of integrated CASE tools, specically the IEF and also to the CASE tool developers. 35 7.1 Goals 7.1.1 Case Study The study of development using a CASE tool was completed successfully. A set of tutorials for possible use in future courses has been developed and documentation of the development process has been maintained for future reference. 7.1.2 CASE Tool Review The second goal of this project was to assess the reasons CASE tools have not achieved the level of acceptance that was initially anticipated. In particular, is the length of the learning curve actually a problem and if so, why? In addition, are the results achieved from a CASE tool worth the time investment required? This project utilized all toolsets of the IEF and the tools in each toolset. Some tools were only briey reviewed since they were not applicable to the development of the DPMIS. This has been noted in the discussion of each toolset included in the development section of this paper. 7.2 Evaluation Factors The evaluation factors and questions raised in the introduction to this document are discussed here and the questions answered. 7.2.1 Diagramming Capabilities The diagraming capabilities of the IEF toolsets can only be described as adequate. The objects can be resized and diagram lines can be redrawn. The methods for developing diagrams are consistent throughout the toolsets and the methods are simple and easy to learn. The Chain tool which is available in each of the toolsets enables the user to transfer between levels of a diagram and also between related diagrams. The printouts produced for diagrams such as the ERD are not of good quality and this could not be adjusted. The fonts in the diagrams could not be adjusted and no method of changing headings on diagrams could be found. 7.2.2 Software Engineering Methodologies The IEF supports one methodology, James Martin's Information Engineering methodology. This did not present a problem, although experience with other I-CASE tools or further use of the IEF may provide insight into the benets of supporting multiple methodologies. Certainly this may be a drawback for users who have already adopted a dierent methodology. The IEF Planning toolset does not support project management planning. Therefore, it was necessary to develop external documentation of the project plan. 7.2.3 Consistency Checking The IEF consistency checks are run both automatically by the CASE tool and at the request of the user. The level of consistency checks can be specied by the user. The level can be set to correspond to the appropriate development phase for the project. 36 Only one error that aected future development and was not identied by the consistency check was found. This error involved a temporary model that was developed to review the use of entity subtypes in the ERD. An entity subtype was created without dening an identifying attribute. This omission was allowed to pass consistency checking and presented a problem when Action Block Synthesis was attempted. There was no identier to select for this entity subtype. 7.2.4 Toolset Integration The IEF toolsets are completely integrated. The repository is accessible for all the tools in each toolset. Information entered in the Planning toolset is not all available to the Analysis toolset but the information that is not available is not required to fully develop the information system. For example, the OHD is only accessible from the Planning toolset but it is not required to develop the information system. It was not necessary at any stage of development, to reenter details of the information system. 7.2.5 Documentation The reports available in the IEF toolsets provide the essential details required for the information system. These would prove useful in a team environment. One drawback to the documentation of the IEF toolsets is that a developer can simply choose not to enter some details such as descriptions of processes and objects. This could present a problem in the team environment since the omission of this information could result in a misunderstanding by subsequent development teams or individuals. In addition, some of the descriptions were not printed completely in the reports, leaving gaps in information. For the most part the documentation identies the report or document, however, diagrams headings could not be altered. In some instances, such as the ERD the diagram headings were not adequate to identify the diagram. The reports generated by the IEF do not produce presentation quality information, which necessitates the development of additional documentation when this type of information is required. 7.2.6 Database Generation The IEF supports DBM and INGRES. The OS/2 environment supports DBM. No changes were required in the database tables following generation, therefore, the retransformation facility was not utilized for essential retransformation of the data model. 7.2.7 Code Construction The IEF supports the generation of COBOL and C. The source code generated for this project was C. The code compiled without errors. The source code les generated are very large. Comments are included automatically by the IEF to aid the user in identifying the purpose of sections of the code, however, the code itself is dicult to follow. Changes to the code were achieved by making changes in the action diagrams and regenerating the code. It was not necessary to actually work in the source code les at all. Code is generated at a rate of approximately 3,000 lines per minute although this does vary. A sample of code is appended to this document with a copy of 37 the associated action diagram. Changes to the actual source code les were not attempted. The length and style of the source code made this an unattractive prospect. 7.2.8 Reengineering Support Reengineering of the ERD was not required. This is supported by the IEF through retransformation. The changes made to the action diagrams were implemented through regeneration of the code for the diagrams that were changed. Reengineering of an information system following implementation, of course, will necessitate the use of the IEF. 7.2.9 Availability of Metrics Metrics are not available in the IEF CASE tool with the exception of the speed of code production and the number of lines of code generated for the load modules. 8 Conclusions and Future Work 8.1 Conclusions CASE technology was developed to facilitate the use of a structured and consistent methodology for software/systems development. Although CASE tools have achieved some acceptance, the level of acceptance has not been as high as was anticipated. The primary diculty which has been cited for the lack of acceptance has been the length of the learning curve. Companies do not see the increase in productivity that is given as a reason for adopting this technology and in some instances the tools are abandoned 1, 15]. The goals of this project were to develop a case study for possible use in future courses and to study the use of an integrated CASE tool. It was anticipated that this project might provide some insight into the reasons CASE tools have not achieved the level of acceptance that was initially expected. A case study using the IEF CASE tool has been completed. Tutorials have been developed which can provide assistance to future users of the IEF. The case study coupled with these tutorials will ll in some of the gaps present in the documentation available for the IEF CASE tool. The learning curve for the IEF was long. If the length of time for development were the only concern, in comparison to the development of the same information system without the use of a CASE tool the time involved in developing the DPMIS with the CASE tool would be prohibitive. The stumbling block in learning, however, was consistently the lack of adequate documentation. In particular, the Help facility of the IEF as well as the manuals do not provide enough background explanation of the item for which the user has requested help. The manuals and the Help facility provide, for most selections, detailed \how-to" instructions which help the user learn to perform a task. What is missing are details of the \downstream eects" of some development activities or items. There were also omissions from the manuals and/or Help facility that resulted in delays in development. While the omissions did result in delays it was the lack of adequate background information that resulted in greater delays. The help for this type of tool which is designed to be used by software/systems developers should perhaps concentrate more on explaining the concepts 38 and \downstream eects" of development activities then the \how-to" explanations that are quite detailed overall. These diculties are the reasons that were identied for the feelings of frustration and the length of the learning curve. The toolsets were easy to use and well integrated. Essential details of the information system were accessible throughout the tools and toolsets of the IEF. The diagraming capabilities of the IEF do not match those of Upper CASE tools if presentation quality diagrams is what the user requires. The level of integration and the construction capabilities of the IEF make up for this deciency. The remaining question raised in the goals of this project can be answered positively. Yes, the learning curve is worth the eort. There are certainly problems present in the IEF and lack of support for some aspects of the development life cycle. There are good features as well. The IEF CASE tool enforces the methodology it supports and features such as the Consistency Check aid the user in avoiding errors in the ISP, BAA and BSD/TD phases of development. The most frequently asked question that was encountered while working on this project was, \What is the code like that it generates?" People appear very skeptical which coincides with what the literature states. Certainly the code is not well commented or easy to follow but with the testing facilities in the IEF the debugging is done at the action diagram level. Further work, specically with the source code generated would be required to fully answer the question. Since action diagrams are roughly equivalent to algorithms they are actually easier to follow than trying to interpret another individual's code. Once the user is familiar with the style of the \algorithms" developed in the IEF the style of the code seems less signicant, however, this would necessitate the use of the IEF for future maintenance of the DPMIS. 8.2 Future Work The plan for future work is to repeat the development of the DPMIS using a dierent integrated CASE tool and perform a comparison of the tools. It would also be benecial to use the IEF in a team environment to assess its eectiveness for that environment. The team size would be dependent on the information system project undertaken. The reengineering capabilities of the IEF were not adequately tested. It would be worthwhile to implement changes in the DPMIS using the IEF to assess these capabilities. It would also be benecial to attempt to implement some changes directly to the C source code produced. Additional experience with this tool would provide evidence that it is worth the time investment to learn the use of a CASE tool. It would also be interesting also to have a new user learn the IEF using the OS/2 version. This would provide the opportunity to completely develop small sections of an information system and rapidly develop these through the IEF toolsets including the Construction toolset. Acknowledgments We would like to thank Doug Jones and Cathy Parkinson of Supply and Services Canada, Baiba St. John, Brett Martensen and Bernie Hodson of the Federal Institute for Informatics, and Palle Johnson of Texas Instruments Canada Limited for their cooperations during this project. 39 References 1] Yourdon, E., Decline & Fall of the American Programmer, Yourdon Press, PTR Prentice Hall, Englewood Clis, NJ, 1992. 2] Texas Instruments, A Guide to Information Engineering Using the IEF: Computer-Aided Planning, Analysis and Design, TI 2739756-0001, 2nd Edition, January 1990. 3] Texas Instruments, IEF Technical Description, Methodology and Technology Overview, TI 2739900-8120 August 1992, Texas Instruments. 4] Texas Instruments, IEF Basics (Information Engineering Facility, TI 2739759-0001, December 1989, Texas Instruments. 5] Texas Instruments, IEF Planning Toolset Guide, TI 2739753-0001-V41A, 2nd Edition, December, 1989, Update August 1990. 6] Texas Instruments, IEF Analysis Toolset Guide, TI 2739751-0001-V41A, 4th Edition, December 1989, Update August 1990. 7] Texas Instruments, IEF Design Toolset Guide, TI 2739751-0001-V41A, 4th Edition, December 1989, Update August 1990. 8] Texas Instruments, IEF Construction Toolset Guide, TI 2739780-0001, 1st Edition, August 1990. 9] Texas Instruments, Workstation Construction, TI 2578279-0001, 2nd Edition, December 1991. 10] Slonim, J., Bauer, M., et al., Towards a New Distributed Programming Environment, Proc. of the 1991 CAS Conference, Toronto, Canada, October 1991. 11] Texas Instruments, Rapid Development Using the IEF, TI 2739779-0002, 2nd Edition, July 1991. 12] Texas Instruments, IEF Development Tutorial, TI 2739776-0002, 2nd Edition, July 1991. 13] Martin, J., Information Engineering, Vols. 1-3, Englewood Clis, NJ: Prentice Hall, 1990. 14] Pressman, R., Software Engineering: A Practitioner's Approach 3rd Edition, McGraw-Hill, Inc. 1992. 15] McGrath, F., \Checklist for Buyers of ICASE Products", IEEE Software, November 1993. 16] Norman, R.J. and M. Chen, \Working Together to Integrate CASE", IEEE Software, March 1992. 17] IEEE IEEE Standard for Systems Project Management Plans, Std. P1058, unapproved nal draft, September 1986. 18] Harmon, P., \Texas Instruments' Information Engineering Facility: A Brief History of CASE" American Programmer, Vol. 6, No.9. 40 APPENDICES 41 A Distributed Project Management Information System A.1 Introduction A.1.1 Objective The Distributed Project Management Information System (DPMIS) will support the tracking of the progress, status and descriptive details of projects spanning multiple sites, including: Denition of Projects which span multiple sites. Denition of Projects which are local to sites. Permit the creation, update and deletion of Projects by Project Leaders. Permit any Project Member to Browse and/or Retrieve information about any Project or related entities. A.1.2 Information System The information system will consist of two (initial) components: Update/Create Tool Retrieval/Browse Tool Each tool would run local to a Site. The Update/Create Tool would update a local database (or designate) while the Retrieval/Browse Tool would permit information to be collected from the multiple databases. A.1.3 Rationale The information system oers a number of attractions: We have experience with a distributed project, namely CORDS, which can provide a set of needs and for which such an information system would have been very useful. It oers local update and yet requires a browsing capability which entails multi-database queries. Interfaces for the two tools should be kept simple. It is easy to explain the scenario and need for such an information system to non-technical users (e.g. managers and executives). It is easy to dene additional tools for generating reports, extracting data for PERT or Gantt Charts, for extracting e-mail lists, etc. 42 A.2 Denition of Information System The information system requires: 1. Identication of the information to be kept about projects, i.e., entities, attributes and relationships. 2. Identication of the functionality of each tool. Update/Create Tool (Information Maintenance) Retrieval/Browse Tool (Information Retrieval) The DPMIS will provide the user with the option to select either the Update/Create Tool or the Retrieval/Browse Tool and, of course, the option to exit the DPMIS. A.2.1 Update/Create Tool (Information Maintenance) The Update/Create Tool will allow the creation, update and deletion of all entities described in the section \Entities, Attributes and Relationships". Selection of the Update/Create Tool will then allow the further specic selection of the type of entity to be maintained followed by the selection of the option to Create, Update or Delete. Access to the database will be controlled through the maintenance of the current Member information. A.2.1.1 Create The creation of Projects and related entities will only be allowed by those Members identied as Project Leaders. The user's name will be checked against the current Members in the database to determine both if the user is a Member and if they are authorized to create the requested entity as in the case of Projects. If the user is authorized for this function the user will then be prompted for the necessary mandatory and optional information to enter the specied entity in the database. Failure to satisfy the authorization requirements or failure to enter mandatory information will terminate access. Sites and Projects are the only entities that can be created without a parent Project. Selection of the option to create any other entities will result in the display of a list of current Projects for user selection. The user will not be allowed to continue in creation without rst selecting a parent Project. A.2.1.2 Update The Project Leader is the only Member authorized to update current Projects, Sites, Members and Milestones. Members who are responsible for a specic Deliverable or Document will be authorized to update these entities. As in the create function the user will be required to select the specic Project related to the entity selected for update. As stated above the selection to update the information regarding Sites will not result in the display of a list of current Projects since Sites may exist without current Projects. 43 A.2.1.3 Delete The deletion of Projects and related entities will also be allowed only by Project Leaders. As in the create and update functions the user will be required to select the specic Project related to the entity selected for deletion. A.2.2 Retrieval/Browse Tool Access to the Retrieval/Browse Tool will be restricted only to current Members of all Projects. It will allow Members to retrieve information regarding all current Projects and the related entities. Information included for each entity type, eg. Member, will not be of a sensitive or condential nature, therefore, the only security required is to conrm that the user is a current Member in the database. Information retrieval will be allowed, by each of the entities described in the section, \Entities, Attributes and Relationships" (Project, Site, Member, Milestone, Deliverable and Document). Examples of retrieval requirements are outlined below and will be detailed further as the project progresses. A.2.2.1 Project Retrieve attribute information for a specic Project by Project Name. Retrieve a list of all Projects by a specic attribute value, eg. Status = on-time or a relationship IS RELATED TO Project. Retrieve a list of all related entities, eg. Milestones where the relationship IS PROJECT MILESTONE is satised for this Project. The user will then be allowed to select a specic Milestone and retrieve information regarding this specic Milestone. A.2.2.2 Site Retrieve attribute information regarding a specic Site. Retrieve a list of all Sites by a specic attribute value, eg. City = London or relationship HAS PROJECT. Retrieve list of related entities, eg. all Members who have PRIMARY AFFILIATION WITH the Site. The user then will be allowed to select a specic Member and retrieve information regarding this related entity. A.2.2.3 Member Retrieve attribute information regarding a specic Member. Retrieve a list of all Members by a specic attribute value, eg. Project Leader or relationship ALSO WORKS AT Site. 44 Retrieve a list of related entities, eg. all Deliverables the specic Member IS RESPONSIBLE FOR. The user then will be allowed to select a specic Deliverable and retrieve information regarding this related entity. A.2.2.4 Milestone Retrieve attribute information regarding a specic Milestone. Retrieve a list of all Milestones by a specic attribute value, eg. Type = Deliverable or relationship IS PROJECT MILESTONE. Retrieve related entity, eg. Deliverable this Milestone represents. The user then will be allowed to retrieve information regarding this related entity. A.2.2.5 Deliverable Retrieve attribute information regarding a specic Deliverable. Retrieve a list of Deliverables by a specic attribute, eg. Expected Delivery Date or relationship IS DOCUMENT. Retrieve a list of related entities, eg. Members who are working on this Document. The user then will be allowed to select a specic Member and retrieve information regarding this related entity. A.2.2.6 Document Retrieve attribute information regarding a specic Document. Retrieve a list of Documents by a specic attribute, eg. Type = Project Report or relationship DESCRIBES Project. Retrieve related entity, eg. Deliverable this Document represents. The user is then allowed to retrieve information regarding this specic Deliverable. A.2.3 Entities, Attributes and Relationships Mandatory attributes and relationships will be displayed in bold print and mandatory relationships will be described as \Always" present. A.2.3.1 Project Projects are research projects being conducted by organizations at various Sites in Canada, the United States and Europe. Projects will be identied in the Information System by the following attributes and the following relationships will apply. 45 Attributes Project Name (identifying attribute) Description (max length allowed 254 characters) Start Date Completion Date Status (Values: on-time, suspended, behind, completed) (Default value: on-time) Relationships Always HAS MEMBER (one or more) Member. Always HAS MILESTONE (one or more) Milestone. Always HAS DELIVERABLES (one or more) Deliverables. Always IS AT PRIMARY (one) Site. Always IS AT (one or more) Site. Sometimes IS COORDINATED BY (one or more) Member. Sometimes IS DESCRIBED BY DOCUMENT (one or more) Document. Sometimes HAS RELATION TO (one or more) Project. Sometimes IS RELATED TO (one or more) Project. The estimated number of projects monitored by the DPMIS is as follows: Minimum 1 Average 10 Maximum 99 The estimated growth rate of number of projects is ve percent per year. A.2.3.2 Site Sites are organizations in Canada, the United States and Europe where Projects are undertaken. Sites can be maintained on the database without currently running Projects. Sites will be identied in the Information System by the following attributes and the following relationships will apply. 46 Attributes Organization (identifying attribute) Internet Address FTP Address Street Address City Province State Country Postal ZIP Code Relationships Sometimes IS PRIMARY AFFILIATION FOR (one or more) Member. Sometimes HAS MEMBER (one or more) Member. Sometimes CAN FTP DOCUMENT (one or more) Document. Sometimes IS PRIMARY LOCATION FOR (one or more) Project. Sometimes HAS PROJECT (one or more) Project. Sometimes HAS CONTACT (one) Member. The estimated number of Sites to be monitored by the DPMIS is as follows: Minimum 1 Average 5 Maximum 10 The estimated growth rate of Sites is ve percent per year. A.2.3.3 Member Members are sta, students and faculty at the Sites who are currently involved with Projects which are being monitored using the DPMIS. Members will be identied in the Information System by the following attributes and the following relationships will apply. 47 Attributes Surname (identifying attribute) First Name (identifying attribute) Email Telephone Fax Project Position (Values: Programmer, Postdoc, Researcher, Professor, Student and Other) (Default value: Researcher) Job Type (Values: Project Leader, Sta) (Default value: Sta) Relationships Always HAS PRIMARY AFFILIATION WITH (one) Site. Sometimes IS MEMBER OF PROJECT (one or more) Project. Sometimes ALSO WORKS AT (one or more) Site. Sometimes WORKS ON (one or more) Deliverable. Sometimes IS CONTACT FOR (one) Site. Sometimes IS PRINCIPAL AUTHOR (one or more) Document. Sometimes IS AUTHOR OF (one or more) Document. Sometimes COORDINATES PROJECT (one) Project. Sometimes IS RESPONSIBLE FOR (one or more) Deliverable. Sometimes IS SUPERVISED BY (one) Member. Sometimes SUPERVISES (one or more) Member. Sometimes IS MANAGED BY (one) Member. Sometimes MANAGES (one or more) Member. The estimated number of Members to be monitored by the DPMIS is as follows: Minimum 1 Average 30 Maximum 99 The estimated growth rate of Members is three percent per year and the estimated rate of change of Members is ve percent per year. 48 A.2.3.4 Milestone Milestones representing signicant development events exist for each Project. Milestones will be identied in the Information System by the following attributes and the following relationships will apply. Attributes Name (identifying attribute) Expected Delivery Date Actual Delivery Date Type (Values: Hiring, Documentation, Demonstration, Meeting, Deliverable and Other) Description (max length allowed 254 characters) Relationships Always IS MILESTONE OF PROJECT (one) Project. Sometimes IS DELIVERABLE (one) Deliverable. Sometimes IS A DOCUMENT (one) Document. The estimated number of Milestones per Project to be monitored by the DPMIS is as follows: Minimum 1 Average 30 Maximum 99 The estimated growth rate of number of Milestones is two percent per year. A.2.3.5 Deliverable Deliverables representing specic Documents, Prototypes and Presentations and their respective delivery dates exist for each Project. Deliverables will be identied in the Information System by the following attributes and the following relationships will apply. Attributes Name (identifying attribute) Expected Delivery Date Actual Delivery Date 49 Description (max length 254 characters) Comments (max length 254 characters) Type (Values: Document, Prototype, Presentation) Relationship Always IS MILESTONE (one) Milestone. Always IS WORKED ON BY (one or more) Member. Always IS RESPONSIBILITY OF (one or more) Member. Always IS DELIVERABLE OF (one) Project. Sometimes DEPENDS ON (one or more) Deliverable. Sometimes ESSENTIAL FOR (one or more) Deliverable. Sometimes IS DOCUMENT (one) Document. The estimated number of Deliverables per Project which will be monitored by the DPMIS is as follows: Minimum 1 Average 6 Maximum 99 The estimated growth rate of number of Deliverables is one to two percent per year, although it is very likely that this number will remain static. A.2.3.6 Document Documents will represent information about the current Projects. Documents will be identied in the Information System by the following attributes and the following relationships will apply. Attributes Title (identifying attribute) Creation Date Abstract (max length 254 characters) Keywords (1 through 5) Keywords (6 through 10) Type (Values: Project Report, Component Documentation, Journal Publication, Conference Publication, Working Paper, Technical Report, Minutes, Proposal, Manual) (Default value: Project Report) 50 Relationships Always HAS PRINCIPAL AUTHOR (one) Member. Always IS AUTHORED BY (one or more) Member. Always DESCRIBES PROJECT (one) Project. Sometimes CAN BE FTPD FROM (one) Site. Sometimes IS DELIVERABLE (one) Deliverable. Sometimes IS MILESTONE (one) Milestone. The estimated number of Documents per Project monitored by the DPMIS is as follows: Minimum 1 Average 100 Maximum 1000 The estimated growth rate of number of Documents is one percent per year. 51 B IEF-Generated Entity Type Denition Report Model : DISTRIBUTED PROJECT MANAGEMENT Subset: ALL Jun. 06, 1994 09:18 page 1 Entity Definition __________________________________________________________________________ Entity: DELIVERABLE Description: Deliverables represent specific Documents, Prototypes and Presentations and their respective delivery dates for Projects and must exist for each Project. Each Deliverable will also be a Milestone in the Project and all Deliverables will have a Member who is responsible for the Deliverable. The responsible Member will be authorized to update Deliverable information. Subject area: DISTRIBUTED_PROJECT_MANAGEMENT Properties: Min Occ: Max Occ: Attributes: TYPE DELIVERABLE_NAME EXPECTED_DELIVERY_DATE ACTUAL_DELIVERY_DATE DESCRIPTION COMMENTS 1 Avg Occ: 1000 Growth Rate: Relationships: Always IS_RESPONSIBILITY_OF one MEMBER can transfer. Always IS_WORKED_ON_BY many MEMBER Cardinality Min: 1 (est) Max: 5 (est) Avg: 3 cannot transfer. Sometimes (50%) ESSENTIAL_FOR many DELIVERABLE Cardinality Min: 0 (est) Max: 5 (est) Avg: 2 cannot transfer. Sometimes (50%) DEPENDS_ON many DELIVERABLE Cardinality Min: 0 (est) Max: 5 (est) Avg: 1 cannot transfer. Always IS_MILESTONE one MILESTONE 52 60 2% per year can transfer. Sometimes (95%) IS_DOCUMENT one DOCUMENT can transfer. Always IS_DELIVERABLE_OF one PROJECT can transfer. Identifiers: NAME (Primary) DELIVERABLE_NAME Entity: DOCUMENT Description: Documents represent descriptive information about Projects and range in type from Minutes of meetings to Journal Publications. Documents must be authored by a Member and must always describe a Project. Subject area: DISTRIBUTED_PROJECT_MANAGEMENT Properties: Min Occ: Max Occ: Attributes: TITLE DATE ABSTRACT TYPE KEYWORD_1 KEYWORD_2 KEYWORD_3 KEYWORD_4 KEYWORD_5 KEYWORD_6 KEYWORD_7 KEYWORD_8 KEYWORD_9 KEYWORD_10 1 Avg Occ: 5000 Growth Rate: 1000 1% per year Relationships: Always HAS_PRINCIPAL_AUTHOR one MEMBER can transfer. Always IS_AUTHORED_BY many MEMBER Cardinality Min: 1 (est) Max: 5 (est) Avg: 2 cannot transfer. 53 Sometimes (95%) IS_DELIVERABLE one DELIVERABLE can transfer. Sometimes (95%) DOCUMENT_CAN_BE_FTPD_FROM one SITE can transfer. Sometimes (75%) IS_MILESTONE one MILESTONE can transfer. Always DESCRIBES_PROJECT one PROJECT can transfer. Identifiers: TITLE (Primary) TITLE Entity: MEMBER Description: Members are staff, students and faculty working at Sites on Projects. Members must have an affiliation with a current Site to be included in the DPMIS database, however, it is not necessary for each Member to be currently assigned to a Project. Subject area: DISTRIBUTED_PROJECT_MANAGEMENT Properties: Min Occ: Max Occ: Attributes: PASSWORD SURNAME FIRST_NAME PROJECT_POSITION EMAIL TELEPHONE FAX JOB_TYPE 1 Avg Occ: 1000 Growth Rate: 300 3% per year Relationships: Sometimes (25%) IS_CONTACT_FOR one SITE can transfer. Sometimes (25%) IS_PRINCIPAL_AUTHOR one DOCUMENT cannot transfer. Sometimes (50%) IS_RESPONSIBLE_FOR many DELIVERABLE Cardinality Min: 1 (est) Max: 5 (est) Avg: 3 cannot transfer. Sometimes (50%) IS_MEMBER_OF_PROJECT many PROJECT 54 Cardinality Min: 1 (est) Max: 3 (est) Avg: 2 cannot transfer. Always HAS_PRIMARY_AFFILIATION_WITH one SITE can transfer. Sometimes (25%) ALSO_WORKS_AT many SITE Cardinality Min: 1 (est) Max: 3 (est) Avg: 2 cannot transfer. Sometimes (25%) WORKS_ON many DELIVERABLE Cardinality Min: 1 (est) Max: 5 (est) Avg: 3 cannot transfer. Sometimes (25%) IS_AUTHOR_OF many DOCUMENT Cardinality Min: 1 (est) Max: 5 (est) Avg: 2 cannot transfer. Sometimes (25%) COORDINATES_PROJECT one PROJECT can transfer. Sometimes (25%) IS_SUPERVISED_BY one MEMBER can transfer. Sometimes (50%) SUPERVISES many MEMBER Cardinality Min: 1 (est) Max: 5 (est) Avg: 2 cannot transfer. Sometimes (75%) IS_MANAGED_BY one MEMBER can transfer. Sometimes (25%) MANAGES many MEMBER Cardinality Min: 1 (est) Max: 99 (est) Avg: 30 cannot transfer. Identifiers: NAME FIRST_NAME SURNAME SURNAME (Primary) SURNAME Entity: MILESTONE Description: Milestones represent significant development events for a Project and must exist for each Project. Update of Milestones will be the responsibililty of the Project Leader. Subject area: DISTRIBUTED_PROJECT_MANAGEMENT 55 Properties: Min Occ: Max Occ: 1 Avg Occ: 99 Growth Rate: Attributes: MILESTONE_NAME EXPECTED_DELIVERY_DATE ACTUAL_DELIVERY_DATE TYPE DESCRIPTION 30 2% per year Relationships: Sometimes (95%) IS_DELIVERABLE one DELIVERABLE can transfer. Sometimes (70%) IS_A_DOCUMENT one DOCUMENT can transfer. Always IS_MILESTONE_OF_PROJECT one PROJECT can transfer. Identifiers: NAME (Primary) MILESTONE_NAME Entity: PROJECT Description: Projects are research projects being conducted by organizations at various Sites in Canada, the United States and Europe. Projects will require mandatory relationships with Member, Site, Milestone and Deliverable entities. Project Leaders will be assigned and they will be responsible for the creation, update and deletion of Projects. Subject area: DISTRIBUTED_PROJECT_MANAGEMENT Properties: Min Occ: Max Occ: Attributes: START_DATE PROJECT_NAME COMPLETION_DATE STATUS DESCRIPTION 1 Avg Occ: 99 Growth Rate: Relationships: Always IS_AT_PRIMARY one SITE 56 10 5% per year can transfer. Always IS_AT many SITE Cardinality Min: 1 (est) Max: 3 (est) Avg: 2 cannot transfer. Always HAS_MEMBER many MEMBER Cardinality Min: 1 (est) Max: 99 (est) Avg: 10 cannot transfer. Sometimes (95%) IS_COORDINATED_BY one MEMBER can transfer. Sometimes (10%) HAS_RELATION_TO many PROJECT Cardinality Min: 0 (est) Max: 5 (est) Avg: 1 cannot transfer. Sometimes (10%) IS_RELATED_TO one PROJECT can transfer. Always HAS_MILESTONE many MILESTONE Cardinality Min: 1 (est) Max: 99 (est) Avg: 30 cannot transfer. Sometimes (95%) IS_DESCRIBED_BY_DOCUMENT many DOCUMENT Cardinality Min: 1 (est) Max: 100 (est) Avg: 100 cannot transfer. Always HAS_DELIVERABLES many DELIVERABLE Cardinality Min: 1 (est) Max: 99 (est) Avg: 6 cannot transfer. Identifiers: NAME (Primary) PROJECT_NAME Entity: SITE Description: Sites are specific organizations such as the University of Western Ontario and will be identified by the organization name. Projects will be conducted at Sites, however, Sites may exist in the DPMIS database without any relationships to Projects, Members, etc. Subject area: DISTRIBUTED_PROJECT_MANAGEMENT Properties: Min Occ: Max Occ: Attributes: INTERNET_ADDRESS 1 Avg Occ: 99 Growth Rate: 57 5 5% per year FTP_ADDRESS ORGANIZATION STREET_ADDRESS CITY PROVINCE_STATE COUNTRY POSTAL_ZIP_CODE Relationships: Sometimes (95%) HAS_CONTACT one MEMBER can transfer. Sometimes (95%) IS_PRIMARY_LOCATION_FOR many PROJECT Cardinality Min: 1 (est) Max: 3 (est) Avg: 2 cannot transfer. Sometimes (95%) HAS_PROJECT many PROJECT Cardinality Min: 1 (est) Max: 5 (est) Avg: 2 cannot transfer. Sometimes (95%) IS_PRIMARY_AFFILIATION_FOR many MEMBER Cardinality Min: 1 (est) Max: 99 (est) Avg: 30 cannot transfer. Sometimes (95%) HAS_MEMBER many MEMBER Cardinality Min: 1 (est) Max: 20 (est) Avg: 6 cannot transfer. Sometimes (95%) CAN_FTP_DOCUMENT many DOCUMENT Cardinality Min: 1 (est) Max: 10 (est) Avg: 5 cannot transfer. Identifiers: ORGANIZ (Primary) ORGANIZATION -End of Report- 58 C A Sample IEF-Generated C Code * * Source Code Generated by * Information Engineering Facility (tm) * Texas Instruments Inc. * Copyright (c) Texas Instruments, Inc. 1994 * * Target OS: OS2 DBMS: DBM * * Module Name: RETRIEVS Date: 94/02/19 * Time: 17:43:48 * * Screen: RETRIEVAL_MENU * * * * Environment: IEFAE / BYPASS * * * TIRXXX FUNCTIONS CALLED * TIRIBUF = identify input message * TIROBUF = open an output buffer * TIRCBUF = close an output buffer * TIREDI = extract data from an edited field * TIREDO = edit data into a displayable field * TIRGFLD = find a field in the input stream * TIRPFLD = add a field to the output stream * including attribute processing * TIRPBUF = write a buffer to the screen or printer * **************************************************************/ #include <string.h> #include <ctype.h> #include <stdio.h> #include <stdlib.h> typedef int Boolean #ifndef FALSE #define FALSE 0 #endif 59 #ifndef TRUE #define TRUE 1 #endif #define CMD_LEN 8 /********************************************************************** Data Declarations *********************************************************************/ static char * ti_copyright = "Copyright(c) Texas Instruments Inc. 1994" static char * module_name = "RETRIEVS" static char * mp_version = "5.0.A1" char * ief_runtime_parm1 char * ief_runtime_parm2 char * environment_list struct al { char dm_version8] char curr_lmod8] short max_seg_line char for_mod_input_sw #define FOR_MOD_INPUT 'Y' /* This message is the result of MFS FOR modname input */ char unformatted_data_sw #define UNFORMATTED_DATA 'Y' /* Clear screen with input other than trancode and not known-dialog-action */ char clr_scr_sw #define CLR_SCREEN 'Y' /* Non-formatted screen input */ char msg_got_sw #define MSG_GOT 'Y' #define NO_MSG_GOT 'N' char help_request_sw #define HELP_REQUESTED_HELP 'H' #define HELP_REQUESTED_PROMPT 'P' #define HELP_RESTART_DISP 'D' #define HELP_RESTART_EXEC 'E' 60 char restartable_flag #define RESTARTABLE_APPLICATION 'Y' /* A restartable application always updates the profile A non-restartable application updates the profile only when necessary to support links or when screen output requires the profile */ char screen_profile_flag #define SCREEN_REQUIRES_PROFILE 'Y' /* Screen requires profile support if it contains DM hidden or scrollable repeating group views mapped to import views. If not SCREEN-REQUIRES-PROFILE and not RESTARTABLE-APLLICATION output each data field with a preset modified data tag. */ char screen_return_loc #define SCREEN_DFLT_TOP 'T' /* Upon return form link, redisplay repeating groups starting with top(1st) occurance. */ char scrolling_amt_sw #define SCROLL_PAGE 'P' #define SCROLL_HALF 'H' #define SCROLL_CURSOR 'C' #define SCROLL_LOC 'L' #define SCROLL_MAX 'M' #define INVALID_SCROLL_AMT 'I' /* The following values are known values for scroll_amount_set and scroll_num. If the keyword scroll_amount_set or scroll_num is used in the procedural logic a function by the same name will be generated to test the true or false condition similiar to COBOL 88 levels. scroll_amt_set values 'P','H','C', 'L','M','I', '0' THRU '9'. scroll_num value '0' THRU '9' */ char scrolling_control #define SCREEN_UPDT_PAST_DISPLAY 'Y' char cics_xctl_sw #define CICS_XCTL_FLOW 'Y' char cics_handle_sw #define CICS_HANDLE_ABEND 'Y' char cics_conv_sw #define CICS_PSEUDO_CONV 'Y' char set_all_mdts_on_sw #define SET_ALL_MDTS_ON 'Y' 61 } bf NOTE: A large portion of this code has been removed to conserve space since the original code is approximately 95 pages long. static struct al * application_list struct scmgr { char scmgr_request8] #define SCMGR_ROLB "ROLB " #define SCMGR_SWITCH "SWITCH " #define SCMGR_IDENTIFY_MAP "IMAP " #define SCMGR_PARSE_MAP "PMAP " #define SCMGR_PARSE_UNFORMATTED_INPUT "PUNFINP " #define SCMGR_GET_MSG "GURB " #define SCMGR_HELP_REQUEST "HELP " #define SCMGR_PROMPT_REQUEST "PROMPT " #define SCMGR_HELP_RESTART_D "$#HRSD#$" #define SCMGR_HELP_RESTART_E "$#HRSE#$" #define SCMGR_INPUT_TO_OUTPUT "MAPITOO " #define SCMGR_OUTPUT_TO_INPUT "MAPOTOI " #define SCMGR_OUTPUT_SCREEN "ISBP " #define SCMGR_OUTPUT_PRINTER "IPBP " #define SCMGR_VERIFY_SCREEN "VERSCRN " #define SCMGR_GET_SCREEN_PROPS "GETSCRNP" char scmgr_return_code2] #define SCMGR_OK " " #define SCMGR_NO_MSG "QC" #define SCMGR_VERERR "ZW" #define SCMGR_EDIT_INVALID "ZE" #define SCMGR_UNFERR "ZU" #define SCMGR_WARNINGS_ZW "ZW" #define SCMGR_WARNINGS_ZE "ZE" #define SCMGR_WARNINGS_ZU "ZU" #define SCMGR_SWITCH_FAILED "SF" #define SCMGR_TERM_WITHOUT_HELP_MSG "NM" /* Dialog manager will terminate without redisplay of screen assuming tirhelp handled help display. */ #define SCMGR_TERM_WITH_HELP_MSG "WM" /* Dialog manager will redisplay screen with tirhelp message and terminate normally. */ 62 static Boolean scroll_num() { Boolean rc = FALSE int i for (i = 0 i < SCRLNUM_TBL i++) { if (application_list->scrolling_amt_sw == scrolling_numberi]) { rc = TRUE break } } return rc } static Boolean comparetospaces(s, l) char * s int l { Boolean rc = TRUE int i for ( i = 0 i < l i++) { if (si] != ' ') { rc = FALSE break } } return rc } static int natoi (astr, n) char *astr int n { int result char tmp1 63 char tmp2 char *s_end char negative = 0 /*** make zero terminated string ***/ s_end = astr + n tmp1 = *(s_end - 1) tmp2 = *s_end *s_end = '\0' /* character at end of field */ /* make zero terminated string */ /*** save sign from last byte of field ***/ if (*(s_end-1) & 0x40) { *(s_end-1) &= 0x3f /* clear sign bit */ negative = 1 } /*** convert to integer ***/ result = atoi (astr) *(s_end - 1) = tmp1 *s_end = tmp2 /* convert */ /* restore character containing sign */ /* restore character following field */ /*** make negative if minus was indicated ***/ if (negative) result = -result return (result) } static long natol (astr, n) char *astr int n { long char char char char result tmp1 tmp2 *s_end negative = 0 /*** make zero terminated string ***/ 64 s_end = astr + n tmp1 = *(s_end - 1) tmp2 = *s_end *s_end = '\0' /* character at end of field */ /* make zero terminated string */ /*** save sign from last byte of field ***/ if (*(s_end-1) & 0x40) { *(s_end-1) &= 0x3f /* clear sign bit */ negative = 1 } /*** convert to integer ***/ result = atol (astr) *(s_end - 1) = tmp1 *s_end = tmp2 /* convert */ /* restore character containing sign */ /* restore character following field */ /*** make negative if minus was indicated ***/ if (negative) result = -result return (result) } * application_list struct scmgr { tmp2 = *s_end /*** save sign from last byte of field ***/ { *(s_end-1) &= 0x3f negative = 1 /* clear sign bit */ } 65 D Evaluation of the IEF Toolsets This appendix contains the evaluation of the four IEF toolsets. D.1 The IEF Planning Toolset The Planning Toolset of Texas Instruments' (TI) Information Engineering Facility (IEF) Version 5.1 was used to initiate development of the Distributed Project Management Information System (DPMIS).2 In addition, to the development of this system other partial IEF planning models were developed to facilitate review of the Toolset. The following sections of this document will describe the good features, poor features and inconsistencies encountered in the use of the IEF Planning Toolset. These will be described separately for each diagraming facility utilized. D.1.1 IEF Organizational Hierarchy Diagram (OHD) The Distributed Project Management Information System does not necessitate the development of an OHD, therefore, as an experiment in the use of this facility the organizational chart for the University of Western Ontario was reproduced. The OHD proved to be a simple task using the IEF facility. Good Features Multiple Additions (adds) to the OHD Once a root (parent) has been selected to add subordinates to, the addition of multiple subordinates is a simple matter of entering the new departments name and pressing enter. The Multiple Adds option can be easily selected from the Options menu in the IEF. Chaining of OHD Chaining in IEF allows you to select a root in the diagram, either the OHD root or a root of a subtree and chain to that portion of the organizational hierarchy in order to view just that section of the diagram. The section presented on the screen includes the title of the organizational unit chained from. This is useful when the OHD becomes too large to view the entire diagram in one screen. Redraw of OHD Selecting the option to redraw the OHD allows you to select the size of the boxes and style of the tree (vertical, indented or horizontal). This enables you to display the OHD in a style that will display more of the OHD. The individual responsible for the use of the IEF CASE tool and author of this document has no formal training in the use of the IEF. Please see the Reference Material section included in this document for a list of manuals and documentation which are being used to assist in the use of the IEF. 2 66 Poor Features Chaining of OHD It is not possible to display dierent chained sections of the OHD in dierent windows at the same time. Length of Names for Organizational Units The names allowed in the IEF OHD facility are limited to 32 characters in length. This can present a problem in large organizations such as the University of Western Ontario where names may be similar and therefore lengthy in order to distinguish organizational units. Redraw of OHD The drawback to this option in the IEF is that you cannot redraw just a section of the OHD, even when you have chained to a subtree of the OHD. IEF will allow you to redraw that section but once you return to the full OHD the diagram is displayed in the style selected in the root diagram. The OHD facility is not exible in how it will allow the user to design the diagram layout. Subordinates with Two Parents The OHD facility in IEF will not allow a subordinate organizational unit in the OHD to have a link to more than one parent. It is possible to achieve<eve a representation of this instance by chaining from the parents and entering a subordinate with slightly dierent names in the chained section for each root. IEF will not allow you to enter the same name twice in an OHD. The chained subtrees can then be printed separately to demonstrate the joint custody, however, it is not possible to display the separate sections in windows at the same time. Inconsistencies Disallowed Characters The IEF manuals state that special characters, such as `-' and `&' are not allowed in names of organizational units. This fact itself is a drawback, however, in some instances it was possible to enter these characters into a name successfully. Unfortunately there was no identiable consistency to when this was allowable. Printing of OHD Numerous attempts were made to adjust the printing3 of the OHD with no success. In order to print the entire OHD it was necessary to redraw the diagram in indented format with small boxes. Adjusting the fonts represented in the IEF screen view had no eect on the nal printed output. In addition, the names of organizational units were truncated in the printed copy so that even the 32 characters allowable were not displayed. 3 Hewlett Packard DeskJet 500 Printer was used. 67 D.1.2 IEF Data Model: Entity Relationship Diagram (ERD) The entities and their relationships detailed in the \Distributed Project Management Information System: Denition of Information System" document for the DPMIS were created in an ERD. Subject Areas as dened in the IEF Planning Toolset are not essential for the development of the DPMIS and therefore were not included, except where IEF denes the model name as a subject area. Good Features Help for ERD The Help facility in IEF was extremely good in its use of examples to demonstrate concepts and procedures. The information gained here, particularly in the procedures for developing the diagram was useful in other areas of the IEF, for example the Activity Dependency Diagrams. Consistency Checks The Consistency Check facility which allows you to check either the entire ERD or a single entity for consistency is good. This facility assists the user in ensuring that the required information has been entered in order to allow continuation of the development process. The information in the reports generated is clear and extremely helpful. Entity Type Denition Report These reports are essential and the information contained in these includes almost all of the basic information entered regarding entities and their relationships (see Poor Features below). View The View menu of the IEF oers a good selection of View options which make viewing sections of a diagram and moving around to dierent areas simple. The Home option returns you to the default view of the diagram. The other selections in the View menu are useful and in general, self-explanatory. Poor Features Contracted Relationship Lines During the development of the diagram, some of the relationship lines entered were automatically contracted into their respective entities by IEF. The information provided indicates that entities with fewer than ten relationships will have all relationship lines drawn (when this option is selected) and that any more than this number will be contracted. I could not locate any information explaining why the lines were represented in a contracted manner when an entity had fewer than ten relationships present. Ultimately redrawing the entire diagram replaced the contracted lines with expanded lines, however, this is not evident until redraw has been selected. 68 Entity Subtypes Entity subtypes can be dened. Although it is clear from the Entity Type Denition Reports as well as in the IEF documentation that attributes are inherited from the Entity Type, the same is not evident for relationships. Redrawing the ERD contracts the subtypes into the entity type which gives the impression, graphically, that the relationships are inherited. Help states \A subtype is a collection of entities of the same type to which a narrower denition and additional attributes and relationships apply." This implies that the relationships are inherited. The textbook, \A Guide to Information Engineering Using the IEF: Computer-Aided Planning, Analysis and Design" indicates that the relationships are inherited. It would be helpful if inherited relationships were indicated on the Entity Type Denition Reports as well. Entity Type Denition Reports The only information I felt was obviously missing and missed from these reports was a list of allowable values for attributes. It would be convenient to have these listed here although these are detailed in the Attribute Denition Report. Printing of ERD As in the printing of the OHD it is dicult to get a reasonable quality print out of the diagram. The print fonts cannot be changed and again, the names of relationships are truncated. The best print out manageable was achieved by: Zooming out to capture the entire diagram on the screen. Relocating the entities to the outer corners of the screen, while keeping the basic diagram layout. Move The place of attachment of a relationship line to an entity can be moved using the Move option in the Edit menu. This facility was used in the situation where a single entity type participated in a relationship. Since the relationship line drawn by IEF in this circumstance is too small to allow display of the relationship name, moving the points of attachment extends the line and allows the name to be displayed. Unfortunately, if the entity is then moved itself the relationship lines are redrawn in the standard IEF manner. Redraw Diagram The Redraw Diagram facility redraws the entire diagram but it was not clear that the redrawn diagram was the best design possible. Also, it appears that the option to redraw the entire diagram is only available when you are in the Home view of the diagram. This is not clear from the information provided. 69 Inconsistencies Relationship Properties: Deletion Rule The IEF facility allows the following deletion rules: Delete each occurrence of related entity type. Disassociate each occurrence of related entity type. Disallow deletion of current entity type if there is one (or more) occurrence of related entity type. The IEF allows you to select from either all three of these options or just two of these options (when a relationship is mandatory). It would be helpful if the Help provided on-line for the deletion rule explained the eect the other entity's participation in the relationship has in the selection of options available and the default settings. The user's selection is automatically set to the required default dependent on the related entity type's participation in the relationship. D.1.3 Activity Hierarchy Diagram (AHD) The Function Hierarchy Diagram (FHD) which is used to represent business functions is not applicable to the DPMIS. Therefore, the Process Hierarchy Diagram (PHD) was developed and will be expanded and detailed further in the Analysis stage of development using the IEF Analysis Toolset. In addition, the Activity Hierarchy Diagram tool, in conjunction with the Activity Dependency Diagram tool, was used to attempt a representation of a number of physical data ow diagrams. The procedure to produce a PHD is simple and, in general, the good features outlined in the OHD and ERD sections are present here as well. Good Features Chaining of AHD Chaining again allows you to select a root in the diagram and then chain to that portion of the diagram. It also allows you to select to chain to that portion of the Activity Dependency Diagram (ADD) and back again. Multiple additions (adds) to the AHD This option functions identically in all IEF diagrams that have been constructed at this point. Redraw of AHD Redrawing in the AHD allows the same options as the OHD. Box size can be changed as well as orientation of the diagram (vertical, horizontal or indented). 70 Reuse of Processes It is possible to reuse processes in the AHD, which also carries the duplicates into the ADD. The IEF asks you if you wish to reuse the process. This would prevent the inadvertent duplication of process names. It is not possible to reuse functions or duplicate function names. Poor Features Deletion of Processes in AHD The deletion of a process in the Activity Hierarchy Diagram also removes it from the Activity Dependency Diagram which is logical. The diculty arises, however, when the process is reentered in the AHD. It does not automatically reappear in the ADD and it is not clear how to retrieve it. The solution is to select Place Unplaced Boxes from the View menu, however, this was not indicated, it was just a guess. Modify AHD The selection Modify in the Diagram menu allows you to change the children of a root activity to Processes from Functions or the reverse. It is not possible, however, to do this when processes have been designated as elementary. Although logical when considered, it is not clear initially why this selection is not available for some root functions in the diagram. D.1.4 Activity Dependency Diagram (ADD) The Activity Dependency Diagram (ADD) was used to represent process dependencies which will be further detailed in the Analysis stage of development. The tool is simple to use and the good features and poor features of the procedure are essentially the same as the other diagraming tools. The ADD was also used to attempt a representation of a physical data ow diagram. It is not possible to represent data stores in the ADD and therefore not possible to accurately represent data ow diagrams using this tool. The Data Structure Diagram which was present in earlier versions (4.x) of the IEF has been replaced by the Data Structure List and the Data Store List. Good Features Chaining in ADD and from AHD It is possible to chain in and out of a section of the ADD by selecting a root function or process. It is also possible to chain into the AHD directly from the ADD and back again into the ADD. External Objects External Objects can be reused in dierent chained sections of an ADD. 71 Poor Features Dependency Properties It is my understanding the Dependency Properties window was automatically presented when processes were joined in earlier versions of the IEF system. This must be selected from the Detail menu in the current version. I am not aware of the reason this was changed but it does entail an extra step for the user and does not follow consistently with the other diagram procedures. External Objects External Objects cannot be reused in the same section of an ADD. The reason for reuse would be to enable a clearer design of the diagram by eliminating cluttering with dependency relationships all connecting to one copy of the external object. Parallel or Mutually Exclusive Dependencies Parallel and Mutually Exclusive dependencies can only be created for subordinate processes (a process with a parent/root). This creates a problem when processes are only dependent on their mutual root as the root will not be present in the chained section of the diagram. Chaining in ADD and AHD Chaining in the diagrams will not allow you to view two chained sections of the diagram at one time. One window can display the root you are chaining from and another window will display the chained section. It is possible to display a chained section of the ADD and a dierent section of the AHD at the same time. D.1.5 Matrix Processor The development of the DPMIS did not necessitate the use of the Matrix Processor tool available in the IEF. This tool was briey reviewed using a sample model and will be reviewed further as the project progresses. Good Features The Matrix Processor was found to be easy to use and the information provided in the documentation available explained the types and uses of the matrices well. The columns and rows are automatically populated by the IEF after selection of the appropriate axes. Poor Features No poor features were encountered in the use of the Matrix Processor. 72 D.1.6 Summary The IEF Planning Toolset is, overall a straight forward tool to learn to use and the on-line Help facility is very good and detailed. Consistency Checks Consistency Checks in the IEF models are the primary error checking method available. Some error message are displayed while building the models, eg. if an entity name is being duplicated. It is essential to run the Consistency Check facility before continuing on to the next stage of development. Diagram Design Options in the IEF menus allow you to adjust layout and size of boxes and fonts in the diagrams with the restrictions mentioned above. In addition, there is no option to centre or relocate the names entered for diagram units within the boxes. Help The On-line Help is, on the whole, very good. There are very few instances encountered, such as the information provided regarding entity subtypes, where the information provided is too sparse. Printing The Organizational Hierarchy Diagram is not essential to the use of IEF for systems development, therefore, the purpose of including this diagram would appear to be to obtain a print out of the diagram for documentation. However, the print facilities are not good, in particular, the truncation of names in the diagrams is a disadvantage as well as the lack of ability to adjust fonts in the print out. Release Notes The IEF Release Notes found in the Reports menu are useful in explaining some dierences between the information in the manuals we have available (which are for Version 4.1) and the current version, Version 5.1. D.2 The IEF Analysis Toolset The Analysis Toolset of Texas Instruments' (TI) Information Engineering Facility (IEF) Version 5.1 was used to continue development of the Distributed Project Management Information System (DPMIS).4 4 The individual responsible for the use of the IEF CASE tool, A. M. Welch, has no formal training in the use of the IEF. Please see the Reference Material section included in this document for a list of manuals and documentation which are being used to assist in the use of the IEF. 73 The following sections of this document will describe the good features, poor features and inconsistencies encountered in the use of the IEF Analysis Toolset. Procedures for creating and editing diagrams in the IEF Analysis toolset are consistent with those in the IEF Planning toolset. Comments made in regard to these tools are not repeated here. Examples of the IEF generated diagrams and reports are included in the document, Distributed Project Management Information System: The Analysis Phase Document. D.2.1 Data Model: Entity Relationship Diagram (ERD) The ERD had been completed in the Planning Toolset and was reviewed in the Analysis Toolset. The individual entities created were reviewed and the only change was the removal of the entity \Subprojects" and its associated relationships. Good Features View - Search The Search option in the View menu is extremely useful when working in a diagram that is too large to be presented in a reasonable representation on one screen. For example, to Join entities it is possible to select one entity, Search for the next and then control-select the next entity and then select Edit/Join. Deletion of an Entity Type Deletion of the entity type Subprojects was simple and, of course, deleted the associated relationships as well. The entity type denition reports enabled simple reproduction of the necessary relationships with the entities remaining. (eg Project is at Site). Inconsistencies Consistency Check An alternative ERD was developed for the DPMIS using entity subtypes. It was possible to successfully run a consistency check on the ERD without an identier for an entity subtype, Project Leader. This leaves you with no identier to select from in the Action Block Synthesis (See Action Diagram). D.2.2 Data Model List (DML) The Data Model List, when contracted, simply provides the user with a list of the current entity types, grouped by subject area. When the DML is expanded it displays the entity relationships as well. The DML was not used in the development of the ERD initially, however, I have experimented with it since to determine its functionality. The DML is an enhancement TI added to Version 5.0 of the IEF. 74 Good Features The entity and relationship listing provided by the DML is simple and concise and an excellent reference to keep on hand (printed copy) while developing a project. It is possible to develop the ERD in the DML tool and is actually a nice way to do it. It is necessary to access View/Place Unplaced Box(es) in the Data Model tool to have the entities appear in the diagram but this displays the entities and their relationships as well. D.2.3 Activity Hierarchy Diagram (AHD) The Process Hierarchy Diagram developed in the Planning Toolset was reviewed in the Analysis Toolset. The processes associated with the Subproject entity were removed. Good Features View Maintenance Views are easy to include by selecting the View Maintenance option which is available in the Planning, Analysis and Design Toolsets. The ability to access View Maintenance from various menus and submenus makes actual maintenance of these convenient, since whenever you encounter a necessary addition or change to a view set View Maintenance can be accessed directly and the changes made. Expected Eects Expected Eects of the functions and processes in the AHD were detailed during Analysis. This is a simple, straightforward activity with the IEF. In addition, Expected Eects can be accessed in the Activity Dependency Diagramming tool as well which makes maintenance of these eects convenient. Poor Features View Maintenance Accessing View Maintenance in the earlier stages of Analysis, such as through the Activity Hierarchy Diagram may result in the user missing the option to use stereotyping in Action Block Synthesis which will generate Import, Export and Entity Action Views automatically. Although these views will require adjustments in the Design phase it is worthwhile to allow the IEF to generate them and review the results. D.2.4 Activity Dependency Diagram (ADD) The ADD developed in the Planning Toolset was reviewed in the Analysis Toolset. Processes associated with the Subproject entity were removed in the AHD tool and this automatically removes them from the ADD. 75 Good Features External Objects Including External Objects in the PDD is a simple task and a Consistency Check run on the diagram will warn the user if they have neglected to included Associated Views for the External Objects. Events Events can easily be added to a PDD and can provide valuable information to the Design team. Events were not used extensively in the DPMIS as it does not appear to aect the continued development process. Poor Features Consistency Check Consistency check performed on the Activity Dependency Diagram does not produce a warning if dependencies have not been named. Although, obviously not essential for continued systems development, notication of the lack of dependency naming would be useful for the Analysis team in ensuring that the documentation passed on to the Design team is complete. Dependency Reports The dependencies of processes can be displayed on screen by selecting Detail/Dependencies but there does not appear to be a report to provide a print out of the process dependencies. The Activity De nition report indicates what processes the current process is a subordinate of but does not provide a list of subordinate processes of the current process. Redraw The selection to Redraw the PDD diagram does not provide the selection to resize the boxes. Default box sizes are set by accessing the Options menu in the main IEF window when entering the program. Unfortunately the selection of large box sizes did not improve the print out of the nal diagram. Placement of Lines The Move tool works well in the movement of the point of attachment of lines in the dependency diagrams, however, on saving the model and retrieving it the lines are returned to their previous placement. This results in the need to move lines again to generate a more legible print out. D.2.5 Action Diagram - Process Action Diagram (PAD) The Action Diagram tool presents the process actions in algorithm format with listings of import, export, local and entity action views. 76 The IEF textbook recommends three levels of Analysis that can be carried out dependent on how much you choose to leave to the Design team. Since the Analysis team and the Design team are one and the same in this circumstance the middle of the road approach was selected. Therefore, the IEF generated Action Blocks (see Action Block Synthesis) were left as is and will be expanded and corrected in the Design phase. Good Features Action Block Synthesis Import, Export and Entity Action Views can be automatically generated by using the Chain option from the AHD into the Action Diagram and selecting Action Block Synthesis. This option automatically generates stereotyped Action Blocks for the elementary processes. Consistency Check is automatically run on the model during Action Block Synthesis. This is a nice feature since it prevents the user from continuing on when there is a consistency problem. For example, the ERD created for DPMIS had been checked for consistency previously but I neglected to rerun the Consistency Check after removing the Subproject entity and IEF informed me of the failure to pass Consistency Check when I tried to generate Action Blocks. You are presented with the options: Review Report Continue Cancel Help Action Block Synthesis is benecial because it gives the user a feel for the production of Action Blocks in the IEF toolsets, however, if the Action Blocks are left at this stage it does transfer the work of renement of view sets and action blocks to the Design phase. In the DPMIS development the further development of the Action Diagram will be done during the Design phase. Expand Expected Eects The option to Expand Expected Eects was utilized in the development of DPMIS, to review the procedure and use of this tool. This option is available also in the Design toolset and will be further reviewed at that stage. Expand Expected Eects allow the user to expand the expected Eects provided in the Expected Eects denition in the AHD tool. Attempting to expand the expected eects allows you to generate action blocks in the action diagram. The IEF steps the user through this process easily. The selections oered are clear and assist in the development of action blocks. It is a benet to review the IEF action block design generated by Action Block Synthesis. 77 Poor Features Action Block Development There is a substantial amount of transfer and linkage between processes in the DPMIS and the ability to use other process Action Blocks in the Action Diagram is necessitated. It is not possible to use other process action blocks until the design stage. The alternative would be to create action blocks within the Process Action Blocks which does not appear to be a benet at this stage. For example, creating an action block for Create Milestone while there is an Add Milestone Process Action Block. Expand Expected Eects In the use of Expand Expected Eects the following error was encountered: IEF Internal Fatal Error Missing mandatory association 88, from obj type 23, obj recnum 22. This error was encountered several times and the Help facility does not provide information regarding this type of error. It is necessary to contact TI to determine the cause of the error. Stereotyping in Action Block Synthesis Stereotype5 is mentioned in IEF on-line help as well as the IEF text and manuals. In particular, on-line help states, \To specify the type of stereotype that procedure synthesis uses to generate the Procedure Action Diagram, select Stereotype." Stereotyping itself is an advantage in the Analysis Toolset, however, it was dicult to locate Stereotype in the toolsets. Although Action Block Synthesis is a form of Stereotyping the Help facility is not helpful in determining this. Stereotyping as a menu selection is actually found in the Design Toolset by selecting Dialog Flow Diagram/Detail/Procedure Synthesis/Edit. The actual selection Stereotype appears on the Edit submenu. Inconsistencies Consistency Check An alternative ERD was developed for the DPMIS using entity subtypes. It was possible to successfully run a consistency check on the ERD without an identier for an entity subtype, Project Leader. This leaves you with no identier to select from in the Action Block Synthesis. Structure Chart The Structure Chart displays the hierarchy of action blocks (Elementary process action blocks and action blocks in the Analysis Toolset and procedure action blocks in the Design Toolset.). Since the Analysis conducted for the DPMIS concentrated on processes and their action blocks the Structure Chart tool was not utilized at this stage of development. 5 Stereotype is dened by IEF Help as \A typical pattern or style of procedure step design." 78 To test the functionality of the tool temporary action blocks were added in some elementary process Action Block Usage diagrams. These were easily added. Poor Features Deletion of Action Blocks in the Structure Chart is not dicult but determining how to perform this procedure is dicult. Ultimately a note in the IEF Analysis Toolset manual was encountered which states, \NOTE: Once you add an action block, you cannot delete it using the SC or ABU Tool. To delete an action block, use the Action Diagramming Tool." It is necessary to enter the Action Diagramming Tool, select the action block you wish to delete and once you are in the Action Diagram for this action block select Diagram/Delete. D.2.6 Action Block Usage The Action Block Usage diagram displays the action blocks for elementary processes and action blocks created in the Analysis stage of development. As with the Structure Chart only elementary process action blocks are currently represented for the DPMIS. If permanent action blocks had been added during the Analysis stage these could be represented as well. To test the functionality of the tool temporary action blocks were added in some elementary processes Action Block Usage diagrams. These are easily added. Poor Features Deletion of action blocks that have been added in the Planning or Analysis stages is described in the section on the Structure Chart tool. D.2.7 Matrices Matrices recommended in the IEF text were reviewed. The Cost Benet Matrix was not applicable for this development project. Good Features The matrices provided by IEF provide a good opportunity to review the relationships of functions, processes and entities and the expected eects of functions and processes on entities in the data model. Matrices are automatically populated by IEF and the editing features available are similar to those in the other IEF tools. In addition, the user has the option to select colours for matrix sections which has not been an option in the diagramming tools. Business Function/Entity Type Usage Matrix The IEF automatically populates this matrix and Clustering of this matrix automatically populates the Entity Type/Entity Type Anity matrix. Clustering groups functions together based on their usage of entities. 79 Elementary Process/Entity Type Usage Matrix Elementary Process/Entity Type Usage Matrix is the Analysis Toolset matrix which is applicable in the DPMIS development. The matrix is automatically populated by the IEF and provides a concise view of the Entity Type Usage for the Elementary Processes. Clustering of this matrix automatically populates the Elementary Process/ Elementary Process anity matrix. Entity Type/Entity Type Anity Matrix The Entity Type/Entity Type Anity matrix can be populated through the clustering of the Business Function/Entity Type Usage matrix or the Elementary Process/Entity Type Usage and provides the user with values of 1 through 9 for the level of anity of entity types to one another. D.2.8 Business System Denition Generation of a Business System Denition is not dicult. Providing the name of the root function for the Distributed Project Management automatically imported the process hierarchy diagram. Elementary processes which are included in the Business System Denition are shown in yellow outlined boxes (removed ones are shown in blue). Processes included in other business systems denitions are outlined in white, however, this is not applicable for DPMIS. Inconsistencies Business System Denition Diagram The diagramming of included processes dierently from those not included in a business system appears to be inconsistent with other diagramming tools in the IEF. My rst thought is, if a process is included, why make it look dierent than the other processes. Why not make the Removed processes look dierent? D.2.9 Summary The Analysis Toolset usage followed very closely to that of the Planning Toolset and since the mechanical procedures for the use of IEF tools had been learned in the Planning Toolset the development was on the most part smoother and faster. Consistency Checks Consistency Checks are still very helpful and when they are done automatically by the IEF are unobtrusive and are a denite benet to the user. Help The on-line Help facility was again, on the whole, very good. The most notable disadvantage was that when using the Search option to look for information on some topics, such as Views, searching 80 under Views ultimately provides you with instructions on how to use the View option in the IEF menu. You must look up View Maintenance or a specic type of View. Inconsistencies Procedure De nition which is listed in the Search section of the Help facility cannot be accessed. A double click on Procedure Denition results in Procedure Denition Report being selected. Printing It is dicult to generate readable print outs. Numerous attempts were made to produce diagrams that provided a clear layout and readable characters6. In order to produce a print out of Process Dependency Diagrams that was legible it was necessary to compress the diagram symbols into a small area to enlarge the print. For example, in diagrams that contained Events and External Objects it was not possible to locate Events in one area of the diagram, External Objects in another and Process blocks in another. Truncation of dependency and entity relationship names is still a problem. Examples of the IEF generated diagrams and reports are included in the document, Distributed Project Management Information System: The Analysis Phase Document. D.3 The IEF Design Toolset The Design Toolset of Texas Instruments' (TI) Information Engineering Facility (IEF) Version 5.1 was used to continue development of the Distributed Project Management Information System (DPMIS). 7 The following sections of this document will describe the good features, poor features and inconsistencies encountered in the use of the IEF Design Toolset. Procedures for creating and editing diagrams, including action diagrams in the IEF Design toolset are consistent with those in the IEF Planning and Analysis toolsets. Comments made in regard to these tools are not repeated here. Examples of the IEF generated diagrams and reports are included in the document, Distributed Project Management Information System: The Design Phase Document. D.3.1 Business System Defaults The selection Business System Defaults/Detail provides the user with the following editing options. Properties allows the designer to enter a description of the business system currently being designed. Screen Video Properties allows the designer to select the characteristics of the various items in the screens designed, such as error messages and prompts. A Hewlett Packard DeskJet 500 printer was used. The individual responsible for the use of the IEF CASE tool, A. M. Welch, has no formal training in the use of the IEF. Please see the Reference Material section included in this document for a list of manuals and documentation which are being used to assist in the use of the IEF. 6 7 81 Commands allows the designer to dene and edit commands selected for the business system. Exit States allows the designer to dene and edit Exit States used for the business system. Function Keys allows the designer to dene and edit the commands associated with function keys for the business system. Special Edit Patterns allows the designer to dene and edit the patterns for the IEFsupplied special elds. Field Edit Patterns allows the designer to dene and edit the patterns for elds used in the business system. Delimiters allows the designer to dene and edit parameter delimiters and string separators used in the business system. Good Features The availability of editing of all of the above in one submenu is a good feature, particularly for standardizing the characteristics of these items for the business system design. Poor Features Commands An attempt to delete a Command from the command list for the DPMIS was not allowed and no explanation was given. Ultimately it became clear that it was impossible to delete the command because it was utilized in an action diagram. This is logical, however, it would be useful if IEF informed the user that this is the reason the deletion cannot be accomplished. D.3.2 Dialog Design Dialog Design allows the designer to dene the procedures and procedure steps for the business system as well as any transfers or linkages between the steps in a Dialog Flow Diagram. It is possible to edit a number of features detailed in the Business System Defaults through the Dialog Design tool. Good Features Edit The construction and editing of the Dialog Flow diagram is very similar to that of diagrams constructed in the other development toolsets. This fact is extremely benecial to the user as it speeds the process of constructing the diagram. Adding procedures and procedure steps are simple jobs in the Dialog Flow diagram. Joining procedure steps works the same in this diagram as it does in the in the other diagraming tool, eg. the Data Model diagraming tool. 82 View The View feature again is very similar to the View in other diagrams with the additional option to view Neighbors of a procedure. This feature is useful when the Dialog Flow diagram gets large as it allows the designer to select a procedure and View/Neighbors which results in the display of that procedure and only the procedures that are joined to it. Clear Screen Input Clear Screen Input allows the designer to construct the business system to allow users of the system to input information to a blank screen to save displaying the screen associated with a procedure or procedure step. This IEF feature was not utilized in the development of the DPMIS, however, it was tested in a copy of the DPMIS to evaluate its function. It is easy to use and would certainly be a good option to provide the users of the nalized system. Flow Maintenance Flow Maintenance was extremely useful, as it enables the designer to view the ows from a procedure, the associated exit states and commands, all at one time. Otherwise, each ow would have to be selected and the associated information viewed separately. Chain Chain is available in the Design toolset and is again very useful, enabling the user to chain between the following areas. Screen Action Diagram Prototyping Structure Chart Poor Features Prototyping The Prototyping tool allows the designer to view the screens designed with the function key assignments, however, it is not possible to print from this tool so it is not possible to obtain a print out of the screens with the associated function keys. Deletion of a Procedure Step It was not possible to move a ow from a procedure step to another procedure step in the same procedure or to the procedure itself. This would be useful when a procedure step is selected for deletion so that the ows would not have to be recreated. 83 D.3.3 Screen Design Screen Design allows the designer to design the layout of the screen for each procedure and procedure step. Overall the Screen Design tool was simple to use. Good Features Templates Templates can be created for use in screens. These are useful and save time in the creation and editing of screens. For example, a template was created for retrieval by each entity type. The templates could be then utilized in each procedure step screen for that entity retrieval. In addition, changes made to the template will result in the changes being reected in each screen that uses the template. Detail The submenu Detail allows the designer access to the following tools, which is benecial because it allows the designer to make changes to things like import and export views at this point. Screen Properties View Maintenance PF KeyCommands Generate/Auto Layout The Auto Layout tool in the Generate submenu performs automatic layout of the screen, once import and export views have been dened. This tool was tested but ultimately the screens were designed manually. The tool, when used did provide a reasonable layout and a good basic outline for screen design. Inconsistencies Field Mapping Consistency Checks revealed the following warning. WARNING ICCSV01W A non-hidden eld must either be mapped or dened as \none". The eld referenced by the above warning was dened as \none" on checking the properties dialog box the rst time but a second check revealed the eld to be dened as \not yet mapped". The setting appeared to toggle between \none" and \not yet mapped". The eld was ultimately mapped to an import view which solved this problem. Printing of Screens The screen for Document Retrieval printed twice (consecutively) with only the title and border and no screen content despite the fact that elds had been included on the screen. A third printing was successful. The printer was checked for problems and none were found. 84 Prompts The IEF text states that the IEF will issue a reminder that a specic prompt has been utilized previously if the designer attempts to use an alternative prompt for the same entity attribute. This does not occur in the IEF Design toolset used to develop the DPMIS. This may be a change instituted after publication of the text, however, it would be a nice check to have available. D.3.4 Action Diagram The Action Diagram tool allows the user to build the action blocks for the procedures and procedure steps. The \how-to" information for the use of the Action Diagram detailed in the on-line help was correct and helpful. The building of the Action Diagram is more dicult and a slower process than the other diagrams in the IEF toolsets. Good Features Add Statement Statements were easy to add to the action diagrams. The IEF steps the designer nicely through the construction of more complex statements and View Maintenance is accessible from the Add Statement dialog box if the designer encounter the situation where a view must be added to continue to build a complex statement. Stereotype Stereotype is available in the Procedure Synthesis. It is easy to utilize and provides a quick outline for the procedures and procedure steps. Xcopy Xcopy allows the designer to copy sections of an action diagram to another diagram and is a useful tool. The on-line help provides a good description of the mechanics of using Xcopy. Poor Features Help The on-line help provided by IEF explains the mechanics of building the diagrams but does not explain the concepts and ow within the diagrams which is an area that should be better detailed in the reference material. Determining how to construct the diagrams is well explained and by following the help becomes a fairly easy task but determining what happens when control returns to a procedure following a link to another procedure is not clear and not well explained. Contract Contract is more dicult to utilize in the action diagrams because it is not clear which statements can be contracted or exactly how to contract them. For example, to contract an \IF" statement 85 selecting the rst line and then Contract will contract the statement but for a \READ" statement the \when successful" line should be selected and then Contract. Copy with Substitution This feature would be useful, however, it only allows copying of action diagrams with exactly one entity view. This necessitates the creation of almost identical action diagrams by building the diagram from scratch or with the use of Xcopy where possible. Delete Statement Use of the Delete Statement function resulted in an IEF fatal error and termination of the program a number of times. Ultimately it was possible to determine that the fatal error was resulting from the attempt to delete a case from a case statement before removing all statements, including blank lines, from the case. It would have been helpful if the IEF had provided information stating that the case could not be deleted until all statements within it were removed. The result of the fatal error was that a number of changes were lost when the program exited abnormally. Description The option to enter a description of the procedure step is frustrating because it does not allow the entry of a new line character and when printing the action diagram, the description does not print entirely on the page. Exit States Information concerning Exit States, their uses and eects is very sparse in the on-line help. A lot of time was, therefore, spent searching for information about the eect of an Exit State that did not invoke a ow to another procedure. Ultimately an adequate explanation was located in the rapid development tutorial manual provided 8. When the end of the action diagram is reached and the Exit State does not allow for a ow to another procedure, control will be returned to the beginning of the current procedure. When setting up the Exit States for the business system it would be benecial if the default property for message display was informational rather than none once a message has been entered for an Exit State. D.3.5 Work Set List Work Set List provides the user with a list of the work sets used in the business system, their attributes, properties and where they are used in the system. Work sets include the IEF supplied work set which has an attribute for Command. D.3.6 Structure Chart The Structure Chart displays the hierarchy of action blocks (procedures, procedure steps, elementary processes and additional action blocks). The development of this diagram is automatic as 86 the designer develop the action blocks for procedures and procedure steps. Editing this diagram is similar to the editing of all other diagrams in the IEF toolsets and is quite simple. Good Features The Structure Chart provides the designer with a quick view of the hierarchy of a procedure or procedure step in the business system and enables the designer to quickly review which action blocks and processes are utilized in a specic procedure or procedure step. Procedures and procedures steps, elementary processes and action blocks are shown in dierent colours which aids in quick identication. Poor Features The printing of the Structure Chart, as with the other IEF diagrams does not provide a good print out as names are truncated. In addition, if a process or action block is utilized twice in the action diagram this will be displayed in the print out of the Structure Chart. Although this is logical it could be confusing for other designers reviewing the diagrams. D.3.7 Action Block Usage The Action Block Usage diagram, when a specic action block has been selected, displays the procedures and processes that use the action block. Editing this diagram is similar to the editing of all other diagrams in the IEF toolsets and is quite simple. This diagram is automatically developed by the IEF as the procedure action diagrams are developed utilizing the action blocks. Good Features The Action Block Usage provides the designer with exactly what the name implies a diagram of where action blocks are used once a specic action block has been selected. Poor Features The poor features of printing the Action Block Usage diagrams are identical to those of the Structure Chart. D.3.8 Data Structure List and Data Store List The Data Structure List provides a listing of the data structures and the Data Store List provides a listing of the data stores which have resulted through the transformation of the data model dened during the Planning and Analysis phases of the system development. D.3.9 Transformation Transformation automatically transforms the data model objects into data structure objects. Transformation automatically performs a consistency check and processes referential integrity. The pro- 87 cess is automatic and therefore, simple to use. The designer is responsible for setting Data Structure Defaults prior to Transformation and the on-line help is helpful in detailing these. D.3.10 Retransformation Retransformation is utilized if changes are made to the data model following Transformation. It is also automatic and the designer again is responsible for setting Data Structure Defaults. D.3.11 Referential Integrity Referential Integrity checks the integrity of data relationships. This is performed automatically during Transformation and Retransformation but the designer has the option to select this feature in order to verify the integrity of data relationships. D.3.12 Reports The Reports available throughout the IEF toolsets are very helpful. and this is also true for the reports relevant to the Design toolset which are listed below. Procedure Denition provides a denition of procedures including a description of each, a list of subordinate procedure steps and processes implemented. Procedure Step Denition provides a denition of procedure steps including a description of each, a list of function key denitions, details of dialog ows and all views utilized in the procedure step. Command List provides a listing of the commands used in the business system. Command Uses provides a listing of the commands and where they are used in the business system. Exit State List provides a listing of the exit states used in the business system. Exit State Uses provides a listing of the exit states and where they are used in the business system. Field Denition provides a detailed report of the eld denitions implemented following Transformation. Implemented Data List provides a report of the data objects implemented in Transformation. DDL Statements provides a detailed report of all data denitions following Transformation. 88 Good Features The Procedure Step De nition report was particularly useful as it provided detailed information concerning dialog ows to and from a selected procedure step. This provides the designer a good reference to ensure dialog ows are complete and accurate. The Implemented Data List provides a useful check of the implementation of the data following transformation. D.3.13 Consistency Checks Good Features The Consistency Checks are again very useful in the use of the IEF toolset and assist the designer in the completion of the business system design. The option to select the level of Consistency Check, Analysis, Business System Design and Technical Design is a good feature as the designer can then be sure the system has passed Consistency Check at the correct level. Consistency Checks on the whole, are performed at the designer's request rather than automatically. The Transformation and Retransformation tools perform Consistency Checks automatically but this is unobtrusive. Poor Features The faults found in the Consistency Check reports were poor identication of the problem. For example, Process UPDATE DELIVERABLE WARNING The READ entity action should correspond with expected eects of the process. It would be helpful if this identied the entity that the READ action applied to. D.3.14 Summary The Design toolset followed very closely in usage to both the Planning and Analysis toolsets in the mechanics of development of IEF diagrams. The consistency in methods of editing diagrams is helpful in the continued use of the IEF toolsets. Prototyping Prototyping is available in the Chain tool of the IEF in the Design toolset. This tool allows the designer to view prototypes of the screens designed using the IEF tool. The IEF documentation describes this as a useful tool to ensure the screens designed and the order of ow between screens is correct. Autoows must be assigned to the ows in the Dialog Flow diagram to utilize this feature in that manner. I found it was not benecial for this project and felt the inclusion of the autoows in initial development proved confusing. 89 Help The major diculty in the design phase lay in the help information available for action diagraming. The documentation available (see Reference Material) combined with the on-line help still leave gaps in the explanations for some things such as the eect of Exit States on the ow of control within procedures and procedure steps. D.4 The IEF Construction Toolset The following sections provide details of the good features, poor features and inconsistencies encountered in the use of the IEF Construction Toolset. The activities in this toolset are performed automatically by the IEF once the user selects the activity. A summary of these comments is included immediately following the detailed sections. D.4.1 Environment The Environment selection allows the user to specify the target environment for the information system being developed. The Environment settings were specied as follows. Operating System: OS/2 DBMS: DBM Language: C TP Monitor: IEFAE Prole Manager: SQL Screen Type: Bypass Clear Screen Default: Reset Max Seg Size (IMS): 0 Restartable Application Extended Attribute Support Good Features Environment Parameters The appropriate settings for the OS/2 environment parameters are provided in the Workstation Construction guide 9]. No diculties were encountered in the use of this option. 90 D.4.2 Packaging The Packaging selection allows the user to specify the load module packaging for the information system. Once the selection of either one module or multiple modules has been made the IEF completes the packaging automatically. Good Features Load Module Packaging The documentation provides an adequate explanation of the reasons for selecting multiple modules or a single module. The documentation also provides the suggestion that a single module be selected for applications in the OS/2 environment. D.4.3 Generation The Generation tool allows the user to specify, Code, Code and Install or Install All Changes for either the database denition language (DDL) or the source code. Once the appropriate selection has been made the generation of the DDL, source code, compilation and linking of the load modules was performed completely by the IEF. The Generation Defaults for the target environment were specied as follows. Operating System: OS/2 DBMS: DBM Language: C TP Monitor: IEFAE Type of Installation: Local DBMS Drive for Local Installation: D Run Consistency Check for each item generated Generate source code with trace Good Features Installation Monitor The IEF Installation Monitor provides error reports when a module is not successfully installed. These reports are clear and provide the detail required for the suer to correct the problem. Application Environment Facility The AEF provides an alternative method of testing/debugging the action diagrams. This can be sued for testing when the Installation Monitor is not active. Testing/debugging is done at the action diagrams level rather than the code level and the procedures are the same as in the sue of the Installation Monitor testing facility. 91 Chain Chain allows the user to access the Dialog Design, Action Diagram, Screen Design, Window Design and Data Structure List tools from the Construction toolset. Install All Changes Action diagram and screen design tools for the IEF include a generation selection which allows the user to generate code for specic action diagrams or screen designs. This is extremely useful in conjunction with the Install All Changes option in the generation tool which allows the user to install only those modules that have been changed rather than regenerating and installing the entire set of load modules. This saves a great deal of times since generating and installing the entire set of load modules requires approximately three hours. Poor Features STOPing Generation The dialog box that becomes active during generation has a STOP push button that simply did not work. This should cancel the generation and/or installation of the load modules. The generation and installation of the entire set of load modules for the DPMIS took approximately three hours. The inability to stop the installation using the expected methods requires that the user either reboot the machine or wait until the installation is complete. D.4.4 Application Environment Facility (AEF) The IEF manuals that were available were missing instructions related to testing procedures. Testing of the action diagrams with trace active can be done from the Application Environment Facility (AEF) or the IEF Installation Monitor (IM). The IEF Installation Monitor (IM) is only active following generation of a load module. If the IM has been closed testing should be done from the AEF. The manuals available for the IEF did not include the instruction that informed the user they must enter the following command, SET AETEST = ON prior to starting the AEF to activate the trace during testing. This command was eventually located in one of the tutorial documents 11] for the IEF, however, this omission delayed testing of the DPMIS. Inconsistencies Install All Changes The advantage noted above regarding the use of the Install All Changes option in the generation tool presented one notable diculty when utilized. The user was allowed to use this option once successfully, however, a second attempt to to use this function without exiting the IEF resulted in an internal error and any changes that had been made were lost. It was necessary to save the model, exit the IEF completely and restart the IEF if the user wanted to use this option more than once. 92 Dialog Flow Problems identied during testing required changes to the action diagrams. The changes made to the action diagrams then required regeneration of the code and installation of only those regenerated modules. In some instances, changes to dialog ow properties required complete regeneration and installation of the code. D.4.5 Summary The IEF Construction Toolset is fully integrated with the other toolsets. It is fully automated and the user is really only required to enter environment information and select the appropriate menu selection to initiate the generation and installation of the DDL and source code. Generation The most notable problem associated with the IEF Construction Toolset was the fact that the STOP button in the generation dialog box was not functional. Install All Changes This function saves a great deal of time since without this option, all of the code for the information system would need to be regenerated and installed after changes were made. Using this option code was generated at approximately 847 lines per minute. Testing The AEF and IEF Installation Monitor enable the user to test/debug the action diagrams. This is highly desirable over debugging the source code. Debugging of the source code was not attempted. The testing methods are simple. The omission of necessary instructions from the manuals were the source of the delay in completely this phase of the project. 93 E TI IEF Tutorials E.1 Introduction The tutorials included in this package were developed to provide an introduction to the use of the various tools available in the toolsets of the Information Engineering Facility (IEF) Version 5.1 by Texas Instrument's (TI). The IEF consists of four toolsets Planning, Analysis, Design and Construction. The information system project used in the tutorials is the Distributed Project Management Information System (DPMIS). The purpose of the DPMIS is to provide a set of applications to support the information requirements necessary to track the progress, status and descriptive details of projects spanning multiple sites. Details of the purpose and function of the DPMIS are included in the document, \Distributed Project Management Information System: Denition of Information System, Version 4.0". The information necessary to complete the tutorials is included with each tutorial. In order to provide an opportunity to utilize the Organizational Hierarchy diagraming tool of the IEF toolset a portion of the organizational chart for the University of Western Ontario will be replicated. E.2 Information Engineering Facility (IEF) The initial IEF window presents the user with a number of selections which include access to the Planning, Analysis and Design toolsets. Selections which are \greyed-out" are not accessible at this point. For example, an IEF model must be opened through the Model selection to make the toolsets accessible. The Model selection allows the creation, opening, copying and deletion of models. Once a model has been created, selection of the appropriate toolset will allow you to continue system development. The Model selection also provides the option to select Reports which allows the user to request the generation of the reports provided by the IEF. The reports available from the IEF are listed in the Reports section of this document. The Options selection allows the user to set defaults such as, diagram fonts, box fonts, box size and consistency check levels. E.3 IEF Toolsets This section of the document provides an outline of the tools available in the IEF toolsets. E.3.1 Planning Toolset The Planning Toolset of the IEF is used during information strategy planning in the development of the business information system. The Planning Toolset of the IEF has the following options available. Data Model which facilitates the creation of an entity relationship diagram (ERD) for the information system under development. 94 Data Model List which provides an alternative method of constructing the ERD and provides the entity relationship details in a list format. Activity Hierarchy facilitates the creation of an activity hierarchy diagram (AHD) for the information system under development. Activity Dependency is developed automatically by the IEF as the user develops the AHD. Organizational Hierarchy accesses the organizational hierarchy diagraming tool to enable the construction of the organizational hierarchy diagram. Matrices are automatically generated by the IEF and are utilized to perform analysis of the system. Check initiates a Consistency Check. E.3.2 Analysis Toolset The Analysis Toolset of the IEF is used during business area analysis of the information system under development. The Analysis Toolset of the IEF has the following options available. Data Model. Data Model List. Activity Hierarchy. Activity Dependency. Action Diagram. Work Set List which provides a list of the work sets available for the system. Work sets are used for items such as counters, user input that is not entity related (menu selections). Structure Chart which displays the action block hierarchy diagram. Action Block Usage which displays the usage of action blocks by procedures and procedure steps. Matrices. Business System De nition. Check. 95 E.3.3 Design Toolset The Design Toolset of the IEF is used during business system design and technical design of the information system under development. The Design Toolset of the IEF has the following options available. Business System Defaults which allows the setting of system defaults such as screen video properties and function key assignments. Dialog Design which allows the development of the dialog ow diagram. Screen Design which allows the design of the user interface. Action Diagram. Work Set List. Structure Chart. Action Block Usage. Prototyping allows the review of the user interface designed. Dialect De nition allows the user to dene objects for use in the model. The IEF has a default dialect. Check. Data Structure Defaults which allows the user to set the defaults for data structures. Data Structure List which presents a list of the physical data model. Data Store List which provides a list of the data stores, tablespaces and records. Transformation is the transformation of the data model objects to data model structures. Retransformation is used to perform transformation again when changes have been made to the data model. Referential Integrity Process checks the integrity of the data model relationships. E.3.4 Construction Toolset The Construction Toolset of the IEF is used during construction and testing of the information system under development. The Construction Toolset has the following options available. Environment which allows the setting of environment parameters of the target environment for the information system. Packaging which allows the user to specify the type and number of load modules for the information system. Generation which allows the user to generate and install the database and code. 96 E.4 IEF Tools and Features The following is a brief introduction to some of the IEF tools and features, in particular, those which are utilized throughout the dierent IEF toolsets. The use of many features is the same for the dierent diagraming tools in the IEF toolsets. E.4.1 Chain Chaining in the IEF toolsets allows you to change the view to another level of a diagram or to change to another diagram. Selection of a root in the Organizational Hierarchy Diagram then Diagram/Chain will display the organizational unit hierarchy subordinate to the root selected. Selection of a process in the Activity Hierarchy Diagram followed by the selection Diagram/Chain will display the options to chain to the Hierarchy Diagram, Action Diagram, Dependency Diagram, Structure Chart and Action Block Usage diagrams. E.4.2 Edit The Edit option in the IEF toolsets allows the user to create the diagrams and includes selections such as, Add and Delete to facilitate the creation of the diagram. Prior to selecting Edit in the development of a diagram it is often advisable to select Options/Multiple Adds if the user is adding a number of units/boxes to the diagram. E.4.3 View The selection View provides the user with a number of view options including Redraw, Zoom In/Out, Search and Home. Home returns the user to the original view and position in the diagram they are currently working on. Search is an ecient way of moving around in the diagram. E.4.4 Redraw The Redraw option available in the View IEF diagram tool functions in two ways. In some diagrams it allows the user to select a box size and a diagram orientation while in others the selection of Redraw initiates redrawing of the diagram by the IEF automatically. A similar option available in some diagrams are Redraw Lines which initiates the automatic redrawing of diagram lines by the IEF. E.4.5 Consistency Checks Consistency Checks are provided throughout the IEF toolsets. In most circumstances the user is responsible for running the checks, however, these are run automatically by the IEF prior to Action Block Synthesis and Transformation. The Consistency Checks run automatically by the IEF are done on the entire model. To perform a user requested Consistency Check a portion of the diagram or the entire diagram can be selected by the user. For example, in the entity relationship diagram if only one entity is selected the Consistency Check performed will check only the selected entity and its relationships. 97 E.4.6 Help Help is available throughout the IEF toolsets. When working in a specic diagram it is most useful to select the Extended Help option. This provides an overview of the diagraming tool currently accessed and access to more detailed information. E.4.7 Reports Reports are available throughout the IEF toolsets. The reports can prove extremely helpful in reviewing the system under development. In addition the Consistency Check feature also produces a report of warnings and errors if the model does not successfully pass the check. The following reports are available from the IEF selection Model/Reports. Release Notes Entity Type Hierarchy Entity Type Denition Entity Type Uses Relationship Uses Attribute Cross Reference Attribute Denition Attribute Uses Activity Hierarchy Activity Denition Procedure Denition Procedure Step Denition Command List Command Uses Exit State List Exit State Uses Field Denition Implemented Data List DDL Statements 98 Planning Objects Planning Objects Uses Information Needs Map 99 E.5 Tutorial 1 - Organizational Hierarchy Diagram The Organizational Hierarchy tool of the IEF Planning Toolset allows you to create organizational hierarchy diagrams (OHD). The OHD developed in this tutorial is not applicable to the Distributed Project Management Information System (DPMIS) which is developed in the rest of the tutorial series. This tutorial is simply an exercise to review the Organizational Hierarchy tool of the IEF. 1. Select Model/New. 2. Enter the model name, \Distributed Project Management Information System" and the local name, \DPMIS". 3. Select Planning/Organizational Hierarchy. A dialog box will be opened in which the information for the organizational unit can be entered. Enter the organizational root unit name, Chancellor. A description of this unit can be entered by clicking on Desc... , however, a description is not necessary. Click OK . 4. Select the organizational root created, then Edit/Add. Enter the name of the organizational unit President Vice Chancellor. 5. Enter the organizational unit Provost and VP Academic subordinate to the unit, President Vice Chancellor. 6. Select Options/Multiple Adds. This will allow you to make multiple additions to the organizational hierarchy diagram immediately subordinate to the root you have just created. The Options submenu allows you to return to Single Add and to select the Fonts for the diagram. 7. Select the organizational unit, Provost and VP Academic created and then Edit/Add. The dialog box to enter the organizational unit information will continue to reappear until you select Cancel . Enter the following organizational units as subordinates of Provost and VP Academic: Libraries, Vice-Provost Student Health Services and Dean Medicine. Add an organizational unit called Temp to your diagram. After the addition of Temp click on Cancel to exit the add option. 8. Select the organizational unit Temp and Edit/Delete. The IEF will display your selection for deletion. Click on Delete and then Yes . Temp will be removed from your diagram. 9. Select an organizational unit in your OHD and Detail/Properties. This redisplays the dialog box to enter the properties of the organizational unit selected. Changes to all properties can be made in this option. 10. Select the organizational unit Libraries and Edit/Move. Click on the unit Vice-Provost Health Sciences. The Libraries unit will be moved to the right of Vice-Provost Health Sciences. 11. With the organizational unit Libraries selected, select Edit/Change Parent. Click on the unit Vice-Provost Health Sciences. The Libraries unit will now be a subordinate unit of the Vice-Provost Health Sciences. 100 12. Select the organizational root and View/Contract. The diagram will be contracted into the root and its rst subordinate President and Vice-Chancellor. The President and ViceChancellor unit will be displayed with ellipses in the box. 13. Select View/Expand to expand the diagram to its previous view. 14. Select View/Search. A dialog box to allow the entry of the search criteria will appear. Enter the unit name Dean Medicine and select Search . Once the search has been successful select Close . 15. Select View/Home. The IEF will return you to the top of your OHD. 16. Click on your OHD above the organizational root and drag the frame box to include the rst subordinate. Select View/Frame. The IEF will display the framed area to the full size of the screen. 17. Select View/Redraw. The dialog box for Redraw will appear. The box size and diagram orientation can be changed in this option. 18. Select the organizational unit Provost and Vice-Chancellor and Diagram/Chain. The IEF will change the view of the diagram to the level subordinate to the unit selected. 19. SelectionDiagram/Print to print the OHD. The print options dialog box presents options such as printing the entire diagram or just the portion appearing on the screen. 20. Select Diagram/Reports and the IEF automatically generates the Information Strategy Planning report. This report can be printed through the File/Print selection in the Reports window. 21. Select Diagram/Exit which returns you to the main IEF window where you can select Diagram/Save Model to save your model. 22. Select Diagram/Exit to exit the IEF. 101 E.6 Tutorial 2 - Entity-Relationship Diagram The Data Model tool of the IEF allows you to construct entity relationship diagrams (ERD). It is accessible from both the Planning and Analysis toolsets and the functionality is identical in both toolsets. This tutorial will assist you in building a basic ERD. 1. Select Model/Open. 2. Select the model, \Distributed Project Management Information System", then Open . 3. Select Planning/Data Model 4. Select Edit/Add Entity Type. A dialog box for entry of entity information will be displayed. Enter the information provided in Section E.6.1 for the entity Project. Select Desc... to enter the description of the entity. Select OK when complete. 5. Select Detail/Attributes. The window for attributes will appear. 6. Select Options/Multiple Adds. Select entity Project Edit/Add and the dialog box for entering attribute information will appear. Enter the following information: Attribute name: project name Category: Basic Domain: Text Length: 20 Select Varying Length. The attribute description can be entered by selecting Desc... . Select OK . 7. Values and aliases for attributes can be entered by selecting Detail/Values or Detail/Aliases. Select the attribute \status" and Detail/Values. Select Add . Enter the value \on-time" and select Value is default. Select OK . Enter the alternative values. Select OK . 8. Select Diagram/Exit to return to the Data Model tool. Select Detail/Identi er and select the attribute \project name" for the primary identier. 9. Select Diagram/Save Model to ensure your changes have been saved. 10. Enter the entity Document using the information detailed in Section E.6.1. 11. Enter the entity Deliverable using the information detailed in Section E.6.1. 12. The next entity to enter is Milestone. When you have added the Milestone entity select Detail/Attributes. Select the entity name Milestone then Edit/Copy. Select the entity to copy from, Deliverable, select the attribute Expected Delivery Date and select OK . The Edit selection Transfer allows you to transfer attributes from another entity to the entity you are currently editing. 102 13. To establish a relationship between two entities return to the Data Model tool and select View/Home. Select the Project entity. Select View/Search and enter Document as the search criteria. Select Search . When the search has been successful select Close . While holding the control key, select the Document entity. Select Edit/Join. The dialog box for the relationship information will appear. Input the \is described by" and \describes project" relationship information (see below) and select OK . Note - it is not necessary to use the Search tool, this makes it easier when the entities are not displayed on the screen at the same time. 14. Select Src Prop and enter the cardinality provided in Section E.6.1. 15. Select Dst Prop and enter the information provided. 16. Follow the same procedure for the rest of entities and relationships in the DPMIS entity information in Section E.6.1. 17. Relationship lines can be moved to change their shape and position to enable the relationship name to be more legible both on the screen and on the printed output. Select a relationship line in your ERD and then select Edit/Move. Click on the new place of attachment for the relationship line. Note - this cannot be used to transfer relationships between entities. 18. After you have completed the Data Model click on the background of the ERD then select Diagram/Check. The IEF will create a consistency check report. Review this report and correct the data model until it passes the Consistency Check. 19. Redraw Diagram or Redraw Lines in the Data Model automatically redraw the diagram or lines. If you have been working in the diagram select View/Deselect All, otherwise the option to Redraw Diagram will not be accessible. Select View/Redraw and the IEF will automatically redraw the diagram. Note - changes made to lines in the ERD will be lost when you select Redraw Diagram. 103 E.6.1 Entities, Attributes and Relationships Deliverable Description Deliverables representing specic Documents, Prototypes and Presentations and their respective delivery dates exist for each Project. Expected Number of Occurrences Minimum 1 Average 6 Maximum 99 Expected Growth 1 - 2 % per year Attributes Name (identifying attribute), Mandatory Basic Text, Length: 50 Expected Delivery Date, Optional Basic Date, Length: 8 Actual Delivery Date, Optional Basic Date, Length: 8 Description, Optional Basic Text, Length: 254 Comments, Optional Basic Text, Length: 254 Type, Optional Basic Text, Length: 18 Values: Document (default), Prototype, Presentation Relationships Always IS MILESTONE (one) Milestone. Always IS DELIVERABLE OF (one) Project. can transfer. Sometimes (50 %) DEPENDS ON (one or more) Deliverable Cardinality Min: 0 (est) Max: 5 (est) Avg: 1 cannot transfer. Sometimes (50 %) ESSENTIAL FOR (one or more) Deliverable Cardinality Min: 0 (est) Max: 5 (est) Avg: 2 cannot transfer. Sometimes(95 %) IS DOCUMENT (one) Document. can transfer. 104 Document Description Documents will represent information about the current Projects. Expected Number of Occurrences Minimum 1 Average 100 Maximum 1000 Expected Growth 1 % per year Attributes Title (identifying attribute), Mandatory Basic Text, Length: 50 Date, Optional Basic Date, Length: 8 Abstract, Optional Basic Text, Length: 254 Keywords (1 through 5), Mandatory Basic Text, Length: 20 Keywords (6 through 10), Optional Basic Text, Length: 20 Type, Optional Basic Text, Length: 25 Values: Project Report, Component Documentation, Journal Publication, Conference Publication, Working Paper, Technical Report, Minutes, Proposal, Manual Relationships Always DESCRIBES PROJECT (one) Project. cannot transfer. Sometimes (95 %) IS DELIVERABLE (one) Deliverable. can transfer. Sometimes (75 %) IS MILESTONE (one) Milestone. can transfer. Milestone Description Milestones representing signicant development events exist for each Project. Expected Number of Occurrences Minimum 1 Average 30 105 Maximum 99 Expected Growth 2 % per year Attributes Name (identifying attribute), Mandatory Basic Text, Length: 30 Expected Delivery Date, Optional Basic Date, Length: 8 Actual Delivery Date, Optional Basic Date, Length: 8 Type, Optional Basic Text, Length: 15 Values: Hiring, Documentation, Demonstration,Meeting, Deliverable and Other) Description, Optional Basic Text, Length: 254 Relationships Always IS MILESTONE OF PROJECT (one) Project. cannot transfer. Sometimes (95 %) IS DELIVERABLE (one) Deliverable. cannot transfer. Sometimes (70 %) IS A DOCUMENT (one) Document. cannot transfer. Project Description Projects are research projects being conducted by organizations at various Sites in Canada, the United States and Europe. Expected Number of Occurrences Minimum 1 Average 10 Maximum 99 Expected Growth 5 % per year Attributes Project Name (identifying attribute), Mandatory Basic Text, Length: 30 Description, Optional Basic Text, Length: 254 106 Start Date, Optional Basic Date, Length: 8 Completion Date, Optional Basic Date, Length: 8 Status, Mandatory Basic Text, Length: 10 Values: on-time, suspended, behind, completed Relationships Always HAS MILESTONE (one or more) Milestone. Cardinality Min: 1 (est) Max: 99 (est) Avg: 30) cannot transfer. Always HAS DELIVERABLES (one or more) Deliverables. Cardinality Min: 1 (est) Max: 99 (est) Avg: 6 cannot transfer. Sometimes (95 %) IS DESCRIBED BY DOCUMENT (one or more) Document Cardinality Min: 1 (est) Max: 100 (est) Avg: 100 cannot transfer. Sometimes (10 %) HAS RELATION TO (one or more) Project Cardinality Min: 1 0 (est) Max: 5 (est) Avg: 1 cannot transfer. Sometimes (10 %) IS RELATED TO (one) Project can transfer. 107 E.7 Tutorial 3 - Activity Hierarchy Diagram The Activity Hierarchy tool allows you to create an activity hierarchy diagram (AHD) which displays the function and process hierarchy for the system under development. The following rules apply to the creation of the AHD. Functions in an IEF AHD may have subordinate functions or processes. Processes in an IEF AHD may only have subordinate processes or elementary processes. Elementary Processes in an IEF AHD may not have any subordinates. 1. Select Planning/Activity Hierarchy. The dialog box to enter the root function information will appear. Enter the root name, Distributed Project Management and the description from Section E.7.1. 2. Select Options/Multiple Adds. 3. Select the root function then Edit/Add Process. Enter the process name, \Information Maintenance" in the dialog box. The process should be entered as on-line, not elementary and not repetitive. A description of the process can be entered by clicking on Desc... . Enter the process \Information Retrieval". 4. Select the process, Information Maintenance and the next level of processes as indicated in the IEF Activity Hierarchy Report included as Section E.7.2. Repeat this for the Information Retrieval hierarchy. 5. Select the process, Project Maintenance and enter the elementary processes for project maintenance as indicated in the IEF Activity Hierarchy Report included as Section E.7.2. Remember to select elementary in the dialog box. 6. Select the root function for the Activity Hierarchy Diagram, then Diagram/Chain/Dependency Diagram. A window for the Activity Dependency Diagram will appear. The diagram has been automatically populated by the IEF. Select Diagram/Exit to return to the Activity Hierarchy Diagram. 7. Select the root function, then Edit/Modify. The processes immediately subordinate, \Information Maintenance" and \Information Retrieval" will be changed to functions. Select Edit/Modify again to return these functions to processes. Modify will only work when the activity selected is a function and elementary processes cannot be changed. 8. Expected Eects of the functions and processes detailed in the AHD can be specied at this point, however, if you utilize the IEF action block synthesis the expected eects will be set by the IEF. To detail expected eects select the Add Project elementary process, Detail/Expected Eects. Select the entity Project in the lower box and select it again in the upper box when it appears there. Select Chg Read , Chg Create . The other expected eects of the process Add Project, as listed in Section E.7.1, can be entered at this point. Select Close . 108 9. View Maintenance can be started at this point as well but it can also be left for the IEF to detail during action block synthesis. View Maintenance is reviewed in the tutorial for Screen Design. 10. Select Diagram/Save Model and Diagram/Exit. 109 E.7.1 Function and Process Descriptions Distributed Project Management A set of applications to support the information requirements necessary to track the progress, status and descriptive details of Projects spanning multiple Sites, including: denition of Projects which span multiple Sites, denition of Projects which are local to Sites permit the update of Projects, Sites, Milestones and Members by Project leaders, permit the update of Documents and Deliverables by Members responsible for each, and permit any Project member to browse and/or retrieve information about any project and its related entities. Information Maintenance Information Maintenance is a process in the Distributed Project Management function hierarchy which, with the support of its subordinate processes enables the creation, update and deletion of all entities identied in the Data Model. Project Maintenance Project Maintenance is a process in the Information Maintenance process hierarchy which, with the support of its subordinate elementary processes enables the creation, update and deletion of Projects in the DPMIS database. Add Project is an elementary process in the Project Maintenance process hierarchy. This process enables the creation of new projects in the DPMIS database. Expected Eects Project: create, update Site: update, read Milestone: create, update, read Member: update, read Deliverable: create, update, read Update Project is an elementary process in the Project Maintenance process hierarchy. This process enables the update of projects in the DPMIS database. Delete Project is an elementary process in the Project Maintenance process hierarchy. This process enables the deletion of projects from the DPMIS database. Site Maintenance Site Maintenance is a process in the Information Maintenance process hierarchy which, with the support of its subordinate elementary processes enables the creation, update and deletion of Sites in the DPMIS database. Add Site is an elementary process in the Site Maintenance process hierarchy. This process enables the creation of Sites in the DPMIS database. Update Site is an elementary process in the Site Maintenance process hierarchy. This process enables the update of Sites currently included in the DPMIS database. Delete Site is an elementary process in the Site Maintenance process hierarchy. This process enables the deletion of Sites from the DPMIS database. 110 Member Maintenance Member Maintenance is a process in the Information Maintenance process hierarchy which, with the support of its subordinate elementary process enables the creation, update and deletion of Members in the DPMIS database. Add Member is an elementary process in the Member Maintenance process hierarchy which enables the creation of Members in the DPMIS database. Update Member is an elementary process in the Member Maintenance process hierarchy which enables the update of Members currently in the DPMIS database. Delete Member is an elementary process in the Member Maintenance process hierarchy which enables the deletion of Members from the DPMIS database. Milestone Maintenance Milestone Maintenance is a process in the Information Maintenance process hierarchy which, with the support of its subordinate elementary processes enables the creation, update and deletion of Milestones in the DPMIS database. Add Milestone is an elementary process in the Milestone Maintenance process hierarchy which enables the creation of Milestones in the DPMIS database. Update Milestone is an elementary process in the Milestone Maintenance process hierarchy which enables the update of Milestones in the DPMIS database. Delete Milestone is an elementary process in the Milestone Maintenance process hierarchy which enables the deletion of Milestones in the DPMIS database. Deliverable Maintenance Deliverable Maintenance is a process in the Information Maintenance process hierarchy which, with the support of its subordinate elementary processes enables the creation, update and deletion of Deliverables in the DPMIS database. Add Deliverable is an elementary process in the Deliverable Maintenance process hierarchy which enables the creation of Milestones in the DPMIS database. Update Deliverable is an elementary process in the Deliverable Maintenance process hierarchy which enables the update of Milestones in the DPMIS database. Delete Deliverable is an elementary process in the Deliverable Maintenance process hierarchy which enables the deletion of Milestones in the DPMIS database. 111 Document Maintenance Document Maintenance is a process in the Information Maintenance process hierarchy which, with the support of its subordinate elementary processes enables the creation, update and deletion of Documents in the DPMIS database. Add Document is an elementary process in the Document Maintenance process hierarchy which enables the creation of Documents in the DPMIS database. Update Document is an elementary process in the Document Maintenance process hierarchy which enables the update of Documents in the DPMIS database. Delete Document is an elementary process in the Document Maintenance process hierarchy which enables the deletion of Documents in the DPMIS database. Information Retrieval The Information Retrieval is a process in the Distributed Project Management function hierarchy. Information Retrieval enables retrieval of information regarding all current Projects and related entities. Project Information Retrieval Project Information Retrieval is an elementary process in the Information Retrieval process hierarchy which enables the retrieval of information regarding Projects currently entered in the DPMIS database. Site Information Retrieval Site Information Retrieval is an elementary process in the Information Retrieval process hierarchy which enables the retrieval of information regarding Sites currently included in the DPMIS database. Member Information Retrieval Member Information Retrieval is an elementary process in the Information Retrieval function hierarchy which enables the retrieval of information for Members currently included in the DPMIS database. Milestone Information Retrieval Milestone Information Retrieval is an elementary process in the Information Retrieval function hierarchy which enables retrieval of information for Milestones currently included in the DPMIS database. 112 Deliverable Information Retrieval Deliverable Information Retrieval is an elementary process in the Information Retrieval hierarchy which enables the retrieval of information for Deliverables currently included in the DPMIS database. Document Information Retrieval Document Information Retrieval is an elementary process in the Information Retrieval process hierarchy which enables the retrieval of information for Documents currently included in the DPMIS database. 113 E.7.2 IEF Activity Hierarchy Report Activity Hierarchy Model : DISTRIBUTED PROJECT MANAGEMENT Subset: ALL Jun. 07, 1994 10:40 Function 1 DISTRIBUTED_PROJECT_MANAGEMENT Process 2 1 INFORMATION_MAINTENANCE Process 3 1.1 PROJECT_MAINTENANCE Elem Proc 4 1.1.1 ADD_PROJECT Elem Proc 4 1.1.2 UPDATE_PROJECT Elem Proc 4 1.1.3 DELETE_PROJECT Process 3 1.2 SITE_MAINTENANCE Elem Proc 4 1.2.1 ADD_SITE Elem Proc 4 1.2.2 UPDATE_SITE Elem Proc 4 1.2.3 DELETE_SITE Process 3 1.3 MEMBER_MAINTENANCE Elem Proc 4 1.3.1 ADD_MEMBER Elem Proc 4 1.3.2 UPDATE_MEMBER Elem Proc 4 1.3.3 DELETE_MEMBER Process 3 1.4 MILESTONE_MAINTENANCE Elem Proc 4 1.4.1 ADD_MILESTONE Elem Proc 4 1.4.2 UPDATE_MILESTONE Elem Proc 4 1.4.3 DELETE_MILESTONE Process 3 1.5 DELIVERABLE_MAINTENANCE Elem Proc 4 1.5.1 ADD_DELIVERABLE Elem Proc 4 1.5.2 UPDATE_DELIVERABLE Elem Proc 4 1.5.3 DELETE_DELIVERABLE Process 3 1.6 DOCUMENT_MAINTENANCE Elem Proc 4 1.6.1 ADD_DOCUMENT Elem Proc 4 1.6.2 UPDATE_DOCUMENT Elem Proc 4 1.6.3 DELETE_DOCUMENT Process 2 2 INFORMATION_RETRIEVAL 2.1 PROJECT_INFORMATION_RETRIEVAL Elem Proc 3 Elem Proc 3 2.2 SITE_INFORMATION_RETRIEVAL Elem Proc 3 2.3 MEMBER_INFORMATION_RETRIEVAL Elem Proc 3 2.4 MILESTONE_INFORMATION_RETRIEVAL Elem Proc 3 2.5 DELIVERABLE_INFORMATION_RETRIEVAL Elem Proc 3 2.6 DOCUMENT_INFORMATION_RETRIEVAL -End of Report- 114 E.8 Tutorial 4 - Activity Dependency Diagram The Activity Dependency Diagram (ADD) is accessible from both the Planning and Analysis toolsets and can be accessed by chaining from the Activity Hierarchy Diagram (AHD). The ADD will have been automatically populated by the IEF during construction of the Activity Hierarchy Diagram (AHD). The tasks necessary to complete this diagram are inserting process dependencies and the addition of any Events and External Objects required for the ADD. 1. Select Analysis/Activity Dependency. The rst level of processes will be displayed in the ADD, Information Maintenance and Information Retrieval. 2. Select the Information Maintenance process, then control-select the Information Retrieval process. Select Edit/Join and the IEF will insert a dependency line from Information Maintenance to Information Retrieval. 3. Select the dependency you have just created and Detail/Properties. Enter the dependency name \Database information available". Enter the description, \The database information must exist to allow retrieval of the information." 4. Select Diagram/Save Model to save the changes you have made to the ADD. 5. To complete the dependency diagram select Information Maintenance, then Diagram/Chain/Dependency Diagram. The IEF will display the rst process level subordinate to Information Maintenance. Enter the process dependencies listed in Section E.8.1. 6. Select Diagram/Save Model to save the changes you have made. 7. Select Member Maintenance, then Diagram/Chain/Dependency Diagram. The IEF will now display the elementary processes subordinate to Member Maintenance. 8. Update Member and Delete Member are dependent in parallel on Add Member. To add the parallel dependency rst join the Add Member and Update Member processes as above. Select the dependency line created then control-select Delete Member followed by Edit/Join Parallel and the parallel dependency line will be displayed. 9. The dependencies can be created for the other processes and elementary processes in the AHD created. 10. With the selection Redraw Diagram in the ADD the IEF automatically redraws the diagram. 11. Return to the rst process level of the AHD and select Information Retrieval. Select Diagram/Chain/Dependency Diagram. Select the background of the diagram. Select Edit/External Object. Select Add in the dialog box that appears. Enter the external object name \Project Management Database Info". Select OK . Select \Project Management Database Info" followed by Select . A double red box will appear on your ADD. Establish the dependencies from the external object to the ADD processes. 115 12. Select a spot on the ADD background and then Edit/Add Event. Enter the event name as \temp". Select OK . A large red arrow will be displayed on the ADD. Select Edit/Delete, OK , Yes to remove this from your diagram. 13. Select Diagram/Save Model. 116 E.8.1 Process Dependencies The following are the dependencies which should be included in the Activity Dependency Diagrams (ADD) for the DPMIS. The dependency name is given followed by the the name of process which precedes the dependent process. Information Maintenance Deliverable Maintenance Respective project exists (Project Maintenance) Responsible member exists (Member Maintenance) Respective milestone exists (Milestone Maintenance) Document Maintenance Member author exists (Member Maintenance) Described project exists (Project Maintenance) Member Maintenance Site available for aliation (Site Maintenance) Milestone Maintenance Project exists (Project Maintenance) Project Maintenance Deliverable exists (Deliverable Maintenance) Site available (Site Maintenance) Milestone exists (Milestone Maintenance) Member available (Member Maintenance) Site Maintenance No dependencies are present for Site Maintenance. Elementary Processes The elementary processes in the Information Hierarchy all follow the same dependency patterns. In all situations the Update and Delete processes are dependent, in parallel on the Add process. For each group of elementary processes the dependency name should be: \entity name has been created". Information Retrieval All elementary processes in the Information Retrieval hierarchy are dependent on the External Object \Project Management Database Info". For each processes the dependency name should be: \entity name info exists". 117 E.9 Tutorial 5 - Process Action Diagrams The Action Diagram tool in the IEF Analysis toolset enables the creation of action diagrams for the elementary processes you have identied. These can be created statement by statement or by use of the action block synthesis available in the IEF. This tutorial will utilize the action block synthesis to create the elementary processes for the DPMIS. The use of this synthesis will automatically identify expected eects and views for the processes. 1. Select Analysis/Activity Hierarchy. Select Project Maintenance, then View/Expand All. When IEF has expanded the Project Maintenance hierarchy select the elementary process Add Project. Select Diagram/Chain/Action Diagram. 2. Select Edit/Action Block Synthesis. Ensure the Mode option is set at Create. Select Entity Type PROJECT then OK . The IEF will present a dialog box for Create of: PROJECT that contains a list of related entity types and their relationships with the Project entity type. The expected eects of Create and Read can be adjusted here if necessary. Select OK . The IEF will display another dialog box for Identi er Selection. Select the primary identier, then OK . The IEF will display further Create of: and Identi er Selection dialog boxes. Select OK as these are displayed. The IEF will generate an action diagram for the elementary process Add Project. Views and expected eects are identied by the IEF when you utilize the Action Block Synthesis. 3. Use Action Block Synthesis to generate the action diagrams for Update Project and Delete Project. Ensure the correct Mode is selected before continuing with the synthesis. An examples of the process action diagram for the elementary processes, Add Project is included in Section E.9.1. 4. Use Action Block Synthesis to generate an action diagram for an additional action block Display Project. Ensure the Mode option is set at Read. 5. Action Block Synthesis can be utilized to create PAD's for all the elementary processes included in the AHD. 6. Expand Expected Eects can be utilized to create portions of the PAD if expected eects have been detailed in the Activity Hierarchy tool. If expected eects have not been detailed an IEF fatal error will result, followed by an abnormal exit from the IEF and all of your changes will be lost. 118 E.9.1 Sample IEF Process Action Diagrams Model : DISTRIBUTED PROJECT MANAGEMENT Subset: ALL Jun. 07, 1994 10:39 Process: ADD_PROJECT ___________________________________________________________________________ Process Description: Add Project is an elementary process in the Project Maintenance process hierarchy. facilitate creation of a new project in the DPMIS database. Usage of this process is estimated at: min 1, avg 10, max 99 per year, with an estimated yearly growth rate of 5%. Action Block Description: 1 2 2 2 2 3 2 4 5 5 5 5 5 5 6 7 7 7 7 8 9 +| | | | | | | | | | | | | | | | | | | | | | | | | | ADD_PROJECT IMPORTS: ... EXPORTS: ... LOCALS: ENTITY ACTIONS: ... +- IF current_user_in member surname IS EQUAL TO leader member surname | AND current_user_in member first_name IS EQUAL TO leader member | first_name | OR leader member surname IS EQUAL TO SPACES | MOVE current_user_in member TO leader member +-+- IF leader member surname IS NOT EQUAL TO SPACES | +- READ stored_leader member | | WHERE DESIRED stored_leader member surname IS EQUAL TO | | leader member surname | | AND DESIRED stored_leader member first_name IS EQUAL TO | | leader member first_name | +- WHEN successful | | +- IF import site organization IS NOT EQUAL TO SPACES | | | +- READ stored site | | | | WHERE DESIRED stored site organization IS EQUAL TO | | | | import site organization | | | +- WHEN successful | | | | +- CREATE stored project | | | | | SET start_date TO import project start_date 119 This proces 10 11 12 13 14 15 16 16 17 17 8 18 19 19 19 19 20 21 21 22 22 22 22 22 23 24 24 25 25 22 26 27 27 28 28 29 29 30 31 26 32 26 33 26 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SET project_name TO import project project_name SET completion_date TO import project completion_date SET status TO import project status SET description TO import project description ASSOCIATE WITH stored site WHICH has_project IT ASSOCIATE WITH stored site WHICH is_primary_location_for IT ASSOCIATE WITH stored_leader member WHICH is_member_of_project IT ASSOCIATE WITH stored_leader member WHICH coordinates_project IT WHEN successful MOVE stored project TO export project +- READ stored milestone | WHERE DESIRED stored milestone milestone_name | IS EQUAL TO import milestone milestone_name +- WHEN successful | MOVE stored milestone TO export milestone | ASSOCIATE stored milestone | WITH stored project WHICH has_milestone IT | +- READ stored deliverable | | WHERE DESIRED stored deliverable | | deliverable_name IS EQUAL TO | | import deliverable deliverable_name | +- WHEN successful | | MOVE stored deliverable TO export deliverable | | ASSOCIATE stored deliverable | | WITH stored milestone WHICH is_deliverable IT | | ASSOCIATE stored deliverable | | WITH stored project WHICH has_deliverables IT | +- WHEN not found | | +- CREATE stored deliverable | | | SET deliverable_name TO import deliverable | | | deliverable_name | | | ASSOCIATE WITH stored_leader member | | | WHICH is_responsible_for IT | | | ASSOCIATE WITH stored_leader member | | | WHICH works_on IT | | | ASSOCIATE WITH stored milestone WHICH is_deliverable IT | | | ASSOCIATE WITH stored project WHICH has_deliverables IT | | +- WHEN successful | | | MOVE stored deliverable TO export deliverable | | +- WHEN already exists | | | EXIT STATE IS deliverable_ae WITH ROLLBACK | | +- WHEN permitted value violation 120 34 26 22 19 35 36 37 35 38 39 39 39 39 39 40 41 41 42 42 39 43 44 44 45 46 47 48 43 49 43 50 43 51 43 39 35 52 35 53 35 19 8 54 8 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| +- | | | EXIT STATE IS deliverable_pv WITH ROLLBACK | | +-| +-+- WHEN not found | +- CREATE stored milestone | | SET milestone_name TO import milestone milestone_name | | ASSOCIATE WITH stored project WHICH has_milestone IT | +- WHEN successful | | MOVE stored milestone TO export milestone | | +- READ stored deliverable | | | WHERE DESIRED stored deliverable | | | deliverable_name IS EQUAL TO | | | import deliverable deliverable_name | | +- WHEN successful | | | MOVE stored deliverable TO export deliverable | | | ASSOCIATE stored deliverable | | | WITH stored milestone WHICH is_deliverable IT | | | ASSOCIATE stored deliverable | | | WITH stored project WHICH has_deliverables IT | | +- WHEN not found | | | +- CREATE stored deliverable | | | | SET deliverable_name TO import deliverable | | | | deliverable_name | | | | ASSOCIATE WITH stored_leader member WHICH is_responsible_fo | | | | ASSOCIATE WITH stored_leader member WHICH works_on IT | | | | ASSOCIATE WITH stored milestone WHICH is_deliverable IT | | | | ASSOCIATE WITH stored project WHICH has_deliverables IT | | | +- WHEN successful | | | | MOVE stored deliverable TO export deliverable | | | +- WHEN already exists | | | | EXIT STATE IS deliverable_ae WITH ROLLBACK | | | +- WHEN permitted value violation | | | | EXIT STATE IS deliverable_pv WITH ROLLBACK | | | +-| | +-| +- WHEN already exists | | EXIT STATE IS milestone_ae WITH ROLLBACK | +- WHEN permitted value violation | | EXIT STATE IS milestone_pv WITH ROLLBACK | +-+-WHEN already exists EXIT STATE IS project_ae WITH ROLLBACK WHEN permitted value violation 121 55 8 7 56 7 6 57 6 5 58 5 4 59 4 | | | | | | EXIT STATE IS project_pv WITH ROLLBACK | | | | | +-| | | | +- WHEN not found | | | | | EXIT STATE IS site_nf WITH ROLLBACK | | | | +-| | | +- ELSE | | | | EXIT STATE IS site_nf WITH ROLLBACK | | | +-| | +- WHEN not found | | | EXIT STATE IS member_nf WITH ROLLBACK | | +-| +- ELSE | | EXIT STATE IS member_nf WITH ROLLBACK | +-+-- 122 E.10 Tutorial 6 - Business System Defaults Business System Defaults allows the user to set up defaults for the business system under denition. 1. Select Analysis/Business System De nition. The IEF will automatically perform a consistency check and the business system process hierarchy will be displayed. Select Diagram/Save Model, then Diagram/Exit. 2. Select Design/Business System Defaults. 3. Select Options/Multiple Adds. 4. Select ** Business System DISTRIBUTED. 5. Select Detail/Commands and then Add . Enter the commands, ADD, CANCEL, DELETE, DISPLAY, HELP, UPDATE, and RETURN in the box displayed. Select Cancel to exit the add dialog box. 6. Select Detail/Exit States. Select <Global Exit States> and then select Expand/Cntrct. Select Add . Add the exit state \link to information maintenance" leaving the default settings, click OK . Ensure the exit states listed below are all included in the global exit states. Select Close . Exit states will have been automatically added by the IEF during process or action block synthesis. Link to Deliverable Maintenance Link to Deliverable Retrieval Link to Document Maintenance Link to Document Retrieval Link to Maintenance Link to Member Maintenance Link to Member Retrieval Link to Milestone Maintenance Link to Milestone Retrieval Link to Project Maintenance Link to Project Retrieval Link to Site Maintenance Link to Site Retrieval Link to Retrieval 7. Select Detail/Function Keys. Select key number one (1). Select Prop.. . Select the command HELP from the list displayed. Select \Default" as the type and select Display on PFKey line. Select OK . Select Close . 123 8. Enter the default function key assignments listed below. ENTER ENTER F1 HELP F2 ADD F3 UPDATE F4 DELETE F5 LIST F6 DISPLAY F11 CANCEL F12 RETURN 9. Select Detail/Special Edit Patterns. Select SYSDATE Date MM-DD-YY, then Prop... . Change the edit pattern to \YY-MM-DD". Select OK then Close . 10. Select Detail/Field Edit Patterns. Change the DATE edit pattern to \YY-MM-DD". Select OK , then Close . 11. Parameter Delimiters and String Separators can be selected in the option Detail/Delimiters. The settings can be left at the default settings. 124 E.11 Tutorial 7 - Dialog Flow Diagram Dialog Design allows you to identify the procedures and procedure steps in the business system under development and to detail the ow of control and data between procedures and procedures steps. Procedures and procedure steps implement the processes identied during the Analysis phase of development. 1. Select Design/Dialog Design. 2. Select Edit/Add Procedure. Enter the procedure name Maintain Project and a description of the procedure. 3. Select OK . The procedure will appear as a blue line on the screen. Select Options/Multiple Adds and add the following procedures to the diagram. Maintain Site Maintain Member Maintain Milestone Maintain Deliverable Maintain Document Site Information Retrieval Member Information Retrieval Milestone Information Retrieval Deliverable Information Retrieval Document Information Retrieval Project Information Retrieval To quit the add procedure select Cancel . 4. Select the procedure Menu and then Edit/Move. Move this procedure to the top of the screen. 5. Select Edit/Add Procedure Step and add the procedure steps Maintenance Menu and Retrieval Menu. 6. Select Maintenance Menu and then control-select the procedure step Maintain Project. Select Edit/Join. A dialog box will appear to enter the information for a dialog ow between the two procedures. Enter the dialog ow as a link. The Set Command and Return Command options can be left as is for this ow, however, these may be selected to set a command for the ow to the other procedure or procedure step and on return from the procedure step. The selections for Execute First and Display First can be left at Execute First for this link. Select OK . 125 7. Select the dialog ow you have just created and then Detail/Flows On. Click on Exit State . The Exit States options will be displayed. Click on global exit states then Expand/Contract . Click on global exit states then Add . Enter the Exit State name \link to information maintenance". Select Select . 8. Detail/Flow Maintenance allows you to add and edit ows connecting procedures and procedures steps. Select the procedure step Maintenance Menu then select Detail/Flow Maintenance. Select Edit/Add Flow Out. A dialog box to Select Procedure Step will be displayed. Select the business system Distributed Project Management and the procedure Maintain Member. The IEF dialog box to enter ow information will be displayed. Enter this ow as a link, owing on exit state, \link to member maintenance" and returning on \return". The other options in this box can be left at the default settings. 9. Enter the other ows detailed in the Dialog Flow Diagram (Figure 10) using either of the above methods. All ows can be entered as links with exit states of the form \link to project maintenance". 10. Select the procedure Menu then View/Contract. The procedure steps in the menu procedure will be contracted into the procedure and will no longer appear on the diagram. 11. Select the procedure Maintain Milestone then View/Neighbors. The IEF will display only the Maintain Milestone procedure and those procedures and procedure steps with ows connecting them to Maintain Milestone. Select View/Show All to return to the original view of the dialog ow diagram. 12. Select the ow from Main Menu to Maintenance Menu. Select Detail/Flows On. Select the exit state \link to maintenance", select Autoow . Select the command MAINTAIN. Select OK . Select Close . Set the Returns On autoow to the command RETURN. 13. Select the dialog ow from Main Menu to Retrieval Menu and set the Flows On autoow to the command RETRIEVE and the Returns On autoow to RETURN. Autoows can be included for all ows between procedures and procedure steps, however, for this tutorial these are the only Autoows to be included. These Autoows will be utilized to demonstrate the functionality of the IEF Prototyping tool. 14. External Flow In and External Flow Out which can be accessed in the Detail submenu are used to create ows to and from procedures which are not included in the current business system. These are not applicable to the DPMIS. 126 MENU MAIN MENU MAINTENANCE ME> RETRIEVAL MENU MAINTAIN PROJE> MAINTAIN SITE MAINTAIN MEMBER MAINTAIN MILES> MAINTAIN DELIV> MAINTAIN DOCUM> SITE INFO RETR> SITE RETRIEVAL SITE LIST MEMBER INFO RE> MEMBER RETRIEV> MEMBER LIST MILESTONE RETR> MILESTONE RETR> MILESTONE LIST DELIVERABLE IN> DELIVERABLE RE> DELIVERABLE LI> DOCUMENT INFO > DOCUMENT RETRI> DOCUMENT LIST PROJECT INFO R> PROJECT RETRIE> PROJECT LIST Figure 10: Dialog Flow Diagram (DFD) 127 E.12 Tutorial 8 - Procedure Action Diagrams 1. 2. 3. 4. 5. 6. 7. Select Design/Dialog Flow. Select the procedure Maintain Project. Select Detail/Procedure Synthesis. Select Edit/Stereotype. Select Entity Maintenance. In the window that appears for stereotype select the Action Block Display. Select Edit/Select. The listing of action blocks will be displayed. Select the action block Display Project. 8. Select the action blocks for create, update and delete as follows: Create : Add Project Update : Update Project Delete : Delete Project 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Select the Screen Identi er Attribute View. Select Edit/Select and select the IMPORT Project Project Name view. Select Edit/Options and review the options available. These can be left at the default settings. Select Edit/Apply and the IEF automatically generates the stereotype. Select the rst when successful line in the action diagram, then View/Contract. The IEF will contract all the statements within the when successful. Select the three ellipses which will then represent the contracted statements. Select Edit/Move and select the statement EXIT STATE IS member nf. The contracted statements will be moved and expanded to this location. Select Edit/Move and return the statements to their original position. Select the statement MOVE member TO export member, then select Edit/Add Blank Line. The IEF will insert a blank line following the selected statement. FOR and IF statements can be contracted by selecting the FOR or IF lines of the statements. Select the blank line above the rst statement of the action diagram, then select Edit/Add Statement. Select Read. Select member from the entity list displayed then select Qualify , select attribute view, select DESIRED persistent view, select IS EQUAL TO, select character view, select transient view, select import member. Finally select Add . The IEF will include the read statement in the action diagram. 128 19. Select the read statement that has been added. The entire statement must be selected, including the when successful and when not found lines. Select Edit/Delete Statement and then YES . 20. Select Diagram/Save Model, then select Diagram/Exit. 129 E.13 Tutorial 9 - Screen Design Screen Design allows you to create the user interface for the business system. Screens can be designed for procedures and procedure steps. 1. Select Design/Screen Design. Select Cancel in the dialog box that appears. Select Diagram/New. The dialog box for template creation appears. Enter the template name DPMIS. 2. Select Edit/Add Special. Select the special eld Transaction Code and place this in the upper left corner of the screen. Transaction codes are necessary for the IEF Construction tool and must precede all other elds on the screen. 3. Select Edit/Add Literal. Enter the literal, \Distributed Project Management Information System". Video properties can be set for the literal by selecting Prop... but the default settings are acceptable for this screen. Select OK . Place this literal at the top of the screen. 4. Select the literal just entered and then Edit/Center. The IEF will center the literal on the line. 5. Enter the special elds Current Time and Current Date in the upper right corner of the screen. 6. Enter the special eld System Error Message on the bottom line of the eld and the special eld Program Function Keys immediately above it. 7. Select Diagram/Save Model. Select Diagram/Exit. This template can be utilized for the menu screens you will be creating. 8. Select Design/Screen Design and select the Menu procedure. 9. Select Detail/Uses and select the template DPMIS. This template will be displayed on the screen by the IEF and further construction of this screen can continue. 10. Enter the literals: \Main Menu", \1. Maintenance Menu", \2. Retrieval Menu", \3. Exit DPMIS". 11. Select Detail/View Maintenance. Select Import Views. Select Edit/Add Work View. Enter the name Import and leave the \is Sometimes used as input" set as it is. Select IEF Supplied and Action Entry. Select OK . 12. Select the import view you have just added then Edit/Copy. Select Export Views. Select Diagram/Exit. 13. Select Edit/Add Field. Select the export eld IEF Supplied. In the Field De nition dialog box that appears enter the prompt \ENTER SELECTION:" in the prompt denition area. Set Display Length to one (1). All the other default settings can be left as is. Select OK . The IEF will allow you to position rst the prompt and then the input eld. Leave a blank line above the \PFKey" line and position these in the lower left corner of the screen. 130 14. Function key assignments can be made for each screen that are local to that screen. Select Detail/PFK/Commands. Select function key ve (5) and assign it the command MAINTAIN. Select function key six (6) and assign it the command RETRIEVE. For each of these assignment properties select display on PFKey line. 15. Select Diagram/Save Model. Select Diagram/Chain/Prototyping and the IEF will display the prototype of the screen. 16. Complete the screen design for the procedure steps Information Maintenance and Information Retrieval. 17. When the menu procedure steps have been dened select Diagram/Exit. 18. Select Diagram/Dialog Design and select the Menu procedure. Select Diagram/Chain/Prototyping. When the prototype for the Main Menu screen appears press the function key F5 to transfer to the Information Maintenance Menu screen and then F11 to return to the Main Menu screen. F6 will access the Information Retrieval Menu. Utilized this way prototyping can help you ensure that the order of screens is correctly designed. 131 E.14 Tutorial 10 - Construction The IEF Construction Toolset for the OS/2 version of the IEF generates and installs the data denition language (DDL) and the code for the information system. 1. Select User Pro le Management Services and Logon. 2. Enter USERID and PASSWORD for the user id and password. 3. Select Model/Open from the IEF menu bar. 4. Select the model, \Distributed Project Management Information System", then Open . 5. Select Construction/Environment. 6. Enter the following settings for the environment parameters. Operating System: OS/2 DBMS: DBM Language: C TP Monitor: IEFAE Prole Manager: SQL Screen Type: Bypass Clear Screen Default: Reset Max Seg Size (IMS): 0 Restartable Application Extended Attribute Support 7. Select OK 8. Select Construction/Packaging. 9. Select the Business System - Distributed Project Management then Edit/Complete. 10. Select the One Module option and then OK . 11. Select Construction/Generation/Generation Defaults and enter the following settings for the defaults. Operating System: OS/2 DBMS: DBM Language: C TP Monitor: IEFAE Type of Installation: Local 132 DBMS Drive for Local Installation: D Run Consistency Check for each item generated Generate source code with trace 12. Select Generation/DDL, All and Install. 13. Select Generation/Code, All and Install. 133 E.15 Tutorial 11 - Testing Testing of the load modules can be done directly from the Installation Monitor (IM) or through the use of the Application Execution Facility (AEF). The testing of the load modules is done in the procedure action diagrams. The IM is only active following installation of the modules. Therefore, the AEF can be used when this is not active. E.15.1 Testing using the Installation Monitor 1. Press Control-Esc to access the window list and then select the Installation Monitor. 2. Select the load module to be tested and select Test. E.15.2 Testing using the AEF 1. Select User Pro le Management Services and Logon. 2. Enter USERID and PASSWORD for the user id and password. 3. Select Database Manager followed by DBM Command Line Interface. At the command line enter DBM start using database iefdb. 4. Access the OS/2 full screen and move to the directory where the executable les are located. 5. Enter SET AETEST=ON at the prompt. 6. Enter AEF at the prompt. 7. The top left corner of the AEF screen allows for the entry of a transcode. Enter mainmenu and press the Enter key on the number pad of the keyboard. The following instructions apply to testing with either the IM or the AEF. 1. At the rst screen tab to the entry elds and enter the appropriate information. Press the Enter key on the number pad of the keyboard. 2. The IEF testing facilities will then display the action diagram for the screen. Pressing F3 steps through the action diagram one line at a time. 3. The view information can be accessed by typing Display import or the appropriate view name at the Command line. 4. The view information can be changed by tabbing to the left column opposite the view you want to change. Enter an M in this column and enter the new information in the right column opposite the view. Press F3 to return to the action diagram. 5. F3 exits the testing facility. 6. If testing is being done using the AEF return to the DBM Command Line Interface and enter DBM stop using database. 134