INSE - Lecture 14 Tools and Techniques  Philosophy: including the inter- dependence of “tools” and “techniques”  A lifecycle-based review of some tools.

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

Software Engineering Key construction decisions Design challenges.
INSE - Lecture 15  SE Project Management  This lecture is a brief overview –  mainly things to remember to do!
INSE - Lecture 16  Documentation  Configuration Management  Program Support Environments  Choice of Programming Language.
© 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.
Summaries of brainstorm tutorials lesterk.myweb.port.ac.uk/inse/storms.
INSE - Lecture 11 Testing u Verification testing vs pursuit testing u Philosophy of testing u Stages of testing u Methods of testing u Design of test data.
Software Construction
Looking ahead Your final-year project. In final year you do a project...  For these courses, it ’ s assumed you will build an “ artefact ”, and report.
Enabling Efficient On-the-fly Microarchitecture Simulation Thierry Lafage September 2000.
Implementation and Integration1 Concepts and practices.
Software Engineering COMP 201
1/18 CS 693/793 Lecture 09 Special Topics in Domain Specific Languages CS 693/793-1C Spring 2004 Mo, We, Fr 10:10 – 11:00 CH 430.
© 2005 by Prentice Hall Chapter 4 System Testing & Implementation Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
PVK-HT061 Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance Maintenance.
Tina design review Main design decisions. Top level modules. Responsibilities. Phases A & B. Test plan. Time table.
School of Computing and Mathematics, University of Huddersfield Knowledge Engineering: Issues for the Planning Community Lee McCluskey Department of Computing.
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.
UEE072HM. Embedded and Real-Time Systems We will mainly look at embedded systems –Systems which have the computer system embedded within their application.
Ch9: Software Engineering Tools and Environments.
Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K.
COP4020 Programming Languages
CMSC 202 Computer Science II for Majors Fall 2009 Introduction.
 Knowledge and use of tools and resources in a system: standard libraries, system calls, debuggers, the shell environment, system programs and scripting.
Introduction to High-Level Language Programming
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
ISO Tor Stålhane IDI / NTNU. What is ISO ISO 9001 was developed for the production industry but has a rather general structure ISO describes.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Computing and SE II Chapter 18: Tools and Environments Er-Yu Ding Software Institute, NJU.
Software Testing.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
หลักการโปรแกรม เพื่อแก้ปัญหาโดยใช้คอมพิวเตอร์
1 Testing Course notes for CEN Outline  Introduction:  terminology and philosophy  Factors that influence testing  Testing techniques.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
How Systems are Developed The Commercial Life Cycle Model Common form of the Software Life Cycle Used through the commercial, industrial, institutional.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Purpose  This training module provides an overview of optimization techniques used in.
The Program Development Cycle
MathCore Engineering AB Experts in Modeling & Simulation WTC.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 3. Computing System Fundamentals 3.1 Language Translators.
Software Engineering. Software Engineering is… Design Coding Testing Debugging Documentation Maintenance …of new software.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Visual Linker Prototype presentation.
©2002 B&R Software Technology - Automation Studio.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
Process Refactoring Michael L. Collard, Ph.D.. Real World Often ad hoc with no process Different levels of developers knowledge, experience, and capabilities.
Computing System Fundamentals 3.1 Language Translators.
CASE1 Computer-Aided Software Engineering Advanced Software Engineering COM360 University of Sunderland © 2000.
K. Ingram 1 Oct 2001 Software Development Tools. K. Ingram 2 Oct 2001 Contents l Tools – what are they, why are they needed? l Software Development Tools.
 Programming - the process of creating computer programs.
CPS120: Introduction to Computer Science Compiling a C++ Program From The Command Line.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
11 Software Design CSCU 411 Software Engineering.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
軟體的開發策略 Work Faster, Smarter and Craft More Innovative Real- -Time Time Embedded Systems host computerTMS320 DSP RTDX™ DSP/BIOS™ drivers comm alg target.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Test Roles and Independence of Testing
Testing Tools & Standards
TRANSLATORS AND IDEs Key Revision Points.
Software Engineering Lecture #45
Presentation transcript:

INSE - Lecture 14 Tools and Techniques  Philosophy: including the inter- dependence of “tools” and “techniques”  A lifecycle-based review of some tools and techniques.

Philosophy of T&T  (done by demonstration)

Philosophy / summary  Any good Engineer will be expert on the tools & techniques available for their work…  … and will innovate new tools and techniques when there is need

The most important tool… u Is YOU … u YOUR creativity u YOUR judgement u YOUR understanding u YOUR skill u YOUR knowledge u YOUR persistence u YOUR meticulousness u YOUR grasp of the tools u…u… u And much more

Whole process u Program support Environments/IDEs u Source control Backup tools u FM In many phases: u Top-down vs Bottom-up vs…

Requirements phase  Requirements audit tools

Specification Phase  Spec-prototyping T&T

Design phase  Modularization & language support -> reuse  Design-prototyping T&T  Many situation–dependant tools e.g  DB design tools  Real-time analysis & design tools  GUI design tools

Coding phase  Code editors  Code generators  Prettyfiers  The programming language  Libraries  Generics  Compilers, linkers  Source-tracking tools…

Test phase u Hand-execution u Simulation u Profilers u Test generators u Test Harnesses & stubs u Test analysers

Debugging phase  Diagnostics (a.k.a. “Pursuit tests”)  Dynamic debuggers  Bug-tracking tools

Integration phase  Configuration management tools

Overall  Documentation tools  Metrics tools  QA tools  Review methods & techniques

Maintenance  All the above, but capitalizing on the archived information on the original  Decompilation/Reverse Engineering  Binary Editors/Patching

And Many More! u Always be alert for NEW tools that you need for YOUR work… u …and when they are needed enough, BUILD THEM

u © C Lester