26
Building analysis model Building analysis model Analysis modeling uses a combination of Analysis modeling uses a combination of text and diagrammatic forms to depict text and diagrammatic forms to depict requirements for data function and requirements for data function and behavior in a way that is relatively easy behavior in a way that is relatively easy to understand and straight forward to to understand and straight forward to review for correctness, completeness and review for correctness, completeness and consistency. consistency. s/w engineer or Analyst builds the model s/w engineer or Analyst builds the model using requirements elicited from the using requirements elicited from the customer. customer.

Building analysis model

  • Upload
    vaughn

  • View
    47

  • Download
    1

Embed Size (px)

DESCRIPTION

Building analysis model. Analysis modeling uses a combination of text and diagrammatic forms to depict requirements for data function and behavior in a way that is relatively easy to understand and straight forward to review for correctness, completeness and consistency. - PowerPoint PPT Presentation

Citation preview

Page 1: Building analysis model

Building analysis modelBuilding analysis model

Analysis modeling uses a combination of text and Analysis modeling uses a combination of text and diagrammatic forms to depict requirements for data diagrammatic forms to depict requirements for data function and behavior in a way that is relatively easy to function and behavior in a way that is relatively easy to understand and straight forward to review for understand and straight forward to review for correctness, completeness and consistency.correctness, completeness and consistency.

s/w engineer or Analyst builds the model using s/w engineer or Analyst builds the model using requirements elicited from the customer.requirements elicited from the customer.

Page 2: Building analysis model

Requirements AnalysisRequirements Analysis Requirements analysis allows the software engineer (an analyst or Requirements analysis allows the software engineer (an analyst or modeler ) to elaborate on basic requirements established during modeler ) to elaborate on basic requirements established during earlier requirement engineering tasks and build models that depict earlier requirement engineering tasks and build models that depict user scenarios, functional activities, problem classes and their user scenarios, functional activities, problem classes and their relationships, system and class behavior and the flow of data as it is relationships, system and class behavior and the flow of data as it is transformed.transformed.

It provides the software designer with representation of It provides the software designer with representation of information, function and behavior that can be translated to information, function and behavior that can be translated to architectural, interface, and component level designs architectural, interface, and component level designs

The analysis model and the requirements specification provide the The analysis model and the requirements specification provide the developer and the customer with the means to assess quality once developer and the customer with the means to assess quality once S/w is built.S/w is built.

Page 3: Building analysis model

Overall ObjectivesOverall Objectives

The analysis model must achieve three primary objectivesThe analysis model must achieve three primary objectives: :

To describe what the customer requires. To describe what the customer requires. To establish a basis for the creation of a s/w design.To establish a basis for the creation of a s/w design. To define a set of requirements that can be validated once the To define a set of requirements that can be validated once the

s/w is built.s/w is built.

The analysis model bridges the gap b/w The analysis model bridges the gap b/w a a system-level descriptionsystem-level description that describes overall system that describes overall system functionality as it is achieved by applying s/w, h/w and other functionality as it is achieved by applying s/w, h/w and other system elements and a system elements and a s/w designs/w design that describes s/w that describes s/w application, architecture ,user interface and component level application, architecture ,user interface and component level structure.structure.

Page 4: Building analysis model

Analysis Rules of ThumbAnalysis Rules of Thumb

Arlow and Neustadt suggest a no. of worthwhile rules Arlow and Neustadt suggest a no. of worthwhile rules of thumb that should be followed when creating the of thumb that should be followed when creating the analysis model:analysis model:

The model should focus on requirements that are visible The model should focus on requirements that are visible within the problem or business domain.within the problem or business domain.

Each element of the analysis model should add to an Each element of the analysis model should add to an overall understanding of s/w requirements and provide overall understanding of s/w requirements and provide insight into the information domain, function, and insight into the information domain, function, and behavior of the system.behavior of the system.

