software system engineering chp4

Upload: fadhil-ismail

Post on 04-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Software System Engineering Chp4

    1/15

    CHAPTER 4

    ROLE AND UTILIZATION OF

    CASE TOOLS

    SOFTWARE SYSTEM ENGINEERING

    (260CT)

  • 8/13/2019 Software System Engineering Chp4

    2/15

    Motivation Definition

    Characteristics

    Types of CASE

    Benefits

  • 8/13/2019 Software System Engineering Chp4

    3/15

    Definition Any computer-based tool for developing

    software.

    Tools that diagram and documentsoftware design.

    A tool which aids a software engineer to

    maintain and develop software.

  • 8/13/2019 Software System Engineering Chp4

    4/15

    THE OBJECTIVES OF CASE

    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 application across platform andoperating environment

  • 8/13/2019 Software System Engineering Chp4

    5/15

    Characteristics

    Graphics Interface for creating Diagrams

    Central Repository For storing and managing Allmetadata

    Highly Integrated Toolset Sharing a common userinterface

    Modules to assist every phase of the lifecycle

    Prototyping Facilities

    Automatic code generation from analysis/design

    Definitions Support Development Lift Cycle

    Extensive Error Checking

  • 8/13/2019 Software System Engineering Chp4

    6/15

    Types of CASE

    Upper Case:

    Front End Tools

    Planning

    Design

    Analysis

    Lower Case:

    Back End Tools

    Prototyping Code Generation

    Schema Generation

    4GLs

  • 8/13/2019 Software System Engineering Chp4

    7/15

    COMPONENT OF CASE TOOL

    Process Modeling Tools

    Detailed Analysis Tools

    Transformation Tools

    Database/Application Design Tools

    Application Generation Tools

    C

    e

    n

    t

    r

    al

    R

    e

    p

    o

    s

    it

    o

    r

    y

  • 8/13/2019 Software System Engineering Chp4

    8/15

    Categories of CASE

    Diagramming Tools

    Dictionaries

    Specification Validation Code and Schema Generation

    Documentation Generation

    Reverse Engineering

  • 8/13/2019 Software System Engineering Chp4

    9/15

    Benefits

    Makes structured methods practical to perform

    Enforces engineering disciplines (Software Information)

    Improves Software Quality through

    Facilitating User Involvement Automated Checking

    Facilitates Prototyping

    Simplifies Program Maintenance

    Accelerates the development process

    Permits specific focus by developer and user

    Encourages Evolutionary and Incremental Development

    Enables Component Engineering (Re-use)

  • 8/13/2019 Software System Engineering Chp4

    10/15

    Traditional vs CASE

    Emphasis on coding andtesting

    Paper prototyping

    Paper Specification

    Manual Coding Manual Documentation

    Software Testing

    Code Maintenance

    Emphasis on Analysis andDesign

    Rapid/IterativePrototyping

    Stored/AutomatedSpecification

    Automate CodeGeneration

    Automated Error Checking

    Automate Test CaseGeneration

    Maintain DesignSpecification

  • 8/13/2019 Software System Engineering Chp4

    11/15

    POTENTIAL CASE TOOL COST

    CATEGORIES

    Initial training and education cost

    Evaluation cost

    Costs of maintaining 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 overusing the tool

    Migration costs to transport models to anothertools

  • 8/13/2019 Software System Engineering Chp4

    12/15

    POTENTIAL CASE TOOL COST

    CATEGORIES

    Increased effort to synchronize models withother artifacts such as source code

    Often, promotion of syntax over

    communication between developers

    Generated code that is often to simplistic or iscluttered with extraneous information requiredby the tool

    Poor user interface that often hamper themodeling effort

  • 8/13/2019 Software System Engineering Chp4

    13/15

    POTENTIAL CASE TOOL COST

    CATEGORIES

    Inadequate integration with other tools,

    reducing productivity and/or requiring

    integration work

    Often, exclusion of nondevelopers from

    modeling efforts due to complexity of the tool

  • 8/13/2019 Software System Engineering Chp4

    14/15

    THE GOOD NEWS

    Development process productivity and qualityincreases are reliazable

    Portability of new systems to other platform is

    greatly enhanced Analyst skill set will improve due to greater

    understanding of the process

    Time to delivery of new applications willdecrease

    Conformity to development standards willincrease

  • 8/13/2019 Software System Engineering Chp4

    15/15

    THE BAD NEWS

    Case acquisation costs are extremly high

    Training of analyst and administrators is costlyand time consuming

    Most organizations do not have clearstandards for application development

    CASE tools can be viewed as a threat to jobsecurity

    CASE tools do not have a great reputationsince early benefits are not realized