尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
AAnnaallyyssiiss MMooddeelliinngg 
PPrreeeettii MMiisshhrraa 
CCoouurrssee IInnssttrruuccttoorr 
(Source: Pressman, R. Software Engineering: A Practitioner’s Approach. McGraw-Hill, 2005)
Goals of Analysis 
Modeling 
• Provides the first technical representation of a system 
• Is easy to understand and maintain 
• Deals with the problem of size by partitioning the system 
• Uses graphics whenever possible 
• Differentiates between essential information versus 
implementation information 
• Helps in the tracking and evaluation of interfaces 
• Provides tools other than narrative text to describe 
software logic and policy 
2
A Set of Models 
• Flow-oriented modeling – provides an indication of how data 
objects are transformed by a set of processing functions 
• Scenario-based modeling – represents the system from the 
user's point of view 
• Class-based modeling – defines objects, attributes, and 
relationships 
• Behavioral modeling – depicts the states of the classes and 
the impact of events on these states 
3
RReeqquuiirreemmeennttss AAnnaallyyssiiss
Purpose 
• Specifies the software's operational characteristics 
• Indicates the software's interfaces with other system 
elements 
• Establishes constraints that the software must meet 
• Provides the software designer with a representation of 
information, function, and behavior 
– This is later translated into architectural, interface, class/data 
and component-level designs 
• Provides the developer and customer with the means to 
assess quality once the software is built 
5
Overall Objectives 
• Three primary objectives 
– To describe what the customer requires 
– To establish a basis for the creation of a software design 
– To define a set of requirements that can be validated once the 
software is built 
• All elements of an analysis model are directly traceable to 
parts of the design model, and some parts overlap 
6
Analysis Rules of Thumb 
• The analysis model should focus on requirements that are visible 
within the problem or business domain 
– The level of abstraction should be relatively high 
• Each element of the analysis model should add to an overall 
understanding of software requirements and provide insight into 
the following 
– Information domain, function, and behavior of the system 
• The model should delay the consideration of infrastructure and 
other non-functional models until the design phase 
– First complete the analysis of the problem domain 
• The model should minimize coupling throughout the system 
– Reduce the level of interconnectedness among functions and classes 
• The model should provide value to all stakeholders 
• The model should be kept as simple as can be 
7
Domain Analysis 
• Definition 
– The identification, analysis, and specification of common, reusable 
capabilities within a specific application domain 
– Do this in terms of common objects, classes, subassemblies, and 
frameworks 
• Sources of domain knowledge 
– Technical literature 
– Existing applications 
– Customer surveys and expert advice 
– Current/future requirements 
• Outcome of domain analysis 
– Class taxonomies 
– Reuse standards 
– Functional and behavioral models 
– Domain languages 
8
Analysis Modeling 
Approaches 
• Structured analysis 
– Considers data and the processes that transform the data as 
separate entities 
– Data is modeled in terms of only attributes and relationships 
(but no operations) 
– Processes are modeled to show the 1) input data, 2) the 
transformation that occurs on that data, and 3) the resulting 
output data 
• Object-oriented analysis 
– Focuses on the definition of classes and the manner in which 
they collaborate with one another to fulfill customer 
requirements 
9
Elements of the Analysis 
Model 
10 
Object-oriented Analysis Structured Analysis 
Scenario-based 
modeling 
Use case text 
Use case diagrams 
Activity diagrams 
Swim lane diagrams 
Class-based 
modeling 
Class diagrams 
Analysis packages 
CRC models 
Collaboration diagrams 
Flow-oriented 
modeling 
Data structure diagrams 
Data flow diagrams 
Control-flow diagrams 
Processing narratives 
Behavioral 
modeling 
State diagrams 
Sequence diagrams
FFllooww--oorriieenntteedd MMooddeelliinngg
Data Modeling 
• Identify the following items 
– Data objects (Entities) 
– Data attributes 
– Relationships 
– Cardinality (number of occurrences) 
12
Data Flow and Control Flow 
• Data Flow Diagram 
– Depicts how input is transformed into output as data 
objects move through a system 
• Process Specification 
– Describes data flow processing at the lowest level of 
refinement in the data flow diagrams 
• Control Flow Diagram 
– Illustrates how events affect the behavior of a 
system through the use of state diagrams 
13
Diagram Layering and 
Process Refinement 
14 
Context-level diagram 
Level 1 diagram 
Process Specification
SScceennaarriioo--bbaasseedd MMooddeelliinngg
Writing Use Cases 
• It is effective to use the first person “I” to describe how 
the actor interacts with the software 
• Format of the text part of a use case 
Use-case title: 
Actor: 
Description: I … 
(See examples in Pressman textbook on pp. 188-189) 16
Example Use Case Diagram 
Expert Menu 
System 
17 
Make automated menu 
selections 
Order food and drink 
Notify customer that 
food and drink are ready 
Pay for food and drink 
Customer 
Cook 
Payment 
System
Activity Diagrams 
• Supplements the use case by providing a graphical 
representation of the flow of interaction within a specific 
scenario 
• Uses flowchart-like symbols 
– Rounded rectangle - represent a specific system 
function/action 
– Arrow - represents the flow of control from one 
function/action to another 
– Diamond - represents a branching decision 
– Solid bar – represents the fork and join of parallel activities 
18
Example Activity Diagram 
19 
Set counter = positive n 
Set accumulator = initial value 
n > 1 
T 
F 
Set accumulator = accumulator * n 
Set n = n - 1 
(n mod 5) == 0 
T 
F 
Display accumulator value 
Return accumulator value
CCllaassss--bbaasseedd MMooddeelliinngg
Identifying Analysis Classes 
1) Perform a grammatical parse of the problem statement or use cases 
2) Classes are determined by underlining each noun or noun clause 
3) A class required to implement a solution is part of the solution space 
4) A class necessary only to describe a solution is part of the problem 
space 
5) A class should NOT have an imperative procedural name (i.e., a verb) 
6) List the potential class names in a table and "classify" each class 
according to some taxonomy and class selection characteristics 
7) A potential class should satisfy nearly all (or all) of the selection 
characteristics to be considered a legitimate problem domain class 
21 
Potential classes General 
classification 
Selection 
Characteristics
Identifying Analysis Classes 
(continued) 
• General classifications for a potential class 
– External entity (e.g., another system, a device, a person) 
– Thing (e.g., report, screen display) 
– Occurrence or event (e.g., movement, completion) 
– Role (e.g., manager, engineer, salesperson) 
– Organizational unit (e.g., division, group, team) 
– Place (e.g., manufacturing floor, loading dock) 
– Structure (e.g., sensor, vehicle, computer) 
(More on next slide) 22
Identifying Analysis Classes 
(continued) 
• Six class selection characteristics 
1) Retained information 
– Information must be remembered about the system over time 
1) Needed services 
– Set of operations that can change the attributes of a class 
1) Multiple attributes 
– Whereas, a single attribute may denote an atomic variable rather than a 
class 
1) Common attributes 
– A set of attributes apply to all instances of a class 
1) Common operations 
– A set of operations apply to all instances of a class 
1) Essential requirements 
– Entities that produce or consume information 
23
Defining Attributes of a 
Class 
• Attributes of a class are those nouns from the grammatical 
parse that reasonably belong to a class 
• Attributes hold the values that describe the current properties 
or state of a class 
• An attribute may also appear initially as a potential class that is 
later rejected because of the class selection criteria 
• In identifying attributes, the following question should be 
answered 
– What data items (composite and/or elementary) will fully define a 
specific class in the context of the problem at hand? 
• Usually an item is not an attribute if more than one of them is 
to be associated with a class 
24
Defining Operations of a 
Class 
• Operations define the behavior of an object 
• Four categories of operations 
– Operations that manipulate data in some way to change the state 
of an object (e.g., add, delete, modify) 
– Operations that perform a computation 
– Operations that inquire about the state of an object 
– Operations that monitor an object for the occurrence of a 
controlling event 
• An operation has knowledge about the state of a class and the 
nature of its associations 
• The action performed by an operation is based on the current 
values of the attributes of a class 
• Using a grammatical parse again, circle the verbs; then select 
the verbs that relate to the problem domain classes that were 
previously identified 
25
Example Class Box 
26 
Component 
+ componentID 
- telephoneNumber 
- componentStatus 
- delayTime 
- masterPassword 
- numberOfTries 
+ program() 
+ display() 
+ reset() 
+ query() 
- modify() 
+ call() 
Class Name 
Attributes 
Operations
Association, Generalization and 
Dependency (Ref: Fowler) 
• Association 
– Represented by a solid line between two classes directed from the 
source class to the target class 
– Used for representing (i.e., pointing to) object types for 
attributes 
– May also be a part-of relationship (i.e., aggregation), which is 
represented by a diamond-arrow 
• Generalization 
– Portrays inheritance between a super class and a subclass 
– Is represented by a line with a triangle at the target end 
• Dependency 
– A dependency exists between two elements if changes to the 
definition of one element (i.e., the source or supplier) may cause 
changes to the other element (i.e., the client) 
– Examples 
• One class calls a method of another class 
• One class utilizes another class as a parameter of a method 27
Example Class Diagram 
28 
Auditor Record 
1..n 
Production 
Manager 
Keeper 
Report 
Generator 
Transaction 
Processor 
Account 
Accounts 
Payable 
Accounts 
Receivable 
Input 
Verifier 
Error Log Input Handler 
Local File 
Handler 
Remote File 
Handler 
Account List 
Accountant
BBeehhaavviioorraall MMooddeelliinngg
Creating a Behavioral 
Model 
1) Identify events found within the use cases and implied by 
the attributes in the class diagrams 
2) Build a state diagram for each class, and if useful, for the 
whole software system 
30
Identifying Events in Use 
Cases 
• An event occurs whenever an actor and the system 
exchange information 
• An event is NOT the information that is exchanged, but 
rather the fact that information has been exchanged 
• Some events have an explicit impact on the flow of control, 
while others do not 
– An example is the reading of a data item from the user versus 
comparing the data item to some possible value 
31
Building a State Diagram 
• A state is represented by a rounded rectangle 
• A transition (i.e., event) is represented by a labeled arrow 
leading from one state to another 
– Syntax: trigger-signature [guard]/activity 
• The active state of an object indicates the current overall 
status of the object as is goes through transformation or 
processing 
– A state name represents one of the possible active states of an 
object 
• The passive state of an object is the current value of all of 
an object's attributes 
– A guard in a transition may contain the checking of the passive 
state of an object 
32
Example State Diagram 
33 
Empty 
Stack 
push [n – 2 < max] 
Partially 
Filled Stack 
Full Stack 
push [n = 0] 
pop [n = 1] 
pop [n > 1] 
push [n - 1 = max] 
pop [n = max] 
pop / set n to 0; return error 
push / set n to max; return error
Elements of the Analysis 
Model 
34 
Object-oriented Analysis Structured Analysis 
Scenario-based 
modeling 
Use case text 
Use case diagrams 
Activity diagrams 
Swim lane diagrams 
Class-based 
modeling 
Class diagrams 
Analysis packages 
CRC models 
Collaboration diagrams 
Flow-oriented 
modeling 
Data flow diagrams 
Control-flow diagrams 
Processing narratives 
Behavioral 
modeling 
State diagrams 
Sequence diagrams 

