1 CSE 403 Software Requirements Reading: Pragmatic Programmer Ch. 7: Before the Project These lecture slides are copyright (C) Marty Stepp, 2007, with.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Requirements
Software Requirements
Introduction to Software Requirements.  It depends who you ask…  Requirements try to describe the whole system you are creating.  You need to decide.
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
Software Requirements Thomas Alspaugh ICS Nov 5.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
SWE Introduction to Software Engineering
Software Requirements
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
CS 425/625 Software Engineering Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
SE 555 – Software Requirements & Specifications Introduction
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
S R S S ystem R equirements S pecification Specifying the Specifications.
1 CSE 403 Software Requirements and Use Cases Reading: Writing Effective Use Cases A. Cockburn These lecture slides are copyright (C) Marty Stepp, 2007,
1 CSE 403 Classic Mistakes Reading: Rapid Development Ch3 These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from.
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.
Requirements Analysis
SoITSSpecifications of IT systems? 1 Specifications of IT systems checking and validating Jens Bennedsen and Peter Gorm Larsen
CSCI 6231 Software Engineering ( Chapter 10?) Requirements Workflow Instructor: Morris Lancaster.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
1 CSE 403 Software Requirements and Use Cases Reading: Writing Effective Use Cases A. Cockburn These lecture slides are copyright (C) Marty Stepp, 2007,
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
Software Requirements Presented By Dr. Shazzad Hosain.
Pragmatic Programmer Ch. 8.41
What are Requirements?. "The hardest single part of building a system is deciding what to build... No other part of the work so cripples the resulting.
Software Requirements Engineering: What, Why, Who, When, and How
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
1 CSE 403 Introduction Reading: Rapid Development Ch3.3 These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from slides.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Systems Development Life Cycle
1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Software Engineering REQUIREMENT ENGINEERING. Software Engineering Phases.
Requirements CSE Lecture outline What are requirements? How can we gather requirements? How can we document requirements? Use cases.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
System Requirements Specification
BTS330: Business Requirements Analysis using OO Lecture 1: Introduction to Software Requirements.
1 CSE 403 Team Dynamics Reading: Rapid Development Ch. 13, Pragmatic Programmer Ch These lecture slides are copyright (C) Marty Stepp, 2007, with.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Software Engineering Lecture 10: System Engineering.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Appendix B: Getting Started in Systems Analysis and Design.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Software Requirements Descriptions and specifications of a system.
Software Engineering, COMP201 Slide 1 Software Requirements.
Software Quality Control and Quality Assurance: Introduction
Classifications of Software Requirements
Presentation on Software Requirements Submitted by
Chapter 5 – Requirements Engineering
Software Requirements
CSE 403 Lecture 3 Software Requirements Reading:
System Requirements Specification
Software Requirements
“Would I have to do this all by myself …….?”
Requirements Analysis
Software Engineering Furqan Rustam.
Software requirements
Software Engineering Lecture #3
CSE 403 Scheduling These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from slides written by Valentin Razmov. They.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

1 CSE 403 Software Requirements Reading: Pragmatic Programmer Ch. 7: Before the Project These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from slides written by Valentin Razmov. They may not be rehosted, sold, or modified without expressed permission from the author. All rights reserved.

2 Lecture outline Requirements definition classifications Use cases

3 Big questions What are requirements? How do we "gather" requirements? Once we know some of the requirements, how do we write them down and document them? In how much detail should we specify them? (What is "the DRY principle"? The "Boiled Frog Syndrome?")

4 F. Brooks quote "The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is so difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later. Therefore the most important function that software builders do for their clients is the iterative extraction and refinement of the product requirements." -- Fred Brooks, The Mythical Man-Month

5 Software requirements requirements: specify what to build "what" and not "how" the system design, not the software design the problem, not the (detailed) solution roles of requirements customers: show what should be delivered; contractual base managers: a scheduling / progress indicator designers: provide a spec to design coders: list a range of acceptable implementations / output QA / testers: a basis for testing, validation, verification

6 Classifying requirements The classic way to classify requirements: functional: map inputs to outputs "The user can search either all databases or a subset." "Every order gets an ID the user can save to account storage." nonfunctional: other constraints performance, dependability, reusability, safety "Our deliverable documents shall conform to the XYZ process." "The system shall not disclose any personal user information." Another way to classify them (Faulk) behavioral: about implementation; can be measured features, performance, security development quality attributes: part of internal construction flexibility, maintainability, reusability (more subjective)

7 Cockburn's requirements list Requirements Outline (p13-14) - good template of all func. requirements 1.purpose and scope 2.terms / glossary 3.use cases 4.technology used 5.other 5a.development process - participants, values (fast-good-cheap), visibility, competition, dependencies 5b.business rules / constraints 5c.performance demands 5d.security (now a hot topic), documentation 5e.usability 5f.portability 5g.unresolved / deferred 6.human issues: legal, political, organizational, training