103
1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

Embed Size (px)

Citation preview

Page 1: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

11

Structured Analysis

Soongsil UniversityIndustrial and Information Systems Engineering

Page 2: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

22

3.2 3.2 구조적 분석구조적 분석

정의사용자의 요구분석 사항을 파악하기 위하여 자료의 흐름과 가공절차를 그림 중심으로 표현하는 방법

처리중심 (process-oriented) 분석 기법

세부 작업 순서배경도 작성상위 자료 흐름도 작성하위 자료 흐름도 작성자료 사전 작성소단위 명세서 작성

Page 3: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

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

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

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

66

• FD Diagrams: Example 1

Function Decomposition (FD)

Page 7: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

77

• FD Diagrams: Example 2

Function Decomposition (FD)

Page 8: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2727

Context Diagram …

Page 28: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

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

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

3030

A DFD Fragment Example

Page 31: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

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

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

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

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

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

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

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

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

3939

Showing Boundaries

Page 40: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7474

System/Level 0 DFD

Page 75: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

102102

요구사항 명세서 문서 양식

Page 103: 1 1 Structured Analysis Soongsil University Industrial and Information Systems Engineering

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)

/* 이 프로젝트와 관련하여 앞으로 향상될 수 있는 부분에 대하여 기록한다 */