Cardinality and modality 
• Data model must be capable of representing the number of 
occurrences of objects in a given relationship 
• Cardinality is number of occurrences of one object that can 
be related to the number of occurrences of other 
• It defines the maximum number of objects that can 
participate in the relationship 
• Modality gives indication whether the object must 
participate in the relationship. 
• It is 0 if no explicit need for relationship and 1 if 
occurrence of relationship is mandatory 
35
Class Responsibility Collaborator 
(CRC) 
36

More Related Content

What's hot

Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
Saurabh Kumar
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
Manish Kumar
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
Sudarsun Santhiappan
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Inocentshuja Ahmad
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
Dr. C.V. Suresh Babu
 
Unified process model
Unified process modelUnified process model
Unified process model
RyndaMaala
 
Object diagram
Object diagramObject diagram
Object diagram
Preeti Mishra
 
UML
UMLUML
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
Object diagram
Object diagramObject diagram
Object diagram
Rahul Pola
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
AMITJain879
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
Ajit Nayak
 
Unit 2(advanced class modeling & state diagram)
Unit  2(advanced class modeling & state diagram)Unit  2(advanced class modeling & state diagram)
Unit 2(advanced class modeling & state diagram)
Manoj Reddy
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
Hemant Sharma
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
devika g
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
Arun Shukla
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
Oliver Cheng
 
