Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.

Slides:



Advertisements
Similar presentations
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 1.
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
PRJ270: Essentials of Rational Unified Process
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
1 Team Skill 4 - Team Skill 5 - Scope Refining the Systems Definition (Chapters of the requirements text) CSSE 371 Software Requirements and Specification.
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
1 Software project management (intro) An introduction.
Software Requirements
Requirements (recap)‏
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 1.Gain agreement on the problem definition. 2.Understand the root causes 3.Identify the.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
1 CSC-3324: Chapter 4 Title: What is a requirement? Mandatory reading: Sommerville 6, 7 th ed., Chap.: 7.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
SE 555 – Software Requirements & Specifications Introduction
Karolina Muszyńska Based on
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
CSC230 Software Design (Engineering)
S R S S ystem R equirements S pecification Specifying the Specifications.
The Software Development Life Cycle: An Overview
Chapter 2 Introduction to Requirements Management
Requirements Analysis
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Software System Engineering: A tutorial
Business Analysis and Essential Competencies
Supplementary Specifications (Chapters 20,22 - Requirements Text) 1.
BMAN Integrative Team Project Week 2 Professor Linda A Macaulay.
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 Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3.
Lecture 7: Requirements Engineering
Software Testing and Quality Assurance Software Quality Assurance 1.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
1 Quality Attributes of Requirements Documents Lecture # 25.
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.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
CSE 303 – Software Design and Architecture
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
System Requirements Specification
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Project Management Processes for a Project Chapter 3 PMBOK® Fourth Edition.
Requirement Discipline Spring 2006/1385 Semester 1.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 System Requirement Specification and System Planning.
IT316 Software Requirement Engineering
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
SYSTEM ANALYSIS AND DESIGN
Software Requirements analysis & specifications
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Software Requirements Specification Document
Introduction to Requirements Management
Presentation transcript:

Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th

Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 1. Establishing project scope 2. Managing your customer 5. Refining the System Definition 6. Building the Right System

Requirements Pyramid

Team Skill 5 Refining the System Definition Ch 20. Software Requirements: a more rigorous look Ch 21: Refining the Use Cases Ch 22: Developing the Supplementary Specification Ch 23: On Ambiguity and Specificity Ch 24: Technical Methods for Specifying Requirements

Chapter 20 Software Requirements A More Rigorous Look Relationships between requirements, features and use cases. Types of requirements. Requirement Vs. Design

Introduction In previous team skills, the features and the use- case models were at a high level of abstraction for the following reasons. We can better understand the main characteristics of the system by focusing on its features and key use cases and how they fulfill user needs. We can assess the system for its completeness, its consistency, and its fit within its environment. We can use this information to determine feasibility and to manage the scope of the system before making significant resource investments.

Looking Deeper into Software Requirements Definition of a software requirement: 1. A software capability needed by the user to solve a problem or to achieve an objective 2. A software capability that must be met or possessed by a system or a system component to satisfy a contract, standard, specification, or other formally imposed documentation

Looking Deeper into Software Requirements To fully describe the behavior of a software system we need 5 major classes: 1. Inputs to the system: Not only the content of the input but also, as necessary, the details of input devices and the form, look, and feel— protocol—of the input. 2. Outputs from the system: A description of the output devices, such as voice-output or visual display, that must be supported, as well as the protocol and formats of the information generated by the system.

Looking Deeper into Software Requirements 3. Functions of the system: The mapping of inputs to outputs, and their various combinations. 4. Attributes of the system: non-functional requirements like reliability, maintainability, availability, and throughput that the developers must taken into account. 5. Attributes of the system environment: additional non-functional requirements as the ability of the system to operate with other applications, loads, and operating systems.

System Elements

The Relationship between Software Requirements and Use Cases Use cases are just one way to express software requirements. Use cases can't conveniently express certain types of requirements Example: "the application must support up to 100 simultaneous users“ There are better ways to express other types of requirements as well (Chapter 22).

The Relationship between Features and Software Requirements Features Simple descriptions of system services in a shorthand manner. Help us understand and communicate at a high level of abstraction. We can't fully describe the system and write code from those descriptions. They are too abstract for this purpose. Software Req.s Detailed descriptions of system services (features). We can code from them. They should be specific enough to be "testable"

The Requirements Dilemma What versus How Requirements shall tell us what the system is to do, and NOT how the system shall do it. Exclude project information: Information associated with project management (schedules, verification and validation plans, budgets, and staffing schedules) Information about how the system will be tested. Exclude design information System design or architecture.

Requirements versus Design Software requirements and design are iterative Current requirements cause certain design decisions Design decisions develop new requirements

Types of Requirements Functional software requirements: Express how the system behaves—its inputs, its outputs, and the functions it provides to its users. Nonfunctional software requirements: To express some of the "attributes of the system" or "attributes of the system environment" such as usability, reliability, performance and supportability Design constraints: restrictions on the design of a system, or the process by which a system is developed, that do not affect the external behavior of the system but that must be fulfilled to meet technical, business, or contractual obligations.

Types of Requirements

Key Points A complete set of requirements can be determined by defining the inputs, outputs, functions, and attributes of the system plus the attributes of the system environment. Requirements should exclude project-related information, such as schedules, project plans, budgets, and tests, as well as design information. The requirements/design process is iterative; requirements lead to the selection of certain design options, which in turn may initiate new requirements. Design constraints are restrictions on the design of the system or on the process by which a system is developed.