วันเสาร์ที่ 5 กรกฎาคม พ.ศ. 2551

ต่อที่ Flow Chart

ผังงาน (Flowchart)
ความหมายของผังงาน
ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์ (Symbol) ที่ใช้เขียนแทนขั้นตอนคำอธิบาย ข้อความหรือคำพูดที่ใช้ในอัลกอริทึม(Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความ ทำได้ยากกว่าเมื่อใช้รูปภาพ หรือสัญลักษณ์ผังงานแบ่งได้ 2 ประเภท1. ผังงานระบบ (System Flowchart)คือ ผังงานที่แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย 2. ผังงานโปรแกรม (Program Flowchart) คือ ผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ตั้งแต่รับข้อมูล คำนวณ จนถึงแสดงผลลัพธ์ ประโยชน์ของผังงาน
1. ทำให้เข้าใจ และแยกแยะปัญหาได้ง่าย (Problem Define) 2. แสดงลำดับการทำงาน (Step Flowing)3. หาข้อผิดพลาดได้ง่าย (Easy to Debug)4. ทำความเข้าใจโปรแกรมได้ง่าย (Easy to Read) 5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible Language)

การโปรแกรมแบบมีโครงสร้าง หรือ การโปรแกรมโครงสร้าง ประกอบด้วยอะไรบ้าง
หลักมีอยู่ 3 อย่างนี้คือ การทำงานแบบตามลำดับ(Sequence) การเลือกกระทำตามเงื่อนไข(Decision) และ การทำซ้ำ(Loop) แม้ตำราหลาย ๆ เล่มจะบอกว่า decision แยกเป็น if กับ case หรือ loop นั้นยังแยกเป็น while และ until ซึ่งแตกต่างกัน แต่ผมก็ยังนับว่าการเขียนโปรแกรม แบบมีโครงสร้างนั้น มองให้ออกแค่ 3 อย่างก็พอแล้ว และหลายท่านอาจเถียงผมว่าบางภาษาไม่จำเป็นต้องใช้ Structure Programming แต่เท่าที่ผมศึกษามา ยังไม่มีภาษาใด เลิกใช้หลักการทั้ง 3 นี้อย่างสิ้นเชิง เช่น MS Access ที่หลายคนบอกว่าง่าย ซึ่งก็อาจจะง่ายจริง ถ้าจะศึกษาเพื่อสั่งให้ทำงานตาม wizard หรือตามที่เขาออกแบบมาให้ใช้ แต่ถ้าจะนำมาใช้งานจริง ตามความต้องการของผู้ใช้แล้ว ต้องใช้ประสบการณ์ในการเขียน Structure Programming เพื่อสร้าง Module สำหรับควบคุม Object ทั้งหมดให้ทำงานประสานกัน

1. การทำงานแบบตามลำดับ(Sequence) : รูปแบบการเขียนโปรแกรมที่ง่ายที่สุดคือ เขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์







2. การเลือกกระทำตามเงื่อนไข(Decision or Selection) : การตัดสินใจ หรือเลือกเงื่อนไขคือ เขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว
3. การทำซ้ำ(Loop) : การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม หมายถึงการทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน ผู้เขียนโปรแกรมต้องจินตนาการด้วยตนเอง

ตัวอย่างสัญลักษณ์ที่ใช้ใน Flow Chart
Process Symbol Input/Output Symbol Decision Symbol

Terminal Symbol Document Symbol Connector Symbol

สุดท้าย แถม












ตัวอย่างผังงานระบบไฟแดง

3 ความคิดเห็น:

Z 'P'arëëna กล่าวว่า...

คือว่า...
Flowchart กับ Data flow Diagram

มันอธิบายถึงขั้นตอนการทำงานเเหมือนกันช่ายม่ะ
แล้วคิดว่ามันต่างกันมั้ยอ่ะ (น่าจะต่างปะ)
Flowchart มันคล้ายกับ Context Diagramมากกว่ามั้ย(ก็เห็นบอกว่า "แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย")

แล้วสรุปว่า ...
- Flowchart
- Context Diagram
- Data flow Diagram
มันต่างกันยังไงเนี่ย (ต้องไปศึกษา??)

อาจารย์จง กล่าวว่า...

อืมมมม .....

ตามทฤษฏีของการวิเคราะห์และออกแบบระบบ ทั้ง Flowchart, Context Diagram และ Data flow Diagram มีความแตกต่างกัน

System Flow Chart หมายถึง แผนภาพที่แสดงการไหลของงานในระบบโดยรวมว่ามีขั้นตอนหรือกระบวนการ (ทำงาน) อะไรบ้าง

Context Diagram หรือ DFD ระดับสูงสุด หมายถึง แผนภาพที่บอกว่าสิ่งที่เราสนใจมี Input เป็นอะไร ผลลัพธ์ที่ได้จากระบบและข้อมูลที่เกี่ยวข้องกับระบบภายนอก โดย DFD ระดับสูงสุดเท่านั้นที่จะแสดง ส่วนที่อยู่ภายนอกระบบบอกว่ารับข้อมูลมาจากที่ใด และ ผลลัพธ์ถูกส่งไปที่ใดบ้าง

Data Flow Diagram: DFD หมายถึง แผนภาพที่แสดงให้เห็นถึงทิศทางการไหลของข้อมูลที่มีอยู่ในระบบ และการดำเนินงานที่เกิดขึ้นในระบบ โดยจะแสดงถึงแหล่งกำเนิดข้อมูล การไหลของข้อมูล ปลายทางของข้อมูล การเก็บข้อมูลและการประมวลผล

ไม่ทราบว่า พอจะกระจ่าง ขึ้น บ้างไหม คะ

Tui_ER กล่าวว่า...

ออวววววว


คือว่า ก็พอเข้าใจ หล่ะคร้าาาบบบ


มัน ก็ คือ บอกการทำงานนั่นเอง

^^