appendix 2 automated tools for systems development © 2006 itt educational services inc. se350...
TRANSCRIPT
Appendix 2
Automated Tools for Systems Development
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 2
Learning Objectives
14.Explain the role of prototyping and CASE tools in capturing design specifications. Identify the tradeoffs when using CASE to
support systems development activities. Describe organizational forces for and against
the adoption of CASE tools. Describe the role of CASE tools and how they
are used to support activities within the SDLC. List and describe the typical components of a
comprehensive CASE environment.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 3
Learning Objectives
Describe the general functions of upper CASE tools, lower CASE tools, cross-life CASE tools, and the CASE repository.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 4
What is CASE?
• CASE stands for Computer-aided Software Engineering
• Features of CASE: It refers to software tools that provide automated
support for some portions of the system development process
It is used to support or automate activities throughout the systems development life cycle (SDLC)
It helps in increasing productivity It improves overall quality of systems
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 5
Purpose of CASE is to facilitate a single design philosophy within an organization.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 6
Organizational Objectives of CASE
• Improve quality of systems developed• Increase speed of development and design• Ease and improve testing process through automated checking• Improve integration of development activities via common
methodologies• Improve quality and completeness of documentation• Help standardize the development process• Improve project management• Simplify program maintenance• Promote reusability• Improve software portability
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 7
Impediments to Widespread CASE Deployment
• Cost Between $5,000 and $15,000 per year to provide CASE
tools to one systems analyst
• Return on Investment Biggest benefits of CASE come in late stages of SDLC
• Productivity Bottlenecks Inability of some tools to share information Difficulty in providing tools for all stages of SDLC
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 8
The Outlook for CASE
• Functionality is increasing• Cost is decreasing• Reverse Engineering Tools
Automated tools that read program source code as input and create graphical and textual representations of program design-level information
• Reengineering Tools Automated software that reads program source code,
analyzes it and automatically or interactively alters an existing system to improve quality and/or performance
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 10
Impact of CASE on Individuals
• Systems analysts: automate routine tasks• Programmers: piece together objects created by
code generators• Users: increased participation via upper CASE tools• Top managers: CASE-based planning assists with
strategy development• Functional managers: CASE helps reengineer
business processes• IS managers: CASE gives better control over IS
development processes
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 11
Forces For and Against CASE Adoption
• Driving forces: Short development time Improved productivity Improved system quality Improved worker skills Improved portability Improved management
• Resisting forces: High purchase cost High training cost Low organizational
confidence Lack of standards Perceived threat to job
security
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 12
Categories of CASE
• Upper CASE: support information planning, project identification and selection, project initiation and planning, analysis and design
• Lower CASE: support the implementation and maintenance phases of the systems development life cycle
• Cross life-cycle CASE: support activities that occur across multiple phases of the systems development life cycle
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 13
Types of CASE Tools
• Diagramming tools• Computer display and report generators• Analysis tools used to check for incomplete,
inconsistent or incorrect specifications• A central repository• Documentation generators• Code generators
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 15
CASE versus Traditional Systems Development
• Traditional approach does not offer support for integration of specification documents.
• Often, documentation is done after coding is completed in traditional systems development.
• Traditional approach often leads to out- of-date documentation.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 16
CASE versus Traditional Systems Development (cont.)
• Traditional Systems Development: Emphasis on coding and
testing Paper-based
specifications Manual coding of programs Manual documenting Intensive software testing Maintain code and
documentation
• CASE-Based Systems Development:
Emphasis on analysis and design
Rapid interactive prototyping Automated code generation Automated documentation
generation Automated design checking Maintain design specifications
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 17
CASE Diagramming Tools
• Enable representation of a system and components visually
• Effective for representing process flows, data structures and program structures
• Several types of diagrams, including: Data Flow Diagrams (DFD) Class Diagrams Entity-Relationship Diagrams
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 19
CASE Form and Report Generator Tools
• are the CASE tools that support the creation of system forms and reports in order to prototype how systems will look and feel to users
• Purposes: To create, modify, and test prototypes of computer
display forms and reports To identify data items to display or collect for each
form or report
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 21
CASE Analysis Tools
• Enable automatic checking for incomplete, inconsistent, or incorrect specifications in diagrams, forms and reports.
• Types of analyses vary depending on the organization’s development methodology and features of CASE environment.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 22
Integrated CASE (I-CASE) Tools
• Automated systems development environment that provides numerous tools to create diagrams, forms and reports
• Provides analysis, reporting and code generation facilities
• Seamlessly shares and integrates data across and between tools
• Includes a central CASE Repository to store information to share between tools
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 23
The CASE repository contains complete information needed to create, modify and evolve a software system from project initiation and planning to code generation and maintenance.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 24
Information Repository: Combines information about an organization’s business information and its application portfolio
Data Dictionary: Contains data definitions for all organizational applications
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 25
Use of CASE Repository
• CASE Repository and the SDLC Project initiation and planning
• problem domain, project resources, history and organizational context
Analysis and design phases• graphical diagrams and prototype forms and reports
• Repository data used to generate code and documentation
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 26
Use of CASE Repository
• Assistance with project management tasks• Aids in software reusability
The ability to design software modules in a manner so that they can be used again and again in different systems without significant modification
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 28
Other CASE Tools
• CASE Documentation Generator Tools Simplifies production of technical and user documentation Master templates to verify that documentation conforms to
all stages of SDLC
• CASE Code Generation Tools Automatic generation of program and database definition
code directly from the design documents, diagrams, forms and reports
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 29
Summary
• In this chapter you learned how to:
14.Explain the role of prototyping and CASE tools in capturing design specifications. Identify the tradeoffs when using CASE to support
systems development activities. Describe organizational forces for and against the
adoption of CASE tools. Describe the role of CASE tools and how they are
used to support activities within the SDLC. List and describe the typical components of a
comprehensive CASE environment.