Presentation is loading. Please wait.

Presentation is loading. Please wait.

- 1 - SW 분석 기법 개론 ( 구조적 분석 기법 ) 정 인 상정 인 - 2 - Data Flow Diagram (DFD)  Graphical representation of functional modeling  In analysis, provide representation.

Similar presentations


Presentation on theme: "- 1 - SW 분석 기법 개론 ( 구조적 분석 기법 ) 정 인 상정 인 - 2 - Data Flow Diagram (DFD)  Graphical representation of functional modeling  In analysis, provide representation."— Presentation transcript:

1

2 - 1 - SW 분석 기법 개론 ( 구조적 분석 기법 ) 정 인 상정 인 상 @

3 - 2 - Data Flow Diagram (DFD)  Graphical representation of functional modeling  In analysis, provide representation of information flow in existing and required system  In design, the DFDs can be decomposed into lower level processes (sub-systems) for implementation

4 - 3 - Level-1 DFD CustomerKitchen Restaurant Manager 1. Process Customer Order Food Order Customer Order Receipt Management Reports 2. Update Goods Sold 3. Update Inventory 4. Produce Management Reports Goods Sold Inventory Goods Sold Inventory Data Inventory Record Goods Sold Record Daily Goods Sold Amounts Daily Inventory Depletion Amounts

5 - 4 - External Entity  A producer or consumer of information that resides outside the bounds of the system to be modeled  Source - producer of information  Sink - consumer of information  Examples: CustomerSupplierManagement

6 - 5 - Process  A transformer of information (a function) that resides within the bounds of the system to be modeled  Examples 1.Process New Member 2. Student Registration 2.1 Accept Registration Details

7 - 6 - Data Flow  Data object that flows in the system; the arrowhead indicates the direction of data flow new student record student record

8 - 7 - Data Store  A repository of data that is to be stored for use by one or more processes  May be as simple as a buffer or queue or as sophisticated as a relational database  Examples StudentsInventoryCourses

9 - 8 - DFD Rules  Process v No process can have only outputs. v No process can have only inputs. v A process has a verb label.

10 - 9 - DFD Rules  Data Store v Data cannot move directly from one data store to another data store. v Data cannot move directly from an outside source to a data store. v Data cannot move directly to an outside sink from a data store. v A data store has a noun phrase label.

11 - 10 - DFD Rules  Source/Sink v Data cannot move directly from a source to a sink. It must be moved by a process if the data are of any concern to our system. v A source/sink has a noun phrase label.

12 - 11 - DFD Rules  Data Flow v A data flow has only one direction of flow between symbols. v A fork in data flow means that exactly the same data goes from a common location to two or more processes/stores/sources/sinks. v A join in a data flow means that exactly the same data comes from any two or more processes/stores/sources/sinks.

13 - 12 - DFD Rules  Data Flow (continued) v A data flow cannot go directly back to the same process it leaves. v A data flow to a data store means update. v A data flow from a data store means retrieve or use. v A data flow has a noun phrase label. More than one data flow noun phrase can appear on a single arrow.

14 - 13 - Leveled DFDs  Helps avoiding overly complex DFDs  Lower level provides information about a portion of higher level  Partitioning goes on until v A sensible process spec can be given  The DFD is “ simple enough ”

15 - 14 - Level n: subprocesses 3.1 request res. 3.2. log 3.3. track booking system Request id. timestamps booking confirmation booking request preferences Level n: subprocesses 3.1 request res. 3.2. log 3.3. track booking system Request id. timestamps booking confirmation booking request preferences Level 2: subprocesses 3.1 request reser- vations 3.2. confirm booking 3.3. collate confirm- ations booking system Req id. seat data booking confirmation booking request seating prefs Hierarchies of DFDs ticket system booking system customer tickets booking confirmation booking request customer query Level 0: Context Diagram check schedule issue tickets Proposed itinerary booked itinerary booking request 1. determine form of travel 2. check schedule 3. reserve seats 4. issue tickets Timetables Fare tables customer booking system customer travel request customer query schedule proposed itinerary proposed itinerary booked itinerary fares tickets booking confirmation booking request Level 1: Whole System

