1 1 structured analysis soongsil university industrial and information systems engineering
TRANSCRIPT
![Page 1: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/1.jpg)
11
Structured Analysis
Soongsil UniversityIndustrial and Information Systems Engineering
![Page 2: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/2.jpg)
22
3.2 3.2 구조적 분석구조적 분석
정의사용자의 요구분석 사항을 파악하기 위하여 자료의 흐름과 가공절차를 그림 중심으로 표현하는 방법
처리중심 (process-oriented) 분석 기법
세부 작업 순서배경도 작성상위 자료 흐름도 작성하위 자료 흐름도 작성자료 사전 작성소단위 명세서 작성
![Page 3: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/3.jpg)
33
Functional Analysis
Stage 1. Function Decomposition
Stage 2. Data Flow Diagram
Stage 3. DD (Data Dictionary)
Stage 4. Mini Specification
![Page 4: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/4.jpg)
44
Process
A process is a business activity which when executed produces certain outputs from given inputs
The function(s) performed by a process may be complex, with multiple inputs, outputs and users
The entire application itself is a process We use successive decomposition into sub
processes to reveal greater details of the processing
![Page 5: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/5.jpg)
55
Function Decomposition
Decomposition splits work of a task into subtasks; subtasks together make-up the parent task;
- looks like a module decomposition
- not like ‘calling’ a module
Balanced decomposition: sub-tasks are roughly equal in complexity
![Page 6: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/6.jpg)
66
• FD Diagrams: Example 1
Function Decomposition (FD)
![Page 7: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/7.jpg)
77
• FD Diagrams: Example 2
Function Decomposition (FD)
![Page 8: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/8.jpg)
88
Function Decomposition …
Top-down decomposition gives hierarchical structure
Decompose into 2 or more; not more than 5 A high cohesion (high independence) and
minimum coupling (minimum interdependence) are fundamental criteria
Continue decomposition until elementary processes are identified
![Page 9: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/9.jpg)
99
Function Decomposition
Elementary process is a smallest unit of activity meaningful to end user
Process decomposition diagram A tree structure Elementary processes are leaf nodes Data are not shown
![Page 10: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/10.jpg)
1010
Homework
Exercise: prepare FDDs for Railway reservation system Hospital patient management Employee payroll
![Page 11: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/11.jpg)
1111
Function Decomposition …
Use proper naming of processes Business functions named as nouns
Eg) marketing, Inventory control, … Process name consists of an active verb and
an object
Eg) accept order, calculate interest, …)
![Page 12: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/12.jpg)
1212
Naming …
Avoid long names
(sentences containing and, if, then, etc. indicate non-cohesive complex tasks)
Real world is a good reference for selecting proper names;
organizational units are organized functionally and each unit has a well-defined task
![Page 13: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/13.jpg)
1313
Functional Analysis
Stage 1. Function Decomposition
Stage 2. Data Flow Diagram
Stage 3. DD (Data Dictionary)
Stage 4. Mini Specification
![Page 14: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/14.jpg)
1414
Example of Data Flow Diagram
Process
Source / sink
Data stores (files)
Data flow
CalculateUniversity Grad
Current grade
Final grades
Test scores
Current score
Final score
Final grades
Student
CalculateClass Grad
Class/ grad file
Studentfiles
1.0 2.0
D1D2
Register’soffice
Teacher
Save Open Save Open
![Page 15: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/15.jpg)
1515
Data Flow Diagram (DFD)
A picture of the movement of data between
external entities, the processes, and data stores within a system
DFDs depict logical data flow independent of technology
![Page 16: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/16.jpg)
1616
Data Flow Diagram (DFD)
FDD may be done before DFD or we may prepare DFDs directly
Have more contents than FDDs Flow of data is shown, not flow of control
![Page 17: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/17.jpg)
1717
Data Flow Diagrams (DFD) …
DFDs are unambiguous and concise They can describe processing at physical as
well as logical levels DFDs facilitate top-down development They permit outlining of preferences and
scope
![Page 18: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/18.jpg)
1818
Data flows
Current score
Final score
Final grades
They are groups of data that move through a system from one place to another.
Include names of all individual elements of data moving Data flow is represented by “arrow”
E.g. results of grading mark
![Page 19: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/19.jpg)
1919
Data stores
They refer to data at rest that may represent one or many physical locations.
Each data store has a label and number (number of files location)
Data store is represented by a rectangle Eg) data about students (paper-based or floppy
disk)
Class/ grad file
D1 Class/grad file Class/grad fileD1 D1
![Page 20: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/20.jpg)
2020
Processes
They are the action performed on data so that they are transformed (manual or automatic), stored or distributed E.g. calculate class mark
Each process includes a name & process number It is represented by a bubble or rectangle with
rounded corners
CalculateClass Grad
1.0CalculateClass Grad
CalculateClass Grad
1.01.0
![Page 21: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/21.jpg)
2121
Sources / sinks
They are the origin (sources) and/or destinations (sink) of the data, i.e. that supplies or receive data
They refer to external entities (or outside) to a system; boundaries of the system.
Each source/ sink has a name that states what the external agent is, e.g. students
A source (sink) is represented by square
Teacher
![Page 22: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/22.jpg)
2222
DFD Shapes from Visio
From Flow Chart /Data Flow Diagram
Process
Data Store
External Entity
From Softw are Diagram /Gane-Sarson DFD
Process
ID #
ID#
ExternalEntity
Data Store1
External Entity
Data Store
Process
From Flow Chart /Data Flow Diagram
Visio 5.x Visio 2000
![Page 23: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/23.jpg)
2323
FDD Example: Air line reservation
Air line reservation
Make reservation
Prepare ticket
Billing
![Page 24: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/24.jpg)
2424
Example: Air line reservation
Flight info
Passenger, reservationinfo
PassengerInfo
Flight, Passenger info
![Page 25: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/25.jpg)
2525
DFD levelsContext Diagram
Level 0 DFD
Level 1 DFD
Level 2 DFD
![Page 26: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/26.jpg)
2626
Context Diagram
Shows the entire application as a single process Identifies its external interfaces This is the starting point; also called
Fundamental System Model, Level 0 DFD
![Page 27: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/27.jpg)
2727
Context Diagram …
![Page 28: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/28.jpg)
2828
Context diagram of DFD
Context diagram is an overview of an organisational system that show the system boundaries, external entities that interact with the system, and the major information flows between the entities and the system
Final grades
OMR Card
Current score
Final score
Final grades
Student
Grading system
Register’soffice
Teacher
![Page 29: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/29.jpg)
2929
Creating a Set of DFDs Draw a Context Diagram
Drawing Guidelines1. Draw the context diagram so it fits on one page
2. Use the name of the information system as the process name in the context diagram
3. Do not cross lines
4. Provide a unique name and reference number for each process
5. Obtain user input and feedback
![Page 30: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/30.jpg)
3030
A DFD Fragment Example
![Page 31: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/31.jpg)
3131
Process Refinement
Decompose a process into sub processes May reveal more data stores, external interfaces Use decimal numbering system: process 1 is
decomposed into 1.1, 1.2, etc. At each level, understand all data flows and
processing; label processes, data stores and data flows (arrows) meaningfully.
Continue decomposition and stop when control flow (conditional branches, loops) surfaces. Refine until processes are well understood.
![Page 32: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/32.jpg)
3232
FDD Example: Grading System
Grading system
Calculate student score
Calculate University
Grad
![Page 33: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/33.jpg)
33
Context diagram
33
Final grades
OMR Card
Current score
Final score
Final grades
Student
Grading system
Register’soffice
Teacher
![Page 34: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/34.jpg)
3434
Level-0 diagram
Level-0 diagram is a data flow diagram that represents a system’s major processes, data flows, and data stores at a high level of detail.
Example of level-0 diagramFinal grades
OMR Card
Current scoreFinal score
Student
CalculateStudent score
CalculateUniversity Grad
Class/ grad file
Studentfiles
1.0 2.0
D1 D2
Register’soffice
Teacher
Save Open Save Open
Final grades
OMR Card
Current scoreFinal score
Final grades
Student
Grading system
Register’soffice
Teacher
Final grades
![Page 35: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/35.jpg)
3535
Refinement …
DFDs do not show control flow DFDs do not show initializations (such as
initial file creation), but show processes running in a steady state.
![Page 36: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/36.jpg)
3636
Refinement …
Processes must be independent of each other (cohesion, coupling principles apply); work of a process depends only on its inputs and not on state of another process
Only needed data should be input, and outputs should be based on data entering the process
![Page 37: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/37.jpg)
3737
Refinement …
Ensure consistency among levels: inputs and outputs at previous level should be present at next level
![Page 38: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/38.jpg)
3838
Physical DFD
Shows implementation details Names and locations of places/people Ways of storing data (like card indexes)
Useful for describing existing system to validate it with users
Needs to be converted into logical DFD after validation from users
![Page 39: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/39.jpg)
3939
Showing Boundaries
![Page 40: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/40.jpg)
4040
High Level Structure (Hierarchy) Chart
Structured Chart: Systems documentation showing each level of design, the relationship among the levels, and the overall place in the design structure; can document one program, one system, or part of one program.
C o nfirmR egis tratio n
VerifyAvailab ility
Enro llS tud ent
Ap p lyP ayment
P o s t thec o urses
P rep areInvo ic e
R egis tratio n
![Page 41: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/41.jpg)
4141
Data Flow Diagram for mail-in university registration system
1.0Verify
AvailabilityStudent
2.0Enroll
Student
3.0Confirm
registration
Course file
StudentMaster File
Requested Courses Open courses
Accepted/rejected-selections
Registration
Confirmation-letter
Student Details
Course-enrollment
Course-details
![Page 42: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/42.jpg)
4242
Level 2
Process Logic to Prepare Invoice
Compute total credit
Compute total fee
Add student fee
2.2Prepareinvoice
2.1Past thecourse
Student
2.3Apply
paymentStudent'scourses
Amount
InvoiceCheck Confirm
Courseoffering
Fee schedule
Fee
![Page 43: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/43.jpg)
434343
Level 2
Process Logic to Prepare Invoice
Compute total credit
Compute total fee
Add student fee
2.2Prepareinvoice
2.1Past thecourse
2.3Apply
paymentStudent'scourses
Amount
InvoiceCheck Confirm
Courseoffering
Fee schedule
Fee
Student
![Page 44: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/44.jpg)
4444
Context diagram of MacDonald food ordering system
Customer Kitchen
Restaurant manager
Customer order
Receipt Food order
Management report
Food ordering system
0
![Page 45: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/45.jpg)
4545
Level-0 diagram
Exercise in the classroom Generate the level-0 diagram by detailing the main
process
Food ordering system (process 0) could be split into four sub processes Receive and transform customer food order Update good sold file Update inventory file Produce management report
![Page 46: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/46.jpg)
4646
Rules of DFD / decomposition of process 4.0 Functional decomposition is an iterative processes of
breaking the description of a system down into finer and finer details which creates a set of charts in which one process in a given chart is explained in greater details on another chart
Produce management
report
4.0
Daily inventory amount
Daily Good sold amounts
Management report
Access good sold & inventory
data
4.1Inventory
dataDaily
Goods Sold
amounts
Prepare management
report
4.3
Aggregate good sold &
inventory data
4.2
Good sold data
Aggregate data
Management report
Daily inventory amount
![Page 47: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/47.jpg)
4747
Rules of DFD / balancing
Balancing is the conservation of inputs and outputs to a DFD process when that process is decomposed to lower levels
![Page 48: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/48.jpg)
4848
Unbalanced DFD
This is unbalanced because the process of the context diagram has only one input but the Level-0 diagram has two inputs.
1 input
1 output
2 inputs
1 output
![Page 49: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/49.jpg)
4949
Balanced DFD
These are balanced because the numbers of inputs and outputs of context diagram process equal the number of inputs and outputs of Level-0 diagram.
1 input
3 outputs
![Page 50: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/50.jpg)
5050
Balanced DFD (cont.)
These are balanced because the inputs and outputs to Process 1.0 of the Level-0 diagram equals the f inputs and outputs to the Level-1 diagram.
1 input
4 outputs
![Page 51: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/51.jpg)
5151
Data Flow Splitting
A composite data flow at a higher level may be split if different parts go to different processes in the lower level DFD.
This remains balanced because the same data is involved, but split into two parts.
![Page 52: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/52.jpg)
5252
Which of the two diagrams is balanced or unbalanced?
Produce report
4.0
Daily inventory amount
Daily Good sold amounts
Management report
Access data
4.1Inventory
dataDailyGoodSold
amounts
Prepare report
4.3
Aggregate data
4.2
Good sold data
Aggregate data
Management report
Produce report
4.0
Daily inventory amount
Daily Good sold amounts
Management report
Access data
4.1Inventory
dataDailyGood Sold
amounts
Prepare report
4.3
Aggregate data
4.2
Good sold data
Aggregate data
Management report
Daily inventory amount
A
B
![Page 53: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/53.jpg)
5353
Using DFD in the analysis process & guideline
Correctness Completeness Inconsistency Timing Primitive DFD
![Page 54: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/54.jpg)
5454
Correctness and Completeness
Correctness: it refers to drawing a correct DFD (see rules e.g. balancing, functional decomposition)
Completeness: it refers to whether you have included in your DFDs all the components necessary for the system you are modeling. Examples of incompleteness
There are entities that are not connected to any thing else There is a process with only input and without output
![Page 55: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/55.jpg)
5555
Example of completeness: where is the error?
Update inventory file
Update good sold file
Produce management
report
Customer Kitchen
Good sold file Inventory file
Receive & transform customer food order
1.0
2.0 3.0
4.0
Good sold
Inventory sold
Format data
Format data
Daily good sold amount
Daily inventory amount
![Page 56: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/56.jpg)
5656
Consistency
Consistency: it refers to whether or not the depiction of the system shown in at one level of a nested set of DFD is compatible with the depiction of the system shown in at other level
Example of inconsistencies Existing of a level-1 diagram with no high level -0
diagram Existing of a data flow at level-0 diagram but not at level-
1 diagram
![Page 57: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/57.jpg)
5757
Example of inconsistencies: where is the error? (already seen)
Produce report
4.0
Daily inventory amount
Daily Goods sold amounts
Management report
Level-0 diagram
Aggregate data
Access data
4.1Inventory
dataDailyGoods
Soldamounts
Prepare report
4.3
Aggregate data
4.2
Good sold data
Management report
Level-1 diagram
Total inventory amount
![Page 58: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/58.jpg)
5858
Guidelines for Drawing DFDs (cont.)
Timing Time is not represented well on DFDs. Best to draw DFDs as if the system has never
started and will never stop. Iterative Development
Analyst should expect to redraw diagram several times before reaching the closest approximation to the system being modeled.
![Page 59: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/59.jpg)
5959
Guidelines for Drawing DFDs (cont.)
Primitive DFDs Lowest logical level of decomposition Decision has to be made when to stop
decomposition
![Page 60: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/60.jpg)
6060
Other guidelines
Drawing DFD is facilitated by CASE upper tools (generating processes and diagrams)
DFD can be used as an analysing tool to check correctness, inconsistencies and completeness
DFD can be used as a tool to support Business Process Re-engineering (BPR)
![Page 61: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/61.jpg)
6161
DFD Diagramming Rules Process
No process can have only outputs or only inputs…processes must have both outputs and inputs.
Process labels should be verb phrases.
![Page 62: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/62.jpg)
6262
DFD Diagramming Rules Data Store
Data store labels should be noun phrases.
All flows to or from a data store must move through a process.
![Page 63: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/63.jpg)
6363
DFD Diagramming RulesSource/Sink
Source and sink labels should be noun phrases.
No data moves directly between external entities without going through a process.
Interactions between external entities without intervening processes are outside the system and therefore not represented in the DFD.
![Page 64: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/64.jpg)
6464
DFD Diagramming Rules Data Flow
Bidirectional flow between process and data store is represented by two separate arrows.
Forked data flow must refer to exact same data item (not different data items) from a common location to multiple destinations.
![Page 65: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/65.jpg)
6565
DFD Diagramming RulesData Flow (cont.)
Joined data flow must refer to exact same data item (not different data items) from multiple sources to a common location.
Data flow cannot go directly from a process to itself, must go through intervening processes.
![Page 66: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/66.jpg)
6666
DFD Diagramming RulesData Flow (cont.)
Data flow from a process to a data store means update (insert, delete or change).
Data flow from a data store to a process means retrieve or use.
Data flow labels should be noun phrases.
![Page 67: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/67.jpg)
676767
Example of DFD
Draw the DFD for a distance education university. The enrolment process works as follows:
- 학생들 (Students) 은 인적사항 (personal details) 과 수강 희망과목 (desired course) 을 포함하는 지원양식 (application form) 을 보낸다 .
- 대학 (university) 은 학생이 수강 자격이 되는 지와 과목이 수강이 가능한지 확인한다 . - 만약 학생이 수강신청이 가능하면 대학은 학생에게 가능여부의 확인편지 (a confirmation letter) 를 학생에게 보내고 수강신청이 불가능하면 수강신청 거부편지 (rejection letter) 를 보낸다 .
![Page 68: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/68.jpg)
68686868
Example of DFD
1. Read the problem description carefully looking for:
people/organisations/things that supply information to or use information from the system => 외부 엔티티 (external entities, EE)
actions/doing words/verbs => Processes (P)
movement/exchange of information/data between external entities to processes, and processes to processes => data flows (DF)
store/record information/data => data stores(DS)
![Page 69: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/69.jpg)
69696969
Example of DFD
Draw the DFD for a distance education university. The enrolment process works as follows:
- 학생들 (Students) 은 인적사항 (personal details) 과 수강 희망과목 (desired course) 을 포함하는 지원양식 (application form) 을 보낸다 .
- 대학 (university) 은 학생이 수강 자격이 되는 지와 과목이 수강이 가능한지 확인한다 . - 만약 학생이 수강신청이 가능하면 학생은 수강신청을 하고(enroll), 대학은 학생에게 이에 대한 확인편지 (a confirmation letter) 를 학생에게 보내고 수강신청이 불가능하면 수강신청 거부편지 (rejection letter) 를 보낸다 .
![Page 70: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/70.jpg)
7070
2. It often helps to walk through the system in its logical sequence; eg starting with an external entity(source), add data flows, processes and data stores as the data provided by the entity is manipulated by the system.
- A student (EE) sends in an application form (DF) containing their personal details, and their desiredcourse- The university checks (P) that the course is available.- If the course is available the student is enrolled (P) in the course, and the university confirms (P) theenrolment by sending a confirmation letter (DF) that they are registered for the course to the student.- Or if the course is unavailable the student is sent a rejection letter (DF).
![Page 71: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/71.jpg)
7171
Context diagram
Highest level DFD.Has data flows, external entities, one process (system in focus) and no data stores.Shows the system boundary and interactions with external entities.
· · In this case:External entity - StudentProcess - Student Administration process applicationData Flows - Application Form, Confirmation/Rejection Letter
![Page 72: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/72.jpg)
727272
Context diagram
Students
Student administration
system
Application details
Confirmation/Rejection details
![Page 73: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/73.jpg)
73737373
System/Level 0 DFD
External entity – Student
Process - Check course available, Enroll student, Confirm Registered
Data Flows - Application Form, Course Details, Course Enrolment Details, Student Details, Confirmation/Rejection Letter
Data Stores - Courses, Students.
![Page 74: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/74.jpg)
7474
System/Level 0 DFD
![Page 75: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/75.jpg)
7575
Functional Analysis
Stage 1. Function Decomposition
Stage 2. Data Flow Diagram
Stage 3. DD (Data Dictionary)
Stage 4. Mini Specification
![Page 76: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/76.jpg)
7676
Data Dictionary
A data dictionary, or data repository, is a central storehouse of information about the system’s data
An analyst uses the data dictionary to collect, document, and organize specific facts about the system
Also defines and describes all data elements and meaningful combinations of data elements
![Page 77: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/77.jpg)
7777
Data Dictionary (DD)
– Used to define the structure of the information being exchanged
– Allow validation if the data model is free of redundancies and inconsistencies
– Rules:
• Every data flow arrow and every memory has a name
• We define every data flow and memory name in a Data Dictionary
(e.g. InquiryData =PersonalData + (CompanyData))
• The Data Dictionary entries conform to the BNF (see next).
![Page 78: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/78.jpg)
7878
Data Dictionary (DD)– BNF (Backus Naur Form) • Notation: ... = ... is equivalent with ... + ... Sequence and composition ‘ ‘ Constant of Character types [... | ...] Selection (either ... or ...), e.g) [a | b] { } Repetition { }x Repetition at least x, >= X, e.g) {a}3
{ }y Repetition at most y, <= y, e.g) {a}5
{ }yx x <= Repetition number <= y, e.g) {a}5
3
x{ }y Repetition from x to y ( ) Option, e.g) (a) * ... * Comment
![Page 79: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/79.jpg)
7979
The format of the DD is semi-formal
Example:
telephone number = [ local extension | outside number ]local extension = 2 + { number }3
outside number = 0 + [ local number | long distance number ]local number = prefix + access numberlong distance number = (1) + area code + local numberprefix = [ 123 | 124 | 125 ]access number = { number }4
number = * any number between 0 and 9 *
selection (or)
optional
repetition
a comment
composition (and)
Data Dictionary (DD)
![Page 80: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/80.jpg)
8080
Data Dictionary (DD)<Example>
구독자 _전화번호 = [ 지역번호 ] + 국번 + '-' + 가입자 _번호 지역번호 = '(' + '0' + 첫자리 + { 십진수 }2
0 + ')'
국번 = { 십진수 }43
가입자 _번호 = { 십진수 }44
첫자리 = 2|3|4|5|6
자료흐름도에서 쓰인 자료 항목들이 ' 가나다 ' 순으로 사전처럼 정리되어야 함
![Page 81: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/81.jpg)
8181
Order rejected
deposit
Order accepted
Ticketallotment
Paymentregister-ation
BankCustomer
Ticket bookTicket order
Receipt Store
Ticket sales
Order accepted = name + address + payment + date + No. of orders + 1{ticket} ticket = 1{date + fee + available numbers} Ticket order = name + address + payment + 1{ticket} Order rejected = name + address + payment + letter for rejection
DFD
DD
Example of DFD and DD
Receipt report
Order
![Page 82: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/82.jpg)
8282
Data Dictionary
A data element, also called a data item or field, is the smallest piece of data that has meaning
Data elements are combined into records, also called data structures
A record is a meaningful combination of related data elements that is included in a data flow or retained in a data store
![Page 83: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/83.jpg)
8383
Data Dictionary
Documenting the Data Elements You must document every data element in
the data dictionary The objective is the same: to provide clear,
comprehensive information about the data and processes that make up the system
![Page 84: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/84.jpg)
8484
Data Dictionary
Documenting the Data Flows The typical attributes are as follows
Data flow name or label Description Alternate name(s) Origin Destination Record Volume and frequency
telephone number = [ local extension | outside number ]local extension = 2 + { number }3
outside number = 0 + [ local number | long distance number ]local number = prefix + access numberlong distance number = (1) + area code + local numberprefix = [ 123 | 124 | 125 ]access number = { number }4
number = * any number between 0 and 9 *
![Page 85: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/85.jpg)
8585
Data Dictionary
Documenting the Data Stores Typical characteristics of a data store are
Data store name or label Description Alternate name(s) Attributes Volume and frequency
![Page 86: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/86.jpg)
8686
Data Dictionary
Documenting the Processes Typical characteristics of a process
Process name or label Description Process number Process description
![Page 87: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/87.jpg)
8787
Data Dictionary
Documenting the Entities Typical characteristics of an entity include
Entity name Description Alternate name(s) Input data flows Output data flows
![Page 88: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/88.jpg)
8888
Data Dictionary
Documenting the Records Typical characteristics of a record include
Record or data structure name Definition or description Alternate name(s) Attributes
![Page 89: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/89.jpg)
8989
Data Dictionary Data Dictionary Reports
Many valuable reports An alphabetized list of all data elements by name A report describing each data element and indicating
the user or department that is responsible for data entry, updating, or deletion ( 처리 담당자 명시 )
A report of all data flows and data stores that use a particular data element ( 세세한 data element 를 사용하는 것들에 대한 보고 )
Detailed reports showing all characteristics of data elements, records, data flows, processes, or any other selected item stored in the data dictionary (data 특성들에 대한 상세한 보고 )
![Page 90: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/90.jpg)
9090
Functional Analysis
Stage 1. Function Decomposition
Stage 2. Data Flow Diagram
Stage 3. DD (Data Dictionary)
Stage 4. Mini Specification
![Page 91: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/91.jpg)
9191
Mini Specs; Process Description
Means of specification for atomic subsystems not being refined by DFDs anymore.
– specify the transformation of input data into output data in an implementation independent way
– Pseudo Code, Decision Tables (DT)
![Page 92: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/92.jpg)
92
Exchange sort 의 Pseudocode
void exchangesrot(int n, keytype s[]){ index i, j; for(i=1; i<=n-1; i++) for(j=i+1 ; j <= n ; j ++) if (s[j] < s[i]) exchange s[i] and s[j]}//n 은 배열의 크기 , s[] 는 배열을 뜻합니다 .
92
![Page 93: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/93.jpg)
93
#include<stdio.h>#define MAX 100void main(){
int numeral[MAX]; // arrayint num, i, j, temp; do{
printf("INPUT ARRAY NUMERAL(2~100) : ");scanf("%d", &num);
}while( 1 >= num || num > 100); //input error checkfor(i = 0; i < num ; i++) //input number{
printf("INPUT %d NUMBER : ", i);scanf("%d", &numeral[i]);
}for(i=0 ; i< num-1; i++) // exchange sort start
for(j= i+1 ; j<num;j++)if(numeral[j] < numeral[i]){temp = numeral[i];numeral[i] = numeral[j];numeral[j] = temp;} // exchange sort end
printf("==result==\n");for(i=0 ; i<num; i++)
printf("%d ",numeral[i]);printf("\n");
}
93
Exchange sort 의 Code
![Page 94: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/94.jpg)
9494
Mini Specs; Process Description Tools
A process description documents the details of a functional primitive, and represents a specific set of processing steps and business logic
![Page 95: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/95.jpg)
9595
Process Description Tools
Modular Design Based on combinations of three logical
structures, sometimes called control structures, which serve as building blocks for the process1. Sequence
2. Selection
3. Iteration - looping
![Page 96: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/96.jpg)
9696
Process Description Tools Structured Language
Must conform to the following rules Use only the three building blocks of sequence,
selection, and iteration Use indentation for readability Use a limited vocabulary, including standard
terms used in the data dictionary and specific words that describe the processing rules
![Page 97: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/97.jpg)
9797
Process Description Tools Structured Language (English)
Might look familiar to programming students because it resembles pseudocode
![Page 98: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/98.jpg)
9898
Process Description Tools Decision Tables
Shows a logical structure, with all possible combinations of conditions and resulting actions
It is important to consider every possible outcome to ensure that you have overlooked nothing
Condition of Rules combinations
Action of The rule combinations 1 2 3 4
(1) Issue Invoice ( 물품목록 ) N Y Y Y (2) Issue Payment Bill N Y Y Y(3) Register in Credit Record N N Y N
1 2 3 4(1) an amount of payment > 10 million Y N Y N(2) Overdue > 60 days Y Y N N
![Page 99: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/99.jpg)
9999
Process Description Tools
Decision Tables Can have more than two possible outcomes Often are the best way to describe a complex
set of conditions
![Page 100: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/100.jpg)
100100
Process Description Tools Decision Trees
Graphical representation of the conditions, actions, and rules found in a decision table
Whether to use a decision table or tree often is a matter of personal preference
![Page 101: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/101.jpg)
101101
Summary
Process modeling by process decomposition DFD shows data flows, stores and
processes, but not control flows Proper naming of stores, processes and
indicating data flowing among them are very important for DFDs to be independently readable
![Page 102: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/102.jpg)
102102
요구사항 명세서 문서 양식
![Page 103: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ea95503460f94badf4c/html5/thumbnails/103.jpg)
103103
요구사항 명세서 문서 양식 ( 계속 )5. 초보 사용자 매뉴얼 (Preliminary User Manual)
/* 매뉴얼의 사용자가 누구인가 규명하고 사람과 시스템 사이의 인터페이스에 대한 정보를 기술한다 . 입출력 데이터를 중심으로 예상되는 메뉴구조 , 스크린 , 보고서 형식 등이 포함될 수 있다 .*/
6. 검증 기준 (Validation Criteria) 과 인수 조건
/* 최종 결과물이 실제로 요구사항 명세서에 기술되어 있는지 사용자와 평가자가 검증할 수 있도록 검증 기준을 기술한다 . 약속한대로 시스템이 만들어 졌는지 결정할 수 있도록 점검 리스트(check list) 를 포함 한다 .*/
6.1 기능시험 및 성능시험7. 비기능 요구사항 (Nonfunctional Requirements)
7.1 성능 요구 ( 반응 시간 , 처리소요 시간 , 처리율 )7.2 하드웨어 요구 ( 기억장치 규모 , 통신 수용도 )7.3 예외 조건 및 이의처리
/* 규제 조항과 제약 조건을 기술한다 . 예를 들어 외부 규제 , 법률 ( 예 : 사생활 침해 ), 안전도 규제 사항 , 표준과 관계되는 사항을 기술 한다 . ' 모든 정보는 ASCII 문자 집합으로 기술되어야 한다 ' 또는 ' 시스템은 명령이 떨어진 후 2 초 내에 반응해 야 한다 ' 등은 그 예이다 .*/
8. 요약 (Summary)
9. 감사의 글 (Acknowledgments)
10. 부록 (Appendices)
/* 이 프로젝트와 관련하여 앞으로 향상될 수 있는 부분에 대하여 기록한다 */