Software Process Models. Xin Feng



Similar documents
Software Development: The Waterfall Model

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Lecture 3 Software Development Processes

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Unit I. Introduction

Chakra Vs Spiral Model - A Practical Approach

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

How To Model Software Development Life Cycle Models

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Software Engineering. What is a system?

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

Software Life Cycle Processes

CS4507 Advanced Software Engineering

To introduce software process models To describe three generic process models and when they may be used

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Unit 1 Learning Objectives

Software Project Models

Software Development Process

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34.

Process Models and Metrics

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Advanced Software Engineering. Software Development Processes

Software Life Cycle Models

Chapter 8 Approaches to System Development

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Development Life Cycle

2. Analysis, Design and Implementation

Software Development Process Models

Modelli di sviluppo software. Enrico Giunchiglia

SOFTWARE PROCESS MODELS

A Review of an MVC Framework based Software Development

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

2. Analysis, Design and Implementation

Introduction to Systems Analysis and Design

Software Engineering Question Bank

A Comparison between Five Models of Software Engineering

ASSESSMENT OF SOFTWARE PROCESS MODELS

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Software Engineering

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

IT3205: Fundamentals of Software Engineering (Compulsory)

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

SDLC Models. Waterfall Model

(Refer Slide Time: 01:52)

The most suitable system methodology for the proposed system is drawn out.

Information Systems Development Process (Software Development Life Cycle)

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Information Technology Policy

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Software Development Life Cycle (SDLC)

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

Evolving a Ultra-Flow Software Development Life Cycle Model

Karunya University Dept. of Information Technology

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Overview. Software engineering and the design process for interactive systems. Standards and guidelines as design rules

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

Architectural Design Structured Design. Xin Feng

Managing TM1 Projects

A Capability Maturity Model (CMM)

Comparative Analysis of Different Agile Methodologies

Software Engineering. Objectives. Designing, building and maintaining large software systems

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Agile Projects 7. Agile Project Management 21

Chapter 7: Software Engineering

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Custom Software Development Approach

JOURNAL OF OBJECT TECHNOLOGY

Plan-Driven Methodologies

What is a life cycle model?

Software Engineering UNIT -1 OVERVIEW

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Introduction to Software Engineering

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Organising, planning and scheduling software projects. Software management distinctions

International Journal of Advance Research in Computer Science and Management Studies

Project management. Organizing, planning and scheduling software projects

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Software Development Processes. Software Life-Cycle Models

Assuming the Role of Systems Analyst & Analysis Alternatives

How To Understand The Software Process

CONTENTS Preface xv 1 Introduction

5/19/ Professor Lili Saghafi

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models

How To Understand The Waterfall Model Of Software Development

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Chapter 4 Software Lifecycle and Performance Analysis

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Project management. Objectives. Topics covered. Organizing, planning and scheduling software projects DISCUSSION

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

Transcription:

Software Process Models Xin Feng

Questions to Answer in Software Engineering? Questions to answer in software engineering What is the problem to be solved? Definition What are the characteristics of the software to solve? How will the software be constructed? Design and Implementation What approach will be used to uncover errors that were made in the design Validation and construction of the software? How will the software be supported over the long term, when corrections, Maintenance adaptations and enhancements are requested by users of the softwre? 09/17/2014 Software Engineering 2

Software Development Life Cycle Specification Requirements definition System and software design Specification documents Design and Implementation Design documents Evolution System testing Integration testing Operation and maintenance Implementation Executable programs Unit testing Validation 09/17/2014 Software Engineering 3

Fundamental Activities Software requirements specification ( 规 格 说 明 ) (Requirements engineering) understand and define the services Identify the constraints ( 约 束 ) Software design and implementation Convert specifications to executable systems Software validation Check if a system conforms to its specification (verification ( 验 证 )) and meets the customer s expectation (validation( 确 认 )) Software evolution Evolve to meet the required changes from customers and bug corrections. 09/17/2014 Software Engineering 4

Software Requirements Specification Customers /Clients ( 客 户 ) /Users developer /engineer /analyst 09/17/2014 Software Engineering 5

Design and Implementation Design the architecture ( 结 构 ) & write program 09/17/2014 Software Engineering 6

Software Validation ( 确 认 ) Is the system right??? 09/17/2014 Software Engineering 7

Maintenance 1. More functions added 2. Bugs corrected 3. New versions delivered 09/17/2014 Software Engineering 8

Software Engineering Process model Methods and tools(case) Methods and tools(case) Methods and tools(case) 09/17/2014 Software Engineering 9

Software Process and Process Model A software process is a set of activities whose goal is the development or evolution( 演 变 ) of software Software process model a simplifiedrepresentationof a software process from a specific perspective. 09/17/2014 Software Engineering 10