Elaboration and domain model
Elaboration and domain modelElaboration and domain model
Elaboration and domain model
Vignesh Saravanan
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
Debajyoti Biswas
 

What's hot (20)

Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Object diagram
Object diagramObject diagram
Object diagram
 
UML
UMLUML
UML
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Object diagram
Object diagramObject diagram
Object diagram
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
Unit 2(advanced class modeling & state diagram)
Unit  2(advanced class modeling & state diagram)Unit  2(advanced class modeling & state diagram)
Unit 2(advanced class modeling & state diagram)
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Elaboration and domain model
Elaboration and domain modelElaboration and domain model
Elaboration and domain model
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 

Similar to Analysis modeling

OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
Mikel Raj
 
Analysis
AnalysisAnalysis
Analysis
Preeti Mishra
 
Requirements analysis lecture
Requirements analysis lectureRequirements analysis lecture
Requirements analysis lecture
Makerere University
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
AnanthiP8
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
Rupesh Vaishnav
 
Requirements engineering iv
Requirements engineering ivRequirements engineering iv
Requirements engineering iv
indrisrozas
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt
HaiderAli252366
 
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptxclean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
saber tabatabaee
 
Man.ppt
Man.pptMan.ppt
Seii unit7 component-level-design
Seii unit7 component-level-designSeii unit7 component-level-design
Seii unit7 component-level-design
Ahmad sohail Kakar
 
