chapter 7 case tools and joint and rapid application development

53
Chapter 7 CASE Tools and Joint and Rapid Application Development

Post on 18-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Chapter 7 CASE Tools and Joint and Rapid Application Development

Chapter 7

CASE Tools and Joint and Rapid Application

Development

Page 2: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 3: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 4: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 5: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 5

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.

Page 6: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 6

CASE Tools Computer-Aided Software

Engineering (CASE) Software development is

extremely labor intensive Tools that aid software engineer in

maintaining and developing software

Page 7: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 7

Figure 7-1. Recent Evolution of the Modern CASE Tool

Page 8: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 8

Product Cost $ Effort (man years)

Lines of Code

Lotus 1-2-3 V 3.0

22,000,000 263 400,000

NASA Space Shuttle

1,200,000,000 22,096 25,600

2000 Lincoln Continental

2,800,000 37 93,500

Modern Automatic Teller Machine

13,200,000 150 780,000

IBM Retail Checkout Scanner

3,000,000 58 90,000

Table 7-1. Development Costs for Several Modern Software Applications

Page 9: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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)

Page 10: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 10

Create development process standards Improve overall application quality Decrease design time and improve time to

market Decrease required effort and time in

application testing Encourage integration of development

projects Improve effectiveness of project

management activities Decrease required effort and time in

application maintenance activities Promote organization-wide reusable

program code Improve portability of applications across

platforms and operating environments

Table 7-2. Common Objectives for CASE Tool Adoption

Page 11: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 11

Figure 7-2. Oracle Designer Main Menu

Page 12: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 12

CASE Tools Good News

Productivity Time Quality Documentation Standards enforcement

Page 13: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 13

CASE Tools Bad News

Expensive ROI is longer than the organization

would prefer Lack of organizational policies and

standards

Page 14: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 14

Potential CASE tool costs Initial training and education Evaluation costs Maintenance of the model over time Upgrade costs of the tool Ongoing usage/maintenance fees Time lost waiting for the tool to do its job Time lost over-using the tool (e.g. making your diagrams

look pretty, extraneous information, and so on) Migration costs to port models to another tool Increased effort to synchronize models with other

artifacts, such as source code CASE tools often promote syntax over communication

between developers (in other words, your model looks good but doesn’t necessarily work)

Generated code often too simplistic, or cluttered with extraneous information required by the tool

Poor user interfaces often hamper the modeling effort Inadequate integration with other tools reduces

productivity and/or requires integration work Complex tools are often prevent the inclusion of non-

developers in your modeling efforts

Table 7-3. Potential CASE Tool Cost Categories

Page 15: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 15

Cost Category Total Cost Cost per Seat

Notes

Initial Investment: Technical Assessments

Organizational Assessments CASE Software

Workstations Skill Development and Training

Tool Consultants

$138,750 $22,500

$187,500 $562,500 $375,000 $50,000

$1,850

$300 $2,500 $7,500 $5,000

$667

Process, Standards, Infrastructure, Market, etc. Organization, People, Economic Estimated average price per package Estimated average price per workstation 2x the cost of CASE software per seat Estimated 50 days at $1,000/day

Total Initial Investment: $1,336,250 $17,817 Ongoing Operations

Software Engineering Support Group

Hardware Maintenance Software Upgrades and

Maintenance Ongoing Training

Conferences-User Group Meetings Miscellaneous

$150,000 $37,500 $28,125 $39,375 $12,000 $5,000

$2,000

$500 $375 $525 $160 $67

3 people at $50,000 (salary and benefits) Estimated $500 per year per workstation Estimated at 15% per year per workstation 3 days annual training per person at $175/day 2 people attending 4 meetings at $1,500 per meeting Books, subscriptions, publications

Total Ongoing Costs: $272,000 $3,627 Five Year Cost projection

Initial Investment 5x Ongoing Operations

$1,336,250 $1,360,000

$17,817 $18,133

Total Five Year CASE Tool

Costs: $2,696,250 $35,950

Table 7-4. Sample CASE Tool Adoption Budget

Page 16: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 16

The Good News The Bad News

Development process productivity and quality increases are realizable

Portability of new systems to other platforms is greatly enhanced

Analyst skill set will improve due to greater understanding of the process

Time to delivery of new applications will decrease

Conformity to development standards will increase

CASE acquisition costs are

extremely high Training of analysts and

administrators is costly and time-consuming

Most organizations do not have clear standards for application development

CASE tools can be viewed as a threat to job security

CASE tools do not have a great reputation due to early benefits not being realized

Table 7-5. The Good News and the Bad News About CASE Tool Adoption

Page 17: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 18: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 18

Figure 7-3. Component Relationships in Modern I-CASE Tools

Page 19: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 19

