Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.

Slides:



Advertisements
Similar presentations
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 4 Capturing the Requirements.
Software Requirements Engineering
Object-Oriented Analysis and Design
Software Testing and Quality Assurance
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Capturing the requirements
CS351 © 2003 Ray S. Babcock Requirements What not How “The Pizza Experiment” 1994, 350 companies, 8000 software projects. 31% were canceled before they.
Software Requirements
Requirements (recap)‏
Overview of Software Requirements
SE 555 – Software Requirements & Specifications Introduction
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
Requirements/Systems analyst
Models Modelling can help us to understand the requirements thoroughly
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
© 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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
An Introduction to Software Engineering. Communication Systems.
1 Introduction to Software Engineering Lecture 1.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Requirements Engineering Overview Senior Design Don Evans.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Week 3: Requirement Analysis & specification
Software Engineering 2007/2008 Chapter 4 Capturing the Requirements.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
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.
1 Capturing The Requirements CEN 4020 Software Engineering By Darren Quichocho.
Requirement Analysis Edwin Gendron CEN 4020 Software Engineering 1.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
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.
UML (Unified Modeling Language)
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
GOVT. ENGINEERING COLLEGE, AJMER. A SEMINAR PRESENTATION ON UNIFIED MODELING LANGUAGE(UML) SUBMITTED TO:-PRESENTED BY:- Dr. REENA DADHICHPALLAVI VASHISTHA.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Chapter 4 – Requirements Engineering
Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
PPT4: Requirement analysis
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Requirement Analysis SOFTWARE ENGINEERING

What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be in, and the functions that are performed to change states or object characteristics Steps of Capturing Requirements

Forms of Requirements Functional Requirement-Describes required behavior in terms of required activities, such as reactions to inputs Quality Requirement-Describes some quality characteristic that the software solution must possess, such ease of use and high reliability Design Constraint-Design decision, such as choice of platform or interface components Process Constraint-Restriction on the techniques or resources that can be used to build the system

Forms of Requirements

How Users & Developers View Each Other Common Stereotypes

Sources of Requirements The Volere requirement process Model, shows sources of possible requirements

Requirement Documentation Two types Requirements Definition Document-aimed at a business audience, such as clients, customers, users Requirements Specification Document-aimed at a technical audience, such as designers, testers, project managers Requirements Definition-a complete listing of everything the customer wants to achieve Requirements Specification-restates the requirements as a specification of how the proposed system shall behave

Requirement Documentation Examples

Causes of Failed Projects According to Standish Group survey in 1995 from over 350 companies

Cost to Fix Bugs at Different Stages of Design According to Boehm and Papaccio 1988 $1-find and fix a requirements based problem during the requirements definition process $5-to repair it during design $10-during coding $20-during unit testing $200-after delivery of system

Characteristics of Requirements Correct-Make sure there are no errors Consistent-There are no conflicting requirements Unambiguous-Requirements has only one interpretation Complete-Everything stated in the requirement documents should be there Feasible-Solution to every customer need should exist Relevant-To user needs Testable-Every requirement stated is verifiable Traceable-The requirements organized and uniquely labeled for easy reference

Modeling Notations: Entity-Relationship Diagrams A popular, graphical notational paradigm for representing conceptual models Example:

Modeling Notations: Unified Modeling Language(UML) Class Diagrams A collection of notations used to document software specifications and designs Example:

Modeling Notations: Event Traces A graphical description of a sequence of events that are exchanged between real-world entities Example:

Modeling Notations: Message Sequence Charts An enhanced event-trace notation, with facilities for creating and destroying entities, specifying actions and timers, and composing traces Example:

Modeling Notations: State Machines a graphical description of all dialog between the system and its environment UML Statechart Diagrams depicts the dynamic behavior of the objects in a UML class

Modeling Notations: Petri Nets a form of state-transition notation that is used to model concurrent activities and their interactions Data-Flow Diagrams models functionality and the flow of data from one function to another

Modeling Notations: Use-Case Diagram similar to a top-level data-flow diagram that depicts observable, user-initiated functionality in terms of interactions between the system and its environment

Modeling Notations: Formal Methods mathematically based specification and design techniques Decision Tables a tabular representation of a functional specification that maps events and conditions to appropriate responses or actions

Modeling Notations: Parnas Tables tabular representations of mathematical functions or relations

Modeling Notations: First –Order Logic logic commonly used to express properties of software requirements Temporal Logic introduces additional logical connectives for constraining how variables can change value over time – more precisely, over multiple points in an execution

Modeling Notations: Object Constraint Language an attempt to create a constraint language that is both mathematically precise and is easy for non-mathematicians Z structures set-theoretic definitions of variables into a complete abstract-data-type model of a problem

Prototyping Requirements Throw-Away Prototype software that is developed to learn more about a problem or about a proposed solution, and that is never intended to be part of the delivered software. Evolutionary Prototype software that is developed not only to help us answer questions but also to be incorporated into the final product

Documenting Requirements Need documents so customers and developers can refer to it throughout development and maintenance Requirements definition is a record of the requirements expressed in the customer’s terms Requirements specification covers exactly the same ground as the requirements definition, but from the perspective of the developers

IEEE standard for Software Requirements Specification Provides templates for organizing the requirements specification by mode of operation, function, feature, category of user, and so on

Participants in the Requirement Process Clients, the ones paying for the software to be developed Customers, buy the software after it is developed Users, familiar with the current system and will use the future system Domain experts, familiar with the problem that the software must automate Market researchers, conducted surveys to determine future trends and potential customers’ needs Lawyers or auditors, familiar with government, safety, or legal requirements Software engineers or other technology experts

Validation and Verification In requirements validation, we check that our requirements definition accurately reflects the customer’s needs In a review, representatives from our staff and the customer’s staff examine the requirements document individually and then meet to discuss identified problems

Measuring Requirements Measure by 1 to 5 1 being you understand the requirements completely 5 being you do not understand the requirement at all GoodBad Measuring Requirement Readiness

Choosing a Specification Technique Applicability Implementability Testability Checkability Maintainability Level of expressibility Soundness Verifiability Run-time safety Tools Maturity Looseness Learning curve Technique Maturity Data Modeling Discipline

Sources chapter4.pdf chapter4.pdf