algo 1.ppt
algo 1.pptalgo 1.ppt
algo 1.ppt
example43
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
Priyanka Shetty
 
SE chapters 6-7
SE chapters 6-7SE chapters 6-7
SE chapters 6-7
Hardik Patel
 
architectural design
 architectural design architectural design
architectural design
Preeti Mishra
 
Soft requirement
Soft requirementSoft requirement
Soft requirement
Rishav Upreti
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-design
Ahmad sohail Kakar
 
session on pattern oriented software architecture
session on pattern oriented software architecturesession on pattern oriented software architecture
session on pattern oriented software architecture
SUJOY SETT
 
Structure system analysis and design method -SSADM
Structure system analysis and design method -SSADMStructure system analysis and design method -SSADM
Structure system analysis and design method -SSADM
FLYMAN TECHNOLOGY LIMITED
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
Amr E. Mohamed
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
BootNeck1
 

Similar to Analysis modeling (20)

OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
Analysis
AnalysisAnalysis
Analysis
 
Requirements analysis lecture
Requirements analysis lectureRequirements analysis lecture
Requirements analysis lecture
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Requirements engineering iv
Requirements engineering ivRequirements engineering iv
Requirements engineering iv
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt
 
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptxclean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
 
Man.ppt
Man.pptMan.ppt
Man.ppt
 
Seii unit7 component-level-design
Seii unit7 component-level-designSeii unit7 component-level-design
Seii unit7 component-level-design
 
algo 1.ppt
algo 1.pptalgo 1.ppt
algo 1.ppt
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
SE chapters 6-7
SE chapters 6-7SE chapters 6-7
SE chapters 6-7
 
