1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)
|
|
- Cuthbert Gibbs
- 8 years ago
- Views:
Transcription
1 1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) A software process model is a standardised format for planning organising, and running a development project. 1
2 Hundreds of different models exist and are used, but many are minor variations on a small number of basic models. In this section we: survey the important basic models, and consider how to choose between them. 2
3 1.1. Planning with Models SE projects usually live with a fixed financial budget. (An exception is maintainance?) Additionally, time-to-market places a strong time constraint. There will be other project constraints such as staff. 3
4 money Specialist technical staff Support e.g. sales staff management Project constraints Computing resources time Examples of Project Constraints 4
5 Project planning is the art of scheduling/constraint solving the project parameters, along various dimensions: time, money, staff in order to optimise: project risk [low] (see later) profit [high] customer satisfaction [high] worker satisfaction [high] long/short-term company goals 5
6 Questions: 1. What are project parameters? 2. Are there good patterns of organisation that we could copy? 6
7 Project parameters describe the whole project, but we must at least describe: resources needed (people, money, equipment, etc) dependency & timing of work (flow graph, work packages) rate of delivery (reports, code, etc) It is impossible to measure rate of progress except with reference to a plan. 7
8 In addition to project members, the following may need access to parts of the project plan: Management Customers Subcontractors (outsourcing) Suppliers (e.g. licenses, strategic partners) Investors (long term investment) Banks (short term cash) 8
9 1.2. Project Visibility Unlike other engineers (e.g. civil, electronic, chemical etc.) software engineers do not produce anything physical. It is inherently difficult to monitor an SE project due to lack of visibility. 9
10 This means that SE projects must produce additional deliverables (artifacts) which are visible, such as: Design documents/ prototypes Reports Project/status meetings Client surveys (e.g. satisfaction level) 10
11 1.3. What is a Software Process Model? Definition. A (software/system) process model is a description of the sequence of activities carried out in an SE project, and the relative order of these activities. 11
12 It provides a fixed generic framework that can be tailored to a specific project. Project specific parameters will include: Size, (person-years) Budget, Duration. project plan = process model + project parameters 12
13 There are hundreds of different process models to choose from, e.g: waterfall, code-and-fix spiral rapid prototyping unified process (UP) agile methods, extreme programming (XP) Scrum COTS Most are minor variations on a small number of basic models. 13
14 By changing the process model, we can improve and/or tradeoff: Development speed (time to market) Product quality Project visibility Administrative overhead Risk exposure Customer relations, etc, etc. 14
15 Normally, a process model covers the entire lifetime of a product. From birth of a commercial idea to final de-installation of last release i.e. The three main phases: design, build, maintain. (50% of IT activity goes here!) 15
16 We can sometimes combine process models e.g. 1. waterfall inside evolutionary onboard shuttle software 2. Evolutionary inside waterfall e.g. GUI prototyping 3. SCRUM inside waterfall We can also evolve the process model together with the product to account for product maturity, e.g. rapid prototyping waterfall 16
17 1.4. Waterfall Model The waterfall model is the classic process model it is widely known, understood and used. In some respect, waterfall is the common sense approach. R.W. Royce, Managing the Development of Large Software Systems: Concepts and Techniques, Proc. IEEE Westcon, IEEE Press,
18 User Requirements phase output User Requirements Document Software Requirements Architecture Design Software Requirements Document Architectural Design Document Swimming upstream The Waterfall Workflow Time Detailed design & Coding Testing Delivery Detailed Design & Code 18
19 Advantages 1. Easy to understand and implement. 2. Widely used and known (in theory!) 3. Fits other engineering process models: civil, mech etc. 4. Reinforces good habits: define-before- design, designbefore-code 8. Identifies deliverables and milestones 9. Document driven: People leave, documents don t Published documentation standards: URD, SRD, etc., e.g. ESA PSS Works well on large/mature products and weak teams. 19
20 Disadvantages 1. Doesn t reflect iterative nature of exploratory development. 2. Sometimes unrealistic to expect accurate requirements early in a project 3. Software is delivered late, delays discovery of serious errors. 4. No inherent risk management 5. Difficult and expensive to change decisions, swimming upstream. 6. Significant administrative overhead, costly for small teams and projects. 20
21 1.5. Code-and-Fix This model starts with an informal general product idea and just develops code until a product is ready (or money or time runs out). Work is in random order. Corresponds with no plan! (Hacking!) 21
22 Advantages 1. No administrative overhead 2. Signs of progress (code) early. 3. Low expertise, anyone can use it! 4. Useful for small proof of concept projects, e.g. as part of risk reduction. 22
23 Disadvantages 1. Dangerous! 1. No visibility/control 2. No resource planning 3. No deadlines 4. Mistakes hard to detect/correct 2. Impossible for large projects, communication breakdown, chaos. 23
24 1.6. Evolutionary Development Types Type 1: Exploratory Development: customer assisted development that evolves a product from ignorance to insight, starting from core, well understood components (e.g. GUI?) Type 2: Throwaway Prototyping: customer assisted development that evolves requirements from ignorance to insight by means of lightweight disposable prototypes. 24
25 1.7. Type 1: Spiral Model Extends waterfall model by adding iteration to explore /manage risk Project risk is a moving target. Natural to progress a project cyclically in four step phases 1. Consider alternative scenarios, constraints 2. Identify and resolve risks 3. Execute the phase 4. Plan next phase: e.g. user req, software req, architecture then goto 1 25
26 In 1988 Boehm developed the spiral model as an iterative model which includes risk analysis and risk management. Key idea: on each iteration identify and solve the sub-problems with the highest risk. 26
27 Determine objectives, alternatives & constraints Cumulative cost Evaluate alternatives, Identify & resolve risks C.f. Sommerville Figure 4.5 Review & commitment Integration & Test plan Plan next phase Start Requirements plan Development plan End Prototypes Phase1 Phase2 Phase3 Concept Of Operation Requirements validation Acceptance Testing Operational Prototype Design, Detailed design Validation & Verification Coding Unit & Integration Testing Develop & verify next-level product 27
28 Advantages 1. Realism: the model accurately reflects the iterative nature of software development on projects with unclear requirements 2. Flexible: incoporates the advantages of the waterfall and evolutionary methods 3. Comprehensive model decreases risk 4. Good project visibility. 28
29 Disadvantages 1. Needs technical expertise in risk analysis and risk management to work well. 2. Model is poorly understood by nontechnical management, hence not so widely used 3. Complicated model, needs competent professional management. High administrative overhead. 29
30 1.8. Type 2: Rapid Prototyping Key idea: Customers are non-technical and usually don t know what they want. Rapid prototyping emphasises requirements analysis and validation, also called: customer oriented development, evolutionary prototyping 30
31 Requirements Capture Quick Design Iterate Build Prototype Customer Evaluation of Prototype Rapid Prototype Workflow Engineer Final Product 31
32 Advantages 1. Reduces risk of incorrect user requirements 2. Good where requirements are changing/ uncommitted 3. Regular visible progress aids management 4. Supports early product marketing 32
33 Disadvantages I 1. An unstable/badly implemented prototype often becomes the final product. (Migration to a type 1 process!) 2. Requires extensive customer collaboration Costs customers time/money Needs committed customers Difficult to finish if customer withdraws May be too customer specific, no broad market 33
34 Disadvantages II 3. Difficult to know how long project will last 4. Easy to fall back into code-and-fix without proper requirements analysis, design, customer evaluation and feedback. 34
35 1.9. Type 1: Agile Software Processes Need for an adaptive process model suited to changes in: User requirements Customer business models Technology In-house environment De-emphasise documentation, esp. URD! Emphasise change management e.g. reverse engineering design! Examples include XP, SCRUM, Agile modeling etc 35
36 Agile Principles (C.f Sommerville Fig 17.3) Incremental delivery of software Continuous collaboration with customer Embrace change Value participants and their interaction Simplicity in code, 36
37 XP Release Cycle Select release stories Breakdown stories to tasks Plan release Evaluate system Release code Develop/ Integrate/ Test code For a sample story see Sommerville Figure 17.6 Same as use-case? 37
38 XP Practices (Summary) 1. Incremental planning 2. Small releases 3. Simple design 4. Programming in pairs (egoless programming, see 7.) 5. Test-driven development 6. Software refactoring (needs UML?) 7. Collective ownership: metaphors, standards, code 8. Continuous integration 9. Sustainable pace (No overtime!) 10. On-site customer! 38
39 Advantages 1. Lightweight methods suit small-medium size projects 2. Produces good team cohesion 3. Emphasises final product 4. Iterative 5. Test-based approach to requirements and quality assurance 39
40 Disadvantages 1. Difficult to scale up to large projects where documentation is essential 2. Needs experience and skill if not to degenerate into code-and-fix 3. Programming pairs is costly (but see productivity literature) 4. Test case construction is a difficult and specialised skill. 40
41 1.10. SCRUM Schwaber and Beedle 2002 (1986?) Short iterations sprints Potentially deliverable product increment (working and tested) Project kick-off meeting brainstorm first version Produces first product backlog vision in terms of business requirements Current understanding not final contract 41
42 Product Backlog High level document Items grouped into releases with planned release dates After each sprint, product owner has 3 options Turn sprint result into product increment Declare project finished and release Shift items between releases or change release dates 42
43 Monthly cycle: Sprint Starts with sprint planning meeting: select items from product backlog for sprint backlog (2 backlogs!) Determine tasks and estimate effort of sprint backlog Short, typically 2-4 weeks At end of sprint: Review progress Define scope of next sprint Add unfinished work to backlog 43
44 Project Roles (pigs!) Product owner (aka client): responsible for requirements, creates and prioritises backlog Scrum master: sets up and enforces project rules and practices. Manages daily meetings, progress, obstacles. Interface between team and product owner. Scrum team: develops increments. Cross functional, no job roles! 44
45 Project Roles (chickens) Stakeholders (customers, vendors) People who enable the project and for whom project will produce the benefits. Managers People who set up environment for the product development organizations 45
46 Daily Cycle Daily scrum meeting (also a scrum of scrums) 15 min timeboxed, same time and place Individual status report (yesterday s and today s work) Anyone attends, but only pigs speak New obstacles New action for the day Update burn down chart which plots cumulative remaining sprint effort as a function of time. Each backlog item has an effort estimate that must be updated, based on new information. 46
47 Scrum Team Scrum Master Product Owner Client Daily Scrum Plan Sprint :Sprint Backlog :Product Backlog Kick off project :Problem Statement :Action Items Do Work :Obstacles Remove Obstacle Daily Cycle Monthly Cycle :Product Increment Review Sprint Deliver Release :Product Release 47
48 (Dis) Advantages Advantages handles changing requirements easy to learn and use regular working deliverables can be used for maintenance open to risk management Disadvantages Hard to predict what documentation besides user requirements? unrealistic to expect all do everything not suitable for large projects (daily scrum?) Not actually IT specific 48
49 1.11. Rational Unified Process (RUP) Hybrid model inspired by UML and Unified Software Development Process. A generic component-based process? Three views on the process Dynamic view: RUP phases Static view: RUP activities Practise view: RUP best-practise 49
50 Details Lifetime of a software product in cycles: Birth, childhood, adulthood, old-age, death. Identify product maturity stages Each project iteration cycle is a phase, culiminating in a new release (c.f. Spiral model) 50
51 Inception Elaboration Transition Construction UP process RUP phase workflow (drawn as a UML Statechart!) 51
52 RUP Phases Phases are goal directed and yield deliverables: Inception Establish the business case. Identify external entities (actors, systems). Estimate ROI. Elaboration Understand problem domain. Establish architecture, and consider design tradeoffs. Identify project risks. Estimate and schedule project. Decide on build vs. buy. Construction Design, program and test. Components are bought and integrated. Transition release a mature version and deploy in real world. 52
53 RUP Workflows RUP separates what and when into two orthogonal process views. When modeled by phases What modeled by workflows (c.f. Sommerville Figure 4.13) Any workflows can be active in any phases. Anything that instantiates the following diagram is an instance of RUP!! An agile instantiation exists (Larman 2002) 53
54 Project Management Unified Process: SoftwareProcess Product Environment Workflow * * Cycle releases Requirements Analysis/ Design 4 Phase Inception Elaboration Implementation * Construction Testing Iteration Transition Deployment Business Modeling * Artifact 54
55 RUP Practise View 1. Develop software iteratively 2. Manage requirements 3. Use component-based architectures 4. Visually model software 5. Verify software quality 6. Control software changes 55
56 Use Case Model UML class diagram! specified by Analysis Model realised by deployed by implemented by Design Model verified by Deployment Model Implementation Model Visual software model = UML Model-based Development Test Model 56
57 (Dis) Advantages Difficult to judge without knowing the actual chosen instantiation of the RUP Unique use of the UML philosophy of SE. Can be as good/better than any other process Also as bad/worse than 57
58 1.12. COTS COTS = Commercial Off-The-Shelf software Integrate a solution from existing commercial software components using minimal software plumbing All projects seek some software re-use Holy Grail of SE See also Sommerville Chapter
59 Possible Approaches 1. Third-party vendors: component libraries, Java beans, 2. Integration solutions: CORBA, MS COM+, Enterprise Java Beans, software frameworks 3. Good software engineering: application generators (Yacc, Lex Sommerville 18.3), generic programming (types, polymorphism etc) 4. Commercial finished packages: databases, spread sheets, word processors, web browsers, etc. 5. Design to open source interfaces: e.g. XML, ISO standards, etc. 59
60 Distributed COTS: Web Service Providers Integration of web-services: third party service providers using (XML-based?) service models: JINI extension of Java for service discovery SOAP (Simple Object Access Protocol) WSDL (Web Services Description Language) UDDI (Universal Description, Discovery and Integration) Cloud computing 60
61 Advantages 1. Fast, cheap solution 2. Explore solutions with existing products (c.f. your project work!) 3. May give all the basic functionality 4. Well defined integration project, easy to run. 5. Open to outsourcing (c.f. Point 4) 6. Build strategic supplier partnerships 61
62 Disadvantages 1. Limited functionality/ compromise/ requirements drift. 2. Component identification can be tricky mistakes occur! 3. Licensing problems: freeware, shareware, etc. 4. Customer lock-in: license fees, maintainance fees, upgrades 5. Compatibility issues/loss of control: 1. Between components (doesn t start!) 2. During maintenance (suddenly stops!) 62
1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)
1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) A software process model is a standardised format for planning organising, and running a development project. 1 Hundreds of different models
More information6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.
6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.
More informationTRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
More informationA Comparison between Five Models of Software Engineering
International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College
More informationASSESSMENT OF SOFTWARE PROCESS MODELS
ASSESSMENT OF SOFTWARE PROCESS MODELS Akhilesh Research Scholar, Department of Computer Science, Manav Bharti University, Solan (H.P.) ABSTRACT The field of software engineering is related to the development
More informationSoftware Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
More informationA Comparison Between Five Models Of Software Engineering
94 A Comparison Between Five Models Of Software Engineering Nabil Mohammed Ali Munassar 1 and A. Govardhan 2 1 Ph.D Student of Computer Science & Engineering Jawahrlal Nehru Technological University Kuktapally,
More informationSoftware Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
More informationAn Assessment between Software Development Life Cycle Models of Software Engineering
International Journal of Electronics and Computer Science Engineering 700 Available Online at www.ijecse.org ISSN- 2277-1956 An Assessment between Software Development Life Cycle Models of Software Engineering
More informationUnit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
More informationHow To Understand The Software Process
Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team
More informationSoftware Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development
More informationCS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
More informationProcess Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
More informationRapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
More informationTo introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationSOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
More informationSoftware Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
More informationSystem development lifecycle waterfall model
Slide 6.1 System development lifecycle waterfall model Figure 6.1 The waterfall model of system development lifecycle Slide 6.2 The b model Figure 6.2 The b model Source: N D Birrell and M A Ould, A Practical
More informationINTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison
More informationCOMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course
More informationLife Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering
Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.
More informationClassical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
More informationHow To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
More informationToday: Software Development Models (cont)
Today: Software Development Models (cont) CPSC 491 Development Processes (aka Development Lifecycle) Define the steps, and their order, to be carried out The main steps (or phases) generally include: 1.
More informationPlan-Driven Methodologies
Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a
More informationRapid Software Development
Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery
More informationSoftware Engineering
Software Engineering Introduction Software engineering Statistics Software Development Process Models Project Management Overview Situation Before programs were quite small written by one person Today
More informationCSSE 372 Software Project Management: More Agile Project Management
CSSE 372 Software Project Management: More Agile Project Management Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Plan Create a plan for
More informationSoftware Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
More informationAgile So)ware Development
Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast
More informationSinghania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia
www.ijcsi.org 441 A Comprehensive Study of Commonly Practiced Heavy and Light Weight Software Methodologies 1 Asif Irshad Khan, 2 Rizwan Jameel Qurashi and 3 Usman Ali Khan 1 Department of Computer Science
More informationDevelopment Methodologies
Slide 3.1 Development Methodologies Prof. Dr. Josef M. Joller jjoller@hsr.ch Development Methodologies Prof. Dr. Josef M. Joller 1 Session 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Development Methodologies
More informationSoftware Project Models
INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini Email-abhinav.prashar@gmail.com,
More informationSoftware Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng
Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work
More informationAgile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
More informationAgile Projects 7. Agile Project Management 21
Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management
More information3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
More informationSE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki
SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software
More informationCSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
More informationObjectives. The software process. Basic software process Models. Waterfall model. Software Processes
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationXtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda
Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or
More informationThe most suitable system methodology for the proposed system is drawn out.
3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.
More informationIntroduction to Agile and Scrum
Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro
More informationCS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development
More informationTopics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods
Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing
More informationBasic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
More informationA Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
More informationIntroduction to Software Engineering: Project Management ( Highlights )
Introduction to Software Engineering: Project Management ( Highlights ) John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapters 14, 15, and 16 of Object
More informationRapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)
Lifecycle Planning Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart) Version 1.4 David Root, 2005, all rights reserved 1 Topics Who am I to
More informationSoftware development processes Life-cycle Models
Software development processes Life-cycle Models Lecture 2 Kari Systä 20.1.2014 TIE-21100&21106/K.Systä 1 About weekly exercises TUE 1015-1200 TC131 Free space TUE 1214-1400 TC131 full WED 1015-1400 TC163
More informationI219 Software Design Methodology
I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts
More informationSoftware Development Methodologies
Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming
More informationA complete software development process of a general report publication service implemented using Web Services
A complete software development process of a general report publication service implemented using Web Services Anders Nilsson & Klas Fahlberg February 1, 2008 Master s Thesis in Computing Science, 2*30
More informationHamid Faridani (h.faridani@rogers.com) March 2011
Hamid Faridani (h.faridani@rogers.com) March 2011 Introduction Methodologies like Waterfall, RUP and Agile have all become key tools for software developers and project manager s to aid them in delivering
More informationChapter 2 Software Processes
Chapter 2 Software Processes Chapter 2 Software Processes Slide 1 Topics covered Software processes and process models Generic models: Waterfall Incremental development Reuse-oriented software engineering
More informationSurveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
More informationInternational Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise
More informationCOMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS
COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS *1 Mrs. Kalaivani S., * 2 Mrs. Kavitha S., *1 M.Phil Research Scholar, Department of Computer Science Auxilium College (Autonomous), Vellore, TamilNadu,
More informationAgile Development Overview
Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others
More informationIn this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
More informationIntroduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1
COMP209 Object Oriented Programming System Design Mark Hall Introduction So far we ve looked at techniques that aid in designing quality classes To implement a software system successfully requires planning,
More informationAgile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at
More informationSoftware Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
More informationRequirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK
IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational
More informationModels of Software Development
October 28, 2015 Verification & Validation In many computer science courses, software is submitted once, graded, and thrown away. In real life, software development is an process. Some attempts to codify
More informationUsing Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
More informationCHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
More informationAgile Software Development
Agile Software Development Use case for Agile Software Development Methodology in an Oil and Gas Exploration environment. White Paper Introduction No matter what business you are in, there are critical
More informationAnd the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?
System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in
More informationSoftware Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems
Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software
More informationSoftware Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases
Software Processes CSC 221 Introduction to Software Engineering software processes extract from Sommerville s chapter 3 slides Alan Dix Coherent sets of activities for specifying, designing, implementing
More informationSoftware Development Life Cycle Models - Process Models. Week 2, Session 1
Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative
More informationAgile and lean methods for managing application development process
Agile and lean methods for managing application development process Hannu Markkanen 27.01.2012 1 Lifecycle model To support the planning and management of activities required in the production of e.g.
More informationDevelopment Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson
Development Methodologies Development Methodologies Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm
More informationCSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models
CSC 492 The Practice of Software Engineering Lecture 3 University of Mount Union Software Life Cycle Models Software Life Cycle Models Every program (no matter what size) has several distinct phases that
More informationApplying Agile Methods in Rapidly Changing Environments
Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen
More informationD25-2. Agile and Scrum Introduction
D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of
More informationWeb Application Development Process
Web Engineering Web Application Development Process Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements
More informationIn the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
More informationSoftware Lifecycles Models
Software Lifecycles Models Software Engineering Lecture 17 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline of Today s Lecture Modeling the software life cycle Sequential
More informationSoftware Life Cycles and Configuration Management
Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction
More informationTransitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.
Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.com 1 About Coveros Coveros helps organizations accelerate the delivery
More informationAgile and Secure: Can We Be Both?
Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Keith Landrus Director of Technology Denim Group Ltd. keith.landrus@denimgroup.com (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission
More informationSoftware Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
More informationQuality Assurance Software Development Processes
Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed
More informationSoftware development lifecycle
Software Life Cycle Software development lifecycle The power of process How complex is software? What is complex? How complex is software? Measures of complexity: lines of code number of classes number
More informationThe Agile Manifesto is based on 12 principles:
The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered
More informationCHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology
CHAPTER 3 : AGILE METHODOLOGIES 3.1Introductions 3.2 Main Stages in Agile project 3.3 Various Agile Software development methodologies 3.4 Advantage and Disadvantage of Agile Methodology 3.1Introductions
More informationCS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:
CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if
More informationThe Evolving State of ESPM
Foreword Introduction Part One The Evolving State of ESPM xxxi xxxiii 1 Chapter 1 The Changing Landscape of Software Development What Is a Software Development Project? Examples of Two Software Development
More informationAgile methods. Objectives
Agile methods CMSC435-1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods To explain
More informationAgile Project Management. Jan Pool NioCAD University of Stellenbosch 16 April 2008
Agile Project Management Jan Pool NioCAD University of Stellenbosch 16 April 2008 Introduction Objective: Introduce a general Agile Project Management framework. Target Audience: Product, program and project
More informationModellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 16-17 Introduction to software process Software process models,
More informationProject Management. Session 3: Planning
Project Management Session 3: Planning 1 Content 1. Phases in Detail Step-by-step of typical software project 2. Lifecycle Planning 3. Project plans Next Week: Lots of Project-ish Details: WBS, PERT, CPM,
More informationPart 3 Overview. People and Projects. Where it starts. Project Failure Rates. Part III. Verteilte Web-basierte Systeme.
Verteilte Web-basierte Systeme SS 2006 Verteilte Web-basierte Systeme SS 2006 Verteilte Web-basierte Systeme Dr.-Ing. Martin Gaedke Universität Karlsruhe (TH) Part III Aspects of the Life-Cycle Part 3
More information(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
More informationGénie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming
Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus
More informationWhat is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
More informationEMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development
EMC PERSPECTIVE Adopting an Agile Approach to OSS/BSS Development Reader ROI The agile software methodology is different from the traditional approach in that requirements gathering and analysis, design,
More information