Control Flowgraphs

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Control Flowgraphs

Control Flowgraphs

by jay_limm » 06/06/2014 11:45 am

Control Flowgraphs หรือเรียกสั้นๆ ว่า flowgraphs เป็นการแสดงโครงสร้างที่ควบคุมการทำงานของโปรแกรม (control structure) ในรูปแบบของกราฟฟิก ที่มีลักษณะเหมือน flowchart แต่ไม่แสดงรายละเอียดว่าแต่ละ process ทำอะไรบ้าง ส่วนประกอบของ flowgraph มีดังนี้

- process block
เป็นลำดับของคำสั่ง (statement) ถ้าคำสั่งใดคำส่งหนึ่ง ถูกประมวลผลแล้ว ทั้งหมดใน block จะถูกประมวลผลไปด้วย จะไม่มีการถูกแทรก ไม่ว่าจเป็น Dicision หรือว่า Junction อาจจะมีแค่คำสั่งเดียว หรือมากกว่านั้น มีทางเข้าทางเดียว ทางออกทางเดียว
ในการออกแบบกรณีทดสอบนั้น ไม่ต้องสนใจในเรื่องรายละเอียดของคำสั่ง ยกเว้นคำสั่งที่มีผลการทบต่อ control flowgraph เช่น ใช้เป็นเงื่อนไขของ Decision หรือ เกี่ยวของกับ Case
07-1 processblock.PNG
07-1 processblock.PNG (2.81 KiB) Viewed 617 times
- Decision และ case statement

Decision คือจุดที่ control flowgraph ของโปรแกรมแยกออกไปได้ 2 ทาง เช่นคำสั่ง if-then-else เป็นต้นหรือมากกว่า 2 ทาง เช่น คำสั่ง case เป็นต้น
ในการออกแบบกรณีทดสอบสำหรับ Decision และ Case statement ไม่แตกต่างกัน โดยจะต้องออกแบบกรณีทดสอบให้เท่ากับจำนวนทางเลือก ให้การทำงานของโปรแกรมผ่านครบทุกทาง
07-2 decision.PNG
07-2 decision.PNG (7 KiB) Viewed 617 times
07-4 casestate.PNG
07-4 casestate.PNG (11.96 KiB) Viewed 617 times
- junction
Junction คือจุดในโปรแกรมที่ control flowgraph สามารถรวมกันได้ เช่น คำสั่ง go to เมื่อ jump ไปยัง ปลายทางจะทำให้ control flowgraph ไปรวมกับเส้นทางอื่น
07-3 junction.PNG
07-3 junction.PNG (4.87 KiB) Viewed 617 times
- สัญลักษณ์ที่ใช้
เส้นทาง(path) ลำดับคำสั่ง ที่เริ่มต้นจากจุดเริ่ต้นของโปรแกรม และไปยังจุดสิ้นสุดอีกจุดหนึ่ง ในหนึ่งเส้นทาง อาจจะมีการวิ่งผ่าน junction,process block,decision กี่รอบก็ได้ ซึ่ง path จะประกอบด้วยหลายๆ segment โดยที่ segment ที่เล็กที่สุดคือ link ซึ่งก็คือ 1 process ที่อยู่ระหว่าง 2 โนด(node) ความยาว(length) ของเส้นทางนับจากจำนวน link ในเส้นทางหรือจำนวนโนด(node) ที่วิ่งผ่าน
07-flowgraph.PNG
07-flowgraph.PNG (22.76 KiB) Viewed 617 times
จากรูป เป็นการแสดงการเขียน control flowgraph ของโปรแกรม จะใช้ node แทนแต่ละ process block และ decision ได้แก่ 1,2,3,4 และ 5 ส่วน link คือ a,b,c,d และ e หมายเลข 2 เป็น decision node มีทางเลือก 2 ทาง คือ Y และ N เส้นทางหรือ path ได้แก่ 1-2-3-5(หรือa-d-e) และ 1-2-4-5(หรือa-b-c) ทั้งสองเส้นทางมีความยาวเท่ากับ 3

Top