McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 7 CASE Tools and Joint and Rapid Application Development
7-2 Learning Objectives Understand the history and evolution of CASE tools Understand the motivations to adopt CASE in the modern organization Understand the various levels of CASE tool integration
7-3 Learning Objectives Appreciate the advantages and disadvantages associated with CASE tool adoption and use Learn the components, relationships, and functions contained in a modern CASE tool Understand the processes associated with JAD
7-4 Learning Objectives Learn the various participant roles associated with a JAD session Understand the relationship between the RAD approach and the traditional SDLC
7-5IntroductionIntroduction In an effort to improve the overall efficiency and effectiveness of the development activities, IS professionals have developed several tools and techniques to automate certain activities. This chapter focuses on two such developments: (1) CASE tools and (2) RAD techniques.
7-6 CASE Tools Computer-Aided Software Engineering Software development is extremely labor intensive Tools that aid software engineer in maintaining and developing software
7-7 Figure 7-1. Recent Evolution of the Modern CASE Tool
7-8 Table 7-1. Development Costs for Several Modern Software Applications
7-9 CASE Tools Support each phase of the SDLC Upper CASE –support the early phases of the life cycle Lower CASE –support the implementation phases of the life cycle Life-cycle-spanning CASE –support the entire SDLC (Integrated CASE)
7-10 Table 7-2. Common Objectives for CASE Tool Adoption
7-11 Figure 7-2. Oracle Designer Main Menu
7-12 CASE Tools Good News –Productivity –Time –Quality –Documentation –Standards enforcement
7-13 CASE Tools Bad News –Expensive –ROI is longer than the organization would prefer –Lack of organizational policies and standards
7-14 Table 7-3. Potential CASE Tool Cost Categories
7-15 Table 7-4. Sample CASE Tool Adoption Budget
7-16 Table 7-5. The Good News and the Bad News About CASE Tool Adoption
7-17 Components and Functions Central Repository –Central storage and retrieval location for all related information –Allows portions of prior systems to be reused in new applications
7-18 Figure 7-3. Component Relationships in Modern I-CASE Tools
7-19 Figure 7-4. Typical Elements Stored in CASE Tool Central Repository
7-20 Components and Functions Modeling and Diagramming Tools –Process Modeling Tools –Function Hierarchy Diagramming Tools –Server Modeling Diagramming Tools
7-21 Figure 7-5. Case Tool Process Modeler (Oracle Designer)
7-22 Figure 7-6. CASE Tool Server Model Diagram (Oracle Designer)
7-23 Figure 7-7. Typical Data Flow Diagramming Tool (TurboCASE)
7-24 Figure 7-8. CASE Tool Entity-Relationship Modeler (Oracle Designer)
7-25 Components and Functions Prototyping and Transformation Tools –Application Transformers –Database Transformers –Form and Report Generators
7-26 Components and Functions Documentation Generators –Generate phase-specific documentation –Create a set of master templates to be used for each phase of the life cycle
7-27 Components and Functions Code Generators –Produce high-level source code from various components in the central repository –Reverse engineering: generate design specification and models from existing program –Reengineering functions: provide tools to analyze the logic of the program
7-28 Figure 7-9. Sample Screen From Classmapper Reverse Engineering Tool
7-29 Figure UNIX-based Application Before Reverse Engineering
7-30 Figure Windows Application After Reverse Engineering
7-31 Figure Sample Screen From Imagix Reengineering Tool
7-32 Components and Functions The concept of Integration –Data Integration –Control Integration –Presentation Integration
7-33 Figure Stages of CASE Tool Integration
7-34 The Future of CASE New and more powerful development tools Artificial Intelligence (AI) Expert Systems Case-based reasoning
7-35 Joint Application Design Bring together the users, managers, and technical personnel to conduct a series of structured intensive information-gathering workshops Enhance the development of a shared understanding among the system stakeholders
7-36 JAD Session Usually held at a location other than the typical workplace Avoid distracting environment Detailed agenda is a necessity
7-37 Figure Examples of Large-Scale JAD Environments
7-38 JAD Team JAD Facilitator Management Sponsor Information Specialists Scribe End Users
7-39 JAD Session Tasks and Objectives Identify all stakeholders and clarify executive goal. Scope out general requirements from each of the users' perspectives. Reconcile and then summarize each user's view of the product with the executive goal. Define interaction of the product with users, other products or systems, and the organization. Concur on business justification, time box, and cost box for project.
7-40 JAD Session Tasks and Objectives Define ways in which users will interact with or use the new product. –Collect samples of desired inputs and outputs from users. –Stick to business processes first, then drill down for data needed and known. Prioritize user interaction scenarios by collective user preference and risk. Validate and review the user interaction scenarios. Organize the interactions scenarios, constraints, assumptions, and other requirements into a rigorous Software Requirements Specification.
7-41 JAD Advantages Create a sense of involvement Allow for the simultaneous gathering and consolidating of information Resolve discrepancies at early stage
7-42 JAD Disadvantages Extreme commitment of a large number of employees Might still exclude some important personnel Lack of diplomacy and communication skills among employees
7-43 Rapid Application Development A series of techniques to compress the analysis, design, build, and test phases into a series of short, iterative development cycles
7-44 Application Development with RAD Approach Use of small, well-trained development teams Construction and review of iterative, evolutionary prototypes Reliance on integrated development tools that support modeling, prototyping, and component re- usability (CASE) Construction and maintenance of a central repository Heavy reliance on interactive requirements and design workshops (JAD) Adherence to rigid limits on development time frames
7-45 Figure Differences Between Traditional Lifecycle and RAD Approach
7-46 Figure Comparison of Phases Between SDLC and RAD
7-47 RAD Activities Process Model Data Model Parallel Development
7-48 Table 7-8. Activities and Deliverables in RAD Phases
7-49 Table 7-9. Situational Characteristics to Consider When Adopting RAD
7-50 Table Comparison of the Advantages and Disadvantages Associated with the RAD Approach
7-51 Figure Comparison of Effort and Time Between SDLC and RAD
7-52 Chapter Summary Regardless of the various approaches (CASE, JAD, RAD), the fundamental tenets of structured problem solving as followed by SDLC still apply and must be adhered to. Despite the automation available to us, the analyst is still at the center of the process.
McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 7 End of Chapter