16 Comparison of DeMarco & Yourdan and Gane & Sarson DFD Symbol Sets - Data process: work or actions performed on data so that they are transformed, stored or distributed. Process can be manual or computerised -Data store: Eg: customer, student or order data - Source/sink of data: sometimes called external entities. Identifier entered inside shape – Data flow: data in motion & moving as a unit from one place to another, Eg: data on a customer order or payroll cheque

17 - 16 - Context Diagram of Food Ordering System

18 - 17 - 배경도 (Context Diagram) ■ 최상위의 하나로 된 프로세스를 그린 그림을 배경도라 하며 이는 시스템이 분할되기 이전의 프로세스 ■ 배경도는 우리가 개발하여야 할 시스템의 영역을 기술하고, 시스템과 외부 환경과의 경계를 결정하며, 외부와의 인터페이스를 제시하여 시스템의 입출력 데이터를 보여줌 ■ 배경도는 시스템을 블랙박스로 본 것이며 시스템과 외부 환경과의 인터페이스에 초점을 맞춘다. ■ 배경도가 완성되여 사용자가 무엇을 얻을 것인가를 확립한 후, 이를 실현시키기 위해서 시스템의 내부에 대한 분석이 이루어 져야 한다. ■ 배경도는 데이터와 시스템이 반응해야 하는 행위, 사건 등에서 시스 템과 외부 객체사이에 오가는 정보를 추출하여 만들어지며, 시스템의 외부에서 바라본 시스템의 모습을 기술

19 Level-0 DFD of Food Ordering System

20 - 19 - Decomposition of DFD ’ s  Functional decomposition v An interative process of breaking the description of the system into finer and finer detail  Hierarchically related set of DFD ’ s v Lowest is primitive v 1.0 can be broken down into 1.1, 1.2 and 1.3 for example

21 - 20 - Progressive decomposition Process Source 2.2.32.03.02.12.22.32.2.12.2.21.0

22 - 21 - DFD Balancing  Conservation of inputs and outputs to a data flow diagram process when that process is decomposed to a lower level  Some more rules v Q: A composite data flow on one level can be split into component data flows at the next level but no new data can be addedd v R: The inputs to a process must be sufficient to produce the outputs v S: At the lowest level, new data flows may be added that are transmitted under exceptional conditions v T: Duplicate data stores and sources/sinks are indicated using additional symbols

23 Level-1 Diagram Showing Decomposition of Process 1.0 from the Level-0 Diagram

24 Level-1 Diagram Showing the Decomposition of Process 4.0 from the Level-0 Diagram

25 Level-2 Diagram Showing the Decomposition of Process 4.3 from the Level-1 Diagram for Process 4.0

26 - 25 - DFD Consistency Check  Avoid black holes  Avoid spontaneous generators  Avoid unlabeled flows and processes  Avoid read-only (write-only) data stores  Balance levels

27 - 26 - DFD Traps The Spontaneous Generator The Black Hole Create_Odd_Stuff BLACK HOLE…

28 - 27 - DFD Exercise  학생이 수강 신청서를 제출하면 학생에 관한 학적화일과 강좌에 관한 강좌화일을 참조하여 수강화일을 생성합니다. 또한, 수강 사실에 대해 학생들의 확인을 얻고자 수강화일을 참조하여 확인서를 작성하고 이를 학생들에게 발송합니다. 학생은 확인서를 받은 후 오류사항이 있는 경우 정정요구서를 작성하여 제출합니다. 저희는 이것을 보고 다시 수강화일을 갱신합니다. 학기가 종료되면 교수는 학생의 성적을 제출하여 이를 수강화일에 기록해 최종적으로 각 학생별 성적표를 작성 배포합니다.

29 - 28 - Different types of process models 1) DFD ’ s of current physical system 2) DFD ’ s of current logical system 3) DFD ’ s of new logical system 4) DFD ’ s of new physical system

