COMP 354 Introduction to Software Engineering
|
|
|
- Allyson Chase
- 10 years ago
- Views:
Transcription
1 COMP 354 Introduction to Software Engineering Greg Butler Office: EV Computer Science and Software Engineering Concordia University, Montreal, Canada Winter 2015 Course Web Site: gregb/home/comp354-w2015.html
2 Software Process Introduction The objective of software development is to efficiently and predictably deliver a software product that meets the needs of the community of its stakeholders. A process is a set of ordered steps intended to reach an objective. A software development process (or model) is an approach to building, deploying and maintaining software. The motivation behind defining a process for software development is to manage the size and complexity of software systems.
3 Software Process Introduction No single approach works for all projects (no silver bullet) Various development paradigms exist Common principle Breakdown of a project into manageable components. Breakdown by Activity: Linear Process Model 1 month requirements 1 month analysis 2 month design 2 month coding & testing Breakdown by Functionality: Iterative Process Model 1st iteration has 20% functionality 2nd iteration adds 30% etc.
4 How to Think about SE Activity Audience who will use each deliverable how will they use each deliverable Products/Deliverables what is the aim of the phase, that is, what does it aim to produce Activities what steps are taken in the process of producing the deliverables what information will they extract from each deliverable is it easy for them to find/understand this information How to Review what steps can you take to ensure the quality of each deliverable during the production of the deliverable after the production of the deliverable
5 Typical Activities in Software Development Requirements Design Specification & Modeling Implementation Quality Assurance System Deployment Maintenance Documentation All of these activities must be managed, that involves... planning, coordination, scheduling, cost estimation, measurement, reviewing
6 Requirements Activity Concerned with... Understanding the problem What do users want? What do users need? Describe in user-oriented language why? Requirements form contract between the client and the developer
7 Design Activity Concerned with... How will the software work? How will users interact with the system? How will data be stored and managed? What parts (if any) should be done by hardware? What components (methods, classes, packages, etc.) will we need? How will the components be connected? Bridge between requirements and implementation Design must meet the requirements Design must be technically feasible
8 Specification & Modeling Activity Precise description of... What each component does How components are structured (static models) How each component communicates with other components (dynamic models) Allows many people to work cooperatively on a large project
9 Implementation Activity Write the code Or... In some cases, coding may not even be necessary, because suitable code can be found in libraries or COTS (commercial, off-the-shelf software).
10 Quality Assurance Activity Reviews Inspections Tests unit tests ensures that components work independently integration tests ensure that components work together system tests ensure that the whole system works correctly
11 System Deployment Activity Move the software to client sites Upgrade from previous versions Populate databases, etc Ensure that it works on site Single deployment (customized software) multiple deployment (shrink-wrap software)
12 Maintenance Activity Changes made to the software after delivery correct errors provide upgrades and enhancements adapt to new hardware improve quality without changing functionality Up to 80% of total costs Depends on the availability of up-to-date documentation
13 Documentation Activity All tasks must be documented Documentation is... very important very difficult Poor documentation may lead to failure
14 Linear vs. Iterative Development Process Linear Development Code and Fix Waterfall development model Iterative Development Evolutionary development model Spiral development model Iterative and incremental development Rapid development model Agile development model Cleanroom development model (UnifiedProcess)
15 Code and Fix Used in the earliest days of software development Two steps 1. Write some code 2. Fix the problems with the code Advantage No overhead as it does not entail any activities other than implementation. Disadvantages Does not adhere to solid engineering principles (such as planning, analysis, design, quality control) Code deterioration Often poor match to users needs
16 Waterfall development model Winston R. Royce (1970) Winston R. Royce (1970) Managing the Development of Large Software Systems Linear The model follows a linear path of development Phases Development is seen as flowing steadily downwards (like a waterfall) through the activities (called phases )
17 Waterfall development model
18 Waterfall development model Origins in the manufacturing and construction industries Typically requirements are very well defined Product is delivered in a single version Changes are either very costly or simply impossible. Software system is developed as a whole... and not in incremental releases Proceeds from one phase to the next in a sequential manner Move on to a new phase only once the preceding phase has been fully completed (and perfected) Document-driven Each phase produces a document needed by the subsequent phase
19 Waterfall development model Strengths Facilitates strong management control (plan, staff, track). Documents provide a tangible record of accomplishment Easy to understand and easy to use Milestones are well-understood by the team (at the end of each phase) Provides requirements stability Applicable if both functional and nonfunctional requirements are well defined and the product is planned to be delivered in a single version.
20 Waterfall development model Weaknesses Limited stakeholder feedback little opportunity for customer to preview the system. Only feedback once the system is delivered ( sign-off ) All requirements have to be known upfront Often not feasible as requirements tend to change throughout development Lack of flexibility of changing requirements Risks are not explicitly addressed As such, they can be encountered late in the development Can give a false impression of progress Documents say what people want to hear, not what is actually happening Integration is one big-bang at the end
21 Waterfall development model Add feedback
22 Waterfall development model Protype then do again
23 Spiral development model Boehm (1986) Barry Boehm (1986) A Spiral Model of Software Development and Enhancement First to address the importance of iteration Requirements are defined in as much detail as possible Each iteration follows the waterfall model (and is essentially a mini-project)
24 Spiral development model
25 Spiral development model An iteration contains the following activities 1. Determine objectives; Specify constraints: Define the problem addressed by the current iteration. 2. Generate alternatives: Define solution(s). Identify and resolve risks. Risks are addressed in order of priority. 3. Develop and verify product: Work through requirements analysis, architecture, design, implementation and testing, producing a prototype. 4. Plan: Prepare for the next iteration. 5. Review
26 Spiral development model Each iteration has a purpose Examples: Feasibility Concept Top-level requirements specification Risk-driven nature allows any appropriate mix of: Specification-oriented, prototype-oriented, simulation-oriented or other approach of software development Customization of budget, schedule, effort according to risk Review ensures that all concerned parties are committed to the next phase
27 Spiral development model The spiral model is based on risks. A risk is a potentially adverse circumstance which may impair the development process or the quality of products. In risk management we identify risks and respond to them before they endanger the whole project. 1. identify the risk 2. assess their likelihood and potential impact 3. address the risk by devising a plan to deal with it 4. eliminate the risk by implementing the plan
28 Spiral development model Distance The distance from the origin represents the cost accumulated by the project The angular coordinate indicates the accomplished progress within each iteration Development involves a number of iterations each produces a prototype (whose strengths and weaknesses are evaluated) until eventually an operational prototype is delivered Interim prototypes may or may not be deliverables In its pure form, the model does not have phased releases.
29 Spiral development model Strengths Explicit integration of risk management Applicable for development and maintenance projects Early attention on options involving reuse of existing software Weaknesses Replying on risk-assessment expertise People-dependent Often expensive and lengthy
30 Evolutionary development model Evolutionary prototype Robust prototype which will eventually evolve into the operational system Exploratory (throw-away) prototype Inexpensive prototype which will eventually be discarded rather than becoming part of the final delivered software
31 Iterative and incremental development Main idea Build a system through repeated development cycles and in relative small portions. As a result, the system is successively enlarged and refined though multiple iterations. An iteration represents a complete development cycle and it includes its own treatment of all activities (normally in varying workloads); Each activity produces a set of artifacts Outcome of each iteration is tested and integrated into the executable system
32 Iterative and incremental development Incremental development The complete set of features and high-level requirements is elicited, analyzed and allocated to individual small scale projects before full-scale development begins Allocation done... Based on criticality of requirements Based on stakeholders preference Executable of each iteration is a production subset of the final system Made available to stakeholders in order to obtain feedback Full functionality and the ability to test all requirements cannot be completed until all increments are complete by which time the system is ready for production.
33 Iterative and incremental development Rapid development model Emphasizes very short development cycles Agile development model Light-weight (agile) method (to be discussed on the next slides) Cleanroom development model Prevention of defects by deploying formal methods and stepwise refinement (functional decomposition)
34 Heavy-weight vs Light-weight Development Heavy-weight Light-weight Characteristics Pre-planned approach Heavy regulations and control Low degree of adaptation Infrequent stakeholder feedback Heavily documented Large increments Applicability Large projects using large teams Command controlled environments Characteristics Frequent stakeholder implication Low degree of documentation Complete teamwork and excellent communication Small increments Applicability Smaller projects using small teams Collaborative environments
35 Agile Development Model Light-weight development model Advocate short iterations and rapid customer feedback through: Adding a customer representative to the agile team Progress review at the end of each iteration by stakeholders and the customer representative Follow the Agile Manifesto (next slides) Several instances of the agile model exist, perhaps most popular is extreme programming (XP)
36 Agile Manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer s competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity the art of maximizing the amount of work not done is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
37 Extreme Programming programming in pairs extensive code review unit testing of all code (actually test-driven development) avoiding programming of features until they are actually needed a flat management structure simplicity and clarity in code frequent communication with stakeholders.
38 The Unified Process Created by Rational (IBM) in 1997 Technically not a process... but a framework from which an iterative and incremental development process can be derived Defines 4 sequential phases Inception Defines the scope of the project Elaboration Implements core architecture and critical (high risk, high value) use cases. So as to drive-down the risk of the entire project. Construction Implements secondary (non-critical) use cases. Alpha-testing Transition Deploys the system into production. Beta-testing
39 The Unified Process
40 The Unified Process Key Principles Risk driven Major risks mitigated during inception. All risks mitigated by end of elaboration. Use case driven Use cases capture the functional requirements use cases define the contents of the iterations Each iteration realizes one or many use cases Architecture-centric Elaboration constructs a working architecture.
The 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.
Agile 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
Introduction to Agile Software Development
Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)
SE464/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
TRADITIONAL 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
Advanced Software Engineering. Software Development Processes
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development
Process 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...
CS4507 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
Life 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.
Agile Project Management By Mark C. Layton
Agile Project Management By Mark C. Layton Agile project management focuses on continuous improvement, scope flexibility, team input, and delivering essential quality products. Agile project management
Software 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
Software 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
A 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
How 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
Classical 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
Software 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
CHAPTER_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
Unit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham [email protected] www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
Alternative Development Methodologies
Alternative Development Methodologies The Software Development Process described in the course notes and lecture is a generalized process that been in use for decades. Over this time, scholars in the IT
How 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
CS 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
Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell
ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree
6. 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.
Development. Lecture 3
Software Process in Modern Software Development Lecture 3 Software Engineering i Practice Software engineering practice is a broad array of principles, concepts, methods, and tools that must be considered
Software Development with Agile Methods
Case Study Software Development with Agile Methods Introduction: Web application development is a much studied, heavily practiced activity. That is, capturing and validating user requirements, estimating
Lecture 3 Software Development Processes
Lecture 3 Software Development Processes Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 2, 2008 Lecture Overview
Rapid 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
Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice
Life-Cycle Model Software Life-Cycle Models Xiaojun Qi It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and
SEEM4570 System Design and Implementation Lecture 10 Software Development Process
SEEM4570 System Design and Implementation Lecture 10 Software Development Process Software Development A software development process: A structure imposed on the development of a software product Also
Software 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
Agile 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
Hamid Faridani ([email protected]) March 2011
Hamid Faridani ([email protected]) 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
ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY www.abhinavjournal.com
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) ANALYTICAL COMPARISON AND SURVEY ON TRADITIONAL AND AGILE METHODOLOGY Sujit Kumar Dora 1 and Pushkar Dubey 2 1 Programmer, Computer Science & Engineering, Padmashree
Agile Software Development. Mohsen Afsharchi
Agile Software Development Mohsen Afsharchi I. Agile Software Development Agile software development is a group of software development methods based on iterative and incremental development, where requirements
Manifesto for Agile Software Development
Rocky Mountain Information Management Association Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we
SOFTWARE 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
An 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
10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design
Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development
AGILE vs. WATERFALL METHODOLOGIES
AGILE vs. WATERFALL METHODOLOGIES Introduction Agile and waterfall are two major methodologies that software developers and project managers have the option of using. Some of the goals of developers and
Software Engineering. What is a system?
What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,
ASSESSMENT 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
Processes in Software Development. Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008
Processes in Software Development Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008 Software hall of shame Classic mistakes ACM Code of Ethics
Agile 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
Agile QA s Revolutionary Impact on Project Management
Agile QA s Revolutionary Impact on Project Management Introduction & Agenda Rachele Maurer Agile Coach, Platinum Edge Inc. PMP, CSM, PMI-ACP Agenda A quick overview of agile Current QA practices QA using
A 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
Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP
Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP About Jess BS Applied Physics, WPI / MS Cybersecurity, UMUC PMP, ITIL, Data Scientist, Tableau, Alteryx Project Experience Data and technology Construction
Software 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 protected],
Is Agile or Waterfall the best? The answer is not binary!
White Paper Is Agile or Waterfall the best? The answer is not binary! About this White Paper This paper examines two popular approaches for the management of software development and asks the question;
CSCI-485: Software Design
CSCI-485: Software Design Lecture 6 Note: Some slides adapted from Software Engineering by Ian Sommerville Software Processes Code-and-fix model Software process model used in the early days of computing
CSE 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
Software Requirements and Specification
Software Requirements and Specification Agile Methods SE3821 - Jay Urbain Credits: Beck, K. (1999). Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley. Beck, Kent; et al. (2001).
Outline. The Spiral Model of Software Development and Enhancement. A Risk-Driven Approach. Software Process Model. Code & Fix
The Spiral Model of Software Development and Enhancement Barry W. Boehm, TRW Defense Systems Group 1988 Outline Introduction Previous Models The Spiral Model TRW-SPS Application Advantages and Difficulties
How To Model Software Development Life Cycle Models
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
PMBOK? You Can Have Both! June 10, 2009. Presented by: www.esi-intl.com
Agile or the PMBOK? You Can Have Both! June 10, 2009 Presented by: David M. Sides, Vice President, ESI Consulting Services www.esi-intl.com Agenda June 10, 2009 Pic? Agile Framework Agile Truths & Myths
Introduction to Agile Software Development. EECS 690 Agile Software Development
Introduction to Agile Software Development EECS 690 Agile Software Development Agenda Research Consent Forms Problem with Software Engineering Motivation for Agile Methods Agile Manifesto Principles into
A 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,
Web 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
Agile Methodologies and Its Processes
International Journal of Computational Engineering Research Vol, 03 Issue, 9 Agile Methodologies and Its Processes 1, Akanksha, 2, Akansha Rakheja, 3, Latika Kapur, 4, Kanika Ahuja 1,2,3,, Information
Software 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
Software 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
Increasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
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
In 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
Software Development Processes. Software Life-Cycle Models
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Agile Software Development
Agile Software Development Lecturer: Raman Ramsin Lecture 1 Agile Development: Basics 1 Software Development Methodology (SDM) A framework for applying software engineering practices with the specific
Lifecycle Models: Waterfall / Spiral / EVO
Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software
And 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
(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
Software 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
Agile Project Management
Agile Project Management Projekt-Kick-Off-Tage Hochschule Augsburg Martin Wagner, 15. März 2011 TNG Technology Consulting GmbH, http://www.tngtech.com Agile project management with Scrum Agenda Software
Agile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013
Agile Overview 30,000 perspective Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013 Agenda 30,000 Perspective The Players Initiating a Project Agile Estimating Agile Communications
Rapid 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
Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development
Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort
Software 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
In 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
CSSE 372 Software Project Management: Managing Agile Projects
CSSE 372 Software Project Management: Managing Agile Projects Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: [email protected] XKCD Reference Learning Outcomes: Plan Create a plan
LEAN AGILE POCKET GUIDE
SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies
Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities
Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different
Role of Agile Methodology in Software Development
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 10, October 2013,
Foundations of software engineering
Foundations of software engineering Waterfalls, V s and Spirals: Standard SE Methodologies Dr. Julie Greensmith G51 Objectives To introduce three of the major software process models: Waterfall methods
Agile Project Management with Scrum
Agile Project Management with Scrum Resource links http://www.agilealliance.org/ http://www.agilemanifesto.org/ http://www.scrum-master.com/ 1 Manifesto for Agile Software Development Individuals and interactions
What 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
Software 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
Redesigned Framework and Approach for IT Project Management
Vol. 5 No. 3, July, 2011 Redesigned Framework and Approach for IT Project Management Champa Hewagamage 1, K. P. Hewagamage 2 1 Department of Information Technology, Faculty of Management Studies and Commerce,
Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan
Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering Shvetha Soundararajan Thesis submitted to the faculty of the Virginia Polytechnic Institute and State University
Software Process for QA
Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called
Software Life Cycle Processes
Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more
Gé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
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, [email protected] 2 Faculty
Software 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
Software 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
Test Cases Design for Software Database Provisioning Development
Test Cases Design for Software Database Provisioning Development Sunguk Lee Research Institute of Industrial Science and Technology Pohang, Gyeongbuk, South Korea [email protected] Abstract This paper
Waterfall vs. Agile Methodology
2012 Waterfall vs. Agile Methodology Mike McCormick MPCS, Inc. Revised Edition 8/9/2012 Contents Waterfall vs. Agile Model Comparison...3 Conceptual Difference...3 Efficiency...4 Suitability...4 Waterfall
werteorientierte Unternehmenskultur
Echte Agilität erfordert eine werteorientierte Unternehmenskultur Jutta Eckstein Thomas Walker, CMC Seite 1 Goals of Today The main question of the day: The role of software development in relation with
Software Project Management using an Iterative Lifecycle Model
Software Corporation Software Project Management using an Iterative Lifecycle Model 1 Objectives of this Presentation To understand what the Unified Process is To understand the iterative lifecycle approach
Surveying 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
