Software Life Cycle and Models

Slides:



Advertisements
Similar presentations
kareRCIserIsviFIsaRsþGnuvtþKMerag
Advertisements

1 Introduction to Software Engineering Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University.
1 433 – 254: Software Design Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University of.
The 4 T’s of Test Automation:
Chapter 27 Software Change.
Software Re-engineering
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 7 System Design Techniques.
System Development MIS Chapter 6 Jack G. Zheng May 28 th 2008.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
ADDING INTEGERS 1. POS. + POS. = POS. 2. NEG. + NEG. = NEG. 3. POS. + NEG. OR NEG. + POS. SUBTRACT TAKE SIGN OF BIGGER ABSOLUTE VALUE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
1 9 Moving to Design Lecture Analysis Objectives to Design Objectives Figure 9-2.
Cost as a Business Driver 1 John Brown C Eng MIEE mr_ Software Cost Estimation.
Figures-Chapter 2.
Software Processes.
Chapter 11 Software Evolution
Prescriptive Process models
Addition 1’s to 20.
Requirements Analysis 1. 1 Introduction b501.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Introduction.
Test B, 100 Subtraction Facts
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering Software Engineering.
Week 1.
Chapter 11: Systems Development and Procurement Copyright © 2013 Pearson Education, Inc. publishing as Prentice Hall Chapter
Computer Science Department
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS.
Software Project Management
Software Life-Cycle Models
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Slide 2.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Software Life Cycle Model
Presentation Handout EDBA – Module 8 Information Technology 30 th November 2014 By K.M.Prashanthan.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering CSCI Class 1- Introduction/Scope of Software Engineering August 22, 2009.
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Slide 2.1 CHAPTER 2 THE SOFTWARE PROCESS. Slide 2.2 Overview l Client, Developer, and User l Requirements Phase l Specification Phase l Design Phase l.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model (formerly, process model) –Requirements phase –Specification.
SOFTWARE LIFE-CYCLE MODELS
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Software Engineering Lecture # 1.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
© Bennett, McRobb and Farmer 2005
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.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
CS3320-Chap21 Office Hours TR 1:00-2:15 PM W 2:30-3:30 PM By appointment.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
Methodologies and Algorithms
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Introduction to Software Engineering
Component Based Software Engineering
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Software life cycle models
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Presentation transcript:

Software Life Cycle and Models Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University of Melbourne, Australia http://www.buyya.com

Software Process Software Process defines the way to produce software. It includes Software life-cycle model Tools to use Individuals building software Software life-cycle model defines how different phases of the life cycle are managed.

Phases of Software Life-cycle Requirements Specification (Analysis) Design Implementation Integration Maintenance Retirement

Requirements Assumption Concept exploration The software being considered is considered economically justifiable. Concept exploration Determine what the client needs, not what the client wants Document - Requirements Document

Specification (Analysis) Phase From the customer requirements identify what to build. Specifications must not be Ambiguous Incomplete Contradictory Document – Specification Document

Design Phase From the specification identify how to build. Design involves two steps Architectural Design – Identify modules Detailed Design – Design each modules Document – Architecture Document, Design Document

Implementation Phase Implement the detailed design in code. Developer testing Unit testing Module testing Document – Commented source code

Integration Phase Combine the modules and test the product as a whole. Testing includes Product testing Acceptance testing Document – Test cases and test results

Maintenance Phase Any changes after the customer accepts the system. Maintenance phase is the most expensive Lack of documentation Regression testing Document – Documented Changes, Regression test cases

Retirement Phase Good software is maintained Sometimes software is rewritten from scratch Software is now un-maintainable because A drastic change in design has occurred The product must be implemented on a totally new hardware/operating system Documentation is missing or inaccurate Hardware is to be changed—it may be cheaper to rewrite the software from scratch than to modify it True retirement is a rare event

Life-Cycle Models Build-and-fix model Waterfall model Rapid prototyping model Incremental model Extreme programming Synchronize-and-stabilize model Spiral model Object-oriented life-cycle models Comparison of life-cycle models

Build and Fix Model

Notes Most software is developed using build-and-fix model. Basically there is no model. No specifications No design This model is completely unsatisfactory and should not be adopted. Need life-cycle model “Game plan” Phases Milestones

Waterfall Model

Notes Output from one phase is fed as input to the next phase. One phase is completed, documented and signed-off before the next phase begins. Advantages Each phase is well documented. Maintenance easier. Disadvantages If there is a mismatch between what the client wanted and was is built this will not be known till the product is delivered.

Rapid Prototyping Model

Notes A prototype of the product is build rapidly and shown to the client before the product is completely built. Advantages : Any mismatches between requirement and the product can be found early. Disadvantages : Sometimes the prototype ends up being the final product which results in quality, maintenance problems.

Summary Software Engineering is an important discipline due to various aspects. Analysis and Design are two very important phases in the software development lifecycle.

Reference Stephen Schach, Classical and Object-Oriented Software Engineering with UML and Java, Chapter 3, McGraw-Hill, New York, USA. http://www.mhhe.com/engcs/compsci/schach5/samplech.mhtml Any other book on software engineering is also fine!