structured analyygsis and structured designdslab.konkuk.ac.kr/class/2019/19se/lecture note... ·...
TRANSCRIPT
![Page 1: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/1.jpg)
Structured Analysis and Structured Designy g
- Introduction to SASD- Structured Analysis- Structured Design
Lecturer: JUNBEOM [email protected]
http://dslab.konkuk.ac.krVer. 1.5
![Page 2: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/2.jpg)
ReferencesReferences
M d S d A l i Ed d Y d 1989• Modern Structured Analysis, Edward Yourdon, 1989.• Introduction to System Analysis and Design: a Structured
Approach, Penny A. Kendall, 1996.pp , y ,
• Zhou Qun, Kendra Hamilton, and Ibrahim Jadalowen (2002). Structured Analysis and Structured Design (SASD) - Class PresentaionStructured Analysis and Structured Design (SASD) Class Presentaionhttp://pages.cpsc.ucalgary.ca/~jadalow/seng613/Group/
Konkuk University 2
![Page 3: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/3.jpg)
Structured AnalysisStructured Analysis
S d l i i• Structured analysis is [Kendall 1996]
– a set of techniques and graphical tools– that allow the analysts to develop a new kind of system specificationy p y p– that are easily understandable to the users. – Analysts work primarily with their wits, pencil and paper.
• SASD– Structured Analysis and Structured Design
Konkuk University 3
![Page 4: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/4.jpg)
History of SASDHistory of SASD
D l d i h l 1970 b D M Y d d• Developed in the late 1970s by DeMarco, Yourdon and Constantine after the emergence of structured programming.
• IBM incorporated SASD into their development cycle in the late 1970s and early 1980s.
• Yourdon published the book “Modern Structured Analysis” in 1989.
• The availability of CASE tools in 1990s enabled analysts to d l d dif th hi l SASD d ldevelop and modify the graphical SASD models.
Konkuk University 4
![Page 5: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/5.jpg)
Philosophy of SASDPhilosophy of SASD
A l di id l l bl i ll• Analysts attempt to divide large, complex problems into smaller, more easily handled ones.
“Divide and Conquer”
• Top-Down approach
• Functional view of the problem
• Analysts use graphics to illustrate their ideas whenever possible.
• Analysts must keep a written record.
Konkuk University 5
![Page 6: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/6.jpg)
Philosophy of SASDPhilosophy of SASD
“ Th f SASD i d l f l hi h li• “ The purpose of SASD is to develop a useful, high quality information system that will meet the needs of the end user.[Yourdon 1989] “
Konkuk University 6
![Page 7: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/7.jpg)
Goals of SASDGoals of SASD
I li d d h i k f f il• Improve quality and reduce the risk of system failure.
• Establish concrete requirements specifications and completeEstablish concrete requirements specifications and complete requirements documentations.
• Focus on reliability, flexibility and maintainability of system.
Konkuk University 7
![Page 8: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/8.jpg)
Elements of SASDElements of SASD
Essential Model
EnvironmentalModel
BehavioralModel
Implementation Model
Konkuk University 8
![Page 9: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/9.jpg)
Essential ModelEssential Model
M d l f h h d• Model of what the system must do
• Not define how the system will accomplish its purposeNot define how the system will accomplish its purpose.
• A combination of environmental and behavioral models
Essential Model
EnvironmentalModel
BehavioralModelModel Model
Konkuk University 9
![Page 10: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/10.jpg)
Environmental ModelEnvironmental Model
D fi h f h d• Defines the scope of the proposed system.
• Defines the boundary and interaction between the system andDefines the boundary and interaction between the system and the outside world.
• Composed of – Statement of purpose– System Context diagramSystem Context diagram– Event list
Konkuk University 10
![Page 11: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/11.jpg)
Behavioral ModelBehavioral Model
M d l f h i l b h i d d i i f h• Model of the internal behavior and data entities of the system
• Models functional requirementsModels functional requirements.
• Composed of – Data Dictionary– Data Flow Diagram (DFD)– Entity Relationship Diagram (ERD)– Entity Relationship Diagram (ERD)– Process Specification– State Transition Diagram
Konkuk University 11
![Page 12: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/12.jpg)
Implementation ModelImplementation Model
M h f i l i h d d f• Maps the functional requirements to hardware and software.• Minimizes the cost of the development and maintenance.• Determines which functions should be manual vs automatedDetermines which functions should be manual vs. automated.• Can be used to discuss the cost-benefits of functionality with
user/stakeholders.• Defines the Human-Computer interface.• Defines non-functional requirements.
• Composed of – Structure Charts
Konkuk University 12
![Page 13: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/13.jpg)
SASD ProcessSASD Process
ActivityActivity
Statement of
Environmental Model
Statement of Purpose
System Context Diagram
Event List Behavioral Model
Data Dictionary
ERD
DFD Process Specification
State Transition Diagram
Implementation Model
Structured Chart
Konkuk University 13
Time
![Page 14: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/14.jpg)
Statement of PurposeStatement of Purpose
A l d i l d i i f h f h• A clear and concise textual description of the purpose for the system to develop
• It should be deliberately vague.y g• It is intended for top level management, user management and
others who are not directly involved in the system.
Konkuk University 14
![Page 15: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/15.jpg)
Statement of Purpose RVC ExampleStatement of Purpose – RVC Example
Robot Vacuum Cleaner (RVC)
- An RVC automatically cleans and mops household surface.- It goes straight forward while cleaning.
If its sensors found an obstacle it stops cleaning turns aside and- If its sensors found an obstacle, it stops cleaning, turns aside, and goes forward with cleaning.
- If it detects dust, power up the cleaning for a while- We do not consider the detail design and implementation on HW
controls. - We only focus on the automatic cleaning function.
Konkuk University 15
![Page 16: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/16.jpg)
System Context DiagramSystem Context Diagram
Hi hli h h b d b h d id ld• Highlights the boundary between the system and outside world.• Highlights the people, organizations and outside systems that
interact with the system under development.y p
• A special case of DFD
Konkuk University 16
![Page 17: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/17.jpg)
System Context Diagram NotationSystem Context Diagram - Notation
Process : represents the proposed systemProcess : represents the proposed system
Terminator : represents the external entities
Flow : represents the in/out data flows
Konkuk University 17
![Page 18: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/18.jpg)
System Context Diagram RVC ExampleSystem Context Diagram – RVC Example
Motor
C
Motor
RVC Control
Sensor
Cleaner
Konkuk University 18
![Page 19: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/19.jpg)
Event ListEvent List
A li f h / i li id f h hi h i• A list of the event/stimuli outside of the system to which it must respond.
• Used to describe the context diagram in details.g
• Types of events– Flow-oriented event : triggered by incoming data– Temporal event : triggered by internal clockTemporal event : triggered by internal clock– Control event : triggered by an external unpredictable event
Konkuk University 19
![Page 20: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/20.jpg)
Event List RVC ExampleEvent List – RVC Example
Input/ Output Event Description
Front Sensor Input Detects obstacles in front of the RVC
Left Sensor Input Detects obstacles in the left side of the RVC periodicallyLeft Sensor Input Detects obstacles in the left side of the RVC periodically
Right Sensor Input Detects obstacles in the right side of the RVC periodically
Dust Sensor Input Detects dust on the floor periodically
DirectionDirection commands to the motor (go forward / turn left with an angle / turn right with an angle)
Clean Turn off / Turn on / Power-Up
Konkuk University 20
Context Diagram for RVC
![Page 21: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/21.jpg)
System Context Diagram RVC ExampleSystem Context Diagram – RVC Example
Motor
C
MotorFront Sensor InputLeft Sensor InputRight Sensor InputDust Sensor Input
Direction
RVC Control
Sensor
Clean
Cleaner
Konkuk University 21
![Page 22: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/22.jpg)
Data Flow Diagram (DFD)Data Flow Diagram (DFD)
P id f f i l d i i• Provides a means for functional decomposition.• Composed of hierarchies(levels) of DFDs.
• Notation (A kind of CDFD)
Data Process
Data Flow
Control Process
T i
Control Flow
Terminator
Data Store
Konkuk University 22
![Page 23: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/23.jpg)
DFD Level 0 RVC ExampleDFD Level 0 – RVC Example
Front Sensor MotorFront Sensor Input
RVC
MotorDirection
Left Sensor Left Sensor Input RVC
Control0
Clean
Right Sensor
p
Right Sensor Input
CleanerDust Sensor Dust Sensor Input
Tick
Digital Clock
Konkuk University 23
![Page 24: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/24.jpg)
DFD Level 0 RVC ExampleDFD Level 0 – RVC Example
Input/ Output
(A kind of) Data Dictionary
Input/ Output Event Description Format / Type
Front Sensor Input Detects obstacles in front of the RVC True / False , Interrupt
Left Sensor Input Detects obstacles in the left side of the RVC periodically True / False , Periodic
Right Sensor Input Detects obstacles in the right side of the RVC periodically True / False , Periodic
Dust Sensor Input Detects dust on the floor periodically True / False , Periodic
DirectionDirection commands to the motor (go forward / turn left with an angle / turn right with an angle)
Forward / Left / Right / Stop
Clean Turn off / Turn on / Power-Up On / Off / Up
Konkuk University 24
![Page 25: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/25.jpg)
DFD Level 1 RVC ExampleDFD Level 1 – RVC Example
Front Sensor Input
Obstacle Left Sensor Input Cleaner &
Direction
& DustDetection
1
p
Right Sensor Input
Obstacle & DustLocation
MotorControl
2Clean
Dust Sensor Input
Tick
Konkuk University 25
![Page 26: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/26.jpg)
DFD Level 2 RVC ExampleDFD Level 2 – RVC Example
Front Sensor Input Front Sensor
Interface1.1
Front Obstacle
DetermineObstacleL ti
Left Sensor Input
Obstacle
LeftSensor
f
Left Obstacle
Location1.5
LocationInterface1.2
Ri h
Tick
Right Sensor InputRightSensor
Interface1.3
Tick
Right Obstacle
DetermineDust Dust
Dust Sensor Input
DustSensor
Interface
Tick DustExistence
1.6Dust Existence
DustExistence
Konkuk University 26Tick
1.4
![Page 27: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/27.jpg)
DFD Level 2 RVC ExampleDFD Level 2 – RVC Example
Direction
ObstacleLocation
Motor CommandMotor
Interface2.2
Dust
Main Control
2.1Dust
Existence
Cleaner CommandCleanerInterface
2.3
Tick
Clean
Tick
Konkuk University 27
![Page 28: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/28.jpg)
DFD Level 3 RVC ExampleDFD Level 3 – RVC Example
Motor CommandTick Move Forward
2 1 2Enable
ObstacleLocation
Controller
2.1.2
M t C d
Disable
Trigger
DustExistence
2.1.1 Turn Left2.1.3
Motor Commandgg
TriggerTick
Tick
Turn Right2 1 4
Motor Command
Cleaner Command 2.1.4
Konkuk University 28
![Page 29: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/29.jpg)
DFD Level 4 RVC ExampleDFD Level 4 – RVC Example
State Transition Diagram for Controller 2 1 1
/ Enable “Move Forward”, Cleaner Command (On)
State Transition Diagram for Controller 2.1.1
Move Forward
Tick [F && !R]Tick [F && !L]/ Disable “Move Forward”, Cleaner Command (Off),Trigger “Turn Right”
Tick / Enable “Move Forward”
/ Disable “Move Forward”, Cleaner Command (Off),Trigger “Turn Left”
Tick / Enable “Move Forward”
Turn RightTurn Left
/ Enable Move Forward , Cleaner Command (On)
/ Enable Move Forward , Cleaner Command (On)
St
Tick [F && L && R]/ Disable “Move Forward”, Cleaner Command (Off),
Many problems in this model:1 “Stop” state
Konkuk University 29
Stop 1. Stop state2. Do not consider “Dust”3. …
![Page 30: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/30.jpg)
DFD RVC ExampleDFD – RVC Example
Konkuk University 30
![Page 31: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/31.jpg)
Process SpecificationProcess Specification
Sh d il hi h i li d b h i DFD• Shows process details which are implied but not shown in a DFD.• Specifies the input, output, and algorithm of a module in a DFD.• Normally written in pseudo-code or table formatNormally written in pseudo code or table format.
• Example – “Apply Payment”For all payments
If payment is to be applied today or earlier and has not yet been appliedIf payment is to be applied today or earlier and has not yet been appliedRead accountRead amountAdd amount to account’s open to buyAdd amount to account’s balanceAdd amount to account s balanceUpdate payment as applied
Zhou Qun, Kendra Hamilton, and Ibrahim Jadalowen (2002)
Konkuk University 31
![Page 32: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/32.jpg)
Process Specification RVC ExampleProcess Specification – RVC Example
Reference No. 1.2
Name Left Sensor Interface
Input Left Sensor Input (+Data structure if possible) , Tick
O t t L ft Ob t l ( D t t t )Output Left Obstacle (+Data structure)
Process Description“Left Sensor Input” process reads a analog value of the left sensorperiodically, converts it into a digital value such as True/False, andassigns it into output variable “Left Obstacle.”
Konkuk University 32
![Page 33: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/33.jpg)
Data DictionaryData Dictionary
D fi d l id diff i i• Defines data elements to avoid different interpretations.• Not used widely in recent years.
• Example [Yourdon 1989]
A: What’s a name?B: Well, you know, it’s just a name. It’s what we call each other.A: Does that mean you can call them something different when you are angry or
happy?B N f t A i th ll th tiB: No, of course not. A name is the same all the time.A: Now I understand. My name is 3.141592653.B: Oh your name is PI…But that’s a number, not a name. But what about your
first and last name Or is your first name 3 and your last name 141592653?first and last name. Or, is your first name 3 and your last name 141592653?
Konkuk University 33
![Page 34: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/34.jpg)
Data DictionaryData Dictionary
N i• Notation– = : is composed of– + : and– ( ) : optional element– { } : iteration– [ ] : selects one of the elements list– | : separation of elements choice– ** : comments– @ : identifier for a store (unique ID)q
Konkuk University 34
![Page 35: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/35.jpg)
Data DictionaryData Dictionary
E l• Example– Element Name = Card Number– Definition = *Uniquely identifies a card*– Alias = None– Format = LD+LD+LD+LD+SP+LD+LD+LD+LD+SP+
LD+LD+LD+LD+SP+LD+LD+LD+LD– SP = “ ” *Space*– LD = {0-9} *Legal Digits*– Range = 5191 0000 0000 0000 ~ 5191 9999 9999 9999
Konkuk University 35
![Page 36: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/36.jpg)
Entity Relationship Diagram (ERD)Entity Relationship Diagram (ERD)
A hi l i f h d l f• A graphical representation of the data layout of a system at a high level of abstraction
• Defines data elements and their inter-relationships in the system.p y• Similar with the class diagram in UML.
• Notation (Original)
Associated Object
Data Element Cardinality – Exactly one
Cardinality – Zero or one
RelationshipCardinality – Mandatory Many
Cardinality – Optional Many
Konkuk University 36
![Page 37: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/37.jpg)
Entity Relationship Diagram ExampleEntity Relationship Diagram - Example
Konkuk University 37
![Page 38: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/38.jpg)
State Transition DiagramState Transition Diagram
Sh h i d i b• Shows the time ordering between processes.• More primitive than the Statechart diagram in UML.• Different from the State transition diagram used in DFDDifferent from the State transition diagram used in DFD. • Not widely used.
• Notation
TransitionsObjects
Konkuk University 38
![Page 39: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/39.jpg)
State Transition Diagram ExampleState Transition Diagram - Example
Konkuk University 39
![Page 40: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/40.jpg)
PracticePractice
C l h RVC l i i d il• Complete the RVC analysis in more details.– Consider the “Dust”.– You may have several controller.y
Konkuk University 40
![Page 41: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/41.jpg)
Structure ChartsStructure Charts
S d D i (SD)• Structured Design (SD)
• Functional decomposition (Divide and Conquer)Functional decomposition (Divide and Conquer)– Information hiding– Modularity– Low coupling– High internal cohesion
• Needs a transform analysis.
Konkuk University 41
![Page 42: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/42.jpg)
Structured Charts Transform AnalysisStructured Charts – Transform Analysis
Afferent Flow(Input)
Efferent Flow(Output)
Central Transformation(Control)
Konkuk University 42
![Page 43: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/43.jpg)
Structured Charts Transform AnalysisStructured Charts – Transform Analysis
Input(Afferent Flo )
Process(C t l T f ti )
Output(Efferent Flo )(Afferent Flow) (Central Transformation) (Efferent Flow)
Control
ProcessInput Output
Konkuk University 43
![Page 44: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/44.jpg)
Structured Charts NotationStructured Charts – Notation
Basic Notation [Yourdon 1989]
Modules
Basic Notation [Yourdon 1989]
Variations
Library modules
Data module
y
Module call
Asynchronous module call
Data Flow
Iteration
Control Flow
Decision
Konkuk University 44
![Page 45: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/45.jpg)
Structured Charts ExampleStructured Charts - Example
Zhou Qun, Kendra Hamilton, and Ibrahim Jadalowen (2002)
Konkuk University 45
![Page 46: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/46.jpg)
Structured Charts RVC Example (Basic)Structured Charts – RVC Example (Basic)
i
Controller
Main
Controller
Obstacle Location Dust Existence
DetermineObstacle Location
Determine Dust Existence
EnableDisable
Trigger Trigger
Front SensorInterface
Left SensorInterface
Right SensorInterface
Dust SensorInterface
Move Forward Turn Left Turn Right
Konkuk University 46
![Page 47: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/47.jpg)
Structured Charts RVC Example (Advanced)Structured Charts – RVC Example (Advanced)
i
Controller
Main
Controller
Obstacle Location
DetermineObstacle Location
Determine Dust Existence
Dust Existence
EnableDisable
Trigger
Trigger
Front SensorInterface
Left SensorInterface
Right SensorInterface
Dust SensorInterface
Move Forward Turn Left Turn Right
Konkuk University 47
![Page 48: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/48.jpg)
Pros of SASDPros of SASD
H di i il ll i i j• Has distinct milestones, allowing easier project management tracking.
• Very visual – easier for users/programmers to understandy /p g• Makes good use of graphical tools• Well known in industry• A mature technique• Process-oriented way is a natural way of thinking• Flexible• Flexible• Provides a means of requirements validation• Relatively simple and easy to ready p y
Konkuk University 48
![Page 49: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/49.jpg)
Pros of SASDPros of SASD
S C Di• System Context Diagram– Provides a black box overview of the system and the environment
• Event List– Provides a guidance for functionality– Provides a list of system inputs and outputsProvides a list of system inputs and outputs– A means of requirements summarization– Can be used to define test cases (as we will see soon.)
• Data Flow Diagram (DFD)– Ability to represent data flows
F ti l d iti (di id d )– Functional decomposition (divide and conquer)
Konkuk University 49
![Page 50: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/50.jpg)
Pros of SASDPros of SASD
D Di i• Data Dictionary– Simplifies data requirements– Used at high or low level analysis
• Entity Relationship Diagram (ERD)– Commonly used and well understoodCommonly used and well understood– A graphical tool, so easy to read by analysts– Data objects and relationships are portrayed independently from the process– Can be used to design database architectureCan be used to design database architecture– Effective tool to communicate with DBAs
• Process Specification• Process Specification– Expresses the process specifications in a form that can be verified
Konkuk University 50
![Page 51: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/51.jpg)
Pros of SASDPros of SASD
S T i i Di• State Transition Diagrams– Models real-time behavior of the processes in the DFD
• Structure Charts– Modularity improves the system maintainability– Provides a means for transition from analysis to designProvides a means for transition from analysis to design– Provides a synchronous hierarchy of modules
Konkuk University 51
![Page 52: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/52.jpg)
Cons of SASDCons of SASD
I f i l i• Ignores non-functional requirements.• Minimal management involvement• Non-iterative – waterfall approachNon iterative waterfall approach• Not enough use-analysts interaction• Does not provide a communication process with users.• Hard to decide when to stop decomposing.• Does not address stakeholders’ needs.
D k ll i h Obj O i d i l• Does not work well with Object-Oriented programming languages.
Konkuk University 52
![Page 53: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/53.jpg)
Cons of SASDCons of SASD
S C Di• System Context Diagram– Does not provide a specific means to determine the scope of the system.
• Event List– Does not define all functionalities.– Does not define specific mechanism for event interactions.Does not define specific mechanism for event interactions.
• Data Flow Diagram (DFD)W k di l f i t/ t t d t il– Weak display of input/output details
– Confused for users to understand.– Does not represent time.
N i li d i– No implied sequencing– Assigns data stores in the early analysis phase without much deliberation.
Konkuk University 53
![Page 54: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/54.jpg)
Cons of SASDCons of SASD
D Di i• Data Dictionary– No functional details– Formal language is confusing to users.
• Entity Relationship Diagram (ERD)– May be confused for users due to its formal notation.May be confused for users due to its formal notation.– Become complex in large systems.
• Structure Chart• Structure Chart– Does not work well for asynchronous processes such as networks.– Could be too large to be effectively understood with larger programs.
Konkuk University 54
![Page 55: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/55.jpg)
Cons of SASDCons of SASD
P S ifi i• Process Specification– They may be too technical for users to understand.– Difficult to stay away from the current “How to implement.”
• State Transition Diagram– Explains what action causes a state change, but not when or how often.Explains what action causes a state change, but not when or how often.
Konkuk University 55
![Page 56: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/56.jpg)
When to use SASD?When to use SASD?
W ll k bl d i• Well-known problem domains• Contract projects where SRS should be specified in details• Real-time systemsReal time systems• Transaction processing systems• Not appropriate when time to market is short.
I• In recent years,SASD is widely used in developing real-time embedded systems.
Konkuk University 56
![Page 57: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/57.jpg)
SASD vs OOADSASD vs. OOAD
Si il i i• Similarities– The both have started off from programming techniques.– The both use graphical design and tools to analyze and model requirements.– The both provide a systematic step-by-step process for developers.– The both focus on the documentation of requirements.
• Differences– SASD is process-oriented.– OOAD is data(object)-orientedOOAD is data(object) oriented.– OOAD encapsulates as much of the system’s data and processes into objects,– While SASD separates them as possible as it can.
Konkuk University 57
![Page 58: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/58.jpg)
Class QuestionsClass Questions
Wh i i i ?• What is your opinion on ?– Does it reduce maintainability costs?– Is it useful?– Is it efficient?– Is it appropriate for E-commerce(business) development?
• What is SASD’s target domain?
Konkuk University 58
![Page 59: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/59.jpg)
SummarySummary
SASD i d i f l i h i• SASD is a process-driven software analysis technique.• SASD has a long history in the industry and it is very mature.• It provides a good documentation for requirementsIt provides a good documentation for requirements.• In recent years, it is widely used for developing real-time
embedded system’s software.
SASD
Konkuk University 59
SASD
![Page 60: Structured Analyygsis and Structured Designdslab.konkuk.ac.kr/Class/2019/19SE/Lecture Note... · Data Flow Control Process Ti Control Flow Terminator Data Store Konkuk University](https://reader033.vdocuments.us/reader033/viewer/2022051810/601a5595ed20805b0606ead3/html5/thumbnails/60.jpg)
Final Presentation (OOAD SASD)Final Presentation (OOAD vs. SASD)
E li h i• English presentation
• Compare OOAD with SASD using your elevator controller teamCompare OOAD with SASD using your elevator controller team project.
– Pros and Cons of SASD and OOAD for developing elevator controllers respectivelyrespectively
– Your opinion and suggestion!!!
Konkuk University 60