การวิเคราะห์ (Analysis) บทที่3 การวิเคราะห์ (Analysis) รติวัฒน์ ปารีศรี
ความสำคัญของการวิเคราะห์ เพื่อให้ทราบถึงความเป็นไปและเป็นมาของระบบ และขั้นตอนในการปฏิบัติงานของระบบ ก่อนการสร้างบ้าน ผู้สร้างย่อมมีความต้องการทราบรายละเอียดถึงตัวอาคารที่จะจัดสร้าง เพื่อให้ตรงตามความต้องการของผู้อยู่อาศัย เช่นเดียวกันกับระบบ ก่อนจะมีการสร้างระบบ ผู้สร้างระบบก็ย่อมต้องการทราบความเป็นไปและเป็นมาของระบบ เพื่อการออกแบบระบบใหม่ที่ตรงตามความต้องการของผู้ใช้ให้มากที่สุด
ความสำคัญของการวิเคราะห์ (ต่อ) อุปกรณ์ที่มักนำเอามาพิจารณาและวิเคราะห์ระบบ (แบบแปลนระบบ) Context Diagram Data Flow Diagram E-R Diagram System Flow Chart / Flow Chart etc. ความผิดพลาดของโปรแกรมเมอร์มากมายที่ออกแบบระบบโดยไม่ผ่านการวิเคราะห์ ก่อให้เกิดผลเสียมากมาย เช่น เวลา, ค่าใช้จ่าย
แผนภาพกระแสข้อมูล (Data Flow Diagram) DFD คือ แผนภาพกระแสข้อมูลที่มีการวิเคราะห์แบบในเชิงโครงสร้าง (Structure) ซึ่งเป็นแผนภาพที่บอกถึงรายละเอียดของระบบ โดยเฉพาะข้อมูล และผังการไหลของข้อมูล สิ่งที่ DFD บอกเรา ข้อมูลมาจากไหน ข้อมูลไปที่ใด ข้อมูลเก็บที่ใด เกิดเหตุการณ์ใดกับข้อมูลบ้าง
DFD (ต่อ) ขั้นตอนของการวิเคราะห์เพื่อสร้าง DFD 1. ศึกษารูปแบบการทำงานในลักษณะ Physical ระบบงานเดิม 2. ดำเนินการวิเคราะห์เพื่อให้ได้แบบจำลอง Logical ระบบงานเดิม 3. เพิ่มเติมการทำงานใหม่ภายในแบบจำลอง Logical ระบบงานเดิม 4. พัฒนาระบบงานใหม่ในรูปแบบของ Physical
ดังนั้น DFD จึงมีความสำคัญมากต่อการพัฒนาระบบ เป็นแผนภาพสรุปรวมข้อมูลทั้งหมดที่ได้จากการวิเคราะห์ เป็นข้อตกลงร่วมกันระหว่าง SA และ User เป็นแผนภาพที่ใช้ในการพัฒนาต่อในขั้นตอนออกแบบ เป็นแผนภาพที่ใช้ในการอ้างอิง หรือเพื่อใช้พัฒนาต่อ ทราบที่มาที่ไปของกระบวนการต่าง ๆ ดังนั้น DFD จึงมีความสำคัญมากต่อการพัฒนาระบบ ซึ่ง SA หรือ Programmer ไม่สามารถมองข้ามได้
ขั้นตอนการวิเคราะห์เพื่อไปสู่การออกแบบ ความต้องการ
ตัวอย่าง DFD
สัญลักษณ์ที่ใช้ในการออกแบบ
DFD Format (เปรียบเทียบ)
กฎเกณฑ์การเขียนแผนภาพกระแสข้อมูล สัญลักษณ์ของแผนภาพไม่สามารถเชื่อมต่อกันได้โดยตรง ซึ่งต้องมี Flow บอกทิศทางของกระแส (Flow ระบุข้อมูล) และการ Flow ทุกครั้งจะต้องผ่าน Process ก่อนทุกครั้ง (ไม่ผ่านไม่ได้) Process = กิริยา Flow = ข้อมูล Boundaries, Entity = องค์กร, หน่วยงาน
แผนภาพ DFD ที่ถูกต้อง
แผนภาพ DFD ที่ไม่ถูกต้อง
ขั้นตอนการเขียน DFD 1. วิเคราะห์ให้ได้ว่าระบบประกอบไปด้วย Boundaries ใดบ้างที่เกี่ยวข้อง 2. ดำเนินการออกแบบระบบในระดับหลักการ หรือ Context Diagram 3. วิเคราะห์ข้อมูลในระบบว่าควรมีข้อมูลใดบ้าง 4. วิเคราะห์กระบวนการหรือ Process ในระบบว่า ควรมี Process หลักใด และประกอบไปด้วย Process ย่อยใดบ้าง 5. ดำเนินการเขียนแผนภาพกระแสข้อมูลในระดับต่าง ๆ 6. ทำการตรวจสอบ และปรับแก้ จนได้แผนภาพที่สมบูรณ์ 7. อาจใช้ CASE Tools ช่อยในการเขียนแผนภาพ
Boundaries สามารถเป็นได้ทั้ง บุคคล, องค์กร, หน่วยงาน ซึ่งในการพิจารณาเพื่อระบุลงไปใน DFD จะพิจารณาถึงส่วนที่ระบบไม่สามารถควบคุมได้ แต่มีส่วนเกี่ยวข้องกับระบบ
Data Store คือแหล่งเก็บข้อมูล เช่น ข้อมูลนักศึกษา, ข้อมูลบุคลากร โดยภายในสัญลักษณ์สามารถที่จะมีเลขประจำข้อมูลระบุได้ ลูกศรจาก Data Store หมายถึง Input ลูกศร Process ไปยัง Data Store หมายถึง Output ลูกศรสองทาง หมายถึง Input/Output
Process คือ กระบวนการที่ต้องทำในระบบ โดยจะพิจารณาจากกิริยาหรือการกระทำภายในระบบเป็นหลัก ซึ่งภายใน 1 แผนภาพ ไม่ควรมี Process มากเกินไป(7-2) ในการเขียน Process จะต้องมีหมายเลขกำกับอยู่ด้วย เป็นลำดับชั้นไล่ไปเรื่อย ๆ เพื่อให้ทราบว่า Process ใด มาจาก Process ใด
Context Diagram (แผนภาพสิ่งแวดล้อม) คือการออกแบบในระดับบนสุดของ DFD เป็นแผนภาพที่แสดงภาพรวมสูงสุดของระบบ ซึ่งจะแสดงถึงสิ่งแวดล้อมของระบบและองค์ประกอบหลัก ๆ เท่านั้น โดยที่จะมีเพียง 1 Process ซึ่งเป็นชื่อของระบบ (0) และจะไม่มี Data Store ปรากฏอยู่ใน Context Diagram โดยเด็ดขาด
ตัวอย่าง Context Diagram
แผนภาพกระแสข้อมูลระดับที่1 DFD Level 1 จะนำ Context Diagram มาแตกรายละเอียดภายใน ซึ่งจะแสดงถึง Process หลัก ๆ, ผู้เกี่ยวข้อง, ข้อมูลภายใน ที่มีความละเอียดมากขึ้น (Top down Design) ในระดับนี้จะปรากฎทุก ๆ ชนิดของ Object DFD ต้องมีการกำกับหมายเลข Process ด้วยทุกครั้ง หลักการ เขียนในกระดาษแผ่นเดียว ลูกศรไม่ทับกัน โดยนำเอามาเฉพาะ Object ที่จำเป็น ควรจัดการลำดับแผนภาพเป็นลำดับแบบ Process Hierarchy Chart (นำภาพออกมาทีละลำดับขั้น ลดความสับสน)
ตัวอย่างการแบ่งหมวดหมู่เพื่อ PHC List of Object in DFD
หลักการแบ่ง PHC แบ่งตามลักษณะของกิจกรรม โดยแบ่งตามความสำคัญเป็นลำดับชั้นในลักษณะของ Sub Set ข้อควรระวัง !! ไม่ควรนำเอารายละเอียดที่ต่างความสำคัญมาไว้ในชั้นเดียวกัน (ความสัมพันธ์ต่างระดับ เพราะจะทำให้เกิดความสับสน ในการออกแบบหรือเขียน DFD ในระดับอื่น ๆ)
ตัวอย่าง PHC
ตัวอย่าง DFD Level 1
DFD Level 2 เป็นแผนภาพ DFD ในระดับย่อยลงมา ที่แสดงรายละเอียด Data Flow และ Process ย่อยลงมาของ Level 1 เพื่อเพิ่มความละเอียดของกระบวนการมากยิ่งขึ้น ตั้งแต่ Level ที่ 2 ลงไป จะมีแผนภาพนี้ขึ้นตามความจำเป็นเท่านั้น (ซึ่งขึ้นอยู่กับความซับซ้อนของข้อมูล และกิจกรรมที่ต้องการแตกรายละเอียด)
ตัวอย่าง DFD Level 2 (P.1)
ตัวอย่าง DFD Level 2 (P.2)
ตัวอย่าง DFD Level 2 (P.3)
ตัวอย่าง DFD Level 2 (P.4)
ตัวอย่าง DFD Level 2 (P.5)
DFD Level 3 (P 2.2)
แบบจำลองข้อมูล (Data Modeling) การวิเคราะห์ด้วยการเขียนแผนภาพกระแสข้อมูลเพียงอย่างเดียวนั้น โอกาสที่จะทำให้เกิดข้อผิดพลาดได้สูง ซึ่งแผนภาพกระแสข้อมูล ไม่ได้แสดงความสัมพันธ์ของข้อมูลในระบบ จึงเป็นที่มาของ Entity Relationship Diagram (ERD)
Relationship Model เป็นเครื่องมือที่แสดงให้เห็นถึงความสัมพันธ์ของข้อมูลต่างๆที่มีต่อกันในระบบงาน โดยไดอะแกรมนี้มี Cardinality เป็นสิ่งกำหนดค่าความสัมพันธ์ของเอนติตี้ในความสัมพันธ์แต่ละลักษณะ เช่น 1:1 , 1:m และ m:n ซึ่งอาจใช้สัญลักษณ์แทนได้ ดังรูป
ความสัมพันธ์ของเอนติตี้
ความสัมพันธ์ของเอนติตี้ (ต่อ)
Entity Relationship Diagram
พจนานุกรมข้อมูล (Data Dictionary) พจนานุกรมข้อมูล แฟ้มที่เก็บรวบรวมรายละเอียดต่างๆ เกี่ยวกับข้อมูลที่จัดเก็บอยู่ภายในฐานข้อมูล รายละเอียดพื้นฐานประกอบด้วย 1. ชื่อข้อมูล (name and alias of the data item) 2. คำอธิบายชื่อข้อมูล (description of the data item) 3. ชนิดของข้อมูล (data type) 4. ขนาดของข้อมูล (length of item) 5. รายละเอียดอื่นๆ (other additional information)
Data Dictionary ประโยชน์ของพจนานุกรมข้อมูล 1. ระดับระบบงาน 1.1 เป็นเอกสารเพื่อการอ้างอิงสำหรับตรวจสอบความถูกต้องของข้อมูล การ ฝึกอบรมบุคลากร การพัฒนาระบบงาน และการบำรุงรักษาระบบงาน 1.2 สนับสนุนการบริหารจัดการฐานข้อมูลในแต่ละระบบงาน เช่น การลด ความซ้ำซ้อน การรักษาความปลอดภัย การควบคุมการใช้งานพร้อมกัน การเพิ่มประสิทธิภาพในการเข้าถึง 1.3 สนับสนุนการสร้างมาตรฐานในการพัฒนาระบบงาน โดยนำเอาไปใช้ ประกอบในการแก้ไขโครงสร้างข้อมูลหรือปรับปรุงโปรแกรม
Data Dictionary ประโยชน์ของพจนานุกรมข้อมูล (ต่อ) 2. ระดับองค์กร 2.1 สนับสนุนการบริหารจัดการฐานข้อมูลขององค์กร ระบบงาน ใดที่มีความเกี่ยวข้องกัน จะสามารถนำข้อมูลจากระบบงานต่าง ๆ ภายในองค์กรมาเชื่อมโยงและรวมเป็นฐานเดียวกันได้ 2.2 สนับสนุนการทำงานของผู้บริหาร เมื่อสามารถเชื่อมโยงและ รวมข้อมูลจากระบบงานต่าง ๆ ได้ สามารถนำข้อมูลมาใช้ในการ วิเคราะห์และแก้ไขปัญหาได้ รวมทั้งการทำ MIS
The End