Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Project Management
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
CSE 470 : Software Engineering The Software Process.
Systems Analysis and Design II
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 Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
7M701 1 Software Prototyping Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 8
Alternate Software Development Methodologies
1 CS 425/625 Software Engineering CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-7] Ian Sommerville, Software.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
1 CS 691z/791z Topics on Software Engineering CS 691z/791z Topics on Software Engineering Software Processes Based on Chapter 4 of the book [SE-8] Ian.
CS 425/625 Software Engineering Software Processes
©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 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
Software Life Cycle Model
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
CSI315 Web Technology and Applications
Lecture 2 Software Processes CSC301-Winter 2011 Hesam C. Esfahani
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
SOFTWARE PROTOTYPING Anil Kumar.Arikepudi.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Engineering Management Lecture 1 The Software Process.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
An Introduction to Software Engineering
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
Software Prototyping Rapid software development to validate requirements.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
CS223: Software Engineering Lecture 4: Software Development Models.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
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.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 2 Software Development Model and 1. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Systems Development Life Cycle
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Rekayasa Perangkat Lunak Part-6
Methodologies and Algorithms
Software Prototyping.
Software Processes (a)
CS 425/625 Software Engineering Software Processes
Software Process Models
Software Prototyping Animating and demonstrating system requirements.
Software life cycle models
CS310 Software Engineering Lecturer Dr.Doaa Sami
Presentation transcript:

Methodologies

Contents Waterfall Model Evolutionary Models Incremental Development

Waterfall Model - Basic

Waterfall Model Advantages & Disadvantages Easy to explain to the user (+) Stages and activities are well defined and thus to identify milestones (+) Helps to plan and schedule the project Verification at each stage ensures early detection of errors / misunderstanding It is easy to separate one stage from another (+) Documentation can easily be produced(+) It is totally unrealistic! ( )

Waterfall Model - Enhanced

Waterfall – Enhanced Advantages & Disadvantages It is easy to identify milestones (+) It is easy to separate one stage from another (+) Software is properly documented (+) Premature requirements, design, etc. (-) It assumes that requirements can be precisely specified (-) It requires the customer to be patient (-) It is still unrealistic!

Prototyping Process Establish prototype objectives Define prototype functionality Develop prototype Evaluate prototype Prototyping plan Outline definition Executable prototype Evaluation report

Prototype (as a tool for requirements analysis) - Benefits Misunderstandings between software developers and users identified as the system functions are demonstrated Missing user services may be detected Difficult-to-use or confusing user services may be identified and refined Incomplete/inconsistent requirements found as the prototype is developed A working, albeit limited, system is available quickly for demonstration to management

Throw-Away Prototyping * At this point the prototype is thrown away! ** Development phase of the actual system Establish outline spec. Design & implement system Develop prototype Evaluate prototype Specify system * * * Validate system

Throw-Away Prototype - Problems Sometimes the cost of prototype development represents an unacceptably large fraction of the total cost Customers are likely to force the developer to convert the prototype to the working system using a few fixes The developer may become familiar with the prototype and reluctant to discard it

Evolutionary Prototyping Develop abstract specification system Deliver system System adequate? NO YES Develop abstract specification Develop abstract specification Build prototype Use prototype system Deliver system System adequate? NO YES

Evolutionary Prototyping Advantages & Disadvantages Systems are developed and delivered rapidly (+) Costs are reduced (+) User involvement! (+) The development process is ‘invisible’ to managers (+) Systems are usually poorly structured! (-)

Prototyping Advantages of Prototyping – Users are actively involved in the development – It provides a better system to users, as users have natural tendency to change their mind in specifying requirements and this method of developing systems supports this user tendency. – Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed.working – Errors can be detected much earlier as the system is mode side by side. – Quicker user feedback is available leading to better solutions. Disadvantages – Leads to implementing and then repairing way of building systems.building systems – Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans.

Incremental Development Integrate increment Integrate increment System complete? Design system architecture Specify system increment Build system increment Validate increment Define system deliverables Validate system Deliver final system YES NO Reproduced from:Sommerville System complete? Design system architecture Specify system increment Specify system increment Build system increment Build system increment Validate increment Define system deliverables Validate system Deliver final system YES NO Reproduced from:Sommerville

Incremental Development Advantages & Disadvantages No ‘big bang’ effect (+) Attention on the essential features (+) Customers can use the ‘partial’ software as soon as it is available (+) Early increments can provide a useful feedback (+) The requirements tend to constrained by the architecture (-) Problems with contracts (-) Difficult to map the customer’s requirements onto increments (-) Problems with basic facilities (-)

Summary Software life cycle models – all of them include the main generic stages – logic of the software process is different in each The spiral model, which subsumes the other models, should be investigated by students. Object orientation – emphasis on reusability – software development process will become one of assembly rather than one of creation