software engineering environments integrated environments
play

Software Engineering Environments Integrated environments to support - PDF document

Chapter 27 Chapter 27 Software Engineering Environments Learning Objective ... define the basic support infrastructure provided for software engineering Frederick T Sheldon Assistant Professor of Computer Science Washington State University


  1. Chapter 27 Chapter 27 Software Engineering Environments Learning Objective ... define the basic support infrastructure provided for software engineering Frederick T Sheldon Assistant Professor of Computer Science Washington State University CS 422 Software Engineering Principles Chapter 27 Slide 1 From Software Engineering by I. Sommerville, 1996. Software Engineering Environments ⊗ Integrated environments to support large-scale software development CS 422 Software Engineering Principles Chapter 27 Slide 2 From Software Engineering by I. Sommerville, 1996. Objectives ⊗ To discuss the advantages and disadvantages of software engineering environments ⊗ To define the basic support infrastructure provided by software engineering environments ⊗ To describe an architectural model for software engineering environments and the services associated with the reference model ⊗ To introduce PCTE, a proposed framework standard for software engineering environments CS 422 Software Engineering Principles Chapter 27 Slide 3 From Software Engineering by I. Sommerville, 1996.

  2. Topics covered ⊗ Integrated environments ⊗ Platform services ⊗ Framework services ⊗ PCTE CS 422 Software Engineering Principles Chapter 27 Slide 4 From Software Engineering by I. Sommerville, 1996. The evolution of environments ⊗ The notion of a software engineering environment was proposed in 1980 in the proposals for an Ada Programming Support Environment (APSE) ⊗ Three level model • Kernel APSE extends OS facilities to provide basic infrastructure support • Minimal APSE provides programming workbench facilities for Ada • Full APSE provides a complete software engineering environments CS 422 Software Engineering Principles Chapter 27 Slide 5 From Software Engineering by I. Sommerville, 1996. The organization APSE of an APSE MAPSE debugger editor KAPSE linker/ loader JCL Level 0 shell config. mgr Interface specs CS 422 Software Engineering Principles Chapter 27 Slide 6 From Software Engineering by I. Sommerville, 1996.

  3. Environment use ⊗ APSE proposals were far-sighted but environments have not come into common use • Difficult to define and implement a standard environment kernel • Cheap PCs encouraged production of simple CASE workbenches • Data integration requirements are poorly understood • Impossible to develop UI standards because of rate of change of hardware technology • CASE benefits less than expected • Geopolitical changes in late 1980s meant that less defense funding was available CS 422 Software Engineering Principles Chapter 27 Slide 7 From Software Engineering by I. Sommerville, 1996. Integrated environments ⊗ A software engineering environment (SEE) is a set of hardware and software tools which can act in combination in an integrated way to provide support for the whole of the software process from initial specification through to testing and system delivery ⊗ Still a need for SEEs in large projects. These will probably be based around a standard framework CS 422 Software Engineering Principles Chapter 27 Slide 8 From Software Engineering by I. Sommerville, 1996. SEE characteristics ⊗ The environment facilities are integrated - should provide platform, data, presentation, control, and process integration ⊗ The environment is designed to support team-based activities. Configuration management is fundamental to this ⊗ Facilities are provided to support a wide range of software development activities CS 422 Software Engineering Principles Chapter 27 Slide 9 From Software Engineering by I. Sommerville, 1996.

  4. Service model of an SEE ⊗ A layered SEE architecture views the system as a number of layers where each layer provides some services to other layers ⊗ Platform layer provides basic file, process management and network services ⊗ Framework layer provides data management, message and user interface services CS 422 Software Engineering Principles Chapter 27 Slide 10 From Software Engineering by I. Sommerville, 1996. Layered model of an SEE Workbench applications Framework services Platform services CS 422 Software Engineering Principles Chapter 27 Slide 11 From Software Engineering by I. Sommerville, 1996. Environment perspectives ⊗ Application software developers see the environment as a set of CASE workbenches ⊗ SEE integrators see the environment as a set of common services and tools which must be integrated in a particular context ⊗ Tool developers see the environment as a set of common services called by tools ⊗ Framework developers see the environment as a set of services which must be implemented CS 422 Software Engineering Principles Chapter 27 Slide 12 From Software Engineering by I. Sommerville, 1996.

  5. Host and target platforms ⊗ The SEE runs on a host platform but the software is often developed for some different target computer • The software may be for a machine with no development facilities (e.g. a hand-held computer) • The target machine may be application-oriented (e.g. a parallel processor) and not well-suited to run CASE systems • The target machine may be used for some other application which must take priority CS 422 Software Engineering Principles Chapter 27 Slide 13 From Software Engineering by I. Sommerville, 1996. Host-target development Host system SEE running on a workstation network Network link Network link Target Target computer 1 computer 2 CS 422 Software Engineering Principles Chapter 27 Slide 14 From Software Engineering by I. Sommerville, 1996. Platform services ⊗ File services ⊗ Process management services ⊗ Network services ⊗ Communication services ⊗ Window management services ⊗ Print services ⊗ These services are usually provided by a distributed network of workstations CS 422 Software Engineering Principles Chapter 27 Slide 15 From Software Engineering by I. Sommerville, 1996.

  6. Framework services ⊗ Framework services extend the platform services and provides specialized SEE support ⊗ Can be discussed in terms of a reference model (the toaster model) which identifies 5 sets of services • Data repository services • Data integration services • Task management services • Message services • User interface services CS 422 Software Engineering Principles Chapter 27 Slide 16 From Software Engineering by I. Sommerville, 1996. An SEE reference model Data repository services Data integration services Tool slots Task management services Message services User interface services CS 422 Software Engineering Principles Chapter 27 Slide 17 From Software Engineering by I. Sommerville, 1996. The data repository ⊗ Repository provides an object management system (OMS) for naming and managing entities and establishing entity relationships ⊗ Repository granularity reflects the minimum size of entity which may be stored and manipulated • Coarse-grain repository usually manages entities such as files • Fine-grain repository can manage individual declarations and parts of programs or designs • Fine-grain systems typically require many more DB accesses than coarse-grain systems CS 422 Software Engineering Principles Chapter 27 Slide 18 From Software Engineering by I. Sommerville, 1996.

  7. OMS entities and relations Language Language CALL Pascal Pascal Procedure Function A B Creator Status J. Smith Optimised Language Language CALL Ada C Procedure Function C D Creator Library IS_EXTERNAL H. Jones Math-lib CS 422 Software Engineering Principles Chapter 27 Slide 19 From Software Engineering by I. Sommerville, 1996. Data repository services Service Description Data storage Provides support for creating, reading, updating and deleting entities where entities are named, have a set of attributes and may participate in relationships. Relationship Provides support for defining and managing relationships between environment entities. Name Provides support for entity naming. Entities also have a unique identifier which is assigned by the repository services. Location Provides support for the distribution of entities over a network of workstations so has associated operations such as move, copy, replicate, etc. Data transaction Provides support for atomic transactions which allow database recovery in the event of a failure. Concurrency Provides support for multiple simultaneous transactions. Process support Provides process operations such as start, stop, suspend, etc. Archive Provides support for the off-line storage and recovery of entities. Backup Provides support for recovery of data in the event of system failure. CS 422 Software Engineering Principles Chapter 27 Slide 20 From Software Engineering by I. Sommerville, 1996. Data integration ⊗ Extends basic repository services to provide specific services for software development ⊗ These services may be used as a basis for an integrated configuration management system ⊗ Meta-data services allow sub-environments to be created thus allowing different projects to work in their own environment CS 422 Software Engineering Principles Chapter 27 Slide 21 From Software Engineering by I. Sommerville, 1996.

Recommend


More recommend