100% found this document useful (1 vote)
125 views16 pages

System Analysis & Design: Tools

CASE tools offer benefits for developing large, complex systems by abstracting system architecture and design from source code. The larger the project, the more important CASE tools are. CASE tools coupled with methodologies can represent systems too complex to understand from code alone. Object modeling CASE tools will likely continue to support multiple methodologies. CASE tools automate and support phases of the system development life cycle to improve quality and efficiency.

Uploaded by

Akanksha Dixit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
125 views16 pages

System Analysis & Design: Tools

CASE tools offer benefits for developing large, complex systems by abstracting system architecture and design from source code. The larger the project, the more important CASE tools are. CASE tools coupled with methodologies can represent systems too complex to understand from code alone. Object modeling CASE tools will likely continue to support multiple methodologies. CASE tools automate and support phases of the system development life cycle to improve quality and efficiency.

Uploaded by

Akanksha Dixit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

System Analysis & Design: Tools

 "CASE tools offer many benefits for developers


building large-scale systems. As spiraling user
requirements continue to drive system complexity to
new levels, the CASE tools enable us to abstract away
from the entanglement of source code, to a level where
architecture and design become more apparent and
easier to understand and modify.
 The larger a project, the more important it is to use
CASE technology.
 CASE tools coupled with methodologies give us a way
of representing systems too complex to comprehend in
their underlying source code or schema-based form.

1
 Object modeling CASE tools will probably
have to continue to support multiple
methodologies into the foreseeable future.

 Even when the UML achieves its expected


market penetration, other methodologies will
probably continue to have strong followers,
who will keep various notations and
methodologies in active use.

2
CASE Tools

 Computer-Aided Systems Engineering


 To support each phase of the system development life cycle
with a set of laborsaving tools.
 CASE tools are programs (software) that automate or
support one or more phases of a systems development life
cycle.
 Intended to accelerate the process of developing systems and to
improve the quality of the resulting systems..
 CASE is not a methodology or an alternative to methodologies.
 CASE is an enabling technology that supports a methodology’s
preferred strategies, techniques, and deliverables.

3
Why CASE?

1. Increasing costs of software development due to the


extreme intensive labor required.
2. System development is often conducted in an ad hoc
fashion.
3. Avoid simple human errors in software development.
4. CASE offers an important opportunity to alleviate the
problems of application development and maintenance
that can have catastrophic consequences.

4
CASE Tool Classification

 Upper-CASE describes tools that automate or support the


‘upper’ or earliest phases of systems development
 Lower-CASE describes tools that automate or support the
‘lower’ or later phases of systems development
 I-CASE (integrative case) support the entire SDLC

5
CASE Objectives

 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

6
The Good and Bad News about CASE

 Development process  CASE acquisition costs are


productivity and quality extremely high
increases are realizable  Training of analysts and
 Portability of new systems to administrators is costly and
other platforms is greatly time-consuming
enhanced  Most organizations do not have
 Analyst skill set will improve clear standards for application
due to greater understanding of development
the process  CASE tools can be viewed as a
 Time to delivery of new threat to job security
applications will decrease  CASE tools do not have a great
 Conformity to development reputation due to early benefits
standards will increase not being realized

7
CASE Tool Repository

 Heart of CASE
tool is the central
repository
 Stores all the Central Repository
information to
analyze, create,
Project Detailed Analysis
design and Documentation Findings Logical
Model Diagrams
modify an Data

application from Element


Specifications
Reusable
Form
and

feasibility to Code
Libraries General
Project
Report
Layouts

implementation Program
Source
Information

and
and maintenance Object
Code

8
CASE Tool Components
INPUTS: CASE Tool
models, Facilities
descriptions (on a workstation)
OUTPUTS: and
reports, prototypes
problems,
and
analyses

Graphics Description Prototyping


links links
Tools Tools Tools
Repository
Server

House-
imported Quality
keeping
and Management
Tools
exported Tools
knowledge
check-out/
check in Data
Local Decision
knowledge Sharing
Repository Support
Tools
(on a LAN Tools
Server)
Security and
Inquiry and
Version
Reporting
Control
Tools
Tools

CENTRAL
REPOSITORY Design Code Document
Generators Generators Tools

9
Modeling and Diagramming Tools

 Support logical model development (data and process)


 Process Modeler
 can be used to develop a diagram which illustrates the activities
within an organization system and the sequence in which they take
place.
 Function Hierarchy Diagrammer
 facilitates the modeling of the hierarchies of all the functions that
are performed by a business and can assist in identifying which
parts of the business are currently, or can be automated.
 Data Flow Diagramming Tools
 Entity Relationship Diagramming Tools
 Not just drawing packages!

10
Prototyping and Transformation Tools

 Enable the rapid conversion of analysis requirements into


default database and application designs.
 Application transformers
 The application transformers create a first-cut application design
based on an existing database design and on the functions and
business rules placed in the repository during detailed analysis.
 Database Transformers
 The database transformer creates and maintains database designs
based on entity models recorded in the central repository.
 Reverse-engineering
 Form and Report Generators
 Automate the activities necessary for the analyst to design how
the various users will interact with the system.

11
Documentation and Code Generators

 The documentation generators generate phase-specific


documentation from the data in the central repository.
 Code generators produce high-level code from the various
diagrams, models, forms, reports, and data definitions
contained with the central repository.
 Reverse Engineering and Reengineering
 Reverse engineering function allows for the generation of

design specifications and models from existing program code


and data structures.
 Reengineering functions are advanced reverse engineering

modules that provide a certain level of automation to the


redesign process and make recommendations as to the “logic”
of a program.

12
RAD: Rapid Application Development

 RAD promises the ability to develop and deploy a system


more quickly while maintaining quality and reducing
development costs.
 a series of iterative work sessions intended to create a prototype.
 Primary RAD application development techniques
 Use of iterative prototypes, CASE, and JAD sessions
 Adopt timeboxed approach to development
 imposing an immovable deadline on the completion of a task,

activity, stage, or system by strictly controlling functionality


 Major differences between the traditional SDLC and RAD
 The imposition of timeboxes in RAD
 The upfront, and often labor intensive, activities of the SDLC are
condensed through parallel actions, the use of JAD, and intensive
iterative prototyping. 13
RAD vs. SDLC

Preliminary Requirement
Investigation Planning RAD
Life Cycle

Analysis

Logical User Design


Design

Physical
Design
Construction
Implementation

Traditional Maintenance Cutover


SDLC

14
RAD Activities and Deliverables

  Requirements User    
Planning Design Construction Cutover

  Model and Model and Complete Install


Primary Activity prototype prototype application application
  requirements design development

  Define data Plan and design Develop data Implement


Data requirements data conversion conversion conversion plan
Conversion modules
 
    Design Conduct user  
Testing application test testing
  plan

  Define training Design training Produce training Conduct end-


End-user requirements plan materials user training
Training
 
15
RAD Pros and Cons

 Time savings in overall project  Focus on time to delivery and project


phases are realizable. cost may result in lower system
functionality and overall quality.
 RAD reduces overall project costs
and human resource requirements.
 RAD leaves little time to focus on
the overall business environment and
 Works well with development efforts the expected changes both near and
where time is of the essence. far term.
 System design changes can be  Less consistency and integration
affected much more rapidly than with with other organizational systems.
the traditional SDLC approach.  Documentation quality and
 The user perspective is represented in conformity to existing development
the final system with regard to both standards is often decreased.
functionality and interface.  System scalability becomes more
 Creates a strong sense of ownership difficult.
among all project stakeholders.  Requires an extremely high
commitment of human resources
during the early stages.

16

You might also like