CASE workbenches. . Software tools to support specific process phases. Objectives. Chapter 26. Chapter 26 CASE Workbenches



Similar documents
Application Architectures

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Configuration management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 1

To introduce software process models To describe three generic process models and when they may be used

Project management. Organizing, planning and scheduling software projects. Objectives. Chapter 3. Chapter 3 Project Management. Learning Objective

How To Understand Software Engineering

28 Application Architectures

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Embedded Software Development with MPS

Development Best Practices

Making Business Rules operational. Knut Hinkelmann

Software Processes. Topics covered

Use software to define silicon p. 15

Division of Mathematical Sciences

CHAPTER 7 Software Configuration Management

Configuration Management. Software Configuration Management. Example of System Families. Configuration Management

DataDirect XQuery Technical Overview

SysML Modelling Language explained

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Cloud Storage Standards Overview and Research Ideas Brainstorm

Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Architecture Design & Sequence Diagram. Week 7

FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES

POCA Read Me File. Table of Contents

ARIS Design Platform Getting Started with BPM

Code Estimation Tools Directions for a Services Engagement

Object-Oriented Software Engineering THE TOOLS OF THE TRADE CHAPTER 5. Stephen R. Schach 5.1 Stepwise Refinement.

SDT: A Programming Language for Debugging (Working Paper)

Enabling Better Business Intelligence and Information Architecture With SAP Sybase PowerDesigner Software

Enabling Better Business Intelligence and Information Architecture With SAP PowerDesigner Software

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

SQL Server Integration Services. Design Patterns. Andy Leonard. Matt Masson Tim Mitchell. Jessica M. Moss. Michelle Ufford

Configuring Firewalls An XML-based Approach to Modelling and Implementing Firewall Configurations

ECS 165A: Introduction to Database Systems

Course Description Bachelor in Management Information Systems

SOLUTION BRIEF CA ERwin Modeling. How can I understand, manage and govern complex data assets and improve business agility?

Software testing. Objectives

The Mjølner BETA system

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville

Functional Data Flow Diagrams. Outline

Software Engineering Question Bank

Symphony Plus S+ Engineering: Composer Harmony

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP

3SL. Requirements Definition and Management Using Cradle

Chapter 12. Development Tools for Microcontroller Applications

Source Code Translation

Software Engineering. Objectives. Designing, building and maintaining large software systems

Chapter 2 Database System Concepts and Architecture

<Insert Picture Here> Oracle SQL Developer 3.0: Overview and New Features

<Insert Picture Here> Introducing Data Modeling and Design with Oracle SQL Developer Data Modeler

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

1. Process Modeling. Process Modeling (Cont.) Content. Chapter 7 Structuring System Process Requirements

CDC UNIFIED PROCESS JOB AID

DATA ITEM DESCRIPTION

11. Oracle Recovery Manager Overview and Configuration.

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

OpenControl. Utilization

Relational Database Basics Review

WHAT IS SCADA? A. Daneels, CERN, Geneva, Switzerland W.Salter, CERN, Geneva, Switzerland. Abstract 2 ARCHITECTURE. 2.1 Hardware Architecture

Chapter 3. Software Processes

A Visual Language Based System for the Efficient Management of the Software Development Process.

Setting up SQL Translation Framework OBE for Database 12cR1

6-1. Process Modeling

CURRICULUM VITAE EDUCATION:

CA IDMS. Database Design Guide. Release , 2nd Edition

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

HL7 V2 Implementation Guide Authoring Tool Proposal

SAP HANA SPS 09 - What s New? Development Tools

COCOVILA Compiler-Compiler for Visual Languages

Surveying and evaluating tools for managing processes for software intensive systems

SAP's Integrated Development Environment for Java. Karl Kessler, SAP AG

Modern PL/SQL Code Checking and Dependency Analysis

Service-oriented architecture in e-commerce applications

Example Software Development Process.

Simple Network Management Protocol (SNMP)

Why Data Flow Diagrams?

The value of modeling

Running a Financial Statement Generator (FSG) in EAS

HP Application Lifecycle Management (ALM)

Analog Monitoring Tool AMT 0.3b User Manual

DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES

Component visualization methods for large legacy software in C/C++

Project management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 5 Slide 1

Using XACML Policies as OAuth Scope

Transcription:

Chapter 26 Chapter 26 CASE Workbenches Learning Objective. Software tools to support specific process phases Frederick T Sheldon Assistant Professor of Computer Science Washington State University From Software Engineering by I. Sommerville, 1996. Slide 1 CASE workbenches Software tools to support specific process phases From Software Engineering by I. Sommerville, 1996. Slide 2 Objectives To describe different types of CASE workbench To discuss the notion of open and closed CASE workbenches To describe the structure and components of design, programming and testing workbenches To introduce meta-case tools for CASE workbench creation From Software Engineering by I. Sommerville, 1996. Slide 3

Topics covered Programming workbenches Analysis and design workbenches Testing workbenches Meta-CASE workbenches From Software Engineering by I. Sommerville, 1996. Slide 4 CASE workbenches A set of tools which supports a particular phase in the software process Tools work together to provide comprehensive support Common services are provided which are used by all tools and some data integration is supported From Software Engineering by I. Sommerville, 1996. Slide 5 Types of workbench Programming, design and testing workbenches covered here Other types of workbench are Cross-development workbenches for host-target development Configuration management workbenches (discussed in Chapter 32) Documentation workbenches for producing professional system documentation Project management workbenches. Some management tools are discussed in Chapters 3 and 29 From Software Engineering by I. Sommerville, 1996. Slide 6