architectural design
 architectural design architectural design
architectural design
 
Soft requirement
Soft requirementSoft requirement
Soft requirement
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-design
 
session on pattern oriented software architecture
session on pattern oriented software architecturesession on pattern oriented software architecture
session on pattern oriented software architecture
 
Structure system analysis and design method -SSADM
Structure system analysis and design method -SSADMStructure system analysis and design method -SSADM
Structure system analysis and design method -SSADM
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 

More from Preeti Mishra

Effective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labsEffective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labs
Preeti Mishra
 
Uml intro
Uml introUml intro
Uml intro
Preeti Mishra
 
Component diagram
Component diagramComponent diagram
Component diagram
Preeti Mishra
 
Activity diag
Activity diagActivity diag
Activity diag
Preeti Mishra
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagrams
Preeti Mishra
 
State chart diagram
State chart diagramState chart diagram
State chart diagram
Preeti Mishra
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
Preeti Mishra
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
Preeti Mishra
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
Preeti Mishra
 
Oo concepts and class modeling
Oo concepts and class modelingOo concepts and class modeling
Oo concepts and class modeling
Preeti Mishra
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface design
Preeti Mishra
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
Preeti Mishra
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
Preeti Mishra
 
Design process design rules
Design process  design rulesDesign process  design rules
Design process design rules
Preeti Mishra
 
Design process evaluating interactive_designs
Design process  evaluating interactive_designsDesign process  evaluating interactive_designs
Design process evaluating interactive_designs
Preeti Mishra
 
Foundations understanding users and interactions
Foundations  understanding users and interactionsFoundations  understanding users and interactions
Foundations understanding users and interactions
Preeti Mishra
 
IntrIntroduction
IntrIntroductionIntrIntroduction
IntrIntroduction
Preeti Mishra
 
Coupling coheshion tps
Coupling coheshion tpsCoupling coheshion tps
Coupling coheshion tps
Preeti Mishra
 
Software testing part
Software testing partSoftware testing part
Software testing part
Preeti Mishra
 

More from Preeti Mishra (20)

Effective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labsEffective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labs
 
Uml intro
Uml introUml intro
Uml intro
 
Component diagram
Component diagramComponent diagram
Component diagram
 
Activity diag
Activity diagActivity diag
Activity diag
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagrams
 
State chart diagram
State chart diagramState chart diagram
State chart diagram
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Oo concepts and class modeling
Oo concepts and class modelingOo concepts and class modeling
Oo concepts and class modeling
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface design
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
 
Design process design rules
Design process  design rulesDesign process  design rules
Design process design rules
 
Design process evaluating interactive_designs
Design process  evaluating interactive_designsDesign process  evaluating interactive_designs
Design process evaluating interactive_designs
 
Foundations understanding users and interactions
Foundations  understanding users and interactionsFoundations  understanding users and interactions
Foundations understanding users and interactions
 
IntrIntroduction
IntrIntroductionIntrIntroduction
IntrIntroduction
 
Coupling coheshion tps
Coupling coheshion tpsCoupling coheshion tps
Coupling coheshion tps
 
Software testing part
Software testing partSoftware testing part
Software testing part
 

Recently uploaded

Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Ortus Solutions, Corp
 
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
meenusingh4354543
 
What’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 UpdateWhat’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 Update
VictoriaMetrics
 
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical OperationsEnsuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
OnePlan Solutions
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
Ortus Solutions, Corp
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
manji sharman06
 
Enhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with PerlEnhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with Perl
Christos Argyropoulos
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
Zycus
 
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable PriceCall Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
vickythakur209464
 
Digital Marketing Introduction and Conclusion
Digital Marketing Introduction and ConclusionDigital Marketing Introduction and Conclusion
Digital Marketing Introduction and Conclusion
Staff AgentAI
 
What’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 UpdateWhat’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 Update
VictoriaMetrics
 
