PROJECT LIFE CYCLE AND EFFORT ESTIMATION

Slides:



Advertisements
Similar presentations
kareRCIserIsviFIsaRsþGnuvtþKMerag
Advertisements

CS487 Software Engineering Omar Aldawud
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
SYSC System Analysis and Design
CS 5150 Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Object-oriented Analysis and Design
Software project management (intro ) Project approaches.
CS 501: Software Engineering
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
CSI315 Web Technology and Applications
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CMPT 275 Software Engineering Software life cycle.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
SDLC Class 4. SDLC Systems Development Life Cycle Traditional methodology used to develop, maintain, and replace information systems. Orderly set of activities.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
SPM (5e) Selection of project approach© The McGraw-Hill Companies, Software Project Management Chapter Four Selection of an appropriate project.
Software Development Life Cycle (SDLC)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
 Chapter 4: Selection of an appropriate project approach NET481: Project Management Afnan Albahli.
Contract management 1. Acquiring software from external supplier This could be: a bespoke system - created specially for the customer off-the-shelf -
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
1 Different Development methodologies Waterfall Spiral Structured systems analysis and design methodology(SSADM) Rapid Application Development (RAD) Prototyping.
SDLC and Related Methodologies
Software Engineering cosc 4359 Spring 2017.
Information Systems Development
Software Development - Methodologies
Methodologies and Algorithms
Business System Development
Chapter 2 – Software Processes
Software Life Cycle “What happens in the ‘life’ of software”
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
CS 5150 Software Engineering
Chapter 1 The Systems Development Environment
Software Processes (a)
CS 425/625 Software Engineering Software Processes
Software Process Models
Software Life Cycle Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Prescriptive Process Models
Chapter 4.Selection of an appropriate project approach
COMP 350: Object Oriented Analysis and Design Lecture 2
Information Systems Development
Chapter 12 Levels of Testing
Object Oriented Analysis and Design
Methodologies For Systems Analysis.
Software Engineering Lecture 18.
Chapter 2 – Software Processes
Software life cycle models
Process Models Coming up: Prescriptive Models.
Software Project Management
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
SDLC and Related Methodologies
Software Engineering Lecture 17.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Rapid software development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
CSCI 360: Software Architecture & Design
Presentation transcript:

PROJECT LIFE CYCLE AND EFFORT ESTIMATION Software process and Process Models

Outline of lecture Building versus buying software Taking account of the characteristics of the project Process models Waterfall Prototyping and iterative approaches Incremental delivery Agile approaches It can be argued that agile approaches are often a repackaging of prototyping and incremental delivery.

Selection of project approaches This lecture concerned with choosing the right approach to a particular project: variously called technical planning, project analysis, methods engineering and methods tailoring In-house: often the methods to be used dictated by organizational standards Suppliers: need for tailoring as different customers have different needs Section 4.1 and 4.3 of the textbook discuss these issues. Different types of project need different types of approach. If you are working in one particular environment which specializes in one type of software, then the approach is likely not to change much from one project to another. Where you work for different clients in different organizations developing a variety of applications then the approach for each project may need to be tailored.

Build or buy? In-house development? Outsource? either Build Buy In-house development almost always involves developing new code. If it is decided to use a specialist organization to implement system, the supplier could either build a ‘bespoke’ system for you, or could install a pre-existing application. There are hybrids of these options, e.g. to build in-house but use temporary contract staff, or Customised Off-the-Shelf (COTS) where a basic existing core system is modified for your particular requirements.

Some advantages of off-the-shelf (OTS) software Cheaper as supplier can spread development costs over a large number of customers Software already exists Can be trialled by potential customer No delay while software being developed Where there have been existing users, bugs are likely to have been found and eradicated

Some possible disadvantages of off-the-shelf Customer will have same application as everyone else: no competitive advantage, but competitive advantage may come from the way application is used Customer may need to change the way they work in order to fit in with OTS application Customer does not own the code and cannot change it Danger of over-reliance on a single supplier One concern is what happens if the supplier goes out of business. Customer might not then be able to maintain system: hence the use of ‘escrow’ services where a 3rd party retains a copy of the code.

General approach Look at risks and uncertainties e.g. are requirement well understood? are technologies to be used well understood? Look at the type of application being built e.g. information system? embedded system? criticality? differences between target and development environments? Clients’ own requirements need to use a particular method See section 4.3 of the textbook.

Structure versus speed of delivery Structured approach Also called ‘heavyweight’ approaches Step-by-step methods where each step and intermediate product is carefully defined Emphasis on getting quality right first time Example: use of UML and USDP Future vision: Model-Driven Architecture (MDA). UML supplemented with Object Constraint Language, press the button and application code generated from the UML/OCL model

Structure versus speed of delivery Agile methods Emphasis on speed of delivery rather than documentation RAD Rapid application development emphasized use of quickly developed prototypes JAD Joint application development. Requirements are identified and agreed in intensive workshops with users

Processes versus Process Models Starting from the inception stage: A product undergoes a series of transformations through a few identifiable stages Until it is fully developed and released to the customer. This forms its life cycle or development process. Life cycle model (also called a process model): A graphical or textual representation of the life cycle.