Figure 7-4. Typical Elements Stored in CASE Tool Central Repository

Page 20: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 20

Components and Functions Modeling and Diagramming Tools

Process Modeling Tools Function Hierarchy Diagramming

Tools Server Modeling Diagramming Tools

Page 21: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 21

Figure 7-5. Case Tool Process Modeler (Oracle Designer)

Page 22: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 22

Figure 7-6. CASE Tool Server Model Diagram (Oracle Designer)

Page 23: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 23

Figure 7-7. Typical Data Flow Diagramming Tool (TurboCASE)

Page 24: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 24

Figure 7-8. CASE Tool Entity-Relationship Modeler (Oracle Designer)

Page 25: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 25

Components and Functions Prototyping and Transformation

Tools Application Transformers Database Transformers Form and Report Generators

Page 26: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 27: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 28: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 28

Figure 7-9. Sample Screen From Classmapper Reverse Engineering Tool

Page 29: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 29

Figure 7-10. UNIX-based Application Before Reverse Engineering

Page 30: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 30

Figure 7-11. Windows Application After Reverse Engineering

Page 31: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 31

Figure 7-12. Sample Screen From Imagix Reengineering Tool

Page 32: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 32

Components and Functions The concept of Integration

Data Integration Control Integration Presentation Integration

Page 33: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 33

Figure 7-13. Stages of CASE Tool Integration

Page 34: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 34

The Future of CASE New and more powerful

development tools Artificial Intelligence (AI) Expert Systems Case-based reasoning

Page 35: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 36: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 36

JAD Session Usually held at a location other

than the typical workplace Avoid distracting environment Detailed agenda is a necessity

Page 37: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 37

Figure 7-14. Examples of Large-Scale JAD Environments

Page 38: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 38

JAD Team JAD Facilitator Management Sponsor Information Specialists Scribe End Users

Page 39: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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.

Page 40: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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.

Page 41: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 41

JAD Advantages Create a sense of involvement Allow for the simultaneous

gathering and consolidating of information

Resolve discrepancies at early stage

Page 42: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 43: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 44: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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

Page 45: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 45

Figure 7-15. Differences Between Traditional Lifecycle and RAD Approach

Page 46: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 46

Figure 7-16. Comparison of Phases Between SDLC and RAD

Page 47: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 47

RAD Activities Process Model Data Model Parallel Development

Page 48: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 48

Requirements Planning

User Design

Construction

Cutover

Primary Activity

Model and prototype requirements

Model and prototype design

Complete application development

Install application

Data Conversion

Define data requirements

Plan and design data conversion

Develop data conversion modules

Implement conversion plan

Testing

Design application test plan

Conduct user testing

End-user Training

Define training requirements

Design training plan

Produce training materials

Conduct end-user training

Table 7-8. Activities and Deliverables in RAD Phases

Page 49: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 49

Consider RAD when…

Avoid RAD when…

The software application will run standalone without other system interactions.

Application performance is not mission critical.

Application distribution will be narrow (in-house or controlled vertical market).

Project scope is significantly constrained.

Application reliability is not mission critical.

System can be subdivided into multiple independent modules.

The required technology is considered mature (more than one year).

Application must interact with existing system applications.

Optimal performance is mission critical.

Application development cannot take advantage of high-end IS tools (i.e., 4th generation programming languages).

Application distribution will be wide (horizontal or mass market).

Project involves building operating systems (reliability target too high for RAD), or computer games (performance target too high for RAD).

Technical feasibility is low due to use of "bleeding" edge technology.

The application is mission- or life-critical.

The system cannot be modularized (defeats parallel development approach).

Table 7-9. Situational Characteristics to Consider When Adopting RAD

Page 50: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 50

The Good News The Bad News Time savings in overall

project phases are realizable RAD reduces overall project

costs and human resource requirements

Works well with development efforts where time is of the essence

System design changes can be effected much more rapidly than with the traditional SDLC approach

The user perspective is represented in the final system with regard to both functionality and interface

Creates a strong sense of ownership among all project stakeholders

Focus on time to delivery and project cost may result in lower system functionality and overall quality

RAD leaves little time to focus on the overall business environment and the expected changes both near and far term

Less consistency and integration with other organizational systems

Documentation quality and conformity to existing development standards is often decreased

System scalability becomes more difficult

Requires an extremely high commitment of human resources during the early stages

Table 7-10. Comparison of the Advantages and Disadvantages Associated with the RAD Approach

Page 51: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 7 - END - 51

Figure 7-17. Comparison of Effort and Time Between SDLC and RAD

Page 52: Chapter 7 CASE Tools and Joint and Rapid Application Development

SAD/CHAPTER 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.

Page 53: Chapter 7 CASE Tools and Joint and Rapid Application Development

Chapter 7

End of Chapter