Software Engineering for Capstone Courses Richard Anderson CSE 481b Winter 2007.

Slides:



Advertisements
Similar presentations
Requirements for a UI Test Framework Stanislaw Wozniak Bernie Miles.
Advertisements

Prescriptive Process models
CS487 Software Engineering Omar Aldawud
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Engineering.
CSE 403 Lecture 8 Risk assessment. Lecture goals Understand risk management and assessment techniques Guarding against failure to meet delivery deadline,
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Introduction to Software Engineering Dr. Basem Alkazemi
Software Engineering COMP 201
29 Jul 2005CSE403, Summer'05 Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student.
Software Engineering General Project Management Software Requirements
8 Systems Analysis and Design in a Changing World, Fifth Edition.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Course Retrospective Richard Anderson CSE 403 Lecture 27.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
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.
Risk management in Software Engineering T erm Paper By By Praveenkumar Sammita Praveenkumar Sammita CSC532 CSC532.
Software Engineering Methodologies (Introduction)
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.
Instructor: Peter Clarke
Installation and Maintenance of Health IT Systems
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
An Introduction to Software Engineering. Communication Systems.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
CSE 490RA Richard Anderson Chris Mason. Course goals For students  Programming experience on Tablet PC  UI and Design experience  Work in team  Develop.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
 Chapter 1: Introduction NET481: Project Management Afnan Albahli.
Software Prototyping Rapid software development to validate requirements.
Empirical Estimation Models Based upon historic data Basic Structure E = A + B * (ev) C where A, B, c are empirical constants ‘ev’ is the effort in terms.
An Introduction to Software Engineering (Chapter 1 from the textbook)
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
IS444: Modern tools for applications development Dr. Azeddine Chikh.
CSE 403 Lecture 9 Risk assessment. Is software different? Submit a one sentence answer.
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
The Software Lifecycle Stuart Faulk. Definition Software Life Cycle: evolution of a software development effort from concept to retirement Life Cycle.
Advanced Software Engineering Dr. Cheng
Lecture 3 Prescriptive Process Models
Chapter 18 Maintaining Information Systems
Software Processes (a)
CSE 403 Software Engineering
CSE403 Software Engineering Autumn 2000 Requirements
CSE 403, Software Engineering Lecture 2
Introduction to Software Engineering
Rational Unified Process
Chapter 2 – Software Processes
CSE 403, Software Engineering Lecture 2
CSE403 Software Engineering Autumn 2000 Requirements
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Logical Architecture & UML Package Diagrams
Presentation transcript:

Software Engineering for Capstone Courses Richard Anderson CSE 481b Winter 2007

Announcements HW 2, Due Thursday, Jan 19 Presentations, Tuesday Jan minute presentation + 3 minutes discussion PowerPoint slides Group order: A, B, C, D

Today’s lecture Software Engineering vs. Computer Science Software Life Cycle Requirements Risk Analysis

Key aspects of software engineering Large scale projects Long lasting projects External constraints E.g., Make money, Support a business process, Don’t kill anyone Life cycle that includes many non- programming activities

SE for Capstone Courses Process Useful Partial Life Cycle Realistic Challenge Meet a Delivery Software Engineering Computer Science

Life Cycle

Life Cycle (McConnell) System specification Requirements Analysis Architectural Design Detailed Design Coding and Debugging Unit testing System testing Maintenance

Life Cycle (CSE 403 course slides)

Requirements on requirements Who are they for? What are they for? Pitch to management Fodder for market study Basis for legal contract Easy to understand, concise, complete, unambiguous,...

Requirements "Gather and document the functions that the application should perform for the users in the users' language and from the users' perspective" Requirements should neither constrain nor define methods of implementation

Customers (Almost) every large software project has a customer who is paying the bills Project requirements driven by this customer

Approaches to requirements Personas Scenarios Use cases

Project Pitch What you are going to do What value it delivers to the customer What is the novelty What are the risks

Is dog food good for you? Dog food (verb), to use your own software

Risk Exposure to the chance of injury or loss For a software project: Failure to deliver on time Exceeding resource limits Not meeting quality threshold

Risk analysis Types of Risk Code Development External Dependency Technology Personnel Requirements Change

Sources of Risk I Development risks Code harder to develop than thought Learning curve on new facilities Expected facilities not available Need to iterate on requirements / design Performance Issues Trigger other bugs

Sources of Risk II Integration risks Parts don't fit together Integration reveals bugs Integration reveals design errors Need to rewrite code after integration Code left out

Sources of Risk III Testing risks Bugs will be found Bugs won't be found Complexity of testing matrix Deployment beyond development machines Difficulties in test automation and test tools UI and Workflow feedback

Sources of Risk IV Requirements Risks New requirements introduced Change in Specification Inconsistencies in requirements User feedback Market conditions Platform and technology changes

Sources of Risk V Deployment Risks Packaging distributable Rights and licensing of components Legal signoff Marketing signoff Systems configuration

Sources of Risk VI People risks Unexpected Loss of Personnel Illness Vacation Other demands on time Group friction Inaccurate evaluation of skills Drop in performance

What to do with risk analysis Avoid the risk Transfer risk off the critical path Buy information Bring in outside help Prototype Publicize risk The sky is falling Schedule to accommodate some risk Monitor risks as project progresses