Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Chapter 2 – Software Processes Fall Chapter 2 – Software Processes Lecture 1 2Chapter 2 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
SE Fundamentals: 1. Software Processes
Software Process Model
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Chapter 2 Software Processes (1/2) Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Adaptive Processes Software Processes Adaptive Processes.
Soft. Eng. II, Spring 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter II Chap1: Software Engineering Models (Review) Mandatory reading: chapter.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 2 – Software Processes
 © Ian Sommerville A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.
Chapter 2 – Software Processes
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
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.
SYSC System Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 3 Software Processes.
Software Process Model
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
1 SWE Introduction to Software Engineering Lecture 4.
Information Systems Analysis and Design Reviews of IS and Software Process Spring Semester
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lecture 1 Overview TopicsOverview Readings: Chapter 1 August 18, 2011 CSCE 740 Software Engineering.
CSc 461/561 Software Engineering Lecture 2 – Software Processes.
Chapter 2 – Software Processes Chapter 2 Software Processes1 CS 425 September 10, 2015 Ian Sommerville, Software Engineering, 10 th Edition Pearson Education,
Chapter 2 – Software Processes 1Chapter 2 Software Processes.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Chapter 2 – Software Processes Software Engineering Lecture 1 Summer 2013/2014 Dr. Nouh Alhindawi Department of Computer Science and Software Engineering.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 – Software Processes 1Chapter 2 Software Processes Ian Sommerville, Software Engineering, 9 th Edition Pearson Education, Addison-Wesley Note:
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: mashhoood.webs.com.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software engineering 1.  Software process models  Process activities  Software change  The Rational Unified Process  An example of a modern software.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Chapter 2 – Software Processes 1Chapter 2 Software Processes Ian Sommerville, Software Engineering, 9 th Edition Pearson Education, Addison-Wesley Note:
CompSci 280 S Introduction to Software Development
Chapter 2 – Software Processes
CS 389 – Software Engineering
Chapter 2 – Software Processes
Software Processes (a)
Chapter 2 SW Process Models
Chapter 2 – Software Processes
Chapter 2 Software Processes
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
Chapter 2 Software Processes
Chapter 2 Software Processes
Chapter 2 – Software Processes
Presentation transcript:

Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010. Software Process Models February 19, 2012 Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.

Overview Software Process Software Process Models Waterfall Model Incremental Development Reuse Oriented Software Engineering

Software Process A software process is a set of related activities that leads to the production of a software product There are many different software processes but all must include four activities: Software specification Software design and implementation Software validation Software evolution

Software Process A software process may also include: Products (outcomes of a process activity) Roles (responsibilities of people) Pre- and post-conditions Sometimes, software processes are categorized as either plan-driven or agile processes

Software Process Models A software process model is a simplified representation of a software process Each process model represents a process from a particular perspective, and thus provides a partial information about that process Process models covered: The waterfall model Incremental development Reuse-oriented software engineering

The Waterfall Model

The Waterfall Model Separate identified phases in the waterfall model: Requirements analysis and definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance The result of each phase is one or more documents The following phase should not start until the previous phase has finished (in practice, they overlap)

The Waterfall Model Advantage: the process is visible Documentation is produced at each phase. Benefit? Problem: Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements Use: When the requirements are well-understood and changes will be fairly limited during the design process.

Incremental Development

Incremental Development Incremental development is based on the idea of developing an initial implementation, exposing this to user comment and evolving it through several versions until an adequate (acceptable) system has been developed Generally, the early increments of the system include the most important or most urgently required functionality Can be either plan-driven, agile, or a mixture of both

Incremental Development Benefits: The cost of accommodating changing customer requirements is reduced It is easier to get customer feedback on the development work that has been done More rapid delivery and deployment of useful software to the customer is possible

Incremental Development Problems: The process is not visible Managers need regular deliverables to measure progress System structure tends to degrade as new increments are added Unless time and money is spent on refactoring to improve the software, regular change tends to corrupt its structure.

Reuse-Oriented Software Engineering Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems Process stages: Component analysis Requirements modification System design with reuse Development and integration

Reuse-Oriented Software Engineering

Reuse-Oriented Software Engineering Advantages: Reduce the amount of software to be developed, and thus reduce cost and risks Faster delivery of the software Problems: May lead to a system that does not meet the real needs of users Control over the system evolution is lost