Delay consideration of infrastructure and other non-Delay consideration of infrastructure and other non-functional models until design. Ex: Database.functional models until design. Ex: Database.

Page 5: Building analysis model

Minimize coupling throughout the system. It is Minimize coupling throughout the system. It is important to represent relationships between important to represent relationships between classes and functions.classes and functions.

Be certain that the analysis model provides Be certain that the analysis model provides value to all stakeholders ( business people, s/w value to all stakeholders ( business people, s/w designer, QA people for planning acceptance designer, QA people for planning acceptance tests)tests)

Keep the model as simple as it can be. Don’t Keep the model as simple as it can be. Don’t add additional diagrams when they provide no add additional diagrams when they provide no new information. Don’t use complete notational new information. Don’t use complete notational forms, when a simple list will do.forms, when a simple list will do.

Page 6: Building analysis model

Domain AnalysisDomain Analysis

The “specific application domain “ can range from avionics to The “specific application domain “ can range from avionics to banking, from multimedia video games to s/w embedded within banking, from multimedia video games to s/w embedded within medical devices.medical devices.

The role of the domain analyst is to discover and define reusable The role of the domain analyst is to discover and define reusable analysis patterns, analysis classes, and related information that may analysis patterns, analysis classes, and related information that may be used by many people working on similar but not necessarily the be used by many people working on similar but not necessarily the same applications.same applications.

Domain analysis

Domain Analysis model

Sourcesof domainknowledge

Technical literature

Existing applications

Customer Surveys

Expert advice

Current/future requirements

Class taxonomies

Reuse standards

Functional models

Domain languages

Page 7: Building analysis model

Analysis modeling approachesAnalysis modeling approaches One view of AM is One view of AM is structured analysisstructured analysis ,considers data ,considers data

and the processes that transform the data as separate and the processes that transform the data as separate entitiesentities

Data objects are modeled in a way that defines their Data objects are modeled in a way that defines their attributes and relationships.attributes and relationships.

Processes that manipulate data objects are modeled in a Processes that manipulate data objects are modeled in a manner that shows how they transform data as data manner that shows how they transform data as data objects flow through the system.objects flow through the system.

Second view is Second view is object oriented analysisobject oriented analysis , focuses on the , focuses on the definition of classes and the manner in which they definition of classes and the manner in which they collaborate with one another to effect customer collaborate with one another to effect customer requirements.requirements.

Page 8: Building analysis model

Analysis modeling leads to the derivation of each of the fallowing modeling Elements

Page 9: Building analysis model

Data modeling conceptsData modeling concepts Data objects.Data objects.

it is a representation of composite information that it is a representation of composite information that must be understood by s/w. must be understood by s/w.

Ex: Dimension (width, height…)Ex: Dimension (width, height…)

it encapsulates data only there is no reference with in a it encapsulates data only there is no reference with in a data object to operations that act on data.data object to operations that act on data.

CarCar

MakeMake modemode idid body typebody type color ownercolor owner

fordford taurustaurus q12a45q12a45 sedansedan Blue blfBlue blf

Page 10: Building analysis model

Data attributesData attributes

it defines the properties of data objects and take it defines the properties of data objects and take one of the three different characteristics one of the three different characteristics

1) name an instance of the data object1) name an instance of the data object

2) describe the instance2) describe the instance

3) make reference to another instance in another table3) make reference to another instance in another table

RelationshipsRelationships

Data objects are connected to one another in different Data objects are connected to one another in different ways.ways.

person carowns

Page 11: Building analysis model

CardinalityCardinality

it is the specification of the no..of occurrences of one object it is the specification of the no..of occurrences of one object that can be related to the the no. of occurrences of another that can be related to the the no. of occurrences of another object.object.

(1:1,1:N,M:N relation ship)(1:1,1:N,M:N relation ship)

Cardinality also defines the maximum no’ of occurrences of Cardinality also defines the maximum no’ of occurrences of an object in a relationan object in a relation

