Capturing the requirements

Slides:



Advertisements
Similar presentations
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Advertisements

Requirements and Design
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Designing the system Conceptual design and technical design
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
Unified Modeling (Part I) Overview of UML & Modeling
CS351 © 2003 Ray S. Babcock Requirements What not How “The Pizza Experiment” 1994, 350 companies, 8000 software projects. 31% were canceled before they.
Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design.
Requirements (recap)‏
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Introduction to Software Engineering Dr. Basem Alkazemi
© Copyright Eliyahu Brutman Programming Techniques Course.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
CSC230 Software Design (Engineering)
S R S S ystem R equirements S pecification Specifying the Specifications.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
The Software Development Life Cycle: An Overview
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
Software Engineering Week 9 – Brief Introduction of Requirement #1 A.A. Gde Bagus Ariana, S.T.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Chapter 1: Introduction to Systems Analysis and Design
Business Analysis and Essential Competencies
CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements *
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Object-Oriented Analysis and Design An Introduction.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Introduction to Software Engineering Lecture 1.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
TAL7011 – Lecture 4 UML for Architecture Modeling.
Modeling as a Design Technique Chapter 2 Part 1: Modeling Concepts Object-Oriented Modeling and Design Byung-Hyun Ha
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
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.
Introduction to OOAD and the UML
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
CEN 4020 Software Engineering PPT4: REQUIREMENT ANALYSIS Dishant Patel.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Basic Characteristics of Object-Oriented Systems
 System Requirement Specification and System Planning.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
An Overview of Requirements Engineering Tools and Methodologies*
Chapter 1: Introduction to Systems Analysis and Design
Requirements Analysis Scenes
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
System Requirements Specification
Chapter 1: Introduction to Systems Analysis and Design
PPT4: Requirement analysis
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Capturing the requirements Eliciting requirements from our customers Types of requirements Notations and methods for capturing requirements Reviewing requirements to ensure their quality Documenting the requirements for use by the design and test teams Chapter 4

Requirements Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the system’s purpose Three kinds of requirements: those that absolutely must be met those that are highly desirable but not necessary those that are possible but could be eliminated Chapter 4

Process of determining requirements Chapter 4

Requirements documents Requirements definition: complete listing of what the customer expects the system to do Requirements specification: restates the definition in technical terms so that the designer can start on the design Configuration management: supports direct correspondence between the two documents Chapter 4

Configuration management Set of procedures that track requirements that define what the system should do design modules that are generated from requirements program code that implements the design tests that verify the functionality of the system documents that describe the system Chapter 4

Activities of the software development process Chapter 4

Functional vs. non-functional requirements Functional: describes an interaction between the system and its environment Examples: System shall communicate with external system X. What conditions must be met for a message to be sent Non-functional: describes a restriction or constraint that limits our choices for constructing a solution Examples: Paychecks distributed no more than 4 hours after initial data are read. System limits access to senior managers. Chapter 4

Types of requirements Physical environment Interfaces Users and human factors Functionality Documentation Data Resources Security Quality assurance Chapter 4

Source of possible requirements Chapter 4

Characteristics of requirements Are they correct? Are they consistent? Are they complete? Are they realistic? Does each describe something the customer needs? Are they verifiable? Are they traceable? Chapter 4

Static descriptions of requirements Indirect reference Example: k equations in n unknowns Recurrence relations Example: F(0)=1; F(1)=1; F(n+1)=F(n)+F(n-1) Axiomatic definition Expression as a language Example: Backus-Naur form Chapter 4

Chapter 4

Data abstraction Chapter 4

An abstract class and object relationship Chapter 4

Dynamic descriptions Decision tables Chapter 4

Dynamic descriptions (2) Functional descriptions and transition diagrams f(Si, Cj) = Sk Chapter 4

Transitioning among states Chapter 4

Fence diagram showing state transitions Chapter 4

UML notation for state transitions Chapter 4

Transition diagram for hotel reservations Chapter 4

Jakson’s finite state machine example Chapter 4

Dynamic descriptions (3) Event tables Chapter 4

Parallel processing Sequential (single-threaded): f(State A, Event)  State S Parallel: f(State A, Event 1, Event 2,…,Event N)  State S f(State A, Event 1, Event 2,…,Event N)  State 1, State 2,…,State M Chapter 4

Petri nets: Three types of transitions Chapter 4

Petri nets: Tokens associated with firing rules Chapter 4

Object-oriented specifications Each entity in the system is an object. A method or operation is an action that can be performed directly by the object or can happen to the object. Encapsulation: the methods form a protective boundary around an object. Class hierarchies of objects encourage inheritance. Polymorphism: same method for different objects, each with different behavior Chapter 4

Multiple inheritance Chapter 4

Additional notations Hierarchical techniques Data flow diagrams Warnier diagrams Data flow diagrams Software Requirements Engineering Methodology (SREM) Structured Analysis and Design Technique (SADT) Z Chapter 4

Prototyping requirements Throw-away prototypes Evolutionary prototypes Rapid prototypes Chapter 4

Interface prototypes Chapter 4

Requirements documentation Requirements definition document: what the customer wants general purpose background and objectives of system description of customer-suggested approach detailed characteristics operational environment Requirements specification document: what the designers need to know Chapter 4

Example Chapter 4

Participants in requirements process Contract monitors Customers and users Business managers Designers Testers Requirements analysts Chapter 4

Chapter 4

Chapter 4

Requirements review Review goals and objections of system. Compare requirements with goals and objectives. Describe operational environment. Examine interfaces information flow functions Check for omissions, incompleteness, inconsistency. Document risk. Discuss how system will be tested. Chapter 4

Measuring requirements readiness Chapter 4

Choosing a specification technique Applicability Implementability Testability/simulation Checkability Maintainability Modularity Level of abstraction/expressibility Soundness Verifiability Run-time safety Tools maturity Looseness Learning curve Technique maturity Data modeling Discipline Chapter 4

Warnier diagram Chapter 4

Data flow diagram for physician visit Chapter 4

Requirements network Chapter 4

RSL encoding of R-net Chapter 4

SREM steps Chapter 4

SADT overview of tax calculation Chapter 4

Z example Chapter 4