CS 691z / 791z Topics on Software Engineering

Slides:



Advertisements
Similar presentations
SYSC System Analysis and Design
Advertisements

CS3773 Software Engineering Lecture 03 UML Use Cases.
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno Department of Computer Science.
Fall 2007CS 225 Introduction to Software Design Chapter 1.
1 CS 426/CPE 426 Senior Projects Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2002] February 13, 2007.
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007.
Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno Department of Computer Science.
CS 425/625 Software Engineering Software Requirements
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.
1 CS 426 Senior Projects Chapter 14: Activity Diagrams [Arlow and Neustadt, 2005] February 17, 2009.
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/CPE 426 Senior Projects Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] February 14, 2008.
Requirements Specifications Today: Homework #1 due For next class: Pressman 11; SRD Team Status Reports Requirements Process (continued) Bio Break ( 5.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Spring 2009CS 225 Introduction to Software Design Chapter 1.
Requirement engineering for an online bookstore system
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Systems Development Life Cycle
Week 3: Requirement Analysis & specification
Chapter 14: Activity Diagrams November 2015 [Arlow and Neustadt, 2005] CS 425/625 Senior Projects University of Nevada, Reno Department of Computer Science.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Requirements Specification Document (SRS)
Requirements Analysis
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Pepper modifying Sommerville's Book slides
Entity- Relationship (ER) Model
CMPE 280 Web UI Design and Development August 29 Class Meeting
Requirements Engineering Process
School of Business Administration
Chapter 4 Requirements Engineering (1/3)
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
CHAPTER.2: Requirements Engineering Processes
Chapter 4: Use Case Modeling
Requirements Elicitation and Elaboration
By Dr. Abdulrahman H. Altalhi
Software Requirements
CS 790M Project preparation (I)
Chapter 3: The Requirements Workflow
UNIT II.
CS 426 Senior Projects Chapter 9: Relationships
Requirements Analysis
Chapter 5: Advanced Use Case Modeling
Chapter 14: Activity Diagrams
Chapter 14: Activity Diagrams
CS310 Software Engineering Lecturer Dr.Doaa Sami
Lecture # 7 System Requirements
Requirements Document
Chapter 14: Activity Diagrams
CS 420/620 HCI Use Case Modeling Project Preparation
CS 425 Software Engineering
Requirement Engineer Terms and Conditions
CS 425/625 Software Engineering
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
SWE 3313 Requirements.
Presentation transcript:

CS 691z / 791z Topics on Software Engineering Software Requirements Based on Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2002] February 6, 2007

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

The Requirements Workflow. Fig. 3.2 [Arlow & Neustadt, 2002] 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 2002]

.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 2002]

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 a 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. 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 “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 Distortion Generalization 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