Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities



Similar documents
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

Software Engineering CS5704: First Class

What is Software? The Software Development Process. Definition of Software. Why Software?

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

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

Knowledge, Certification, Networking

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

Unit I. Introduction

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

Modelli di sviluppo software. Enrico Giunchiglia

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

Lecture 3 Software Development Processes

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

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

LECTURE 1. SYSTEMS DEVELOPMENT

Software Project Models

Unit 1 Learning Objectives

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.

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

Overview of Software Engineering and the Software Development Process

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

CSCI-485: Software Design

(Refer Slide Time: 01:52)

A Comparison between Five Models of Software Engineering

What is a life cycle model?

Software Engineering. What is a system?

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

Software Engineering. Software Engineering. Software Costs

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

Software Life Cycle Processes

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

COMP 354 Introduction to Software Engineering

Software Development Life Cycle & Process Models

Software Development Life Cycle (SDLC)

A Process Model for Software Architecture

ASSESSMENT OF SOFTWARE PROCESS MODELS

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies

Lecture 1: Introduction to Software Quality Assurance

How To Model Software Development Life Cycle Models

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

Classical Software Life Cycle Models

Advanced Software Engineering. Software Development Processes

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

Foundations of software engineering

Chapter 2 Software Processes

Introduction to Systems Analysis and Design

Elite: A New Component-Based Software Development Model

Chapter 1: Introduction to Rapid Application Development (RAD) 1. Introductions

Test Cases Design for Software Database Provisioning Development

IV. Software Lifecycles

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

An Assessment between Software Development Life Cycle Models of Software Engineering

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

Outline. Definitions. Course schedule

2. Analysis, Design and Implementation

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

The Spiral development model is a risk-driven process model generator. It

A Comparison Between Five Models Of Software Engineering

Software Engineering UNIT -1 OVERVIEW

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

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

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

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

CS4507 Advanced Software Engineering

Requirements Analysis (RA): An Analytical Approach for Selecting a Software Process Models ABSTRACT

System development lifecycle waterfall model

Software Life Cycle. Management of what to do in what order

Karunya University Dept. of Information Technology

Umbrella: A New Component-Based Software Development Model

A COMPARISON BETWEEN DIFFERENT TYPES OF SOFTWARE DEVELOPMENT LIFE CYCLE MODELS IN SOFTWARE ENGINEERING

CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

P.G.D.C.A SOFTWARE ENGINEERING CONTENTS

Software Development Life Cycle

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

Increasing Development Knowledge with EPFC

How era Develops Software

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

A Review of an MVC Framework based Software Development

CMSC 435: Software Engineering Course overview. Topics covered today

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

SWEBOK Certification Program. Software Engineering Management

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

General Problem Solving Model. Software Development Methodology. Chapter 2A

Software Development Methodologies in Industry. By: Ahmad Deeb

CMMI STANDARDS IN SOFTWARE DEVELOPING PROCESS

Components Based Design and Development. Unit 2: Software Engineering Quick Overview

Case Study: Inception Phase. L. ch. 3-5

CSE 435 Software Engineering. Sept 16, 2015

RUP for Software Development Projects

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

I219 Software Design Methodology

White Paper IT Methodology Overview & Context

Transcription:

Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different software engineering paradigms TCS2411 Software Engineering 1 TCS2411 Software Engineering 2 Software Engineering Layers Software Process tools methods process model a quality focus Activities in software projects Characterised by a common process framework Framework activities - task sets Umbrella activities Process maturity enables development of quality software products TCS2411 Software Engineering 3 TCS2411 Software Engineering 4 Common Process Framework Umbrella Activities Common process framework Framework activities work tasks work products milestones & deliverables QA checkpoints Umbrella Activities Software project management Formal technical reviews Software quality assurance Software configuration management Document preparation and production Reusability management Measurement Risk management TCS2411 Software Engineering 5 TCS2411 Software Engineering 6 1

Process as Problem Solving The Process : Adaptability status quo problem definition solution integration technical development the framework activities will always be applied on every project... BUT the tasks (and degree of rigor) for each activity will vary based on: the type of project (an entry point to the model) characteristics of the project common sense judgment; concurrence of the project team TCS2411 Software Engineering 7 TCS2411 Software Engineering 8 The Primary Goal: High Quality The Systematic Process Remember: High quality = project timeliness Why? Less rework! Analysis Design Development Problem s Testing Solution TCS2411 Software Engineering 9 TCS2411 Software Engineering 10 Generic Phases Definition Phase Focus on what the software is Development Phase Focus on how the software works Maintenance Phase Focus on change to the software TCS2411 Software Engineering 11 Definition Phase Identify information to be processed Identify system behaviour - functions and performance Determine constraints, interfaces, validation criteria Major tasks: System engineering Software project planning Requirements analysis TCS2411 Software Engineering 12 2

