©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.

Slides:



Advertisements
Similar presentations
IS301 – Software Engineering V:
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lectures 2 & 3 Software Processes.
Software Processes Modified by Randy K. Smith
Chap 2. Software Processes
Software Engineering Chapter 4 Software processes Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
What is software? Computer programs and associated documentation
Chapter 2 Software Processes (1/2) Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
1 Chapter 2 Software Processes An overview of conventional software process models, Rational Unified Process, and CASE tools.
EE6421/ED5031Software Engineering Slide 1 Section # 2 (Read Sommerville Ch (3 or 4) and Pressman Ch 2) Software Processes.
©Ian Sommerville 2000 Software Engineering, Chapter 4 Slide 1 Chapter 4 Software Processes.
Chapter 2 – Software Processes
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Software Engineering COMP 201
Software Process Models
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 3Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
1 SWE Introduction to Software Engineering Lecture 5.
L ECTURE 2 S OFTWARE P ROCESSES 1. O BJECTIVES To describe outline process models for requirements engineering, software development, testing and evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
Chapter 3 Software Processes.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
Software Processes. Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
©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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Chapter 3 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Processes Software and Its Engineering - adopted & adapted from I. Sommerville, 2004.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Lecture 3 Software Engineering Models (Cont.)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
SOFTWARE PROCESSES MUHAMMAD RIZWAN Fall Objectives  To introduce software process models  To describe three generic process models and when they.
An Introduction to Software Engineering
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
4. Software Processes Software Engineering. Objectives To introduce software process models To describe three generic process models and when they may.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 310 Ch 4: Software Processes Software process: a set of activities that lead to a software system specification design and implementation validation.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Software engineering Software Processes.
Chapter3:Software Processes
CS 389 – Software Engineering
Software Process Activities.
Software Processes.
Chapter 2 – Software Processes
Tools of Software Development
An Overview of Software Processes
An Overview of Software Processes
©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:

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 2 Topics covered l Process activities l Computer-aided software engineering

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 3 Process activities l Software specification l Software design and implementation l Software validation l Software evolution

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 4 Software specification l The process of establishing what services are required and the constraints on the system’s operation and development. l Requirements engineering process Feasibility study; Requirements elicitation and analysis; Requirements specification; Requirements validation.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 5 The requirements engineering process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 6 Software design and implementation l The process of converting the system specification into an executable system. l Software design Design a software structure that realises the specification; l Implementation Translate this structure into an executable program; l The activities of design and implementation are closely related and may be inter-leaved.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 7 Design process activities l Architectural design l Abstract specification l Interface design l Component design l Data structure design l Algorithm design

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 8 The software design process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 9 Design Process: Structured methods l Systematic approaches to developing a software design. l The design is usually documented as a set of graphical models. l Possible models Object model; Sequence model; State transition model; Structural model; Data-flow model.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 10 Programming and debugging l Translating a design into a program and removing errors from that program. l Programming is a personal activity - there is no generic programming process. l Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 11 The debugging process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 12 Software validation l Verification and validation (V & V) is intended to show that a system conforms to its specification and meets the requirements of the system customer. l Involves checking and review processes and system testing. l System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 13 The testing process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 14 Testing stages l Component or unit testing Individual components are tested independently; Components may be functions or objects or coherent groupings of these entities. l System testing Testing of the system as a whole. Testing of emergent properties is particularly important. l Acceptance testing Testing with customer data to check that the system meets the customer’s needs.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 15 Testing phases

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 16 Software evolution l Software is inherently flexible and can change. l As requirements change through changing business circumstances, the software that supports the business must also evolve and change. l Although there has been a demarcation between development and evolution (maintenance) this is increasingly irrelevant as fewer and fewer systems are completely new.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 17 System evolution

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 18 Static workflows

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 19 Computer-aided software engineering l Computer-aided software engineering (CASE) is software to support software development and evolution processes. l Activity automation Graphical editors for system model development; Data dictionary to manage design entities; Graphical UI builder for user interface construction; Debuggers to support program fault finding; Automated translators to generate new versions of a program.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 20 Case technology l Case technology has led to significant improvements in the software process. However, these are not the order of magnitude improvements that were once predicted Software engineering requires creative thought - this is not readily automated; Software engineering is a team activity and, for large projects, much time is spent in team interactions. CASE technology does not really support these.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 21 CASE classification l Classification helps us understand the different types of CASE tools and their support for process activities. l Functional perspective Tools are classified according to their specific function. l Process perspective Tools are classified according to process activities that are supported. l Integration perspective Tools are classified according to their organisation into integrated units.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 22 Functional tool classification

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 23 Activity-based tool classification

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 24 CASE integration l Tools Support individual process tasks such as design consistency checking, text editing, etc. l Workbenches Support a process phase such as specification or design, Normally include a number of integrated tools. l Environments Support all or a substantial part of an entire software process. Normally include several integrated workbenches.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 25 CASE workbenches l A coherent set of tools that is designed to support related software process activities such as analysis, design or testing. l Analysis and design workbenches support system modelling during both requirements engineering and system design. l.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 26 An analysis and design workbench

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 27 Tools, workbenches, environments

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 28 Key points l General activities are specification, design and implementation, validation and evolution. l Requirements engineering is the process of developing a software specification. l Design and implementation processes transform the specification to an executable program. l Validation involves checking that the system meets to its specification and user needs. l Evolution is concerned with modifying the system after it is in use. l CASE technology supports software process activities.