CASETools.ppt

Embed Size (px)

Citation preview

  • 8/18/2019 CASETools.ppt

    1/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 1

    Tools of Software Development

    2 types of tools used by software

    engineers:1.  Analytical tools

     – Stepwise refinement

     – Costbenefit analysis

     – Software metrics

    2. CAS! tools

  • 8/18/2019 CASETools.ppt

    2/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 2

    CAS! "ComputerAided Software

    !ngineering# Tools

    Software t$at is used to support software

    process activities

    %rovides software process support by& automating some process activities

    & providing information about t$e software

    being developed Currently used in every p$ase'wor(flow of

    life cycle

  • 8/18/2019 CASETools.ppt

    3/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 3

    CAS! Tools

    )enefits& *mprove software +uality

    & !nforce discipline

    & ,elp communication between developmentteam members

    & *nformation is illustrated t$roug$ diagrams t$at

    are typically easier to understand

    & Development information is centrali-ed

  • 8/18/2019 CASETools.ppt

    4/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 4

    CAS! Tools

    )enefits& eduction of time and effort

    & Tas(s are muc$ faster to complete and alter 

    & !n$ance reuse of models or models/

    components

    & Can reduce maintenance costs

  • 8/18/2019 CASETools.ppt

    5/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 5

    CAS! Tools

    %roblems& 0imitations in fleibility of documentation

    & a3or danger: completeness and syntactic

    correctness does 45T mean compliancewit$ re+uirements

    & Costs associated wit$ t$e use of t$e tool

    & %urc$ase price

    & Training

  • 8/18/2019 CASETools.ppt

    6/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 6

    6 Categories of CAS! Tools

    Tools

    7or(benc$es

    !nvironments

  • 8/18/2019 CASETools.ppt

    7/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 7

    6 Categories of CAS! Tools

    Tools

    & Support individual process tas(s

    & !amples:& C$ec(ing t$e consistency of a design

    & Compiling a program

    & Comparing test results

  • 8/18/2019 CASETools.ppt

    8/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 8

    CAS! Tools

    8pperCAS! tools "frontend tools#&  Assist developer during re+uirements9

    analysis9 and design wor(flows or activities

    0owerCAS! tools "bac(end tools#&  Assist wit$ implementation9 testing9 and

    maintenance wor(flows or activities

    *ntegrated CAS! tools "*CAS!#

    & provide support for t$e full life cycle

  • 8/18/2019 CASETools.ppt

    9/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 9

    6 Categories of CAS! Tools

    7or(benc$es& Collection of tools t$at toget$er support:

    & %rocess wor(flows "re+uirements9 design9 etc.#

    & 5ne or two activities w$ere an activity is a relatedcollection of tas(s.

    & Commercial eamples:

    & %ower)uilder & Software T$roug$ %ictures

    & Software Arc$itect

  • 8/18/2019 CASETools.ppt

    10/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 10

    6 Categories of CAS! Tools

    !nvironments

    & Support t$e complete software process or9 at

    least9 a large portion of t$e software process

    & 4ormally include several different

    wor(benc$es w$ic$ are integrated in some

    way

  • 8/18/2019 CASETools.ppt

    11/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 11

    Taonomy of CAS! Tools

  • 8/18/2019 CASETools.ppt

    12/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 12

    Components of CAS!

    CAS!

    repositoryDocument

    enerator 

    Designenerator 

     Analysistool

    Code

    enerator 

    Drawing

    Tool

    !rrorc$ec(ing

    tool

    Security and

    ;ersion Control

    Screen and

    eport enerator 

    %rototyping

    Tool

    Database

    enerator 

  • 8/18/2019 CASETools.ppt

    13/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 13

    Components of CAS!

    CAS! repository

    & Central component of any CAS! tool

    &  Also (nown as t$e information repository or

    data dictionary

  • 8/18/2019 CASETools.ppt

    14/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 14

    Components of CAS!

    CAS! repository& Centrali-ed database

    &  Allows easy s$aring of information between

    tools and SD0C activities& 8sed to store grap$ical diagrams andprototype forms and reports during analysisand design wor(flows

    & %rovides wealt$ of information to pro3ectmanager and allows control over pro3ect

    &

  • 8/18/2019 CASETools.ppt

    15/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 15

    Components of CAS! CAS! repository acts as:

    & *nformation repository& Combines information about organi-ation/s

    business information and application portfolio

    & %rovides automated tools to manage and controlaccess

    & Data dictionary& 8sed to manage and control access to information

    repository

    &

  • 8/18/2019 CASETools.ppt

    16/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 16

    Components of CAS!

    Diagramming tools

    &  Allow you to represent a system and its

    components visually

    &  Allows $ig$er level processes to be

    easily decomposed

    & Can eamine processes or data models

    at $ig$ or low level

  • 8/18/2019 CASETools.ppt

    17/29©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 17

    Components of CAS!

    Screen and report generators

    & 8sed to

    & Create9 modify and test prototypes of

    computer displays and reports

    & *dentify w$ic$ data items to display or collect

    for eac$ screen or report

    & Some tools $ave templates

  • 8/18/2019 CASETools.ppt

    18/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 18

    Components of CAS!

     Analysis tools& enerate reports t$at $elp identify possible

    inconsistencies9 redundancies and

    omissions& enerally focus on

    & diagram completeness and consistency

    & data structures and usage

  • 8/18/2019 CASETools.ppt

    19/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 19

    Components of CAS!

    CAS! documentation generator tools& Create standard reports based on contents of

    repository

    & 4eed tetual descriptions of needs9 solutions9 trade

    offs9 diagrams of data and processes9 prototypeforms and reports9 program specifications and user

    documentation

    & ,ig$+uality documentation leads to =>? reduction

    in system maintenance effort in comparison toaverage +uality documentation

  • 8/18/2019 CASETools.ppt

    20/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 20

    CAS! wor(benc$es

     A co$erent set of tools t$at is designed tosupport related software process activitiessuc$ as analysis9 design or testing.

     Analysis and design wor(benc$es supportsystem modelling during bot$ re+uirementsengineering and system design.

    T$ese wor(benc$es may support a specific

    design met$od or may provide support for acreating several different types of systemmodel.

  • 8/18/2019 CASETools.ppt

    21/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 21

     An analysis and design wor(benc$

    Central

    information

    repository

    Code

    generator

    Query

    language

    facilities

    Structured

    diagramming

    tools

    Data

    dictionary

    Report

    generation

    facilities

    Design, analysis

    and checking

    tools

    Forms

    creation

    tools

    Import/export

    facilities

  • 8/18/2019 CASETools.ppt

    22/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 22

     Analysis wor(benc$ components

    Diagram editors

    odel analysis and c$ec(ing tools

    epository and associated +uery language

    Data dictionary

    eport definition and generation tools

  • 8/18/2019 CASETools.ppt

    23/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 23

    Computeraided software

    engineering

    Computeraided software engineering "CAS!# is

    software to support software development and

    evolution processes.

     Activity automation& rap$ical editors for system model development@

    & Data dictionary to manage design entities@

    & rap$ical 8* builder for user interface construction@

    & Debuggers to support program fault finding@&  Automated translators to generate new versions of a

    program.

  • 8/18/2019 CASETools.ppt

    24/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 24

    Case tec$nology

    Case tec$nology $as led to significant

    improvements in t$e software process.

    ,owever9 t$ese are not t$e order of magnitude

    improvements t$at were once predicted& Software engineering re+uires creative t$oug$t

    t$is is not readily automated@

    & Software engineering is a team activity and9 for

    large pro3ects9 muc$ time is spent in teaminteractions. CAS! tec$nology does not really

    support t$ese.

  • 8/18/2019 CASETools.ppt

    25/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 25

    CAS! classification

    Classification $elps us understand t$e different types

    of CAS! tools and t$eir support for process activities.

  • 8/18/2019 CASETools.ppt

    26/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 26

  • 8/18/2019 CASETools.ppt

    27/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 27

     Activitybased tool classification

    Specifcation Design Implementation erifcation

    and

    alidation

    Re!engineering tools

     "esting tools

    De#ugging tools

    $rogram analysis tools

    %anguage!processing

    tools

    &ethod support tools

    $rototyping tools

    Confguration

    management tools

    Change management tools

    Documentation tools

    'diting tools

    $lanning tools

  • 8/18/2019 CASETools.ppt

    28/29

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8  Slide 28

    CAS! integration

    Tools& Support individual process tas(s suc$ as design

    consistency c$ec(ing9 tet editing9 etc.

    7or(benc$es& Support a process p$ase suc$ as specification ordesign9 4ormally include a number of integratedtools.

    !nvironments

    & Support all or a substantial part of an entiresoftware process. 4ormally include severalintegrated wor(benc$es.

  • 8/18/2019 CASETools.ppt

    29/29

    Tools9 wor(benc$es9 environments

    Single!method

    (ork#enches

    )eneral!purpose

    (ork#enches

    &ulti!method

    (ork#enches

    %anguage!specic

    (ork#enches

    $rogramming "esting*nalysis anddesign

    Integrated

    en+ironments

    $rocess!centred

    en+ironments

    File

    comparatorsCompilers'ditors

    'n+ironmentsork#enches "ools

    C*S'

    technology