1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification...

41
1 Analysis Analysis

description

3 Verification vs Validation Verification Are we building the thing right? (compared to other products) among models Validation Are we building the right thing? (regarding stakeholders/users desire) Between the UofD and a Model

Transcript of 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification...

Page 1: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

1

Analysis Analysis

Page 2: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

2

Analysis

Identify the parts

People

Methods

Points of View

Validation

Verification

Tools

do

use

use use

Carry out

Carry out

dependson

Page 3: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

3

Verification vs Validation

Verification

Are we building the thing right?

(compared to other products)

among models

Validation

Are we building the right thing?(regarding stakeholders/users

desire)

Between the UofD and a Model

Page 4: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

4

Analysis • Identify the parts

– How is it organized?– How is it stored?– traceability

Page 5: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

5

Analysis

• Validation– Close to the users/stakeholders– informal– prototyping (mock up, storyboard)

• Verification– formal – reuse domains– inspections

Page 6: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

6

problems?problems

models

communication

Facts gatheringcommunication

models

Analysis LoopUofD

*

**

* modeling** identifying the parts

yes

No

Page 7: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

7

Identification of the parts

• Depends on how the models are organized and stored

• Linked to modelling and elicitation• 90% of the problems is in 10% do system

Page 8: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

8

Validation• Are we building the right product?• We have to compare the UofD with

users/stakeholders expectations• Run Scenarios (Reading them in

meetings)• Prototype

Page 9: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

9

Validation Strategies

• Informal corroboration • storyboards• prototypes

Page 10: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

10

Validating through scenarios use• As many times as possible• The earliest the better

– If possible validate the candidate scenarios list• Scenario Validation goal: elaborate the

DEO list( Discrepancies, Errors and Omissions)

• Users’ commitment is essential

Page 11: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

11

Title

Goal

Actors

Resources

Episodes

Be careful

Page 12: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

12

Validation Through Scenarios

– Gradual confirmation of scenarios parts (objective, actors, resources)

– Feedback for LEL– Tag scenarios where doubts arise– Make notes of discrepancies, errors or

omissions

Page 13: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

13

Main stream• Validate scenarios with users using semi-

structured interviews (other techniques possible too)

• Strategies:– Read scenarios aloud together with users– Ask if they have anything to add or change– Ask Why

Page 14: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

14

Storyboard [Leffingwell & Widrig]

• Elicit reaction such as “Yes, but…”• Passive, Active or iterative• Identify actors, explain what happens to

them and describe how it happens• More effective to projects with innovative

or unknown content

Page 15: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

15

Storyboard

• Pros:– cheap– User friendly, informal and iterative– Allow to criticize system interface early in the

project– Easy to create and modify

Page 16: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

16

Types of storyboard• Passive

– Static screens– Business rules– Reports

• Active– Presentation (As in PowerPoint)– animation– simulation

• Iterative– demo ( free browsing)– Iterative presentation

Page 17: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

17

Storyboard

screen

Business Rules

reports

presentation

animation

simulation

demo

Iterative Presentation

passive active iterative

prototype

Complexity and cost

Page 18: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

18

Prototype

• Prototypes are partial implementation to help stakeholders, users and developers to better understand system requirements

Page 19: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

19

Prototypes• Also helps to elicit reactions such as “ Yes, but…”• Help to clarify fuzzy requirements

– Requirements that are known but not well defined or not well understood

• Help elicit reactions such as “Now that I can see it working it comes to me that I also need…..”

• Availability of tools that help to build fast and cheap prototypes

Page 20: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

20

Types of Prototypes [Davis]

• Throw away– It has to work – Use any means to implement the desired result (it does not

care for quality code)– Once the requirements are elicited the prototype is deleted

• Evolving– Implemented using the same architecture being used in the

system– The system may be an evolution of this prototype

Page 21: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

21

Prototype

Vertical X Horizontal• Horizontal

– Implements a large portion of the functionality• Vertical

– Implement a few functions– Better quality

Page 22: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

22

Verification

• Are we building the product correctly ?• Use of Models

– representations/languages• Use of formalisms• Informal Techniques

Page 23: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

23

Use of formalisms• Formal Proofing of a model

– Theorem proofing• Detection of discrepancies between the

model and the meta models– Model Proofing

Page 24: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

24

Techniques

• Inspection A formal evaluation technique in which artifacts are examined in detail by a person or group other than the author to detect errors, violations of development standards, and other problems. Formal, initiated by the project team, planned, author is not the presenter.

• Walkthrough A review process in which a developer leads one or more members of the development team through a segment of an artifact that he or she has written while the other members ask questions and make comments about technique, style, possible error, violation of development standards, and other problems. Semi-formal, initiated by the author, quite frequently poorly planned.

Page 25: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

25

Walk through

• ad hoc preparation• Meeting (author(s), evaluator(s), secretary)• Reading

– author reads– Evaluators hear– Evaluators point out problems (questions)– Secretaries write down problems

• List of problems

