chapter 7 case tools and joint and rapid application development
Post on 18-Dec-2015
223 views
TRANSCRIPT
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
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
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
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.
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
SAD/CHAPTER 7 7
Figure 7-1. Recent Evolution of the Modern CASE Tool
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
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)
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
SAD/CHAPTER 7 11
Figure 7-2. Oracle Designer Main Menu
SAD/CHAPTER 7 12
CASE Tools Good News
Productivity Time Quality Documentation Standards enforcement
SAD/CHAPTER 7 13
CASE Tools Bad News
Expensive ROI is longer than the organization
would prefer Lack of organizational policies and
standards
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
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
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
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
SAD/CHAPTER 7 18
Figure 7-3. Component Relationships in Modern I-CASE Tools
SAD/CHAPTER 7 19
Figure 7-4. Typical Elements Stored in CASE Tool Central Repository
SAD/CHAPTER 7 20
Components and Functions Modeling and Diagramming Tools
Process Modeling Tools Function Hierarchy Diagramming
Tools Server Modeling Diagramming Tools
SAD/CHAPTER 7 21
Figure 7-5. Case Tool Process Modeler (Oracle Designer)
SAD/CHAPTER 7 22
Figure 7-6. CASE Tool Server Model Diagram (Oracle Designer)
SAD/CHAPTER 7 23
Figure 7-7. Typical Data Flow Diagramming Tool (TurboCASE)
SAD/CHAPTER 7 24
Figure 7-8. CASE Tool Entity-Relationship Modeler (Oracle Designer)
SAD/CHAPTER 7 25
Components and Functions Prototyping and Transformation
Tools Application Transformers Database Transformers Form and Report Generators
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
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
SAD/CHAPTER 7 28
Figure 7-9. Sample Screen From Classmapper Reverse Engineering Tool
SAD/CHAPTER 7 29
Figure 7-10. UNIX-based Application Before Reverse Engineering
SAD/CHAPTER 7 30
Figure 7-11. Windows Application After Reverse Engineering
SAD/CHAPTER 7 31
Figure 7-12. Sample Screen From Imagix Reengineering Tool
SAD/CHAPTER 7 32
Components and Functions The concept of Integration
Data Integration Control Integration Presentation Integration
SAD/CHAPTER 7 33
Figure 7-13. Stages of CASE Tool Integration
SAD/CHAPTER 7 34
The Future of CASE New and more powerful
development tools Artificial Intelligence (AI) Expert Systems Case-based reasoning
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
SAD/CHAPTER 7 36
JAD Session Usually held at a location other
than the typical workplace Avoid distracting environment Detailed agenda is a necessity
SAD/CHAPTER 7 37
Figure 7-14. Examples of Large-Scale JAD Environments
SAD/CHAPTER 7 38
JAD Team JAD Facilitator Management Sponsor Information Specialists Scribe End Users
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.
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.
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
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
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
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
SAD/CHAPTER 7 45
Figure 7-15. Differences Between Traditional Lifecycle and RAD Approach
SAD/CHAPTER 7 46
Figure 7-16. Comparison of Phases Between SDLC and RAD
SAD/CHAPTER 7 47
RAD Activities Process Model Data Model Parallel 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
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
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
SAD/CHAPTER 7 - END - 51
Figure 7-17. Comparison of Effort and Time Between SDLC and RAD
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.
Chapter 7
End of Chapter