Architectural Design Structured Design Xin Feng
Structured Analysis Method Based on the Data Flow Diagrams Specification Data flow diagram Design Structured tree This is NOT an OO-Method!!!
Data Flow Model Blood parameters Analyze blood sugar Blood sugar level Compute Insulin dosage Deliver Pump Commands Pump control commands Insulin dosage An insulin pump control system 11/04/2014 Software Engineering 3
Steps 1. Review ( 再 检 查 )and refine data flow diagrams 2. Isolate ( 分 离 ) the transform ( 转 换 )center by specifying incoming and outgoing flow boundaries ( 边 界 ) Incoming flow is a path that converts ( 转 换 ) information from external to internal form Outgoing flow is a path that converts information from internal form to external form 3. Perform the first level factoring ( 分 解 ) 4. Perform the second level factoring
Isolating Transform Center
Isolating Transform Center Incoming flows Transformation center Outgoing flows
Isolating Transform Center Incoming flows Transformation center Outgoing flows
Isolating Transform Center Incoming flows Transformation center Outgoing flows Input control Transformation Output control
First Level Factoring Central Control Input Control Transformation Output Control
Isolating Transform Center Example 1 Blood parameters Analyze blood sugar Blood sugar level Compute Insulin dosage Deliver Pump Commands Pump control commands Insulin dosage An insulin pump control system 11/04/2014 Software Engineering 10
First Level Factoring Example 1 Control delivery Input blood parameter Analyze and Compute Deliver pump command 11/04/2014 Software Engineering 11
Isolating Transform Center Example 2 Blood parameters Analyze blood sugar Blood sugar level Compute Insulin dosage Deliver Pump Commands Pump control commands Insulin dosage An insulin pump control system 11/04/2014 Software Engineering 12
First Level Factoring Example 2 Control delivery Get blood sugar level Compute Deliver Pump Command 11/04/2014 Software Engineering 13
Data Flow Model Flight database Flight requirements Check database Flight information List flights for choice Selected flight Passenger info Email Email notification system Booking database Passenger info receipt Booking information An E ticketing system Compute fare Price Check out Credit card information 11/04/2014 Software Engineering 14
Data Flow Model Flight requirements Input booking info Passenger info Flight database Check database Flight information List flights for choice Selected flight Input passenger info Email Email notification system Booking database Passenger info receipt Booking information An E ticketing system Compute fare Price Check out Verified card Verify card Credit card information Input credit car info 11/04/2014 Software Engineering 15
Isolating Transform Center Example 3 Flight requirements Input booking info Passenger info Flight database Flight requirements Check database Flight information List flights for choice Selected flight Input passenger info Email Passenger info Email notification system Booking database Passenger info receipt Compute fare Price Check out Verified Booking card information An E ticketing system Verify card Credit card information Input credit car info 11/04/2014 Software Engineering 16
First Level factoring Example 3 Book Ticket Booking Information input Book Flights Deliver Tickets 11/04/2014 Software Engineering 17
Second Level factoring Map individual ( 单 个 )transforms of a data flow diagram into appropriate ( 合 适 的 ) modules within the architecture Several transactions ( 事 务 )can be merged to one transaction One transaction can be further expanded ( 扩 展 ) to several transactions The structure can be changed 11/04/2014 Software Engineering 18
Second Level Factoring Example 1 Control delivery Input blood parameter Analyze and Compute Deliver Pump Command Analyze Blood Sugar Compute dosage 11/04/2014 Software Engineering 19
Second Level Factoring Example 2 Control delivery Get blood sugar level Compute Deliver Pump Command Input Blood Parameter Analyze Blood Sugar 11/04/2014 Software Engineering 20
Second Level Factoring Example 3 Book Ticket Booking Information input Book Flights Deliver Tickets Input Booking Info Input credit card info Input passenger info Check database List flight Compute fare Verify card Send email 11/04/2014 Software Engineering 21
Class Exercise Give the structured design tree for DFD in the following DFD account to transfer amount Transfer warning eject card command verify card account no Access account info account info Inquiry balance pwd card info swallow card command account Info amount warning Withdraw deliver cash cmd