Development Phase Maintenance Phase Define data structures, function implementation, procedural details, interfaces Translate design to programming language How testing is performed Major tasks: Software design Code generation Software testing TCS2411 Software Engineering 13 Reapplies definition and development phases to existing software Types of changes: Correction Adaptation Enhancement Prevention TCS2411 Software Engineering 14 Waterfall Waterfall System Engineering Analysis Design Code Testing Maintenance The classic life cycle - oldest and most widely used paradigm Activities flow from one phase to another If there are corrections, return to a previous phase and flow from there again Major advantages: Good for planning and well-defined/repeated projects TCS2411 Software Engineering 15 TCS2411 Software Engineering 16 Problems of Waterfall Prototyping Real projects often follow the sequence All requirements may not be stated explicitly by customer Customer only sees the results after some time Developers are often delayed at certain phases Start Requirements gathering and refinement Engineer product Stop Quick design Refining prototype Building prototype Customer evaluation listen to customer customer test-drives mock-up build/revise mock-up TCS2411 Software Engineering 17 TCS2411 Software Engineering 18 3

Prototyping Developer and customer determine objectives and draft requirements Prototype quickly produced and evaluated by customer Prototype then refined, and re-evaluated Process iterated, before final product development Advantages: Customer participation and better requirements TCS2411 Software Engineering 19 Problems of Prototyping Problem 1: Customer may see prototype as working model and expects fast results Problem 2: Developer compromised when producing prototype quickly, e.g. different operating system or programming language TCS2411 Software Engineering 20 Rapid Application Development (RAD) Team #1 Business Data Process Time period Team #2 Business Data Process Application Application Generation Testing & Turnover Generation Testing & Turnover TCS2411 Software Engineering 21 RAD High-speed version of waterfall model Primarily for information systems applications Requirements well-understood, fully functional system produced in short time The application modularised - major functions can be completed in 3 months Separate teams complete the functions, then integrated as a whole Requires human resource and commitment TCS2411 Software Engineering 22 Incremental Incremental System/information increment 1 engineering analysis design code test delivery of 1st increment increment 2 analysis design code test delivery of 2nd increment increment 3 analysis design code test delivery of 3rd increment increment 4 analysis design code test delivery of 4th increment Software separated into different increments - complete working portions Focus on delivery of operational product with each increment - can be evaluated Useful when insufficient staff and can be planned to manage technical risks, e.g. waiting for new hardware calendar time TCS2411 Software Engineering 23 TCS2411 Software Engineering 24 4

Spiral Spiral Customer Communication Customer Evaluation Planning Risk Analysis Construction & Release Engineering Originally proposed by Boehm, couples iterative nature of prototyping and the systematic aspects of waterfall model Software is developed in series of incremental releases Each iteration produces a more complete product Better management through risk analysis TCS2411 Software Engineering 25 TCS2411 Software Engineering 26 Problems of Spiral Component Assembly May be difficult to convince customers that evolution is controllable Demands risk assessment expertise - major risk will cause problems if not identified Relatively new and not widely used - cannot determine performance Identify candidate Look up in library Available? Extract yes no Build Construct System TCS2411 Software Engineering 27 TCS2411 Software Engineering 28 Component Assembly Fourth Generation Techniques (4GT) Use of object-oriented technology Components - classes that encapsulate both data and algorithms Components developed to be reusable Paradigm similar to spiral model, but engineering activity involves System produced by assembling the correct TCS2411 Software Engineering 29 Requirements gathering "Design" Strategy Implementation using 4GL Testing TCS2411 Software Engineering 30 5

4GT Use of software tools that allow software engineer to specify s/w characteristics at higher level The tools generate codes based on specification More time in design and testing - increase productivity Tools may not be easy to use, codes generated may not be efficient TCS2411 Software Engineering 31 Other Process s Component assembly model the process to apply when reuse is a development objective Concurrent process model recognizes that different part of the project will be at different places in the process Formal methods the process to apply when a mathematical specification is to be developed Cleanroom software engineering emphasizes error detection before testing TCS2411 Software Engineering 32 Conclusion The paradigm used for development of software depends on a number of factors People - staff & users Software product Tools available Environment Existing models makes development process clearer, but they can be evolved to become new paradigms END References TCS2411 Software Engineering 33 TCS2411 Software Engineering 34 6