CS 5150 Software Engineering Lecture 7 Requirements 1.

Slides:



Advertisements
Similar presentations
Chapter 4: Inception is Not the Requirements Phase
Advertisements

Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
Evaluating Requirements
SWE Introduction to Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 8 Requirements I.
CS 5150 Software Engineering
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 7 Requirements I.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
SE 555 Software Requirements & Specification Requirements Validation.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 7 Requirements I.
Overview of Software Requirements
CS 5150 Software Engineering
CS 501: Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 7 Requirements I.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
S/W Project Management
IT Systems Analysis & Design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
CS 360 Lecture 5.  Requirements define the function of the system from the client’s viewpoint.  They establish the system's functionality, constraints,
Requirements Engineering Requirements Elicitation Requirements Analysis Requirements Validation Requirements Management.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
 To describe the principal requirements engineering activities and their relationships  To introduce techniques for requirements elicitation and analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Lecture 7: Requirements Engineering
Requirements Gathering How do we find out what we are supposed to be building?
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 8 Requirements Analysis and Specification.
CT1404 Lecture 2 Requirement Engineering 1 1. Today's Lecture Definition of a Software Requirement Definition of Software Requirements Management Characteristics.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirements Engineering. Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved.
Requirements Engineering Process
SWE 513: Software Engineering
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
Evaluating Requirements
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
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.
Requirements Gathering
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS223: Software Engineering Lecture 16: The Agile Methodology.
Interface Types and Models Dr. Dania Bilal IS 588 Spring 2008.
Requirements Elicitation CSCI 5801: Software Engineering.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 7 Requirements I.
REQUIREMENTS ANALYSIS CONCEPTS & PRINCIPLES. Requirement  IEEE defines Software Requirements as:  A condition or capability needed by user to solve.
REQUIREMENTS ENGINEERING PROCESSES Chapter 6. Activities in Requirements Engineering processes  Requirements elicitation;  Requirements analysis; 
CS 501: Software Engineering
Requirement Engineering
Software Requirements analysis & specifications
Requirements Analysis
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

CS 5150 Software Engineering Lecture 7 Requirements 1

CS Administrivia Quiz this evening Rarely one “right” answer Closed book Feasibility study/plan due in a little over a week

CS Why are Requirements Important? Causes of failed software projects (Standish Group study, 1994) Incomplete requirements 13.1% Lack of user involvement 12.4% Lack of resources 10.6% Unrealistic expectations 9.9% Lack of executive support 9.3% Changing requirements & specifications 8.8% Lack of planning 8.1% System no longer needed 7.5% The commonest mistake is to build the wrong system

CS Requirements in the Waterfall Process

CS Requirements in Iterative Refinement

CS Requirements in Incremental Development

CS Requirements Goals Understand client/user requirements in detail Requirements “text” must be understandable to clients/users Actual text Diagrams Prototypes/mock-ups Requirements much be understandable to designers, developers, testers, maintainers Part of requirements gathering is ensuring that all the relevant players understand them

CS Functional Requirements Functional requirements describe the high- level functions the system should perform, little to no reference to underlying technology issues Major workflows Data collected/managed User interface idioms

CS Implementable and Verifiable Developers should be able to imagine a realistic implementation of any requirement Bad example: The system must process stock trades between London and Chicago with nanosecond latency Bad example: The system must identify errors in user input with 100% accuracy There must be a way to unambiguously verify whether a requirement has been met Bad example: The system should be easy to use Better example: Typical internet users should be able to use the system after completing a short tutorial

CS Stages in Requirements Gathering Analysis: Translate vague ideas about what the system should do into a detailed and concrete set of functions, services, goals and constraints Modeling: Organize the requirements into an easier to digest and understand framework (next two lectures) Define, record and communicate: Make sure requirements are recorded in a convenient format and that all the players (developers, client, etc) understand them

CS Requirements Analysis Specifies external system behavior Comprehensible by managers, customers, users, etc Covers: Functions and services the system will provide Constraints under which it will operate Often described in its own document: “Our understanding of the requirements for system X are...”

CS Interviews with Clients and Users Interviews with clients and users are at the heart of requirements analysis Allow plenty of time; perhaps multiple meetings Prepare questions before meeting Keep notes; index cards often work well If you don’t understand, don’t let it slide Small meetings are often most effective Repeat what you hear

CS Understand the Requirements Domain understanding May need to spend extra time learning the client/user’s lingo Try to understand the fundamental requirements of all stakeholders May need to interview several different people Stakeholders often don’t have a clear vision of what the proposed system could do for them

CS New and Old Systems It is important to distinguish Features of existing systems Proposed new features Clients often confuse their current way of doing things with requirements for the new system New systems Replacement systems Legacy systems

CS Unspoken Requirements Examples: Resistance to change Social friction Organizational strengths and weaknesses Unspoken requirements are one of the biggest risks in requirements gathering

CS Stakeholders A stakeholder is anyone affected by the system Client Senior management Deployment staff Users People whose information is collected Example: Web shopping site Customers, accounting dept, warehouse managers

CS Viewpoint Analysis Critique the requirements from the point of view of a particular stakeholder Get a real person, if that is feasible Otherwise, do your best to role-play Write a short separate document for each viewpoint

CS Special Studies If the team does not have the necessary information or experience to be confident about the requirement... Market research Focus groups, surveys, competitive analysis, etc Technical research Prototypes, experiments, literature survey, etc

CS Conflicts Some requirements may conflict with each other Information gathering vs. privacy System performance vs. development cost

CS Negotiation Sometimes client are unrealistic about what they want Extended discussion of relevant requirements. Are there cheaper alternatives? Explain the specific reasoning behind developer’s concerns Be open to creative solutions Leaving these issues unresolved is a big risk

CS Requirements Role-Playing Exercise Get in groups of 2 Different projects Take turns gathering requirements from each other One person plays the role of being their own team’s client Make up details if you have to