1 cen 4020 software engineering ppt4: requirement analysis

38
1 CEN 4020 Software Engineering PPT4: Requirement analysis

Upload: barbra-watson

Post on 19-Jan-2018

224 views

Category:

Documents


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

1

CEN 4020Software Engineering

PPT4: Requirement analysis

Page 2: 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

Page 3: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

3

Process for capturing requirements

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

Page 4: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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.

Page 5: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

5

How users and developers view each other

Page 6: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

6

Sources of requirements

Sources of requirements

Page 7: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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

Page 8: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

8

Importance of requirement analysis

Page 9: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

9

Importance of requirement analysis

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

Page 10: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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.

Page 11: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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

Page 12: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

12

Modeling notations

Entity-Relationship Diagram•Graphical notational paradigm for representing conceptual methods

Page 13: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

13

Modeling notations

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

Page 14: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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

Page 15: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

15

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

Page 16: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

16

Modeling notations

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

Page 17: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

17

Modeling notationsUML 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

Page 18: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

18

Modeling notations

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

Page 19: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

19

Modeling notationsData 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

Page 20: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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

Page 21: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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 requirementsTemporal logic – used to express pending changes over time

Page 22: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

22

Modeling notationsObject constraint languageConstraint language that is mathematically precise and high-level (for non-mathematic people)

Page 23: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

23

Modeling notationsZ•Requirements spec language that forms set-theoretic definitions of variables into a abstract-data-type model

Page 24: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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

Page 25: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

25

Prototyping requirementsExamples (Prototypes for a calendar system)

Page 26: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

26

Documenting requirementsDocumentation 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

Page 27: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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

Page 28: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

28

IEEE standard for requirement specification

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

Page 29: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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

Page 30: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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

Page 31: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

31

Validation Walkthroughs Readings Interviews Reviews Checklists Models to check functions and relationships Scenarios Prototypes Simulation Formal inspections

Verification Checking

Cross- referencing Simulation Consistency checks Completeness checks Check for unreachable states of transitions Model checking Mathematical proofs

Validation and verification

Page 32: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

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)

Page 33: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

33

Choosing a specification languageSelection criteria

Applicability Implement ability TestabilityCheck abilityMaintainabilityModularityAbstraction levelSoundnessVerifiabilityRuntime safetyTools maturityLoosenessLearning curveTechnique maturityData modeling Discipline

Page 34: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

34

Choosing a specification language

Page 35: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

35

Examples of modeling notations

Page 36: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

36

Examples of modeling notations

Page 37: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

37

Examples of modeling notations

Page 38: 1 CEN 4020 Software Engineering PPT4: Requirement analysis

38

References

Information and illustrations from:

Pfleeger and Atlee, Software Engineering Theory and Practice, 4th Edition.

http://i.imgur.com/ozJipmd.jpg