30 - 29 - Logical and Physical Models Logical models show what a system is or does. They are implementation independent; that is, they depict the system independent of any technical implementation. Physical models show not only what a system is or does, but also how the system is (to be) physically and technically implemented. They are implementation dependent because they reflect technology choices. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial representations of reality.

31 - 30 - Activities in Inventory Control System  Meet delivery trucks before opening restaurant  Unload and store deliveries  Log invoices and file in accordian file  Count physical inventory amounts  Compare inventory report totals to physical count totals  Compare physical count totals to minimum order quantities; if the amount is less, make order; if not, do nothing  Pay bills that are due and record them as paid

32 - 31 - Current Physical Inventory Control (a) Context Diagram

33 Current Physical Inventory Control System (b) Level-0 Data Flow Diagram

34 Level-0 Data Flow Diagram for Current Logical Inventory Control System

35 Level-0 Flow Diagram for New Logical Inventory Control System

36 - 35 - Exercise  다음 학사업무에 대한 글을 읽고 자료흐름도를 작성하시오. “ 학생이 수강신청서를 작성하여 제출하면 학생에 관한 학적화일과 강좌에 관한 강좌화일을 참조하여 수강화일을 생성합니다. 또한, 수강한 사실에 대해 학생들의 확인을 얻고자 수강화일을 참조하여 확인서를 작성하고 이를 학생들에게 발송합니다. 학생은 확인서를 받은 후 오류사항이 있는 경우, 정정요구서를 작성하여 제출합니다. 저희는 이것을 보고 다시 수강화일을 갱신합니다. 학기가 종료되면 교수는 학생의 성적을 제출하여 이를 수강화일에 기록해 최종적으로 각 학생별 성적표를 작성, 배포합니다. ”

37 - 36 - Data Dictionary  Describing the meaning of the flows and stores shown in the data flow diagrams  Describing the composition of aggregate packets of data moving along the flows  Describing the composition of packets of data in stores

38 - 37 - Data Dictionary Example Example Data Dictionary Mailing Label = customer_name + customer_address customer_name = customer_last_name + customer_first_name + customer_middle_initial customer_address = local_address + community_address + zip_code local_address = house_number + street_name + (apt_number) community address = city_name + [state_name | province_name] Example Data Dictionary Mailing Label = customer_name + customer_address customer_name = customer_last_name + customer_first_name + customer_middle_initial customer_address = local_address + community_address + zip_code local_address = house_number + street_name + (apt_number) community address = city_name + [state_name | province_name]

39 - 38 - Exercise  다음 양식을 보고 자료사전을 작성하시오 무통장 입금표 입금일자 년 월 일 수수료 __________ 계좌번호 _______________________ 금 액 _________ 예금주 _______________________ 의뢰인 ________________________ 입금방법 현금, 수표 국민은행 _____________ 지점

40 - 39 - 원시 프로세스 (Functional Primitive) ■ 프로세스들 중 더 이상 그 아래로 쪼개지지 않는 하위 프로세스 : 원시 프로세스 ■ 프로세스를 어디까지 쪼갤 것인가는 분석가의 손에 달려있다. ■ 일반적으로 하나의 프로세스가 하나의 기능을 수행할 정도로 충분히 작게 쪼개는 것이 이상적 ■ 원시 프로세스의 상세한 설명은 미니 명세서에 기록 ■ 미니 명세서는 프로세스 명세서라고도 한다. ■ 프로세스에 미니 명세서가 있다는 것은 그 프로세스가 원시 프로세스라는 것을 의미 ■ 미니 명세서의 번호는 그 프로세스의 번호와 같다. ■ 결국 완성된 미니 명세서의 수는 원시 프로세스의 개수와 일치 ■ 일반적으로 미니 명세서의 크기는 한 페이지에 요약될 수 있을 정도가 적당

41 - 40 - 미니명세서


Download ppt "- 1 - SW 분석 기법 개론 ( 구조적 분석 기법 ) 정 인 상정 인 - 2 - Data Flow Diagram (DFD)  Graphical representation of functional modeling  In analysis, provide representation."

Similar presentations


Ads by Google