Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS9102 - Systems.

Slides:



Advertisements
Similar presentations
kareRCIserIsviFIsaRsþGnuvtþKMerag
Advertisements

System Development Life Cycle (SDLC)
Prescriptive Process models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Systems Analysis, Prototyping and Iteration Systems Analysis.
CSC340: Tutorial 1 Software Lifecycles TA: Yuan An Date: 9:00-10:00am, Fri. Oct. 3, 2003 Location: BA1130.
Lecture # 2 : Process Models
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
Unit 2. Software Lifecycle
©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
CS487 Software Engineering Omar Aldawud
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Software project management (intro ) Project approaches.
Introduction to software project management. What is a project? One definition ‘a specific design or plan’ ‘a specific design or plan’ Key elements non-routine.
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
1 Software project management (intro) An introduction.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Information Systems Development Lecture 2: the idea of the Life Cycle.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Life Cycle Model
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
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
© The McGraw-Hill Companies, An Introduction Chapter 1 Software Project Management 4 th Edition Robert Hughes and Mike Cotterell.
©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 Management Lecture 1 The Software Process.
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
© The McGraw-Hill Companies, Software Project Management 4th Edition Selection of an appropriate project approach Chapter 4.
SPM (5e) Selection of project approach© The McGraw-Hill Companies, Software Project Management Chapter Four Selection of an appropriate project.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Click to add text Systems Analysis, Prototyping and Iteration.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
© Bennett, McRobb and Farmer 2005
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Timebox Development Mike O’Dell Based on an earlier presentation by
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
 Chapter 4: Selection of an appropriate project approach NET481: Project Management Afnan Albahli.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Methodologies/Life Cycle Models
Software Development - Methodologies
Software Engineering Management
SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
CS 5150 Software Engineering
Software Engineering and Best Practices
Prototype Model Lecture-4.
Software Processes.
Chapter 4.Selection of an appropriate project approach
Lecture # 5 Software Development Project Management
Software life cycle models
Software Processes.
Presentation transcript:

Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems

2 Overview Software development models and processes –Waterfall and V- models –Incremental Models and RAD –Evolutionary Models

3 References Bob Hughes & Mike Cotterell (2002) –Software Project Management (3 rd Edition) McGraw-Hill –Chapter 4 –ISBN: X Library Call No – /17

4 Why do we Need to Manage the Software Process? We could just start writing –That seems to work for small assignments What happens when the problem gets big? –More than one person writing code –You need to modify somebody else's code? What if the contact for the client changes –Why did certain decisions get made? –What did the client originally ask for? –What did you base your asking price on? –What did the client originally ask for?

5 What is a Project? One definition –‘a specific design or plan’ To plan, devise, or design to do something

6 What is a Project? Key elements –Non-routine –Specific objectives –Planned –Predetermined timespan –Constrained resources –Work carried out for a third party –Work involves several specialisms or phases –Size and complexity

7 Are Software Projects Really Different From Other Projects? Not really, but: –Invisibility –Complexity –Flexibility –Need to conform to human ideas All add to difficulties

8 What is hard about software? Define concept Implement concept “I believe the hard part of building software to be the specification, design and testing of this conceptual construct, not the labour of representing it and testing the fidelity of the representation”. Frederick Brooks No silver bullet IEEE Computer 20(4) 10-19, April 1987

9 Is software development an engineering activity? One definition of software engineering: –Creating cost-effective solutions to practical problems by applying scientific knowledge to building things in the service of mankind Mary Shaw –But how scientific is software development really?

10 Software engineering or software management? “Unfortunately, [software engineering] is now most often used to refer to life-cycle models, routine methodologies, cost estimation techniques, documentation frameworks, configuration-management tools, quality assurance techniques…. ‘software management’ would be a more appropriate term” Mary Shaw

11 General approach 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

12 Choice of process models ‘Waterfall’ also known as ‘one-shot’, ‘once-through’ Incremental delivery Evolutionary development

13 Waterfall feasibility study requirements analysis design build test install ‘the waterfall model’

14 Waterfall The ‘classical’ model Imposes structure on the project Every stage needs to be checked and signed off BUT –limited scope for change

15 v-process model feasibility study requirements analysis system design build unit test system test user acceptance software design review corrections Another way of looking at the waterfall model

16 Incremental delivery designbuild install evaluate designbuild install evaluate designbuild install evaluate increment 1 increment 2 increment 3 first incremental delivery second incremental delivery third incremental delivery delivered system

17 The Incremental Process set global objectives global open architecture open incremental plan design the step build the step install the step evaluate the results feedback

18 Incremental Approach: Benefits Feedback from early stages used in developing latter stages Shorter development thresholds –Important when requirements are likely to change

19 Incremental Approach: Benefits User gets some benefits earlier –May assist cash flow Project may be put aside temporarily –More urgent jobs may emerge Reduces ‘gold-plating’ i.e. features requested but not used

20 Possible Disadvantages of Incremental Delivery Loss of economy of scale –Some costs will be repeated ‘Software breakage’ –Later increments might change earlier increments

21 Evolutionary Delivery: Prototyping ‘An iterative process of creating quickly and inexpensively live and working models to test out requirements and assumptions’ Sprague and McNurlin

22 Evolutionary Delivery: Prototyping Main types –‘throw away’ prototypes –evolutionary prototypes What is being prototyped? –human-computer interface –functionality

23 Reasons for Prototyping Learning by doing –Useful where requirements are only partially known Improved communication –Users reluctant to read massive documents –When system is ‘live’ you get a better feeling for it Improved user involvement –User ideas and requests are quickly implemented

24 More Reasons for Prototyping A feedback loop is established –Ensures that the specification is correct Reduces the need for documentation –Debatable? Reduces maintenance costs i.e. changes after the application goes live Prototype can be used for producing expected results

25 Prototyping: Some Dangers Users may misunderstand the role of the prototype Lack of project control and standards possible Additional expense of building prototype Focus on user-friendly interface could be at expense of machine efficiency

26 Summary Approaches to the software process include: –Waterfall –Incremental (RAD) –Evolutionary prototyping

27 Summary A process should be selected after careful consideration of –Any risks and uncertainties –The type of application being built –The clients’ own requirements