Open workbenches Control integration mechanisms are provided and the data integration protocols are public. New tools can therefore be added by users Advantages The workbench can be tailored to specific organizational needs The file outputs may be managed by a configuration management system Incremental workbench introduction and evolution is possible Organizations can source tools from different vendors. Diversity of supply is possible From Software Engineering by I. Sommerville, 1996. Slide 7 Closed workbenches Many commercial workbenches are closed systems. The control and data integration protocols are proprietary. These are more common than open workbenches Allows for tighter tool integration including presentation integration However, it is impossible to integrate third-party tools and the user is tied to a single supplier From Software Engineering by I. Sommerville, 1996. Slide 8 Programming workbenches A set of tools to support program development First CASE workbenches. Include compilers, linkers, loaders, etc. Programming workbenches are often integrated around an abstract program representation (the abstract syntax tree) which allows for tight integration of tools Integration around shared source-code files is also possible From Software Engineering by I. Sommerville, 1996. Slide 9

A programming workbench Source program Structured editor calls edits Language compiler Syntax tree Crossreferencer calls Program libraries Symbol table Prettyprinter Formatted source listing Linker Compiled code Static analyser Program report Executable program Interactive debugger user calls Loader Executing program Execution report Dynamic analyser From Software Engineering by I. Sommerville, 1996. Slide 10 Language-directed workbenches Integrated around an abstract program representation The system editor has language knowledge and can edit the abstract representation rather than the source code text A range of program analysis tools may be supported Allow multiple views of the program to be generated From Software Engineering by I. Sommerville, 1996. Slide 11 Multiple program views Graphical program view Text view Procedure heading view Abstract syntax tree From Software Engineering by I. Sommerville, 1996. Slide 12

4GL workbenches Provide facilities for developing 4GL programs Integrated around a database management system Components usually include Database query language Form design system Spreadsheet Report generator Very effective in developing business systems From Software Engineering by I. Sommerville, 1996. Slide 13 A 4GL workbench DB query language Form designer Spreadsheet Report generator Database Management System From Software Engineering by I. Sommerville, 1996. Slide 14 Design and analysis workbenches Support the generation of system models during design and analysis activities Usually intended to support a specific structured method Provide graphical editors plus a shared repository May include code generators to create source code from design information From Software Engineering by I. Sommerville, 1996. Slide 15

An analysis and design workbench Data dictionary Structured diagramming tools Report generation facilities Code generator Central information repository Query language facilities Forms creation tools Design, analysis and checking tools Import/export facilities From Software Engineering by I. Sommerville, 1996. Slide 16 Workbench advantages Generally available on relatively cheap personal computers Results in standardized documentation for software systems Estimated that productivity improvements of 40% are possible with fewer defects in the completed systems From Software Engineering by I. Sommerville, 1996. Slide 17 Workbench drawbacks These systems are usually closed environments with tight integration between the tools Import/export facilities are limited. ASCII and Postscript diagrams Difficult or impossible to adapt method to specific organizational needs Configuration management may either be excluded or specific to that workbench. Difficult to integrate with other systems in the organization From Software Engineering by I. Sommerville, 1996. Slide 18

Testing workbenches Testing is an expensive process phase. Testing workbenches provide a range of tools to reduce the time required and total testing costs Most testing workbenches are open systems because testing needs are organization-specific Difficult to integrate with closed design and analysis workbenches From Software Engineering by I. Sommerville, 1996. Slide 19 A testing workbench Test data generator Specification Source code Test manager Test data Oracle Dynamic analyser Program being tested Test results Test predictions Execution report Simulator File comparator Report generator Test results report From Software Engineering by I. Sommerville, 1996. Slide 20 Testing workbench adaptations Scripts may be developed for user interface simulators and patterns for test data generators Test outputs may have to be prepared manually for comparison Special-purpose file comparators may be developed From Software Engineering by I. Sommerville, 1996. Slide 21

Meta-CASE Design and analysis workbenches are conceptually similar. Often the differences are only in the diagram types supported and the method rules and guidelines Programming workbenches are integrated around a syntax representation which may be separately defined Meta-CASE workbenches are tools which assist the process of creating workbenches. They reduce the costs of CASE workbench creation From Software Engineering by I. Sommerville, 1996. Slide 22 Programming workbench generators First tools of this type were generated in the early 1980s (Mentor, Synthesizer Generator, Gandalf) The syntax and semantics of the programming language is defined and used to tailor generic language processing tools From Software Engineering by I. Sommerville, 1996. Slide 23 Environment generation Language syntax definition Environment generator Language tables Semantic information Languageoriented environment Generic environment From Software Engineering by I. Sommerville, 1996. Slide 24

Design workbench generation Design and analysis workbenches can be created by using a method-definition language to define the method rules and guidelines Components of a meta-case workbench include General-purpose repository Tools to create structure editors or textual notations and programming languages A generic diagram editing system Code generators for various languages Forms and report generators From Software Engineering by I. Sommerville, 1996. Slide 25 A multi-notation design editor ER description ER tables DFD description Method compiler DFD tables Design editor FSM description FSM tables From Software Engineering by I. Sommerville, 1996. Slide 26 Key points CASE workbenches are integrated toolsets to support a phase of the software process Workbenches may be open or closed systems Programming workbenches, analysis and design workbenches and testing workbenches are widely used Analysis and design workbenches may include graphical editors, report generators and a data dictionary From Software Engineering by I. Sommerville, 1996. Slide 27

Key points Testing workbenches may include test managers, dynamic analyzers, test data generators, file comparators and different types of emulator Meta-CASE workbenches are CASE systems which are used to generate other CASE systems. They may be based on descriptions of the notations and rules of design methods From Software Engineering by I. Sommerville, 1996. Slide 28