CASE Tools and Joint and Rapid Application Development Chapter 7 CASE Tools and Joint and Rapid Application Development
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
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
Learning Objectives Learn the various participant roles associated with a JAD session Understand the relationship between the RAD approach and the traditional SDLC
Introduction 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.
CASE Tools Computer-Aided Software Engineering Software development is extremely labor intensive Tools that aid software engineer in maintaining and developing software
Figure 7-1. Recent Evolution of the Modern CASE Tool
Table 7-1. Development Costs for Several Modern Software Applications
CASE Tools Support each phase of the SDLC Upper CASE Lower 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)
Table 7-2. Common Objectives for CASE Tool Adoption
Figure 7-2. Oracle Designer Main Menu
CASE Tools Good News Productivity Time Quality Documentation Standards enforcement
CASE Tools Bad News Expensive ROI is longer than the organization would prefer Lack of organizational policies and standards
Table 7-3. Potential CASE Tool Cost Categories
Table 7-4. Sample CASE Tool Adoption Budget
Table 7-5. The Good News and the Bad News About CASE Tool Adoption
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
Figure 7-3. Component Relationships in Modern I-CASE Tools
Figure 7-4. Typical Elements Stored in CASE Tool Central Repository
Components and Functions Modeling and Diagramming Tools Process Modeling Tools Function Hierarchy Diagramming Tools Server Modeling Diagramming Tools
Figure 7-5. Case Tool Process Modeler (Oracle Designer)
Figure 7-6. CASE Tool Server Model Diagram (Oracle Designer)
Figure 7-7. Typical Data Flow Diagramming Tool (TurboCASE)
Figure 7-8. CASE Tool Entity-Relationship Modeler (Oracle Designer)
Components and Functions Prototyping and Transformation Tools Application Transformers Database Transformers Form and Report Generators
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
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
Figure 7-9. Sample Screen From Classmapper Reverse Engineering Tool
Figure 7-10. UNIX-based Application Before Reverse Engineering
Figure 7-11. Windows Application After Reverse Engineering
Figure 7-12. Sample Screen From Imagix Reengineering Tool
Components and Functions The concept of Integration Data Integration Control Integration Presentation Integration
Figure 7-13. Stages of CASE Tool Integration
The Future of CASE New and more powerful development tools Artificial Intelligence (AI) Expert Systems Case-based reasoning
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
JAD Session Usually held at a location other than the typical workplace Avoid distracting environment Detailed agenda is a necessity
Figure 7-14. Examples of Large-Scale JAD Environments
JAD Team JAD Facilitator Management Sponsor Information Specialists Scribe End Users
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.
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.
JAD Advantages Create a sense of involvement Allow for the simultaneous gathering and consolidating of information Resolve discrepancies at early stage
JAD Disadvantages Extreme commitment of a large number of employees Might still exclude some important personnel Lack of diplomacy and communication skills among employees
Rapid Application Development A series of techniques to compress the analysis, design, build, and test phases into a series of short, iterative development cycles
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
Figure 7-15. Differences Between Traditional Lifecycle and RAD Approach
Figure 7-16. Comparison of Phases Between SDLC and RAD
RAD Activities Process Model Data Model Parallel Development
Table 7-8. Activities and Deliverables in RAD Phases
Table 7-9. Situational Characteristics to Consider When Adopting RAD
Table 7-10. Comparison of the Advantages and Disadvantages Associated with the RAD Approach
Figure 7-17. Comparison of Effort and Time Between SDLC and RAD
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.
Chapter 7 End of Chapter