©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Advertisements

CASE tools Upper CASE tools: support for the analysis and design Lower CASE tools: support for construction and maintenance 1980s… Nowadays… Integrated.
Chap 2. Software Processes
What is software? Computer programs and associated documentation
1 Chapter 2 Software Processes An overview of conventional software process models, Rational Unified Process, and CASE tools.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Software Engineering COMP 201
Software Process Models
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 3Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
ISMT221 Information Systems Analysis and Design Project Management Tools Lab 1 Tony Tam.
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
L ECTURE 2 S OFTWARE P ROCESSES 1. O BJECTIVES To describe outline process models for requirements engineering, software development, testing and evolution.
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Chapter 3 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Everyone has heard the old saying about the shoemaker's children: The shoemaker is so busy making shoes for others that his children don't have shoes of.
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 CASE Computer-aided software engineering Excerpted from Ian Sommerville’s.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Lecture 3 Software Engineering Models (Cont.)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Packets.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
NURHALIMA 1. Identify the trade-offs when using CASE Describe organizational forces for and against adoption of CASE tools Describe the role of CASE tools.
CASE Tools and their Effect on Software Quality
CASE (Computer-Aided Software Engineering) Tools
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Software engineering Software Processes.
Appendix 2 Automated Tools for Systems Development
Modern Systems Analysis and Design Third Edition
Computer Aided Software Engineering (CASE)
Modern Systems Analysis and Design Third Edition
Business System Development
Software Processes.
Tools of Software Development
Chapter 4 Automated Tools for Systems Development
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Modern Systems Analysis and Design Third Edition
Presentation transcript:

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers: 1.Analytical tools –Stepwise refinement –Cost-benefit analysis –Software metrics 2.CASE tools

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 2 CASE (Computer-Aided Software Engineering) Tools l Software that is used to support software process activities l Provides software process support by automating some process activities providing information about the software being developed l Currently used in every phase/workflow of life cycle

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 3 CASE Tools l Benefits Improve software quality Enforce discipline Help communication between development team members Information is illustrated through diagrams that are typically easier to understand Development information is centralized

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 4 CASE Tools l Benefits Reduction of time and effort Tasks are much faster to complete and alter Enhance reuse of models or models’ components Can reduce maintenance costs

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 5 CASE Tools l Problems Limitations in flexibility of documentation Major danger: completeness and syntactic correctness does NOT mean compliance with requirements Costs associated with the use of the tool Purchase price Training

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 6 3 Categories of CASE Tools l Tools l Workbenches l Environments

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 7 3 Categories of CASE Tools l Tools Support individual process tasks Examples: Checking the consistency of a design Compiling a program Comparing test results

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 8 CASE Tools l Upper-CASE tools (front-end tools) Assist developer during requirements, analysis, and design workflows or activities l Lower-CASE tools (back-end tools) Assist with implementation, testing, and maintenance workflows or activities l Integrated CASE tools (I-CASE) provide support for the full life cycle REVIEW THE UNIFIED PROCESS to SEE WHERE EACH OF THESE TOOLS ARE USED

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 9 3 Categories of CASE Tools l Workbenches Collection of tools that together support: Process workflows (requirements, design, etc.) One or two activities where an activity is a related collection of tasks Commercial examples: PowerBuilder Software Through Pictures Software Architect

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 10 3 Categories of CASE Tools l Environments Support the complete software process or, at least, a large portion of the software process Normally include several different workbenches which are integrated in some way

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 11 Taxonomy of CASE Tools

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 12 Components of CASE CASE repository Document Generator Design Generator Analysis tool Code Generator Drawing Tool Error-checking tool Security and Version Control Screen and Report Generator Prototyping Tool Database Generator

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 13 Components of CASE l CASE repository Central component of any CASE tool Also known as the information repository or data dictionary

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 14 Components of CASE l CASE repository Centralized database Allows easy sharing of information between tools and SDLC activities Used to store graphical diagrams and prototype forms and reports during analysis and design workflows Provides wealth of information to project manager and allows control over project Facilitates reusability

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 15 Components of CASE l CASE repository acts as: Information repository Combines information about organization’s business information and application portfolio Provides automated tools to manage and control access Data dictionary Used to manage and control access to information repository Facilities for recording, storing and processing resources Useful for cross-referencing

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 16 Components of CASE l Diagramming tools Allow you to represent a system and its components visually Allows higher level processes to be easily decomposed Can examine processes or data models at high or low level

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 17 Components of CASE l Screen and report generators Used to Create, modify and test prototypes of computer displays and reports Identify which data items to display or collect for each screen or report Some tools have templates

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 18 Components of CASE l Analysis tools Generate reports that help identify possible inconsistencies, redundancies and omissions Generally focus on diagram completeness and consistency data structures and usage

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 19 Components of CASE l CASE documentation generator tools Create standard reports based on contents of repository Need textual descriptions of needs, solutions, trade- offs, diagrams of data and processes, prototype forms and reports, program specifications and user documentation High-quality documentation leads to 80% reduction in system maintenance effort in comparison to average quality documentation

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 20 CASE workbenches l A coherent set of tools that is designed to support related software process activities such as analysis, design or testing. l Analysis and design workbenches support system modelling during both requirements engineering and system design. l These workbenches may support a specific design method or may provide support for a creating several different types of system model.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 21 An analysis and design workbench

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 22 Analysis workbench components l Diagram editors l Model analysis and checking tools l Repository and associated query language l Data dictionary l Report definition and generation tools l Forms definition tools l Import/export translators l Code generation tools

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 23 Computer-aided software engineering l Computer-aided software engineering (CASE) is software to support software development and evolution processes. l Activity automation Graphical editors for system model development; Data dictionary to manage design entities; Graphical UI builder for user interface construction; Debuggers to support program fault finding; Automated translators to generate new versions of a program.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 24 Case technology l Case technology has led to significant improvements in the software process. However, these are not the order of magnitude improvements that were once predicted Software engineering requires creative thought - this is not readily automated; Software engineering is a team activity and, for large projects, much time is spent in team interactions. CASE technology does not really support these.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 25 CASE classification l Classification helps us understand the different types of CASE tools and their support for process activities. l Functional perspective Tools are classified according to their specific function. l Process perspective Tools are classified according to process activities that are supported. l Integration perspective Tools are classified according to their organisation into integrated units.

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

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 27 Activity-based tool classification

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 28 CASE integration l Tools Support individual process tasks such as design consistency checking, text editing, etc. l Workbenches Support a process phase such as specification or design, Normally include a number of integrated tools. l Environments Support all or a substantial part of an entire software process. Normally include several integrated workbenches.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 29 Tools, workbenches, environments