Software Engineering Lecture 09 & 10.

Slides:



Advertisements
Similar presentations
Figures-Chapter 2.
Advertisements

Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
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
Ch2: Software Life Cycles Housekeeping  Feedback from Wednesday  Structured vs. Object Oriented Paradigm Structured: Data is an argument, functions separate,
CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS.
SOFTWARE PROCESS MODELS. Software Process Models  Process model (Life-cycle model) -steps through which the product progresses Requirements phase Specification.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Software Project Management
Software Life-Cycle Models
1 Chapter 3 Prescriptive Process Models Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
CSC 480 Software Engineering
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Object-oriented Analysis and Design
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Incremental Model Requirements phase Verify Specification phase Verify
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 CMPT 275 Software Engineering Software life cycle.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
CSE 308 Software Engineering Software Engineering Strategies.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Software Engineering process models
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
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
The Rational Unified Process 1 EECS810: Software Engineering.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Software Development Life Cycle (SDLC)
© Bennett, McRobb and Farmer 2005
Software Engineering Zhang Shuang
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Chapter 2 Software Development Model and 1. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Systems Development Life Cycle
1 slc5 TTYP – C++ revisited 1 Which of the following statements are reasonable after the following statement: char* fred = new char[5]; a. fred = bill;
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Software Development - Methodologies
TK2023 Object-Oriented Software Engineering
Software Development Overview
Unit 6 Application Design KLB Assignment.
Methodologies and Algorithms
Appendix B Agile Methodologies
Chapter 3 Prescriptive Process Models
Object-Oriented Analysis & Design
Software Processes (a)
Software Myths Software is easy to change
CS 425/625 Software Engineering Software Processes
V-Shaped SDLC Model Lecture-6.
Software Process Models
Models of Software Development Life Cycle (SDLC)
Requirements and the Software Lifecycle
Teaching slides Chapter 1.
Methodologies For Systems Analysis.
Chapter 2 Software Processes
Software Engineering Lecture 18.
Lecture 2 Revision of Models of a Software Process
Chapter 2 – Software Processes
Software life cycle models
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Software Engineering CHAPTER 2 SOFTWARE LIFE CYCLE MODELS
Incremental Waterfall
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Extreme Programming.
Software Processes.
Software Engineering Lecture 17.
Appendix B Agile Methodologies
Software Development Overview
Presentation transcript:

Software Engineering Lecture 09 & 10

Spiral Model Precede each phase by Alternatives Risk analysis Follow each phase by Evaluation Planning of next phase

Spiral Model This model was developed by Barry Boehm. The main idea of this model is to avert risk as there is always an element of risk in development of software. For example, key personnel may resign at a critical juncture, the manufacturer of the software development may go bankrupt, etc Spiral Model is Waterfall model plus risk analysis. In this case each stage is preceded by identification of alternatives and risk analysis and is then followed by evaluation and planning for the next phase. If risks cannot be resolved, project is immediately terminated..

Simplified Spiral Model Risk Analysis If risks cannot be resolved, project is immediately terminated Design Specification Rapid Prototype Implementation Verify Integration

Full Spiral Model Radial dimension (cost) Angular dimension (progress)

Full Spiral Model Spiral Model has two dimensions. Radial dimension represents the cumulative cost to date and the angular dimension represents the progress through the spiral. The main strength of the Spiral Model comes from the fact that it is very sensitive to the risk. Because of the spiral nature of development it is easy to judge how much to test and there is no distinction between development and maintenance. It however can only be used for large-scale software development and that too for internal (in-house) software only.

Fountain Model Features Overlap (parallelism) Arrows (iteration) Maintenance Further development Fountain Model Operations Features Overlap (parallelism) Arrows (iteration) Smaller maintenance circle Implementation and integration Implementation Object-oriented design Object-oriented analysis Requirements

Fountain Model Fountain model is another object-oriented lifecycle model. In this model the circles representing the various phases overlap, explicitly representing an overlap between activities. The arrows within a phase represent iteration within the phase. The maintenance cycle is smaller, to symbolize reduced maintenance effort when the object oriented paradigm is used.

Extreme Programming

Extreme Programming In this approach user requirements are captured through stories which are the scenarios presenting the features needed by the client. Estimate for duration and cost of each story is then carried out. Stories for the next build are selected. Then each build is divided into tasks. Test cases for task are drawn up first before and development and continuous testing is performed throughout the development process.

Extreme Programming One very important feature of eXtreme programming is the concept of pair programming. In this, a team of two developers develop the software, working in team as a pair to the extent that they even share a single computer. In eXtereme Programming model, computers are put in center of large room lined with cubicles and client representative is always present. One very important restriction imposed in the model is that no team is allowed to work overtime for 2 successive weeks.

Rational Unified Process (this Figure is from P. Krutchen’s paper)

Rational Unified Process In this model a software product is designed and built in a succession of incremental iterations. It incorporates early testing and validation of design ideas and early risk mitigation. The horizontal dimension represents the dynamic aspect of the process. This includes cycles, phases, iterations, and milestones. The vertical dimension represents the static aspect of the process described in terms of process components which include activities, disciplines, artifacts, and roles. The process emphasizes that during development, all activities are performed in parallel, however, and at a given time one activity may have more emphasis than the other.