Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.

Slides:



Advertisements
Similar presentations
PROCESS FRAMEWORK Lecture - 3. Topics covered PROCESS FRAMEWORK PROCESS MODELS DIFFERENCE.
Advertisements

2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Computer Science Department
National Association for Regulatory Administration September 13, 2011 IT’s NOT Like Building a House Mark Parker (800)
Software Process Models
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
CSC 480 Software Engineering
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Copyright © Texas Education Agency, Computer Programming Software Life Cycle.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
Object-oriented Analysis and Design
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
COMP 350: Object Oriented Analysis and Design Lecture 2
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions.
CIS 321—IS Analysis & Design
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
Chapter 2 The process Process, Methods, and Tools
Current Trends in Systems Develpment
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
CS361 Winter 2013 Final Exam Review Software Engineering I Oregon State University.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
CSE 308 Software Engineering Software Engineering Strategies.
Writing Functional Specifications
Building Information Systems & Managing Projects.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
© 2010 Bennett, McRobb and Farmer1 Development Process Based on Chapter 5 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Request for Proposal (RFP)
September 30, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Software Project Management Iterative Model & Spiral Model.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
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.
Teaching slides Chapter 2. Chapter 2 Software Engineering Methodologies Introduction Why a methodology? Agile methodologies Waterfall model Rational Unified.
By : Hisham Kahlifa Shreef Foda Khaled monir Tamer medhat Supervisor : Dr Doaa Nabil.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Week # 4 Quality Assurance Software Quality Engineering 1.
Request for Proposal (RFP) In response to the RFP – the first step is to prepare a proposal 1. Review Customer Requirements and come up with candidate.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
4.2 SOFTWARE DEVELOPMENT METHODOLOGGY PRESENTED BY : AZURA IBRAHIM SYARIFAH SYAZA BTE SEYD ZULKAFLY CS230(5A)
Plan-Driven Processes Emerson Murphy-Hill. The Planning Spectrum 2 Source: Barry Boehm “Get Ready For Agile Methods, With Care,” IEEE Computer, Jan 2002.
The Software Development Process. Contents  Product Components  Software project staff  Software development lifecycle models.
Development Process Based on Chapter 5 Bennett, McRobb and Farmer
Software Development - Methodologies
Teaching slides Chapter 2
Methodologies and Algorithms
Computer Programming Software Life Cycle.
School of Business Administration
Systems Analysis & Design N106
Software Engineering Lecture 09 & 10.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Software Development Overview
Presentation transcript:

Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models

What is a software product ?

The software CD-ROM is just one of the many pieces that make up a software product

What is a software product?

Note

What Effort Goes Into a Software Product ? Artifact: any Software product component created during the life cycle Deliverable: Software product component that is created and passed on to the customer

What Effort Goes Into a Software Product?

Customer Requirements: –What features the software product should have. Specifications: –The format of specifications varies greatly –A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Schedules: –A Gantt chart is a bar chart that shows a project's tasks against a horizontal timeline Software Design Documents : –Architecture –Data Flow Diagram Test Documents : –The test plan –Test cases –Bug reports

Software Development Life Cycle Activities Architecture Design Structured by code... Source Code Implemented by Physical DFD Realized by Logical DFD Expressed in terms of Test Cases ? Verified By class.... ? Requirements System Design Detailed Design Implemen- tation Testing Requirements Elicitation Analysis

Software Project Staff Project managers –Write the project proposal & manag the schedule Architects –Design the overall systems Programmers –Write software and fix the bugs Testers –Find and report problems in the software product. Technical writers –Create paper and online documentation that comes with a software. Configuration management or builder –Put it all together into a single package QA (Quality Assurance)

Software Development Lifecycle Models Big-Bang Model –little if any planning, scheduling, or formal development process. –Testing is done when the product is complete Code-and-Fix Model (software prototyping) –starts with a rough idea of what they want, does some simple design –proceeds into a long repeating cycle of coding, testing, and fixing bugs. –At some point they decide that enough is enough and release the product. –show results immediately.

Code-and-Fix Model

Software Development Lifecycle Models Waterfall Model –Moves down a series of steps starting from an initial idea to a final product. –At the end of each step, the project team holds a review to determine if they're ready to move to the next step. –The steps are discrete; there's no overlap –Clear specification of what the product will do

Waterfall Model

Software Development Lifecycle Models Spiral Model (Barry Boehm) –Each time around the spiral involves 4 steps: 1.Determine objectives, alternatives, and constraints. 2.Identify and resolve risks and evaluate alternatives. 3.Develop and test the current level. 4.Plan the next level and decide on the approach for the next level.

Spiral Model

Software Development Lifecycle Models Agile Software Development –Iterative and Incremental development –Other names: Unified Process, Scrum, Extreme Programming, Rapid Prototyping. –Break tasks into small increments with minimal planning –Each iteration involves a team working through a full software development cycle –Routine and formal daily face-to-face communication among team members –Customer collaboration

Agile Software Development

Quiz 1.Name several tasks that should be performed before a programmer starts writing the first line of code 2.Why can the waterfall method be difficult to use? 3.When using the code-and-fix model, how do you know when the software is ready to release? 4.Which model would the software tester like?