Requirements 101 CS3300 Fall 2015.

Slides:



Advertisements
Similar presentations
Team Skill 5: Refining the Use Cases Lecture 11. Advantages of Use Cases They are easy to write Written in users language Provide cohesive, related threads.
Advertisements

Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
Evaluating Requirements
Chapter 5 Understanding Requirements
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Evaluating Requirements
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Requirements Analysis Concepts & Principles
Requirements (recap)‏
SE 555 Software Requirements & Specification Requirements Validation.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Evaluating Requirements
SE 555 – Software Requirements & Specifications Introduction
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Non-functional requirements
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Lecture 7: Requirements Engineering
Requirements Gathering How do we find out what we are supposed to be building?
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Requirements Validation CSCI 5801: Software Engineering.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Requirement Handling
Requirements Engineering Overview Senior Design Don Evans.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
IS550: Software requirements engineering Dr. Azeddine Chikh 2. Functional and non-functional requirements.
Chapter 4 Software Requirements
CT1404 Lecture 2 Requirement Engineering 1 1. Today's Lecture Definition of a Software Requirement Definition of Software Requirements Management Characteristics.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
By Germaine Cheung Hong Kong Computer Institute
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Week 3: Requirement Analysis & specification
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Evaluating Requirements
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
CS223: Software Engineering Lecture 8: Requirement Engineering.
©2001 Southern Illinois University, Edwardsville All rights reserved. Today Putting it in Practice: CD Ch. 20 Monday Fun with Icons CS 321 Human-Computer.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Requirements Gathering
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Requirement Discipline Spring 2006/1385 Semester 1.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
 System Requirement Specification and System Planning.
Pepper modifying Sommerville's Book slides
Classifications of Software Requirements
Chapter 4 – Requirements Engineering
Chapter 4 Requirements Engineering (1/3)
Requirement Engineering
UNIT II.
Chapter 5 Understanding Requirements.
Requirements gathering
Presentation transcript:

Requirements 101 CS3300 Fall 2015

Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Definition A property or behavior that a software system must have to solve a particular problem. Functional and Non-Functional Requirements Characteristics: Correct, Complete, Unambiguous, Testable, Consistent

Requirements are what the system has to do NOT how it will do it. Most Important Idea Requirements are what the system has to do NOT how it will do it.

Key words Shall, Must – some the system is required to do Should – a preferred but optional feature May – a nice to have feature You have to do all the “shalls”. The more of the “shoulds” that you can do, the more happiness you give the customer. “Mays” usually are customer suggestions, but you don't have to follow them.

Quality Function Deployment Ideas Normal Requirements – objectives stated by customer Expected Requirements – implicit to the product (ease of use, ease of installation) Exciting Requirements – exceeding the customer expectations

Some Examples, are they good or bad? 4.1.3 The software shall be easy to use. 3.1.1.2 The quarterly report view shall show the total sales for the quarter in a prominent place. 3.3.2.1 User login shall be accomplished in no more than 1 second.

More Examples 3.2.1.4 The software shall enforce a user id format of 4-8 characters, one of which must be a letter, at least one must be a symbol and at least one must be a digit. 3.2.1.5 Each user id must be unique. 3.5.4.1.1.1 The report shall display information such as name, ssn, and amount due.

Your turn Write one good requirement for t-square. There is a piazza thread for you to enter.

Non-Functional Requirements Performance (Are there constraints on speed, memory usage, etc) Reliability (Mean Time Between Failure) Availability (What is required up time?) Portability (What platforms does this have to run on?) Interoperability (What other systems do you need to play nice with?) Accuracy (What precision does data need?)

More NFR's Maintainability (Special constraints on operating the system) Extensibility (Run time modification of the system – like Eclipse plug-in system) Expandability (Add new features, hooks and design) Safety (Fault tolerance and hazard analysis) Security (threat models and analysis) ( http://www.sans.org/top25-software-errors/ )

Big Problem Getting good requirements is HARD Thus was invented numerous techniques beyond the basic interview / survey / observation / document review Conflict resolution is also a major issue Identifying hidden affordances and work processes

Techniques Joint Applications Development (IBM 77-84) Contextual Design (Holtzblatt and Beyer 98) Win Win (Boehm 98)

JAD Capers Jones states, "A study of over 60 projects ... showed that those projects that did not use JAD missed up to 35% of required functionality resulting in the need for up to 50% more code." The Capers Jones study determined that projects that used JAD missed only 5 percent to 10 percent of required functionality with minimal impact on the code. ·David Freedman states, "How do you design a system that users really want? ... You can't. What you can do is help users design the systems they want." ·"The successful use of JAD has pushed its use beyond traditional applications of the process. JAD is being used successfully for strategic systems and data planning, as well as for projects outside the IS community."—General Electric

Contextual Design Assumptions Challenge of design is to fit system into everyday life – be non-intrusive Social aspects are as important as technical aspects Systems impose a model of work on the users Good design = optimal match between user's desired way of doing work and the model imposed by the system. Design depends on seeing implications of data System is more important than individual features

Design Models Flow Diagram – Communication and Coordination necessary to do the work Sequence Model – Detailed work steps to achieve an intent Artifact Model – Physical things created to support work Cultural Model – Constraints on work due to policy, culture or values Physical Model – Physical structure of the work environment and it affects the work. Consolidated Models All the above plus Affinity Diagram – Pull key concepts out of other models, group together by similarity

Theories of Management Theory X – Employees are basically lazy, require close supervision Theory Y – Employees want to do the right thing, managers just have to provide environment, can cause conflicts Theory Z – Increase loyalty by providing stable enviroment, focus on employee well-being, build shared values to reduce conflict

Win Win Theory W – figure out win conditions of employees and meet them. What are the win conditions of stakeholders? How can we make everyone win? Boehm Paper in readings Resolve conflicts

Specification The SDS - oriented to the users The SRS – oriented to the developers See format in resources

Validation Requirements Review Prototype Use Case Walkthrough Acceptance Tests Model Validation

Control Gold-Plating Feature Creep Bad – Just code the changes, add scenarios as you discover them Good – Add them to product backlog http://www.stevemcconnell.com/rdenum.htm 28-32

Traceability Every requirement is identified (usually with a unique paragraph number like 3.1.4.3) Every requirement has a traceable source (where it came from).