SlideShare una empresa de Scribd logo
1 de 10
Every computer-based system is anEvery computer-based system is an
information transform ....information transform ....
computercomputer
basedbased
systemsystem
inputinput outputoutput
Flow Models
Flow diagrams – Lots of these!
 Dataflow diagrams
 Petri Nets
 IDEF0
 Activity diagrams
Flow Models: UML Activity Diagrams
We have gone through great pains in use case
modeling to say the use case diagram is not a
flow diagram
 But we have flow right in front of us in the scenarios!
 So where do we capture it in our model?
UML Activity Diagrams
 UML equivalent of a flowchart
 You can represent (multiple) flows directly with the
Activity diagram
What Is an Activity Diagram?
An activity diagram in the use-case model can be used to
capture the activities and actions performed in a use case.
It is essentially a flow chart, showing flow of control from one
activity or action to another.
Flow of Events
This use case starts when the Registrar requests
that the system close registration.
1. The system checks to see if registration is in
progress. If it is, then a message is displayed to
the Registrar and the use case terminates. The
Close Registration processing cannot be performed
if registration is in progress.
2. For each course offering, the system checks if a
professor has signed up to teach the course
offering and at least three students have registered.
If so, the system commits the course offering for
each schedule that contains it.
Activity 1 Activity 3
Activity 2
Example: Activity Diagram
Synchronization
Bar (Fork)
Guard
Condition
Synchronization
Bar (Join)
Decision
Concurrent
Threads
Transition
Select Course
[ add course ]
Check
Schedule
Check
Pre-requisites
Assign to
Course
Resolve
Conflicts
Update
Schedule
Delete Course
[ checks completed ] [ checks failed ]
[ delete course ]
Activity/Action
Final / Termination
Merge
Initial / Start
Activity Diagrams
Summary of Notation:
• Action/Activity state – Action states cannot be
decomposed, Activity states may be (UML 1.5 -
as of UML 2.0 replaced with Activity frames)
• Transition – control flow; a transition is triggered
upon completion of some activity
• Decision/Merge point – standard if-else style
logic; also supports iteration. Guard conditions
indicated in brackets in each transition.
• Object node – may be (typically not) included to
show where an object’s state may change.
• Synchronization bar – supports fork/join
semantics for concurrent processing
• Swimlanes – partition by responsibility, not
thread
Label
[state]
label
Activity Diagram
Action
A step in the flow of events
Decision
Flows split based on a guard
condition
Flow
Show the sequence of
activities
Fork
Beginning of concurrent flows
Join
End of concurrent flow
Figure from IBM
Mapping Who does What to Whom
Examples so far show us what actions happen
 But “WHO” does each action and “WHEN”?
Swimlanes
 Partition activities according to who does them
 Who can be actors, system components, whatever
 When is indicated top-to-bottom (like a sequence
diagram) or left-to-right
To Whom?
 Activity diagrams can show relationships to objects
that are affected by actions
Example by Bau Yoon Teck
Activity Diagram Summary
Pros:
 Map use case scenarios directly on to actions
 Most intuitive for most procedural programmers
 Includes constructs concurrency and task assignment
 Includes constructs for top down decomposition
(activity frames)
Cons:
 Some confusion of the relationship between activity
diagrams and statecharts
 Some changes in terminology from 1.5 to 2.0
 Relatively poor tool support
Recommendation: Useful early in analysis, after
use cases but before interaction diagrams
Activity Diagram Summary
Pros:
 Map use case scenarios directly on to actions
 Most intuitive for most procedural programmers
 Includes constructs concurrency and task assignment
 Includes constructs for top down decomposition
(activity frames)
Cons:
 Some confusion of the relationship between activity
diagrams and statecharts
 Some changes in terminology from 1.5 to 2.0
 Relatively poor tool support
Recommendation: Useful early in analysis, after
use cases but before interaction diagrams

Más contenido relacionado

Similar a Fundamentals of Software Engineering

software engineering with uml- activity diagram
software engineering with uml- activity diagramsoftware engineering with uml- activity diagram
software engineering with uml- activity diagram
rahmantoyuri
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
Dang Tuan
 

Similar a Fundamentals of Software Engineering (20)

Activity
ActivityActivity
Activity
 
Unit three Advanced State Modelling
Unit three Advanced State ModellingUnit three Advanced State Modelling
Unit three Advanced State Modelling
 
ACTIVITY DIAGRAM.pptx
ACTIVITY DIAGRAM.pptxACTIVITY DIAGRAM.pptx
ACTIVITY DIAGRAM.pptx
 
3 interaction and_state_modeling
3 interaction and_state_modeling3 interaction and_state_modeling
3 interaction and_state_modeling
 
software engineering with uml- activity diagram
software engineering with uml- activity diagramsoftware engineering with uml- activity diagram
software engineering with uml- activity diagram
 
Activity diagram model
Activity diagram modelActivity diagram model
Activity diagram model
 
Use Case and Activity Diagrams Modeling Notation
Use Case and Activity Diagrams Modeling NotationUse Case and Activity Diagrams Modeling Notation
Use Case and Activity Diagrams Modeling Notation
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
 
Bpmn poster a2_ver_1.0.10
Bpmn poster a2_ver_1.0.10Bpmn poster a2_ver_1.0.10
Bpmn poster a2_ver_1.0.10
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
BPMN Poster
BPMN PosterBPMN Poster
BPMN Poster
 
Bpmn poster a4_ver_1.0.10
Bpmn poster a4_ver_1.0.10Bpmn poster a4_ver_1.0.10
Bpmn poster a4_ver_1.0.10
 
