CS 426 CS 791z Topics on Software Engineering

Slides:



Advertisements
Similar presentations
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Advertisements

1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] February 10, 2009.
Analysis Concepts and Principles
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Introduction to Software Quality Assurance (SQA)
Requirements Analysis
Chapter 4 – Requirements Engineering
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
Feasibility Study.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
IT Requirements Management Balancing Needs and Expectations.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Lecture 7: Requirements Engineering
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
Requirements Engineering Overview Senior Design Don Evans.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Systems Development Life Cycle
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Requirements Specification Document (SRS)
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Requirements in the product life cycle Chapter 7.
© NALO Solutions Limited NALO Solutions, presents the – Revenue Collector App Using Mobile Phones to gather Revenue SOFTWARE ENGINEERING.
System Development Life Cycle (SDLC). Activities Common to Software Projects Planning : Principles Principle #1. Understand the scope of the project.
Pepper modifying Sommerville's Book slides
Classifications of Software Requirements
CMPE 280 Web UI Design and Development August 29 Class Meeting
Requirements Engineering Process
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
User-centred system design process
Principles of Information Systems Eighth Edition
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Requirements Elicitation and Elaboration
SNS College of Engineering Coimbatore
EKT 421 SOFTWARE ENGINEERING
Development Projects / Analysis Projects / On-site Service Projects
By Dr. Abdulrahman H. Altalhi
CS 691z / 791z Topics on Software Engineering
Software Engineering (CSI 321)
Introduction to Software Engineering
CS 790M Project preparation (I)
Chapter 3: The Requirements Workflow
UNIT II.
Requirements Analysis
Chapter 2 – Software Processes
KEY PROCESS AREAS (KPAs)
Chapter 6: Principles of Requirements Analysis
CS310 Software Engineering Lecturer Dr.Doaa Sami
Lecture # 7 System Requirements
Chapter 5 Understanding Requirements.
CS 420/620 HCI Use Case Modeling Project Preparation
CS 425 Software Engineering
Requirement Engineer Terms and Conditions
CS 425/625 Software Engineering
CS 426 CS 791z Topics on Software Engineering
SWE 3313 Requirements.
INTRODUCTION OF REQUIREMENT ENGINEERING Chapter- one.
Presentation transcript:

CS 426 CS 791z Topics on Software Engineering Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] February 28, 2013

Outline The requirements workflow Metamodel for software requirements Requirements workflow details The importance of requirements Defining requirements

The Requirements Workflow. Fig. 3.2 [Arlow & Neustadt 2005] shows that most of the work in requirements workflow occurs in Inception and Elaboration phases

.The Requirements Workflow The purpose of the requirements workflow is to reach an agreement on what the system should do, expressed in a way accessible to the users of the system Requirements engineering involves: elicitation, negotiation, conflict resolution, prioritization, documentation, and maintenance of requirements Various stakeholders are involved in establishing the set of requirements for the system UML uses cases describe functional requirements, but non-functional requirements need different description

Metamodel for Software Requirements Arlow & Neustadt’s approach for requirements engineering is shown in Fig. 3.3 [Arlow 2002]. Details can be found in Section 3.3

Requirements Workflow Detail. Specific tasks for UP (Unified Process) requirements workflow Fig. 3.4 [Arlow & Neustadt 2005]

.Requirements Workflow Detail Arlow and Neustadt extend slightly the UP requirements workflow with the addition of new tasks: find functional requirements, find non- functional requirements, prioritize requirements, & trace requirements to use cases. As such, non-functional requirements can be addressed as well, along with the traditional UP/UML treatment of functional requirements via use cases. Fig. 3.5 [Arlow & Neustadt 2005]

The Importance of Requirements Requirements engineering is about establishing what the stakeholders need from the system Requirements engineering encompasses elicitation, negotiation, conflict resolution, prioritization, documentation, and maintenance of requirements Poor requirements engineering is the major cause of software project failure The second major cause of software project failure is lack of user participation

Defining Requirements.… Requirement: “a specification of what should be implemented” There are two types of requirements: Functional requirements: describe the desired behaviour of the system Non-functional requirements: specify particular properties of or constraints on the system In theory, the set of requirements should be only about “what” the system should do, but in practice it is not possible to avoid “how” aspects of the system

.Defining Requirements... The SRS (Systems Requirements Specification) is the document that contains the set of requirements expected to be satisfied by the system, both functional and non-functional There are many ways to write an SRS (“company dependent” ways) The SRS provides the input for the analysis and design phases of the development process The bottom line regarding the SRS is: “does it help me to understand what the system should do or not?”

..Defining Requirements.. Simple format recommended for well-formed requirements: <id> The <system> shall <function> Examples of functional requirements (what the system should do): 1 The ATM shall check the validity of the ATM card inserted. 2 The ATM shall validate the PIN number entered by the client. 3 The ATM shall dispense no more than $500 against any ATM card in any 24-hour period Examples of non-functional requirements (constraints on or properties of the system): 1 The ATM shall be written in C++. 2 The ATM shall validate the PIN in three seconds or less.

…Defining Requirements. Organizing requirements: a more complex taxonomy can be used when there are many requirements, e.g. Functional requirements Customers Products Orders Sales channels Payments Non-functional requirements: Performance Capacity Availability Compliance with standards Security

….Defining Requirements Requirements may have attributes, e.g. Must have Should have Could have Want to have [the MoSCoW system] Requirement attributes in RUP: Status (proposed, approved, rejected, incorporated) Benefit (critical, important, useful) Effort (measured in person*day or function points) Risk (high, medium, low) Stability (high, medium, low) TargetRelease (product version when implemented)

Finding Requirements.. Requirements come from the context of the system: Direct users Other stakeholders (e.g., managers, maintainers, installers) Other systems that interact with the system Hardware devices attached to the system Legal and regulatory constraints Technical constraints Business goals

.Finding Requirements “The map is not the territory” (that is, a model is not the real thing). When modeling, we apply three cognitive filters that simplify our effort [Chomsky, 1975]: Deletion (information is filtered out) Distortion (information is modified) Generalization (information is abstracted into rules, principles, etc) In requirements specification we need to identify the application of the above filters and find “challenges” for them to recover information In particular, universal quantifiers such as all, everyone, always, never, nobody, none should be inspected closely for accuracy

..Finding Requirements Interviews: Don’t imagine a solution Don’t mind read Ask context-free questions Listen Have patience! Questionnaire: they can supplement interviews. Good at getting answers to closed questions Requirements workshop Participants: facilitator, requirements engineer, stakeholders, domain experts Procedure: 1 Brainstorm (accept all ideas) 2 Identify key requirements 3 Iterate over, refine, and prioritize requirements