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

Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
AnanthiP8
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
IIUI
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Unit 3 object analysis-classification
Unit 3 object analysis-classificationUnit 3 object analysis-classification
Unit 3 object analysis-classificationgopal10scs185
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
McCall's Quality Factors
McCall's Quality FactorsMcCall's Quality Factors
McCall's Quality Factors
Usman Khan
 
Grasp
GraspGrasp
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
kavitha muneeshwaran
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Atul Karmyal
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
Harsh Jegadeesan
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
NancyBeaulah_R
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
Sudarsun Santhiappan
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
Santhi thi
 
Requirement engineering process
Requirement engineering processRequirement engineering process
Requirement engineering process
Dr. Loganathan R
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
Nishu Rastogi
 

What's hot (20)

Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Unit 3 object analysis-classification
Unit 3 object analysis-classificationUnit 3 object analysis-classification
Unit 3 object analysis-classification
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
McCall's Quality Factors
McCall's Quality FactorsMcCall's Quality Factors
McCall's Quality Factors
 
Grasp
GraspGrasp
Grasp
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Software design
Software designSoftware design
Software design
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Requirement engineering process
Requirement engineering processRequirement engineering process
Requirement engineering process
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 

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
 
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 ivindrisrozas
 
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
 
architectural design
 architectural design architectural design
architectural design
Preeti Mishra
 
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
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
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 -SSADMFLYMAN 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
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 

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
 
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
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
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
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 

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
 
Object diagram
Object diagramObject diagram
Object diagram
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
 

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
 
Object diagram
Object diagramObject diagram
Object diagram
 
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
 

Recently uploaded

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 

Recently uploaded (20)

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 

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