Lecture 19...unit 3.....se
Lecture 19...unit 3.....seLecture 19...unit 3.....se
Lecture 19...unit 3.....se
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 
Intoduction to uml
Intoduction to umlIntoduction to uml
Intoduction to uml
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 
week07a.pdf
week07a.pdfweek07a.pdf
week07a.pdf
 

Más de Madhar Khan Pathan

Más de Madhar Khan Pathan (20)

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Generic process model
Generic process modelGeneric process model
Generic process model
 
Software Myths
Software MythsSoftware Myths
Software Myths
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Último (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 

Fundamentals of Software Engineering

  • 1. Every computer-based system is anEvery computer-based system is an information transform ....information transform .... computercomputer basedbased systemsystem inputinput outputoutput Flow Models Flow diagrams – Lots of these!  Dataflow diagrams  Petri Nets  IDEF0  Activity diagrams
  • 2. Flow Models: UML Activity Diagrams We have gone through great pains in use case modeling to say the use case diagram is not a flow diagram  But we have flow right in front of us in the scenarios!  So where do we capture it in our model? UML Activity Diagrams  UML equivalent of a flowchart  You can represent (multiple) flows directly with the Activity diagram
  • 3. What Is an Activity Diagram? An activity diagram in the use-case model can be used to capture the activities and actions performed in a use case. It is essentially a flow chart, showing flow of control from one activity or action to another. Flow of Events This use case starts when the Registrar requests that the system close registration. 1. The system checks to see if registration is in progress. If it is, then a message is displayed to the Registrar and the use case terminates. The Close Registration processing cannot be performed if registration is in progress. 2. For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered. If so, the system commits the course offering for each schedule that contains it. Activity 1 Activity 3 Activity 2
  • 4. Example: Activity Diagram Synchronization Bar (Fork) Guard Condition Synchronization Bar (Join) Decision Concurrent Threads Transition Select Course [ add course ] Check Schedule Check Pre-requisites Assign to Course Resolve Conflicts Update Schedule Delete Course [ checks completed ] [ checks failed ] [ delete course ] Activity/Action Final / Termination Merge Initial / Start
  • 5. Activity Diagrams Summary of Notation: • Action/Activity state – Action states cannot be decomposed, Activity states may be (UML 1.5 - as of UML 2.0 replaced with Activity frames) • Transition – control flow; a transition is triggered upon completion of some activity • Decision/Merge point – standard if-else style logic; also supports iteration. Guard conditions indicated in brackets in each transition. • Object node – may be (typically not) included to show where an object’s state may change. • Synchronization bar – supports fork/join semantics for concurrent processing • Swimlanes – partition by responsibility, not thread Label [state] label
  • 6. Activity Diagram Action A step in the flow of events Decision Flows split based on a guard condition Flow Show the sequence of activities Fork Beginning of concurrent flows Join End of concurrent flow Figure from IBM
  • 7. Mapping Who does What to Whom Examples so far show us what actions happen  But “WHO” does each action and “WHEN”? Swimlanes  Partition activities according to who does them  Who can be actors, system components, whatever  When is indicated top-to-bottom (like a sequence diagram) or left-to-right To Whom?  Activity diagrams can show relationships to objects that are affected by actions
  • 8. Example by Bau Yoon Teck
  • 9. Activity Diagram Summary Pros:  Map use case scenarios directly on to actions  Most intuitive for most procedural programmers  Includes constructs concurrency and task assignment  Includes constructs for top down decomposition (activity frames) Cons:  Some confusion of the relationship between activity diagrams and statecharts  Some changes in terminology from 1.5 to 2.0  Relatively poor tool support Recommendation: Useful early in analysis, after use cases but before interaction diagrams
  • 10. Activity Diagram Summary Pros:  Map use case scenarios directly on to actions  Most intuitive for most procedural programmers  Includes constructs concurrency and task assignment  Includes constructs for top down decomposition (activity frames) Cons:  Some confusion of the relationship between activity diagrams and statecharts  Some changes in terminology from 1.5 to 2.0  Relatively poor tool support Recommendation: Useful early in analysis, after use cases but before interaction diagrams

Notas del editor

  1. The workflow of a use case describes that which needs to be done by the system to provide the value the served actor is looking for. It consists of a sequence of activities and actions that together produce something for the actor. The workflow often consists of a basic flow and one or several alternative flows. The structure of the workflow can be described graphically with the help of an activity diagram.
  2. An activity diagram may include the following elements: Activity/Action represents the performance of a step within the workflow. Transitions show the activity/action that follows. Decisions evaluate conditions defined by guard conditions. These guard conditions determine which of the alternative transitions will be made and, thus, which activities are performed. You may also use the decision icon to show where the threads merge again. Decisions and guard conditions allow you to show alternative threads in the workflow of a use case. Synchronization bars show parallel sub-flows. They allow you to show concurrent threads in the workflow of a use case.
  3. Activities describe graphically the flow of events of a use case. The flow of events consists of a sequence of activities that together produce something of value for the actor. The flow of events consists of a basic flow and one or several alternative flows. Actions: Represent the performance of an activity or step within the flow of events. Flow/Edge: Show what activity state follows after another. Decision/Merge Control which flow (of a set of alternative flows) follows once the activity has been completed, based on a guard condition. Decisions are used to show alternative threads in the flow of events of a use case. Forks/Joins: Show the beginnings and ends of parallel subflows. Forks and joins are used to show concurrent threads in the flow of events of a use case.