but it does not provide an indication of whether or not a data but it does not provide an indication of whether or not a data object must participate in the relationship.object must participate in the relationship.

modality modality of a relationship is 0, if there is no explicit need for of a relationship is 0, if there is no explicit need for

the relationship to occur or the relationship is optional, when the relationship to occur or the relationship is optional, when it is 1 it is mandatory.it is 1 it is mandatory.

Page 12: Building analysis model

Object Oriented AnalysisObject Oriented Analysis

The intent of object oriented analysis is to define all classes (and The intent of object oriented analysis is to define all classes (and the relation ships ,behavior associated with them) that are the relation ships ,behavior associated with them) that are relevant to the problem to be solved.relevant to the problem to be solved.

To accomplish a no. of tasks must occurTo accomplish a no. of tasks must occur1.1. basic user requirements must be communicated b/w the customer basic user requirements must be communicated b/w the customer

and the s/w engineer.and the s/w engineer.2.2. classes must be identified. (i.e attributes and methods are classes must be identified. (i.e attributes and methods are

defined)defined)3.3. a class hierarchy is defineda class hierarchy is defined4.4. object – object relationship should be representedobject – object relationship should be represented5.5. object behavior must be modeled.object behavior must be modeled.6.6. task 1 through 5 are reapplied iteratively until the model is task 1 through 5 are reapplied iteratively until the model is

complete.complete.OOA builds class oriented model that relies on a understanding of OOA builds class oriented model that relies on a understanding of OO conceptsOO concepts

Page 13: Building analysis model

Scenario based modelingScenario based modeling

The success of the computer based system or product The success of the computer based system or product ism measured in many ways, user satisfaction resides at ism measured in many ways, user satisfaction resides at the top of the list. the top of the list.

If the s’w engineers understand how end-users want to If the s’w engineers understand how end-users want to interact with the system ,they can be better able to interact with the system ,they can be better able to understand the requirements and build meaningful understand the requirements and build meaningful analysis and design models.analysis and design models.

Analysis modeling with UML begins with creation of Analysis modeling with UML begins with creation of scenarios in the form of scenarios in the form of use cases, activity diagramuse cases, activity diagram and and swim lane diagramsswim lane diagrams

Page 14: Building analysis model

Writing use casesWriting use cases

A use case captures the interaction that occurs b/w A use case captures the interaction that occurs b/w producers and consumers of information and the system producers and consumers of information and the system itself.itself.

Use-case describes a usage scenario from the point of Use-case describes a usage scenario from the point of view of a defined actor.view of a defined actor.

The first two requirements engineering tasks –inception, The first two requirements engineering tasks –inception, elicitation provide us information we need to begin elicitation provide us information we need to begin writing use-caseswriting use-cases

To begin developing a set of use-cases ,the functions or To begin developing a set of use-cases ,the functions or activities performed by specific actor are listed.activities performed by specific actor are listed.

These may be obtained from a list of required system These may be obtained from a list of required system functions, through conversation with customer or end-functions, through conversation with customer or end-users ,or by evaluating activity diagrams.users ,or by evaluating activity diagrams.

Page 15: Building analysis model

SafeHome Surveillance functionSafeHome Surveillance function

These are the functions performed by the Home owner These are the functions performed by the Home owner

(actor(actor)) under the above sub system under the above sub system

User scenarioUser scenario Access camera surveillance via the internetAccess camera surveillance via the internet Select the camera to view .Select the camera to view . Request thumbnails from all camerasRequest thumbnails from all cameras Display camera views in a PC windowDisplay camera views in a PC window Control pan and zoom for a specific cameraControl pan and zoom for a specific camera Selectively record camera output.Selectively record camera output. Replay camera output.Replay camera output.

Page 16: Building analysis model

Use caseUse case

The home owner logs onto the safehome products The home owner logs onto the safehome products websitewebsite