Process Models The waterfall ( 瀑 布 ) model The incremental ( 增 量 )process model Prototype Spiral ( 蜘 蛛 )model 09/17/2014 Software Engineering 11

Process Models Formal method VDM (Vienna Development Method) The B method 09/17/2014 Software Engineering 12

The Waterfall Model Analysis Design Coding Test Software specifications Software architectures ( 结 构 ) Source code Test reports Maintenance Maintenance ( 维 护 ) records 09/17/2014 Software Engineering 13

An Example Requirements statement: Develop a software program that can calculate arithmetic expressions and display the result in a micro second. 09/17/2014 Software Engineering 14

The Waterfall Model Analysis Functions Behaviors Interfaces Performance ( 性 能 ) Specification forms Tables Diagrams ( 图 表 ) Natural languages 09/17/2014 Software Engineering 15

The Waterfall Model -Specification Functions Calculation Behaviors Input Output Display Interfaces A window for displaying input and output Buttons Performance ( 性 能 ) Response time: a micro-second 09/17/2014 Software Engineering 16

The Waterfall Model Design Software architecture Data structure Design forms Diagrams Tables Pseudo-code ( 伪 代 码 ) 09/17/2014 Software Engineering 17

The Waterfall Model -Architecture control module read calculate output result input transform 09/17/2014 Software Engineering 18

The Waterfall Model -Coding Code Code generation automatically manually ( 手 工 ) char* transform(char *expression) { } 09/17/2014 Software Engineering 19

The Waterfall Model Defect ( 错 误 )report: Module ( 模 块 )name: transform Test data 1: 10 + 30 Output: 4 Test data 2: 20 * 30 Output 50 Test Reports Test Detect defects in the programs Automatically or manually ( 手 工 的 ) 09/17/2014 Software Engineering 20

The Waterfall Model Maintenance Records Maintenance ( 维 护 ) Correct bugs Implement the changes Maintenance report: Time: 1 January 2000 Module: transform Reason: Fix bugs Bug description: 09/17/2014 Software Engineering 21

Advantages The Waterfall Model Straightforward ( 率 直 的 ) Disciplined ( 严 格 ) Arguments ( 争 拗 ) Users cannot describe their requirements very clearly It is hard to follow The projects developed with this process are often delayed ( 延 迟 ) 09/17/2014 Software Engineering 22

Incremental Development Clients do not need the requirements for the whole system Clients can specify the most important parts to finish first A number of increments ( 增 加 )are defined 09/17/2014 Software Engineering 23

Incremental Development Process Define outline requirement Assign requirements to increments Design system architecture Develop system increment Validate increment Integrate increment Validate system 09/17/2014 Software Engineering 24

The Incremental Model Advantages The risk that the whole system fails is lower (compared to the waterfall model) Shorten the delivery ( 交 付 )time Disadvantages The system structure is loose Hard to define the increments 09/17/2014 Software Engineering 25

The Prototyping Model A quick design -> the construction of a prototype Identify software requirements 09/17/2014 Software Engineering 26

The Prototyping Model (refined) requirements Customer Developer refined ( 精 化 的 ) prototypes ( 原 型 ) 09/17/2014 Software Engineering 27

An Example Requirements statement: Develop a software system that can calculate arithmetic expressions and display the result in a micro second. 09/17/2014 Software Engineering 28

An Example 1 2 3 4 5 6 7 8 9 0 + - * / On/off C Several rounds of interview 1 2 3 4 5 6 7 8 9 0 ) ( + C - / * On/off. Initial requirements Updated requirement statement: Refined requirements Develop a software system that can calculate arithmetic expressions and display the result in a micro second. The operands can be real and the precedence of the calculation can be designated using () 09/17/2014 Software Engineering 29

Types of Prototypes Paper work Prototype Computer programs Prototype 09/17/2014 Software Engineering 30

The Prototyping Model Advantages Users can have an initial look of the system Developers have a quick design The prototype can be developed to a system Arguments Rush to get it work Hard to ensure the quality and to maintain 09/17/2014 Software Engineering 31

The Spiral Model An evolutionary( 演 变 )(iterative) software process model Combine both waterfall model and prototyping model 09/17/2014 Software Engineering 32

The Spiral Model (Bohem) 09/17/2014 Software Engineering 33

A Variant of the Spiral Model Communication between customer and developer Define resource, time schedule Assess technical risk, cost 沟 通 Obtain the feedback from customer 评 估 Construct, test and release Analyze the methods and techniques 09/17/2014 Software Engineering 34

Advantages The Spiral Model Developers can using prototyping in each evolutionary level Reduce the risk Arguments Continual risk analysis Document maintenance 09/17/2014 Software Engineering 35

Summary Software development is not only programming Software development must follow certain process There are different models Each model has its advantages and disadvantages Software development life cycle gives the main stages in a software development process 09/17/2014 Software Engineering 36