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

37
1 Analysis I Analysis I

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

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

1

Analysis IAnalysis I

Page 2: 1 Analysis I. 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 I. 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 I. 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

• Verification– formal – reuse domains– inspections

Page 5: 1 Analysis I. 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)

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

6

problems?problems

model

communication

Facts gatheringcommunication

model

Analysis LoopUofD

*

**

* modeling** identifying the parts

yes

No

Page 7: 1 Analysis I. 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 I. 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 I. 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 I. 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 I. 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

Page 12: 1 Analysis I. 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 I. 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

• Strategies:– Read scenarios aloud together with users

– Ask if they have anything to add or change

– Ask Why

Page 14: 1 Analysis I. 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 I. 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 I. 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 I. 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 I. 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 I. 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 I. 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 I. 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 I. 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 I. 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 I. 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 I. 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 I. 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 techinique applied to an artefact aiming

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

Page 27: 1 Analysis I. 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 product code. 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 I. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

28

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 29: 1 Analysis I. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

29

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

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

30

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 31: 1 Analysis I. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

31

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

process– Compare results– Final Report

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

32

Figura 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 33: 1 Analysis I. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

33

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 34: 1 Analysis I. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

34

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 35: 1 Analysis I. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

35

• 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 36: 1 Analysis I. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

36

• 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 37: 1 Analysis I. 2 Analysis Identify the parts People Methods Points of View Validation Verification Tools do use Carry out depends on.

37

• 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