Page 26: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

26

Inspections• Create in 1972 by Fagan, at IBM, to improve

quality of code• Currently they are used to check any type of

artefact used in the software development process• Inspection can detect between 30% and 90% of

existing errors• Reading technique applied to an artefact aiming at

detecting errors in the artefact according to a pre-stablished criterea

Page 27: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

InspectionsFormal

Initiated by the project team

Planned meeting with fixed roles assigned to all the members involved

Reader reads the Artifact.Everyone inspects it and comes up with defects.

Recorder/Secretary records the defects

Moderator has a role in making sure that the discussions proceed on the productive lines

27

Page 28: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

28

Inspections in Requirements

Inspection

Process

Reading Techniques

Artefacts• to be inspected

• To carry the inspection

• Ad hoc

• Check lists

• Function point

•Based on Perspectives

roles

•Organizer

•Moderator

•Inspector

•Autgor

• Secretary

Planning Detection Colection FixGlobal View

Follow-up

Laitenberger01

Page 29: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

29

– Help to find errors before we move to the next phase– Which information should be checked– How to identify defects in the chosen models

– Techiniques for reading a Requirements Document• Ad hoc (based on personal experience)• Checklist (list of itens to be checked)• Perspective-based reading (Good for req in Natural Language)• Function Points based (experimental)

Inspections

Page 30: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

30

– Planning: Choose participants; schedule the meeting; generate and distribute material to be used

– General View:Author presents artefacts to be inspected by participants

– Inspection: inspectors evaluate the artifact and document defects found.

– Colection: defects are summarized and communicated to the author

– Correction: defects are fixed– Follow-Up: check the corrections made

Inspections - steps

Page 31: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

31

Inspections - roles• organizer: responsable for organizing the whole

process• author : presents a global view of the artefact before

the inspection begins• inspector: analyse the artefacts following a pre-

defined reading techinique anotating all the defects found

• secretary: document the inspection. Collects defects found by inspectors and consolidate them into one document

• moderator: reponsable for conducting the meeting and manage possible conflicts

Page 32: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

32

Inspections in requirements– based on check lists:

• Inspectors use a list with the itens to be checked• Each artifact has an specific list (req. Document, Use cases,

Lexicon, Scenario, DfD, Class diagram ...)• Defects are anotated in the artifact being analysed• After reviewing, a meeting is carrried out to communicate the

problems found to developers

– Defects that can be found:• Incorrect sintax in the artifacts(Definition of a term, measrument

units ...)• Incosistent information among artifacts (ex: Use cases and Glossary)• NFRs not explicited• Actors or resources incomplete or in excess• No Pre-conditions (Use Case and Scenarios) • No exceptions in scenarios

Page 33: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

33

DFD• Checklist DFD

– The documentation should contain:• Date, numbered pages, list of topics, change and

version control – Process represented by a numbered circle– Identifier should begin with a verb– Maximum number of processes should be 7 +- 2– Black Hole– Miracle– Balance

Page 34: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

34

OO• Checklist OO:

– Are all classes represented using rectangles with 1, 2 or 3 compartments?

– Are there two classes with the same name?– Are there classes without defined relationships?– Are the attributes and methods for each class adequate?– All the Use Cases have corresponding Sequence

Diagrams ?– Coupling and Cohesion are adequate ?

Page 35: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

35

• N-Fold Inspection– Many teams– Each one carries out an independent inspection

process– Compare results– Final Report

Page 36: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

36

Figure N-fold

User

Moderator

Leaders

Team 1 Team 2 Team 3

Each document is revised by n teams where each team uses the inspection process to find errors

Page 37: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

37

Parallel is better• Multiple inspection teams find more defects than

one single bigger team• The teams tend to find sub sets of different defects • The combination of the various results from the

different teams tends to sum instead of being redundant

• Follow up– Release the document– Owner and moderatorKey lessons in achieving widespread inspection use - Grady & Slack - IEEE

Software, July1994, pp.46-57

Page 38: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

38

Challenges from inspections

• Big Requirements Document– Informal and incremental revisions during the

development of specification– Each inspector starts from a different point– Divide into many small teams – each team

inspects a specific part of the document

Page 39: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

39

• Large inspection teams– Difficult to schedule meetings– Parallel conversation– Difficult to get an agreement

• What to do?– Be sure the participants are there to inspect and

not to “spy” the specification or to keep a political status

Challenges from inspections

Page 40: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

40

• Large inspection teams– Understand which point of view (client, user,

developer) the inspector is using and keep only one to each interested part

– Establish many small teams and carry out the inspection in parallel. Combine the lists and remove redundancies.

Challenges from inspections

Page 41: 1 Analysis. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

41

• Geographical distance between inspectors– videoconference, teleconference, e-mail, web

• Difficult to observe corporal language and expressions,

• Difficult to moderate

– 25% reduction on the effectiveness • [Wiegers98] - The seven deadly sins of software

reviews - Software Development -6(3) pp.44-47

Challenges from inspections