1 CEN 4020 Software Engineering PPT4: Requirement analysis.

Slides:



Advertisements
Similar presentations
Alternative Approach to Systems Analysis Structured analysis
Advertisements

Chapter 4 Capturing the Requirements.
Software Requirements Engineering
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Capturing the requirements
Requirements Analysis Concepts & Principles
CS351 © 2003 Ray S. Babcock Requirements What not How “The Pizza Experiment” 1994, 350 companies, 8000 software projects. 31% were canceled before they.
Requirements (recap)‏
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
Overview of Software Requirements
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
SE 555 – Software Requirements & Specifications Introduction
© 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.
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
Introduction To System Analysis and design
The Software Development Life Cycle: An Overview
Requirements/Systems analyst
Models Modelling can help us to understand the requirements thoroughly
Requirements Analysis
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
CSCI 6231 Software Engineering ( Chapter 10?) Requirements Workflow Instructor: Morris Lancaster.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Pfleeger and Atlee, Software Engineering: Theory and PracticePage 4.1 © 2006 Pearson/Prentice Hall Sidebar 4.1 Why Are Requirements Important? Top factors.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
1 Introduction to Software Engineering Lecture 1.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
MODES-650 Advanced System Simulation Presented by Olgun Karademirci VERIFICATION AND VALIDATION OF SIMULATION MODELS.
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.
2-1 A Federation of Information Systems. 2-2 Information System Applications.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering 2007/2008 Chapter 4 Capturing the Requirements.
Software Engineering Lecture 11: System Analysis.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirements Analysis
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
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 Capturing The Requirements CEN 4020 Software Engineering By Darren Quichocho.
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
CSC480 Software Engineering Lecture 7 September 16, 2002.
Requirement Analysis Edwin Gendron CEN 4020 Software Engineering 1.
Software Engineering Lecture 10: System Engineering.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Miguel Garzón, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
 System Requirement Specification and System Planning.
Chapter 4: Business Process and Functional Modeling, continued
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Unified Modeling Language
CSC480 Software Engineering
System Requirements Specification
Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, Hans Van Vliet, Software Engineering:
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
PPT4: Requirement analysis
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

1 CEN 4020 Software Engineering PPT4: Requirement analysis

2 Process for capturing requirements Requirements are expressions of desired behavior. It is what something can do and what states that something can be in. Steps of capturing requirements Capturing requirements can be broken down into the following parts: Elicitation – collecting requirements as defined by the user Analysis – Comprehending and modeling the behavior that is expected Specification – Recording the behavior of the proposed system Validation – Ensuring that the specs proposed meet the requirements of the user

3 Process for capturing requirements The above figure illustrates the process of capturing requirements explained on the previous slide.

4 How users and developers view each other How developers view users Users often change their minds because they weren’t sure what they wanted in the first place. How users view developers Developers often have trouble remembering to talk in very high- level terms to the user. The developer has to remember that the user doesn’t have a computer science degree.

5 How users and developers view each other

6 Sources of requirements

7 Requirement documentation There are two kinds of requirements documents Requirements definition – documents specifying everything the customer wants to accomplish Requirements specification – reaffirms the requirements as a specification of behavior of the proposed system

8 Importance of requirement analysis

9 Take away points from the previous slide – It is important to note that over 13% of failed projects are caused by incomplete requirements with lack of user involvement being the second most common cause. Cost of fixing a bug: $1 to fix a requirement-based problem $5 to fix the problem at design time $10 to fix during coding $20 during unit testing $200 after delivery of the system

10 Types of requirements The different forms of requirements are the following: Quality requirement – A quality trait that the software solution needs to have (ex.: intuitive/easy to use) Design constraint – Design decision that decreases number of solutions to the proposed problem Process constraint – A constraint on the resources that can be used to implement the system.

11 Characteristics of requirements The following characteristics are wanted of requirements: Requirements that are correct Requirements that are consistent Requirements that are clear Requirements that are complete Requirements that are achievable Requirements that are relevant Requirements that can be tested Requirements that can be traced

