Ch. 91 Software Engineering Tools and Environments.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Traditional Approach to Design
Chapter 10 The Traditional Approach to Design
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Lecture 1 Introduction to the ABAP Workbench
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Application architectures
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
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.
Ch9: Software Engineering Tools and Environments.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
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.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
HERY H AZWIR Computer Software. Computer Software Outline Software and Programming Languages  Software  Programming  Programming language development.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
CHAPTER FOUR COMPUTER SOFTWARE.
Configuration Management (CM)
CHAPTER TEN AUTHORING.
1 Programming Tools Slides by: Noppadon Kamolvilassatian Source: Code Complete by Steve McConnell, Chapter 20.
Software Engineering. Software Engineering is… Design Coding Testing Debugging Documentation Maintenance …of new software.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
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.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
 Programming - the process of creating computer programs.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
CS223: Software Engineering
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.
Chapter – 8 Software Tools.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
CASE Tools and their Effect on Software Quality
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Systems Analysis and Design in a Changing World, Fourth Edition
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix 2 Automated Tools for Systems Development
Testing Tools & Standards
Introduction to Compiler Construction
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Software Tools and Environments
Computer Aided Software Engineering (CASE)
Modern Systems Analysis and Design Third Edition
Business System Development
Tools of Software Development
Chapter 4 Automated Tools for Systems Development
CS 425/625 Software Engineering Architectural Design
©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:

Ch. 91 Software Engineering Tools and Environments

Ch. 92 Outline How did the field evolve? How can tools and environments be classified and compared? What are the main categories? How can tools be integrated? What motivates new tools/environments?

Ch. 93 Historical evolution Dominant factors affecting evolution –technological developments made certain tools necessary or possible –better understanding of software engineering processes

Ch. 94 Technological developments —examples— Advances in graphical displays and user interfaces –graphical editors –graphical user interfaces (GUIs) –visual languages Advances in distributed systems –tools supporting distributed configuration management and teams (groupware)

Ch. 95 Evolution Individual tools developed to support single activities (e.g.,compilation, debugging)  Integrated environments, i.e., tools that work together –e.g., environment supporting one programming language  Open environments –tools have public interfaces which allow them to communicate and cooperate with other tools which respect those interfaces

Ch. 96 Dimensions for comparison (1) Interaction mode –batch-oriented tools –interactive tools Level of formality –syntax/semantics of documents produced Dependency on phase of life cycle Degree of standardization

Ch. 97 Static vs. dynamic Development tools vs. end-product components Single-user vs. multi-user Single-machine vs. network-aware Dimensions for comparison (2)

Ch. 98 Representative tools: Editors Textual or graphical Can follow a formal syntax, or can be used for informal text or free-form pictures Monolingual (e.g., Java editor) or multilingual

Ch. 99 Representative tools: Linkers Combine object-code fragments into a larger program –can be monolingual or polylingual In a broader sense, tools for linking specification modules, able to perform checking and binding across various specification modules

Ch. 910 Representative tools: Interpreters Traditionally at the programming language level Also at the requirements specification level –requirements animation Can be numeric or symbolic

Ch. 911 Representative tools: Code generators In a general sense, transform a high level description into a lower-level description –a specification into an implementation Practical example –4th Generation Languages

Ch. 912 Representative tools: Debuggers May be viewed as special kinds of interpreters where –execution state inspectable –execution mode definable –animation to support program understanding

Ch. 913 Representative tools: Software testing (1) Test documentation tools –support bookkeeping of test cases forms for test case definition, storage, retrieval

Ch. 914 Representative tools: Software testing (2) Tools for test data derivation –e.g., synthesizing data from path condition Tools for test evaluation –e.g., various coverage metrics Tools for testing other software qualities

Ch. 915 Representative tools: Static analyzers Data and flow control analyzers –can point out possible flaws or suspicious- looking statements e.g., detecting uninitialized variables

Ch. 916 Representative tools: GUI tools Graphical User Interfaces are now standard Common abstractions include –windows and the desktop metaphor

Ch. 917 User-Interface Management Systems Provide a set of basic abstractions (windows, menus, scroll bars, etc.) that may be used to customize a variety of interfaces Provide a library of run-time routines to be linked to the developed application in order to support input and output –UIMS fall both under the category of development tools and under the category of end-product components

Ch. 918 Run-time dialog component Dialog development tools Progr. language run-time support End user Developer Progr. env.mt UIMS as development tool and end-product component

Ch. 919 SCREEN First nameLast name Birth date day month year Person First nameLast nameBirth date DayMonth Year Run-time dialog component INTERNAL DATA STRUCTURE Run-time structure of a UIMS

Ch. 920 Representative tools: Configuration Management Repository shared database of artifacts Version management versions stored, change history maintained Work-space control check-out into private work-space check-in into shared work-space Product modeling and building facilities to (re)build products

Ch. 921 CVS sequence of revisions a branch and a later join

Ch. 922 make 1.sys : mod1.o mod2.o 2.ld mod1.o mod2.o -o sys 3.mod1.o : mod1.c incl.h 4.cc -c mod1.c 5.mod2.o : mod2.c incl.h 6.cc -c mod2.c aids in building and rebuilding a product helps keep a system in a consistent state after modifications

Ch. 923 Representative tools: Tracking tools Used during entire process to maintain information about the process and track that information The most important of these are defect- tracking tools –used to store information about reported defects in the software product and track that information

Ch. 924 Representative tools: Reverse and reengineering Program understanding systems –synthesize suitable abstractions from code e.g., control and data flow graphs or use graphs –extract cross-references and other kinds of documentation material on the product Reverse engineering tools also support the process of making the code and other artifacts consistent with each other

Ch. 925 Representative tools: Process support Maintain "to do" lists, reminding next activities in the process Automate sequences of recurring actions Full process support via PSEEs (Process- centered Software Engineering Environments) –driven by a process-modeling language

Ch. 926 Representative tools: Management Tools for Gantt and PERT charts –graphical interface –support to analysis Cost estimation tools –based on models, such as COCOMO

Ch. 927 Tool integration Data integration approach –store all process artifacts in a repository –common data representation for artifacts that different tools can use to communicate with each other Control integration approach –different tools can communicate with each other through control messages

Ch. 928 Forces influencing tool evolution To support new technology To support new software processes To support a particular method or methodology