1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.

Slides:



Advertisements
Similar presentations
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Ch. 91 Software Engineering Tools and Environments.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Introduction to Programming Lecture 2. Today’s Lecture Software Categories Software Categories System Software System Software Application Software Application.
Chapter 2 Database System Concepts and Architecture
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
4.1 Blended approaches: Information Engineering IMS Information Systems Development Practices.
Software Engineering COMP 201
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Lesson-12 Information System Development-2
1 SWE Introduction to Software Engineering Lecture 5.
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.
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.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Computer Software.
Chapter 3 Software Processes.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter 6– Artifacts of the process
CSCI ClearQuest 1 Rational ClearQuest Michel Izygon - Jim Helm.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Software Configuration Management
UPC/SHMEM PAT High-level Design v.1.1 Hung-Hsun Su UPC Group, HCS lab 6/21/2005.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
©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.
Introduction to MDA (Model Driven Architecture) CYT.
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Configuration Management (CM)
1 3. Computing System Fundamentals 3.1 Language Translators.
Software Quality Assurance
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
CASE1 Computer-Aided Software Engineering Advanced Software Engineering COM360 University of Sunderland © 2000.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
1 Principles of Information Technology Introduction to Software and Information Systems Copyright © Texas Education Agency, All rights reserved.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
 Programming - the process of creating computer programs.
GUI For Computer Architecture May01-05 Team Members: Neil HansenCprE Ben JonesCprE Jon MathewsCprE Sergey SannikovCprE Clients/Advisors: Manimaran Govindarasu.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Dr. Mohamed Ramadan Saady 314ALL CH1.1 Chapter 1: Introduction to Compiling.
Chapter – 8 Software Tools.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
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
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Testing Tools & Standards
Introduction to Compiler Construction
Software Tools and Environments
Computer Aided Software Engineering (CASE)
Software Processes.
Tools of Software Development
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Presentation transcript:

1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments

2 CSE 2102 CSE 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?

3 CSE 2102 CSE 2102 Historical evolution  Dominant factors affecting evolution  Technological developments  Made certain tools necessary or possible  Better understanding of software engineering processes 3

4 CSE 2102 CSE 2102 Examples of technological developments  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) 4

5 CSE 2102 CSE 2102 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  Example for Java?  Open environments  Tools have public interfaces which allow them to communicate and cooperate with other tools which respect those interfaces 5

6 CSE 2102 CSE 2102 Dimensions for comparison  Interaction mode  Batch-oriented tools  Interactive tools  Interface format  Level of formality  Syntax/semantics of documents produced  Dependency on phase of life cycle  Degree of standardization 6

7 CSE 2102 CSE 2102 Dimensions of comparison (contd..)  Static vs. dynamic  Language dependency  Development tools vs. end-product components  Single-user vs. multi-user  Single-machine vs. network-aware 7

8 CSE 2102 CSE 2102 Types of tools  Editors:  Textual or graphical  Formal or informal  Monolingual, multiple languages  Linkers:  Combine object code fragments into a larger program  Interpreters:  Interpret the programming language constructs  Code generators:  Translate high-level specification into low-level code  Debuggers:  Inspect the intermediate state of variables during execution 8

9 CSE 2102 CSE 2102 Types of tools (contd..)  Software testing tools:  Aid bookkeeping of testing activities  Automatically generate test cases from specification  Assess the quality of testing  Static analysis tools:  Aid in code inspection and review  User interface management systems:  Build user interfaces from various abstractions.  Common abstractions include pull-down menu, screens, forms, etc. 9

10 CSE 2102 CSE 2102 Types of tools (contd..)  Configuration management:  Manage collaboration among geographically distributed members  Release management – which versions of files make up a release  Repository – store code, test cases, documentation, etc.  Tracking tools:  Track the progress of a process  Defect tracking tools 10

11 CSE 2102 CSE 2102 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 11

12 CSE 2102 CSE 2102 Forces influencing tool evolution  To support new technology  To support new software processes  To support a particular method or methodology 12