1 12/5/2015ã 2007, Spencer Rugaber Software Engineering Software engineering is concerned with the production of large scale software artifacts by teams.

Slides:



Advertisements
Similar presentations
Diane Pozefsky. Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will start)
Advertisements

Object-Oriented Software Development CS 3331 Fall 2009.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
Process- Related Requirement Management By Viswaketan Reddy.
COMP 6710 Course NotesSlide 2-0 Auburn University Computer Science and Software Engineering Course Notes Set 2: Software Process Models Computer Science.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
CHAPTER 17 Building Software to Support an Agile Organization
Difference between project and other assignments real customer before programming: negotiations with client to clarify requirements often changes.
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
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 Life Cycle (SDLC)
1 KAN’S INTRO AND OVERVIEW MODELS Ch1 & 2 in his book Steve Chenoweth, CSSE.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
PGD-1303 Software Project Management?. What is software? Software  Computer programs and associated documentation Documentation includes  requirements.
Chapter 2 The process Process, Methods, and Tools
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Lecture 1 Introduction to Software Engineering
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
An Introduction to Software Engineering. What is Software?
Software Process Models
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Lifecycles and Methodologies.
Software Development Overview CPSC 315 – Programming Studio Spring 2013.
Solar Tech Chuck Hess, CEO Jamie Tofte, CFO Christina Cruz, CTO.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Cost and Benefit Analysis Choosing a SPI Method for Maximum Return on Investment (ROI) David F. Rico.
1/2/12 Chapt 2 Iterative Evolutionary Agile. 1/2/12 (Rational) Unified Process A software development process – Flexible and open Other processes – XP.
XXX, Inc. 1 Technical Capabilities  Requirements Engineering  Analysis and Design  Implementation  Quality Assurance  Project Life Cycle  Requirements.
Teaching slides Chapter 2. Chapter 2 Software Engineering Methodologies Introduction Why a methodology? Agile methodologies Waterfall model Rational Unified.
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.
10 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Group iv MBARARA UNIVERSITY OF SCIENCE AND TECHNOLOGY INSTITUTE OF COMPUTER SCIENCE DEPARTMENT OF COMPUTER SCIENCE COURSE: BACHELOR OF COMPUTER SCIENCE.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Slide #18-1 Introduction to Assurance CS461/ECE422 Fall 2008 Based on slides provided by Matt Bishop for use with Computer Security: Art and Science.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
Systems Development Process and Methodologies Dr. T. Ravichandran.
Advanced Software Engineering Dr. Cheng
Software Engineering cosc 4359 Spring 2017.
Software Development Methodologies
Software Development.
Teaching slides Chapter 2
AGILE SCRUM METHODOLOGY
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
The Web Application Development Process Models
Software Life Cycle “What happens in the ‘life’ of software”
Software Quality assurance SQA – SWE 333
Software Development Life Cycle
Introduction to Software Engineering
Software Development Process
Chapt 2 Iterative Evolutionary Agile.
Overview: Software and Software Engineering
Basic SDLC Models SDLC  System Development Life Cycle.
Chapter 4: Software Process Models
Software Development Process
Presentation transcript:

1 12/5/2015ã 2007, Spencer Rugaber Software Engineering Software engineering is concerned with the production of large scale software artifacts by teams of individuals Software engineering is the application of science and mathematics by which the capabilities of computer equipment are made useful to man via computer programs, procedures, and associated documentation -- B. Boehm Software engineering... is the part of computer science that is too difficult for the computer scientists -- F. L. Bauer

2 12/5/2015ã 2007, Spencer Rugaber What is a Process?

3 12/5/2015ã 2007, Spencer Rugaber What is a Process? A series of activities with a means for determining progress

4 12/5/2015ã 2007, Spencer Rugaber Software Process The related set of activities and processes that are involved in developing and evolving a software system -- Summerville Process assessment –ISO 9000 –Capability Maturity Model (CMM) Software process improvement –Software Process Improvement Networks (SPIN) –Software Engineering Process Groups (SEPGs)

5 12/5/2015ã 2007, Spencer Rugaber Why Use a Process?

6 12/5/2015ã 2007, Spencer Rugaber Why Use a Process? Management control Reuse of tools, education and artifacts Repeatable quality and productivity

7 12/5/2015ã 2007, Spencer Rugaber Increase in Cost-to-Fix or Change Software throughout the Life Cycle Requirements DesignCodeDevelopment test Acceptance test Operation [Boehm, 1980] Smaller software projects IBM-SSD GTE SAFEGUARD 80% 20% Median (TRW survey) Phase in which error was detected and corrected (Source : Software Engineering Economics - Boehm)

8 12/5/2015ã 2007, Spencer Rugaber Real World Software Process 1.Order the T-shirts for the development team 2.Announce product availability 3.Write the code 4.Write the manual 5.Hire a product manager 6.Spec the software (writing the specs after the code helps to ensure that the software meets the specifications) 7.Ship 8.Test (the customers are a big help here) 9.Identify bugs as potential enhancements 10.Announce the upgrade program

9 12/5/2015ã 2007, Spencer Rugaber Popular Processes 1.Waterfall 2.Personal Software Process (PSP) / Team Software Process (TSP) 3.Unified Software Process (USP) / Rational Unified Process (RUP) 4.Cleanroom Software Engineering 5.Extreme Programming (XP) / Agile Methods