12 Modeling notations Entity-Relationship Diagram Graphical notational paradigm for representing conceptual methods

13 Modeling notations UML Class Diagram Unified Modeling Language (UML) Collection of notations used to document software specs and designs

14 Modeling notations Event Trace A graphical description of a sequence of events that are exchanged between real-world entities. Vertical lines represent the timeline for an entity Horizontal lines represent an interaction between two entities bounding that line

15 Modeling notations Message Sequence Chart An enhanced event-trace notation, with conveniences for making and removing entities, specifying actions and timers, and building traces

16 Modeling notations State Machine Graphical description of interaction between the system and environment Nodes represent states Edges represent transitions between states

17 Modeling notations UML State-chart Diagram Dynamic behavior of objects in a UML class Shows how instances of a class should change state and how their fields should change value throughout object interaction

18 Modeling notations Petri Nets Form of state-transition notation that is used to exemplify activities and their interactions

19 Modeling notations Data flow diagram Models functionality and flow of data from one function to another Use case diagram Depicts observable, user-initialized functionality in terms of interactions between system and environment

20 Modeling notations Formal methods Mathematically based specs and design techniques Decision Table Tabular representation of a functional spec that maps events and circumstances to corresponding actions

21 Modeling notations Parnas Table Collection of table types and abbrev. plans for forming and simplifying functional and relational expressions First order logic – commonly used to express properties of software requirements Temporal logic – used to express pending changes over time

22 Modeling notations Object constraint language Constraint language that is mathematically precise and high-level (for non-mathematic people)

23 Modeling notations Z Requirements spec language that forms set-theoretic definitions of variables into a abstract-data-type model

24 Prototyping requirements Two approaches to prototyping Throwaway prototyping Developing software to learn more about the solution to a problem and the problem itself Not part of the final product Evolutionary prototyping Software developed to comprehend the problem and the solution Incorporated into the final product Rapid prototyping comprises both throwaway and evolutionary prototyping because software is developed to learn more about the requirements

25 Prototyping requirements Examples (Prototypes for a calendar system)

26 Documenting requirements Documentation is needed for each team to have the ability to make contributions and ensure the requirements are understood The definition document is a document of the requirements expressed by the customer It is what the customer should see from the final product Outline the system’s general purpose and scope The reason behind the proposal for a new system The important features of a suitable solution System’s environment Description of the customer’s potential proposal for a solution to the problem Assumptions about environment behavior

27 Documenting requirements The specification document is a document similar to the definition document expressed by the developer This document is written in terms of the product’s interface Description of inputs, outputs, and other topics pertaining to the system interface Required functionality of the system regarding inputs and outputs Conditions for the customer’s feature requirements

28 IEEE standard for requirement specification The IEEE standard provides outlines for organizing the requirements specification by categories including capability and user type

29 Participants in the requirement process There are many sources that have something to give towards the requirements The clients – decision makers The customers – Important to build something that attracts the customer. May also be a user The users – Very familiar with the system. May also be the customer. Domain experts – Knowledgeable of the field in which the system will be used Market researchers – Know about potential customers Lawyers – Ensure that no legal boundaries are crossed Tech experts – Contribute to customer education

30 Validation and verification The requirements documents act as a contract between the developers and the customer The requirements should be reviewed to ensure validation and verification Requirements validation Ensure the requirements definition match customer needs Requirements verification Ensure that building a system according to the requirements specification document will be a final product that will meet the customer’s requirements

31 Validation and verification

32 Measuring requirements Requirements can be measured in several different ways Measurements often focus on product, process, and resources Requirement readiness (see the example below depicting a scale 1 to 5)

33 Choosing a specification language Selection criteria Applicability Implement ability Testability Check ability Maintainability Modularity Abstraction level Soundness Verifiability Runtime safety Tools maturity Looseness Learning curve Technique maturity Data modeling Discipline

34 Choosing a specification language

35 Examples of modeling notations

36 Examples of modeling notations

37 Examples of modeling notations

38 References Information and illustrations from: Pfleeger and Atlee, Software Engineering Theory and Practice, 4 th Edition.