chapter 4 automated tools for systems development modern systems analysis and design third edition...
TRANSCRIPT
Chapter 4Automated Tools for
Systems Development
Modern Systems Analysis
and DesignThird Edition
4.14.1
Introduction
Lack of consistency in technique and methodology made development of systems difficult – error-ridden, over budget, late
Goal – To develop common techniques, standard methodologies, automated tools
Computer-Aided Software Engineering (CASE)Automated software tools used by systems analysts to
develop information systemsUsed to support or automate activities throughout the
systems development life cycle (SDLC)Increase productivity Improve overall quality of systems
4.24.2
The Use of CASE in Organizations
Purpose of CASE is to facilitate a single design philosophy within an organization with many projects, systems, people.
CASE tools runs on variety of mini and mainframe systems.
Objectives of CASE Improve quality of systems developed Increase speed of development and designEase and improve testing process through automated checking Improve quality and completeness of documentationHelp standardize the development process Improve project managementSimplify program maintenancePromote reusability of modules and documentation
4.34.3
CASE and System Quality
Majority of organizations adopt CASE to improve speed and quality of systems development projects
Several factors that inhibit widespread deploymentCost
Between $5,000 and $15,000 per year to provide CASE tools to one systems analyst
Return on InvestmentBiggest benefits of CASE come in late stages of SDLC –
testing, implementation and maintenanceLong duration for early stages – planning, analysis, design –
leads to frustration by managers and usersProductivity Bottlenecks
Inability of some tools to share informationDifficulty in providing tools for all stages of SDLC
4.44.4
The Outlook for CASE
Functionality is increasing
Cost is decreasingExpose CASE technology earlier in education and career
4.54.5
Components of CASE
Upper CASE CASE tools designed to support the information planning
and the project identification and selection, project initiation and planning, analysis and design phases of the systems development life cycle
Lower CASE CASE tools designed to support the implementation and
maintenance phases of the systems development life cycle Cross life-cycle CASE
CASE tools designed to support activities that occur across multiple phases of the systems development life cycle
Most CASE tools utilize a repository to store all diagrams, forms,
models and report definitions4.64.6
Components of CASE
Types of CASE toolsDiagramming toolsComputer display and report generatorsAnalysis tools used to check for incomplete, inconsistent
or incorrect specificationsA central repositoryDocumentation generatorsCode generators
CASE tools also providesSecurity FeaturesVersion Control Import/ExportBackup and Recovery
4.74.7
CASE versus Traditional Systems Development
Traditional Systems DevelopmentEmphasis on coding
and testingPaper-based
specificationsManual coding of
programsManual documentingIntensive software
testingMaintain code and
documentation
CASE-Based Systems DevelopmentEmphasis on analysis
and designAutomated code
generationAutomated
documentation generation
Automated design checking
Maintain design specifications
4.84.8
CASE Diagramming ToolsEnable representation of a system and
components visuallyEffective for representing process
flows, data structures and program structures
Several types of diagramsData Flow Diagrams (DFD)Functional Hierarchy DiagramsEntity-Relationship Diagrams
4.94.9
Data Flow Diagrams (DFD)
Entity-Relationship Diagrams
CASE Form and Report Generator Tools
CASE tools that support the creation of system forms and reports in order to prototype how systems will look and feel to users
Two PurposesCreate, modify and test prototypes of computer display
forms and reports Identify which data items to display or collect for each form
or report
4.124.12
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
CASE Repository
Integrated CASE (I-CASE)Integration of various CASE tools and their dataI-CASE tools use common terminology, notations and
methods for system development across all toolsAll I-CASE tools have a common user interfaceAutomated 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
Repository is centralized database containing all diagrams, forms and report definitions, data structure, data definitions, process flow and logic
Holds complete information needed to create, modify and evolve a software system from project initiation and planning to code generation and maintenance
4.134.13
CASE Repository
Two Primary SegmentsInformation RepositoryData Dictionary
Information RepositoryCombines information about an organization’s
business information and its application portfolioProvides automated tools to manage and control
access to repositoryBusiness Information
Data stored in corporate databasesApplication Portfolio
Application programs used to manage business4.144.14
CASE Repository
Data DictionaryComputer software tool used to manage and control
access to the information repositoryContains all data definitions for all organizational
applicationsCross referencing
Enables one description of a data item to be stored and accessed by all individuals
Single definition for a data item is established and used
Entries have a standard definitionElement name and aliasTextual description of the elementList of related elementsElement type and formatRange of acceptable valuesOther information unique to the proper processing of
this element4.154.15
CASE Repository
CASE Repository and the SDLCDuring project initiation and planning phase, all information
related to the problem being solved is stored in the repositoryProblem domain, project resources, history and
organizational contextDuring analysis and design phases, store graphical diagrams
and prototype forms and reportsData stored in repository are used for basis to generate code
and documentation
Additional AdvantagesAssistance with project management tasksAids 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
4.164.16
CASE Documentation Generator Tools
Enable the easy production of both technical and user documentation
Allow creation of master templates used to verify that documentation conforms to all stages of SDLC
4.174.17
CASE Code Generation Tools
Enable the automatic generation of program and database definition code directly from the design documents, diagrams, forms and reports stored in the repository
Visual and Emerging Development Tools
Object-Oriented Development ToolsObject
A chunk of program and data that is built to perform common functions within a system
Easily reusedEncapsulation
Process of grouping data and instructions togetherDevelopment environment includes pre-defined
objects and facilitates reuse of code
4.184.18
Visual and Emerging Development Tools
Visual Development ToolsEnable developers to quickly create user interfacesPopular tools include:
Microsoft Visual StudioDelphiPowerbuilderColdFusion
4.194.19