Solar Panel Service Provider annual maintenance contract.pdf
Solar Panel Service Provider annual maintenance contract.pdfSolar Panel Service Provider annual maintenance contract.pdf
Solar Panel Service Provider annual maintenance contract.pdf
SERVE WELL CRM NASHIK
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
Michał Kurzeja
 
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Chad Crowell
 
1 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 20241 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 2024
Alberto Brandolini
 
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
anshsharma8761
 
Photo Copier Xerox Machine annual maintenance contract system.pdf
Photo Copier Xerox Machine annual maintenance contract system.pdfPhoto Copier Xerox Machine annual maintenance contract system.pdf
Photo Copier Xerox Machine annual maintenance contract system.pdf
SERVE WELL CRM NASHIK
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Vince Scalabrino
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service AvailableFemale Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
isha sharman06
 

Recently uploaded (20)

Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
 
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
 
What’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 UpdateWhat’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 Update
 
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical OperationsEnsuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
 
Enhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with PerlEnhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with Perl
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
 
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable PriceCall Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
 
Digital Marketing Introduction and Conclusion
Digital Marketing Introduction and ConclusionDigital Marketing Introduction and Conclusion
Digital Marketing Introduction and Conclusion
 
What’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 UpdateWhat’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 Update
 
Solar Panel Service Provider annual maintenance contract.pdf
Solar Panel Service Provider annual maintenance contract.pdfSolar Panel Service Provider annual maintenance contract.pdf
Solar Panel Service Provider annual maintenance contract.pdf
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
 
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
 
1 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 20241 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 2024
 
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
 
Photo Copier Xerox Machine annual maintenance contract system.pdf
Photo Copier Xerox Machine annual maintenance contract system.pdfPhoto Copier Xerox Machine annual maintenance contract system.pdf
Photo Copier Xerox Machine annual maintenance contract system.pdf
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
 
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service AvailableFemale Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
 

