24-January-2003cse403-07-SystemRequirements © 2003 University of Washington1 System Requirements CSE 403, Winter 2003 Software Engineering

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

HCI in the software process Chapter 6
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Design Concepts and Principles
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Introduction to Software Engineering Dr. Basem Alkazemi
Analysing Letters 1.Do the documents do the job they were intended to do? Are they informative, persuasive or information gathering? 2.Is the layout right.
Copyright © 2003 by The McGraw-Hill Companies, Inc. All rights reserved. Business and Administrative Communication SIXTH EDITION.
Software Testing and Quality Assurance
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Introduction to Software Engineering
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
Software Requirements
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
© Lethbridge/Laganière 2001 Chapter 7: Focusing on Users and Their Tasks1 7.1 User Centred Design (UCD) Software development should focus on the needs.
© Copyright Eliyahu Brutman Programming Techniques Course.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Chapter 6: The Traditional Approach to Requirements
© 2009 Mathew J. Sottile, Timothy G. Mattson, and Craig E Rasmussen 1 Concurrency in Programming Languages Matthew J. Sottile Timothy G. Mattson Craig.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
The Software Development Life Cycle: An Overview
Model the User Experience Today:  Detail some Use Cases  Develop a storyboard of the use cases  Sketch mock-ups of the use case's information requirements.
Chapter 2 The process Process, Methods, and Tools
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Agile Modeling Theory. 2 Agile Modeling (AM) AM is a chaordic, practices-based process for modeling and documentation AM is a collection of practices.
Business Analysis and Essential Competencies
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
Software Requirements Presented By Dr. Shazzad Hosain.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Software Requirements Engineering CSE 305 Lecture-2.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Introduction to ArcGIS for Environmental Scientists Module 1 – Data Visualization Chapter 4 - Layouts.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
User Support Chapter 8. Overview Assumption/IDEALLY: If a system is properly design, it should be completely of ease to use, thus user will require little.
UML-1 3. Capturing Requirements and Use Case Model.
UML-1 8. Capturing Requirements and Use Case Model.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Writing requirements specifications. Why we need requirements specifications To give structure to your desires To avoid waste of resources To avoid slippage.
Requirement Handling
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
22-January-2003cse FunctionalSpecs © 2003 University of Washington1 Functional Specs CSE 403, Winter 2003 Software Engineering
By Germaine Cheung Hong Kong Computer Institute
Requirements Validation
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Requirement Engineering
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
Requirement Specification SRS document is a contract between the development team and the customer How do we communicate the Requirements to others? Firm.
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Software Engineering Developing Requirements. © Lethbridge/Laganière 2001 Chapter 4: Developing requirements2 4.1 Domain Analysis The process by which.
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Chapter 6 The Traditional Approach to Requirements.
Software Requirements
Writing Requirements Lecture # 23.
Software Life Cycle Models
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Presentation transcript:

24-January-2003cse SystemRequirements © 2003 University of Washington1 System Requirements CSE 403, Winter 2003 Software Engineering

24-January-2003cse SystemRequirements © 2003 University of Washington2 References »The Mythical Man-Month, Brooks »Chapter 7, Before the Project, The Pragmatic Programmer, Hunt & Thomas »Structuring Use Cases with Goals, A. Cockburn »Use cases in theory and practice, A. Cockburn

24-January-2003cse SystemRequirements © 2003 University of Washington3 System Requirements Essential features of the system »defined at a level appropriate to the spin cycle »capabilities, interfaces, reliability levels, appearance »Easy to change early on, grows increasingly more difficult Customer’s involvement very important »they know the domain of interest far better than you do »what fits with their daily work and life patterns »what might the future bring Neither you nor the customer know everything »try to build joint ownership of the process »open communication can make change more acceptable

24-January-2003cse SystemRequirements © 2003 University of Washington4 What does the customer want? Better products for free »Scott Adams Many customers exist for any single product »purchaser, user, user’s management, support, etc Write down attributes of expected user set »Who they are »What they need »What they think they need »What they want

24-January-2003cse SystemRequirements © 2003 University of Washington5 Attributes have a distribution Attributes of the user set are distributions »many possible values »each value with its own frequency The design will not meet all requirements of all members of the user set all the time »Postulate a complete set of attributes and frequencies »develop complete, explicit, shared description of users »It is better to be explicit and wrong than to be vague FPBrooks, MMM

24-January-2003cse SystemRequirements © 2003 University of Washington6 “Complete” Requirements You want to write down every requirement for every user of every aspect of the program »It’s not possible, there isn’t enough time or money You have to find a balance »comprehendible vs. detailed correctness »graphics vs. explicit wording and tables »short and timely vs. complete and late Different approaches for different parts are okay

24-January-2003cse SystemRequirements © 2003 University of Washington7 Modularity, not a “pile of paragraphs” Split the information by point of view and adapt the documentation style as appropriate »Business functions top level mission of application (text, graphics, Flash?) specific functions that must be implemented (use case) »Context drawings, text, references to interface standards »User Interface text goals, sample layouts, some prototypes »Performance and Reliability text goals, specific metrics for space, time, CPUs,...

24-January-2003cse SystemRequirements © 2003 University of Washington8 Concise is nice All the details are necessary at some point »but only some of the details are relevant right now Arrange the requirements so that the reader can drill down in areas of interest without having to pick out the details from chaos »Data flow graphics for top-level orientation »Tabular presentation of specific metrics The lower the level, the more structured »eg, Scenarios vs. Use Cases

24-January-2003cse SystemRequirements © 2003 University of Washington9 Use Cases Use cases address “how to make functional requirements readable, reviewable” »As an expression “use case” is immediately attractive because the term implies “the ways in which a user uses a system” “I have personally encountered over 18 different definitions of use case”, A. Cockburn “True use cases are textual descriptions, with a hierarchy and cross-links.”, Hunt & Thomas

24-January-2003cse SystemRequirements © 2003 University of Washington10 Use case dimensions Purpose »To gather user stories, or build requirements? values are stories, or requirements Contents »Consistent, or can they be self-contradicting? contradicting, consistent prose, formal content Plurality »Does a use case contain more than scenario? 1 or multiple Structure »Informal structure or formal structure? unstructured, semi-formal, formal structure A. Cockburn

24-January-2003cse SystemRequirements © 2003 University of Washington11 One choice Consistent, semi-formal documentation of requirements »Purpose = requirements »Contents = consistent prose »Plurality = multiple scenarios per use case »Structure = semi-formal A. Cockburn

24-January-2003cse SystemRequirements © 2003 University of Washington12 What is a use case? Sequence of interactions between the system under discussion and its external actors, related to a particular goal »An action connects one actor’s goal with another’s responsibility »An interaction is simple or compound »Scenarios and use cases go until goal success or abandonment A. Cockburn

Cockburn’s use case template

24-January-2003cse SystemRequirements © 2003 University of Washington14 Sample use case Pragmatic Programmer

24-January-2003cse SystemRequirements © 2003 University of Washington15 Sample continued Pragmatic Programmer

24-January-2003cse SystemRequirements © 2003 University of Washington16 Overspecifying The simplest statement that accurately reflects the business need is best »Requirements are not architecture or design »Requirements are need Overspecified requirements are dangerous »they cannot be understood »they will not be read »they will rot »and they will be wrong

24-January-2003cse SystemRequirements © 2003 University of Washington17 Requirements are fun This is the time when you have the most power to create a successful project »you can change direction with the stroke of a pen »you can re-architect the moment you gain a deeper understanding of the true need »you can apply all the design tools and experience in your tool chest to finding ways to enable what is now only a dream for the customer Plus, you learn about a new knowledge domain!