Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.

Slides:



Advertisements
Similar presentations
ISBN Prentice-Hall, 2006 Chapter 2 Modeling the Process and Life Cycle Copyright 2006 Pearson/Prentice Hall. All rights reserved.
Advertisements

CSC 532 Term Paper Process Models In Software Engineering By Xiancong Xiong Fall 2004.
Lecture # 2 : Process Models
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
©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
Software Process Model
1 EE29B Feisal Mohammed Modeling the Process and Life Cycle Software development usually involves the following stages: Requirements analysis and definition.
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.
CSC 480 Software Engineering
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 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Software Engineering COMP 201 1COMP201 - Software Engineering Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP.
Chapter 2 – Software Processes
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternate Software Development Methodologies
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Lecturer: Dr. AJ Bieszczad Chapter 22-1 Process includes: all major process activities resources used, subject to set of constraints (such as schedule)
Modelling the Process and Life Cycle
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
Extreme Programming Software Development Written by Sanjay Kumar.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Chapter 2 The process Process, Methods, and Tools
Software Project Management Introduction to Project Management.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
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 Engineering Environment  A quality focus: constant incremental improvement  Process: framework to organize development activities  Methods:
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
Software Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4 th Edition.
Chapter 2 Modelling the Process and Life Cycle. Pfleeger and Atlee, Software Engineering: Theory and PracticeChapter 2.2 Contents 2.1 The Meaning of Process.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
An Introduction to Software Engineering
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Software Development Life Cycle (SDLC)
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Systems Development Life Cycle
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.
SDLC and Related Methodologies
Software Processes (a)
Process Models In Software Engineering
Chapter 2 SW Process Models
Methodologies For Systems Analysis.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Lecture 2 Revision of Models of a Software Process
Software life cycle models
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Copyright 2006 Pearson/Prentice Hall. All rights reserved.
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Software Processes Process should be
SDLC and Related Methodologies
Chapter 2 Software Processes
Presentation transcript:

Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015

Meaning of Process When providing a service, creating a product, whether it be developing software, writing a report, or taking a business trip, you usually follow a sequence of steps. The tasks are performed in the same order each time (e.g., you don’t bake the cake until you mix together the ingredients). This set of ordered tasks is called a process.

Typical Process Characteristics Major process activities Resources, subject to a set of constraints (such as a schedule) Intermediate, and final results May be composed of subprocesses Process activities have entry and exit criteria Activities are organized in a sequence Every process has a set of guiding principles that explain the goals of each activity

Life Cycle When the process involves the building of some product, we sometimes refer to the process as a life cycle The software development process is sometimes called the software life cycle because it describes the life of a software product from its conception to its implementation, delivery, use, and maintenance

Software Development Stages Requirements analysis and definition System design Program design Writing the programs (program implementation) Unit testing Integration testing System testing System delivery Maintenance

Software Process Models Process models for software engineering: ◦ Some are prescriptions for the way software development should progress ◦ Some are descriptions of the way software development is done in actuality In theory, the two models should be the same…

Why Model a Process? When a group writes down a description of its development process, it forms a common understanding of the activities, resources, and constraints involved in software development Helps the team find inconsistencies, redundancies, and omissions in the process The model should reflect developmental goals, such as building high-quality software, finding faults early in development, and meeting required budget and schedule constraints Every process is tailored for a special situation in which it will be used. Building a process model helps the team understand where the tailoring is to occur

The waterfall model

Described by Royce (1970) Basis for software development deliverables in U.S. Department of Defense contracts for many years Strength of model is simplicity and the explicit stages of development Problems: ◦ Does not reflect how code is really developed (software is usually written through multiple iterations) ◦ Software is more of a creation process, not a manufacturing process (more back-and-forth activities occur)

The software development process in reality

Improving the waterfall model Prototype: a partially developed product that enables customers and developers to examine some aspect of the proposed system and decide if it is suitable or appropriate for the finished product Validation: ensures that the system has implemented all of the requirements, so that each system function can be traced back to a particular requirement in the specification Verification: ensures that each function works correctly

Waterfall model with prototyping

The V model Unit and integration testing ensures all aspects of program design have been implemented correctly in the code System testing verifies the system design Acceptance testing is done by the customer

The prototyping model Overall goals: Reducing the risk and uncertainty in development

The operational specification model Allows developers and customers to examine the requirements and their implications early in the process, where they can discuss and resolve some of the uncertainty

The transformational model Tries to reduce the opportunity for error by eliminating several major development steps Using automated support, a series of transformations (changing the data representation, selecting algorithms, optimizing, compiling, etc.) are applied to change a specification into a deliverable system

The phased-development model Cycle time: the time from when the requirements documents were written to when the system was delivered One way to reduce cycle time is to deliver the system in pieces

The incremental and iterative models Incremental – system begins with one small, functional subsystem. New functionality is added with each release Iterative – full system delivered initially, but the functionality of each subsystem changes with new releases

The spiral model Developed by Boehm (1988) Combine development activities with risk management to minimize and control risk

Agile methods See homework…..