Analysis modeling

  • 1. AAnnaallyyssiiss MMooddeelliinngg PPrreeeettii MMiisshhrraa CCoouurrssee IInnssttrruuccttoorr (Source: Pressman, R. Software Engineering: A Practitioner’s Approach. McGraw-Hill, 2005)
  • 2. Goals of Analysis Modeling • Provides the first technical representation of a system • Is easy to understand and maintain • Deals with the problem of size by partitioning the system • Uses graphics whenever possible • Differentiates between essential information versus implementation information • Helps in the tracking and evaluation of interfaces • Provides tools other than narrative text to describe software logic and policy 2
  • 3. A Set of Models • Flow-oriented modeling – provides an indication of how data objects are transformed by a set of processing functions • Scenario-based modeling – represents the system from the user's point of view • Class-based modeling – defines objects, attributes, and relationships • Behavioral modeling – depicts the states of the classes and the impact of events on these states 3
  • 5. Purpose • Specifies the software's operational characteristics • Indicates the software's interfaces with other system elements • Establishes constraints that the software must meet • Provides the software designer with a representation of information, function, and behavior – This is later translated into architectural, interface, class/data and component-level designs • Provides the developer and customer with the means to assess quality once the software is built 5
  • 6. Overall Objectives • Three primary objectives – To describe what the customer requires – To establish a basis for the creation of a software design – To define a set of requirements that can be validated once the software is built • All elements of an analysis model are directly traceable to parts of the design model, and some parts overlap 6
  • 7. Analysis Rules of Thumb • The analysis model should focus on requirements that are visible within the problem or business domain – The level of abstraction should be relatively high • Each element of the analysis model should add to an overall understanding of software requirements and provide insight into the following – Information domain, function, and behavior of the system • The model should delay the consideration of infrastructure and other non-functional models until the design phase – First complete the analysis of the problem domain • The model should minimize coupling throughout the system – Reduce the level of interconnectedness among functions and classes • The model should provide value to all stakeholders • The model should be kept as simple as can be 7
  • 8. Domain Analysis • Definition – The identification, analysis, and specification of common, reusable capabilities within a specific application domain – Do this in terms of common objects, classes, subassemblies, and frameworks • Sources of domain knowledge – Technical literature – Existing applications – Customer surveys and expert advice – Current/future requirements • Outcome of domain analysis – Class taxonomies – Reuse standards – Functional and behavioral models – Domain languages 8
  • 9. Analysis Modeling Approaches • Structured analysis – Considers data and the processes that transform the data as separate entities – Data is modeled in terms of only attributes and relationships (but no operations) – Processes are modeled to show the 1) input data, 2) the transformation that occurs on that data, and 3) the resulting output data • Object-oriented analysis – Focuses on the definition of classes and the manner in which they collaborate with one another to fulfill customer requirements 9
  • 10. Elements of the Analysis Model 10 Object-oriented Analysis Structured Analysis Scenario-based modeling Use case text Use case diagrams Activity diagrams Swim lane diagrams Class-based modeling Class diagrams Analysis packages CRC models Collaboration diagrams Flow-oriented modeling Data structure diagrams Data flow diagrams Control-flow diagrams Processing narratives Behavioral modeling State diagrams Sequence diagrams
  • 12. Data Modeling • Identify the following items – Data objects (Entities) – Data attributes – Relationships – Cardinality (number of occurrences) 12
  • 13. Data Flow and Control Flow • Data Flow Diagram – Depicts how input is transformed into output as data objects move through a system • Process Specification – Describes data flow processing at the lowest level of refinement in the data flow diagrams • Control Flow Diagram – Illustrates how events affect the behavior of a system through the use of state diagrams 13
  • 14. Diagram Layering and Process Refinement 14 Context-level diagram Level 1 diagram Process Specification
  • 16. Writing Use Cases • It is effective to use the first person “I” to describe how the actor interacts with the software • Format of the text part of a use case Use-case title: Actor: Description: I … (See examples in Pressman textbook on pp. 188-189) 16
  • 17. Example Use Case Diagram Expert Menu System 17 Make automated menu selections Order food and drink Notify customer that food and drink are ready Pay for food and drink Customer Cook Payment System
  • 18. Activity Diagrams • Supplements the use case by providing a graphical representation of the flow of interaction within a specific scenario • Uses flowchart-like symbols – Rounded rectangle - represent a specific system function/action – Arrow - represents the flow of control from one function/action to another – Diamond - represents a branching decision – Solid bar – represents the fork and join of parallel activities 18
  • 19. Example Activity Diagram 19 Set counter = positive n Set accumulator = initial value n > 1 T F Set accumulator = accumulator * n Set n = n - 1 (n mod 5) == 0 T F Display accumulator value Return accumulator value
  • 21. Identifying Analysis Classes 1) Perform a grammatical parse of the problem statement or use cases 2) Classes are determined by underlining each noun or noun clause 3) A class required to implement a solution is part of the solution space 4) A class necessary only to describe a solution is part of the problem space 5) A class should NOT have an imperative procedural name (i.e., a verb) 6) List the potential class names in a table and "classify" each class according to some taxonomy and class selection characteristics 7) A potential class should satisfy nearly all (or all) of the selection characteristics to be considered a legitimate problem domain class 21 Potential classes General classification Selection Characteristics
  • 22. Identifying Analysis Classes (continued) • General classifications for a potential class – External entity (e.g., another system, a device, a person) – Thing (e.g., report, screen display) – Occurrence or event (e.g., movement, completion) – Role (e.g., manager, engineer, salesperson) – Organizational unit (e.g., division, group, team) – Place (e.g., manufacturing floor, loading dock) – Structure (e.g., sensor, vehicle, computer) (More on next slide) 22
  • 23. Identifying Analysis Classes (continued) • Six class selection characteristics 1) Retained information – Information must be remembered about the system over time 1) Needed services – Set of operations that can change the attributes of a class 1) Multiple attributes – Whereas, a single attribute may denote an atomic variable rather than a class 1) Common attributes – A set of attributes apply to all instances of a class 1) Common operations – A set of operations apply to all instances of a class 1) Essential requirements – Entities that produce or consume information 23
  • 24. Defining Attributes of a Class • Attributes of a class are those nouns from the grammatical parse that reasonably belong to a class • Attributes hold the values that describe the current properties or state of a class • An attribute may also appear initially as a potential class that is later rejected because of the class selection criteria • In identifying attributes, the following question should be answered – What data items (composite and/or elementary) will fully define a specific class in the context of the problem at hand? • Usually an item is not an attribute if more than one of them is to be associated with a class 24
  • 25. Defining Operations of a Class • Operations define the behavior of an object • Four categories of operations – Operations that manipulate data in some way to change the state of an object (e.g., add, delete, modify) – Operations that perform a computation – Operations that inquire about the state of an object – Operations that monitor an object for the occurrence of a controlling event • An operation has knowledge about the state of a class and the nature of its associations • The action performed by an operation is based on the current values of the attributes of a class • Using a grammatical parse again, circle the verbs; then select the verbs that relate to the problem domain classes that were previously identified 25
  • 26. Example Class Box 26 Component + componentID - telephoneNumber - componentStatus - delayTime - masterPassword - numberOfTries + program() + display() + reset() + query() - modify() + call() Class Name Attributes Operations
  • 27. Association, Generalization and Dependency (Ref: Fowler) • Association – Represented by a solid line between two classes directed from the source class to the target class – Used for representing (i.e., pointing to) object types for attributes – May also be a part-of relationship (i.e., aggregation), which is represented by a diamond-arrow • Generalization – Portrays inheritance between a super class and a subclass – Is represented by a line with a triangle at the target end • Dependency – A dependency exists between two elements if changes to the definition of one element (i.e., the source or supplier) may cause changes to the other element (i.e., the client) – Examples • One class calls a method of another class • One class utilizes another class as a parameter of a method 27
  • 28. Example Class Diagram 28 Auditor Record 1..n Production Manager Keeper Report Generator Transaction Processor Account Accounts Payable Accounts Receivable Input Verifier Error Log Input Handler Local File Handler Remote File Handler Account List Accountant
  • 30. Creating a Behavioral Model 1) Identify events found within the use cases and implied by the attributes in the class diagrams 2) Build a state diagram for each class, and if useful, for the whole software system 30
  • 31. Identifying Events in Use Cases • An event occurs whenever an actor and the system exchange information • An event is NOT the information that is exchanged, but rather the fact that information has been exchanged • Some events have an explicit impact on the flow of control, while others do not – An example is the reading of a data item from the user versus comparing the data item to some possible value 31
  • 32. Building a State Diagram • A state is represented by a rounded rectangle • A transition (i.e., event) is represented by a labeled arrow leading from one state to another – Syntax: trigger-signature [guard]/activity • The active state of an object indicates the current overall status of the object as is goes through transformation or processing – A state name represents one of the possible active states of an object • The passive state of an object is the current value of all of an object's attributes – A guard in a transition may contain the checking of the passive state of an object 32
  • 33. Example State Diagram 33 Empty Stack push [n – 2 < max] Partially Filled Stack Full Stack push [n = 0] pop [n = 1] pop [n > 1] push [n - 1 = max] pop [n = max] pop / set n to 0; return error push / set n to max; return error
  • 34. Elements of the Analysis Model 34 Object-oriented Analysis Structured Analysis Scenario-based modeling Use case text Use case diagrams Activity diagrams Swim lane diagrams Class-based modeling Class diagrams Analysis packages CRC models Collaboration diagrams Flow-oriented modeling Data flow diagrams Control-flow diagrams Processing narratives Behavioral modeling State diagrams Sequence diagrams 
  • 35. Cardinality and modality • Data model must be capable of representing the number of occurrences of objects in a given relationship • Cardinality is number of occurrences of one object that can be related to the number of occurrences of other • It defines the maximum number of objects that can participate in the relationship • Modality gives indication whether the object must participate in the relationship. • It is 0 if no explicit need for relationship and 1 if occurrence of relationship is mandatory 35
  翻译: