Software process management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process.
Lecture # 2 : Process Models
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Project Management
CS487 Software Engineering Omar Aldawud
CSE 470 : Software Engineering The Software Process.
COMP 474 Software Engineering Professor William L. Honig.
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.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
CS 501: Software Engineering
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Unit 201 Models of Software Development Life Cycle (SDLC) The objective of this section is to introduce you the idea of software process – a coherent set.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
Software Engineering Rekayasa Perangkat Lunak Kuliah 05.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
Software Life Cycle Model
Managing the Software Process
1 CMPT 275 Software Engineering Software life cycle.
Software Processes.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Teaching material for a course in Software Project Management & Software Engineering – part II.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
CSE 240 Lecture 14. Quote of the day “If we don't succeed, we run the risk of failure.” -Dan Quayle.
1 SWE Introduction to Software Engineering Lecture 4.
Software Engineering MCS-2 Lecture # 6
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
An Introduction to Software Engineering
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
SWE311_Ch03 (071) Software & Software Engineering Slide 1 Chapter 3 Prescriptive Process Models.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process.
Software Development Life Cycle (SDLC)
Software Project Management Iterative Model & Spiral Model.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Teaching slides Chapter 3
Software Model Process
Jaypee Institute of Information Technology, Noida.
Systems Development Life Cycle
SEG 3300: Sections A&B Introduction to Software Engineering Lecture 1: Software and Software Engineering Based on Presentations LLOSENG (Lethbridge, Laganiere,2001,
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process.
Project Management Finals Lesson 1 - Principles - Techniques - Tools.
Software Development - Methodologies
Software Engineering Rekayasa Perangkat Lunak
Methodologies and Algorithms
SNS College of Engineering Coimbatore
Software Processes (a)
Iterative Waterfall Model
Chapter :Software Process Model
V-Shaped SDLC Model Lecture-6.
Software Process Models
Models of Software Development Life Cycle (SDLC)
Life Cycle Models PPT By :Dr. R. Mall.
Software Engineering–CSC 365D
Software life cycle models
An Overview of Software Processes
Software Process Models
Incremental Waterfall
Software Processes.
Software Engineering Lecture 17.
Managing the Software Process
Presentation transcript:

Software process management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano Lesson 1 – Software process management

What is Project Management? (1) Project management encompasses all the activities needed to plan and execute a project –Deciding what needs to be done –Estimating costs –Ensuring there are suitable people to undertake the project –Defining responsibilities –Scheduling –Making arrangements for the work –continued...

What is Project Management? (2) Directing Being a technical leader Reviewing and approving decisions made by others Building morale and supporting staff Monitoring and controlling Co-ordinating the work with managers of other projects Reporting Continually striving to improve the process

Software Process Models Software process models are general approaches for organizing a project into activities –Help the project manager and his or her team to decide:  what work should be done  in what sequence to perform the work –The models should be seen as aids to thinking, not rigid prescriptions of the way to do things –Each project ends up with its own unique plan

The opportunistic approach (1)

The opportunistic approach (2) … is what occurs when an organization does not follow good engineering practices –It does not acknowledge the importance of working out the requirements and the design before implementing a system –The design of software deteriorates faster if it is not well designed –Since there are no plans, there is nothing to aim towards –There is no explicit recognition of the need for systematic testing and other forms of quality assurance –The above problems make the cost of developing and maintaining software very high

The waterfall model (1)

The waterfall model (2) The classic way of looking at S.E. that accounts for the importance of requirements, design and quality assurance –The model suggests that software engineers should work in a series of stages. –Before completing each stage, they should perform quality assurance (verification and validation). –The waterfall model also recognizes, to a limited extent, that you sometimes have to step back to earlier stages

Limitations of the waterfall model The model implies that you should attempt to complete a given stage before moving on to the next stage –Does not account for the fact that requirements constantly change –It also means that customers can not use anything until the entire system is complete. The model makes no allowances for prototyping It implies that you can get the requirements right by simply writing them down and reviewing them The model implies that once the product is finished, everything else is maintenance

The phased-release model (1)

The phased-release model (2) It introduces the notion of incremental development –After requirements gathering and planning, the project should be broken into separate subprojects, or phases –Each phase can be released to customers when ready –Parts of the system will be available earlier than when using a strict waterfall approach –However, it continues to suggest that all requirements be finalized at the start of development

The spiral model (1)

The spiral model (2) It explicitly embraces prototyping and an iterative approach to software development –Start by developing a small prototype –Followed by a mini-waterfall process, primarily to gather requirements –Then, the first prototype is reviewed –In subsequent loops, the project team performs further requirements, design, implementation and review –The first thing to do before embarking on each new loop is risk analysis –Maintenance is simply a type of on-going development

The evolutionary model (1)

The evolutionary model (2) It shows software development as a series of hills, each representing a separate loop of the spiral –Shows that loops, or releases, tend to overlap each other. –Makes it clear that development work tends to reach a peak, at around the time of the deadline for completion. –Shows that each prototype or release can take  different amounts of time to deliver  differing amounts of effort

The concurrent engineering model (1)

The concurrent engineering model It explicitly accounts for the divide and conquer principle –Each team works on its own component, typically following a spiral or evolutionary approach. –There has to be some initial planning, and periodic integration

Choosing a process model From the waterfall model –Incorporate the notion of stages From the phased-release model –Incorporate the notion of doing some initial high-level analysis, and then dividing the project into releases From the spiral model –Incorporate prototyping and risk analysis From the evolutionary model –Incorporate the notion of varying amounts of time and work, with overlapping releases From the concurrent engineering –Incorporate the notion of breaking the system down into components and developing them in parallel FINE