The homeowner enters his id and passwordThe homeowner enters his id and password The system displays all major function buttons.The system displays all major function buttons. The home owner selects surveillance buttonThe home owner selects surveillance button The homeowner selects pick a cameraThe homeowner selects pick a camera System display the floor plan of the houseSystem display the floor plan of the house Owner selects the camera icon from the floor planOwner selects the camera icon from the floor plan He selects the view buttonHe selects the view button System displays viewing window identified by the System displays viewing window identified by the

camera idcamera id System displays video output at one frame per sec.System displays video output at one frame per sec.

Page 17: Building analysis model

Use-case diagram for safe home systemUse-case diagram for safe home system

Page 18: Building analysis model

Developing activity diagramDeveloping activity diagram

The UML activity diagram supplements the use case by The UML activity diagram supplements the use case by providing graphical representation of the flow of providing graphical representation of the flow of interaction with in a specific scenariointeraction with in a specific scenario

It is almost similar to a flow chart.It is almost similar to a flow chart.

a rounded rectangle to represent a specific system a rounded rectangle to represent a specific system function. function.

arrows to represent flow through the system. arrows to represent flow through the system. Decision diamonds for branching decisions.Decision diamonds for branching decisions. solid horizontal lines for parallel activities.solid horizontal lines for parallel activities.

Page 19: Building analysis model

Activity diagram for access camera surveillance-display camera views Activity diagram for access camera surveillance-display camera views functionfunction

Page 20: Building analysis model

Swimlane diagramsSwimlane diagrams

Variation of activity diagramVariation of activity diagram

Allows the modeler to represent the flow of activities Allows the modeler to represent the flow of activities described by the use case and at the same time described by the use case and at the same time indicates which actor or analysis class has responsibility indicates which actor or analysis class has responsibility for the action described by an activity rectanglefor the action described by an activity rectangle

Page 21: Building analysis model

Swim lane diagram for ACS-DCV functionSwim lane diagram for ACS-DCV function

Page 22: Building analysis model

Flow oriented modelingFlow oriented modeling Data flow diagramsData flow diagrams

- It takes an input-process-output view of a system.- It takes an input-process-output view of a system.

- Data objects flow into the software, are transformed by processing - Data objects flow into the software, are transformed by processing elements, and resultant data objects flow out of the softwareelements, and resultant data objects flow out of the software

- Data objects are represented by labeled arrows and - Data objects are represented by labeled arrows and transformations are represented by circles.transformations are represented by circles.

These are created in a hierarchical fashion.These are created in a hierarchical fashion.

First data flow model called level 0 DFD or context diagram First data flow model called level 0 DFD or context diagram represents overall system.represents overall system.

Subsequent diagrams refine context diagram representing Subsequent diagrams refine context diagram representing increasing detail in each subsequent level.increasing detail in each subsequent level.

Page 23: Building analysis model

Guide lines to followGuide lines to follow

1. The level 0 DFD should depict the s/w or system as a single bubble.1. The level 0 DFD should depict the s/w or system as a single bubble.

2. Primary input and output should be carefully modeled.2. Primary input and output should be carefully modeled.

3. Refinement should begin by isolating candidate process, data 3. Refinement should begin by isolating candidate process, data objects and data stores to be represented at the next level.objects and data stores to be represented at the next level.

4. All arrows and bubbles should be labeled.4. All arrows and bubbles should be labeled.

5. Information flow continuity must be maintained from level to level.5. Information flow continuity must be maintained from level to level.

6. One bubble at a time should be refined.6. One bubble at a time should be refined.

Page 24: Building analysis model

Context level DFD for safe-home security functionContext level DFD for safe-home security function

Page 25: Building analysis model

Level1 DFD for safe-home security functionLevel1 DFD for safe-home security function

Control Paneldisplay

alarm

Telephoneline

Page 26: Building analysis model

Level 2 DFD that refines the monitor sensors processLevel 2 DFD that refines the monitor sensors process