รหัสวิชวิา 30204-2003 วิชาการวิเคราะห์และออกแบบ ระบบเชิงวัตถุ
คำ นำ หนังสือวิชา "การวิเคราะห์และออกแบบระบบเชิงวัตถุ" เล่มนี้ เรียบเรียง ขึ้น ให้สอดคล้องกับคำ อธิบายรายวิชาการวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204 -2003 หลักสูตรประกาศนียบัตรวิชาชีพชั้นสูง (ปวส.) พุทธศักราช 2563 ของสำ นักงานคณะกรรมการการอาชีวศึกษากระทรวง ศึกษาธิการ มีเนื้อหาครบถ้วนและถูกต้องตามจุดประสงค์รายวิชาและสมรรถนะรายวิชาตาม ที่หลักสูตรกำ หนด มีการยกตัวอย่างพร้อมกรณีศึกษาประกอบในแต่ละหน่วย การเรียนรู้ซึ่งจะเป็นประโยชน์ต่อผู้เรียนในการศึกษาเรียนรู้ได้ชัดเจนยิ่งขึ้น มี การเพิ่มเติมแบบทดสอบก่อนการเรียนรู้และแบบทดสอบหลังการเรียนรู้เพื่อวัด และประเมินผลผู้เรียนให้สอดคล้องตามสภาพจริงครูผู้สอนสามารถนำ ผล สัมฤทธิ์ที่ได้ไปพัฒนาปรับปรุงการเรียนการสอนได้ทั้งแบบ รายบุคคลและรายกลุ่ม รวมทั้งบูรณาการร่วมกับแหล่งการเรียนรู้อื่น ๆ ได้ตาม ความเหมาะสม หนังสือเล่มนี้ผู้เรียบเรียงไม่ได้มุ่งหวังเพียงผลสัมฤทธิ์ทางด้านวิชาการหรือ ทักษะส่วนบุคคลานั้น แต่มุ่งหวังให้เกิดการปฏิสัมพันธ์ที่ดีระหว่างผู้เรียนด้วย กัน ระหว่างผู้เรียกับครูผู้สอนปลูกฝังค่านิยมที่ดีในการทำ งานร่วมกันและการ ใช้ชีวิตในสังคปัจจุบัน ซึ่งจะเป็นประโยชน์ต่อตัวผู้เรียนเองในการประกอบ อาชีพหรือศึกษาต่อในอนาคต อย่างไรก็ดีการเรียบเรียงหนังสือย่อมมีความทันสมัยไปตามช่วงเวลานั้น ๆ และคงไม่มีความสมบูรณ์เป็นที่สุด หากมีสิ่งใดที่ขาดตกบกพร่องหรือมีข้อเสนอ แนะเพิ่มเติม ผู้เรียบเรียงมีความยินดีเป็นอย่างยิ่งที่จะรับข้อเสนอแนะและ พร้อมปรับปรังพัฒนาให้หนังสือเล่มนี้สอดคล้องกับความต้องการของผู้ใช้ให้ มากที่สุด ผู้เรียบเรียงหวังเป็นอย่างยิ่งว่าหนังสือเล่มนี้จะเกิดประโยชน์ต่อการ จัดการเรียนการสอนในรายวิชาการวิเคราะห์และออกแบบระบบเชิงวัตถุ สามารถพัฒนาองค์ความรู้ของนักเรียนนักศึกษาได้ตามสมรรถนะรายวิชาต่อไป ผู้จัผู้ ดจัทำ นางสาวปาระวี มะริตริ
สารบัญ การวิเคราะห์และออกแบบระบบ 4 โมเดลการออกแบบเชิงวัตถุ 7 หลักการของ UML 16 การวิเคราะห์และออกแบบระบบทางธุรกิจ 19 กรณีศึกษา ระบบฐานข้อมูล 1 ระบบ 24 เรื่อง หน้า โดยมีการจัดทำ แผนภาพกระแสข้อมูลหรือ ER-Diagram ในระบบฐานข้อมูลนั้น นั้ ๆ
หลักสูตรรายวิชา รหัสวิชา 30204-2003 วิชาการวิเคราะห์และออกแบบระบบเชิงวัตถุ จุดประสงค์รายวิชา 1. เข้าใจหลักการวิเคราะห์และออกแบบเชิงวัตถุ หลักการของ UML 2. มีทักษะในการวิเคราะห์และออกแบบเชิงวัตถุ ออกแบบโปรแกรมทางธุรกิจ 3. มีเจตคติและกิจนิสัยที่ดีในการปฏิบัติงานด้วยความรับผิดชอบ ซื่อสัตย์ละเอียดรอบคอบ สมรรถนะของรายวิชา 1. แสดงความรู้เกี่ยวกับหลักการวิเคราะห์และออกแบบเชิงวัตถุ 2. วิเคราะห์และออกแบบเชิงวัตถุตามหลักการ 3. ออกแบบโปรแกรมทางธุรกิจโดยใช้หลักการของ UML คำ อธิบายรายวิชา ศึกษาและปฏิบัติเกี่ยวกับขั้นตอนการพัฒนาระบบสารสนเทศ หลักการพื้น ฐานและแนวคิดเชิง วัตถุ กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ โมเดลที่ ใช้ออกแบบเชิงวัตถุ หลักการของ UML Modeling องค์ประกอบของ UML และการวิเคราะห์และออกแบบโปรแกรมทางธุรกิจ
การวิเคราะห์และการออกแบบระบบเชิงวัตถุ หน่วยที่1 ระบบ ระบบ คือกลุ่มขององค์ประกอบต่างๆ ที่ทำ งานร่วมกันเพื่อจุดประสงค์อันเดียวกัน ระบบอาจจะประกอบด้วย บุคคลากร เครื่องมือ เครื่องใช้ พัสดุ วิธีการ ซึ่งทั้งหมดนี้จะ ต้องมีระบบจัดการอันหนึ่ง เพื่อให้บรรลุจุดประสงค์อันเดียวกัน เช่น ระบบการเรียนการ สอน มีจุดประสงค์เพื่อให้นักเรียนได้รับความรู้ในเนื้อหาวิชาที่สอน การวิเคราะห์ระบบและการออกแบบ System Analysis and Design (ซิสเต็ม อนาชิส แอน ดีไช) คือ วิธีการที่ใช้ในการสร้างระบบสารสนเทศขึ้นมาใหม่ในธุรกิจใด ธุรกิจหนึ่งหรือระบบย่อยของธุรกิจ นอกจากการสร้างระบบสารสนเทศใหม่แล้ว การ วิเคราะห์ระบบ ช่วยในการแก้ไขระบบสารสนเทศเดิมที่มีอยู่แล้วให้ดีขึ้นด้วยก็ได้ - การวิเคราะห์ระบบ คือ การหาความต้องการ Requirements (รีคิสเม้น) ของระบบ สารสนเทศว่าคืออะไร หรือต้องการเพิ่มเติมอะไรเข้ามาในระบบ - การออกแบบ คือ การนำ เอาความต้องการของระบบมาเป็นแบบแผน หรือเรียกว่า พิมพ์เขียวในการสร้างระบบสารสนเทศนั้นให้ใช้งานได้จริง ตัวอย่างระบบสารสนเทศ เช่น ระบบการขาย ความต้องการของระบบก็คือ สามารถติดตามยอดขายได้เป็นระยะ เพื่อฝ่ายบริหารสามารถปรับปรุงการขายได้ทันท่วงที นักวิเคราะห์ระบบ SA : System Analyst (ชิสเต็ม อนาชิส) คือ บุคคลที่มีหน้าที่ วิเคราะห์และออกแบบระบบ ซึ่งปกติแล้วนักวิเคราะห์ระบบควรจะอยู่ในทีมระบบ สารสนเทศขององค์กรหรือธุรกิจนั้น ๆ การที่มีนักวิเคราะห์ระบบในองค์กรนั้นเป็นการ ได้เปรียบ เพราะจะรู้โดยละเอียดว่า การทำ งานในระบบนั้น ๆ เป็นอย่างไร และอะไร คือ ความต้องการของระบบ
การวิเคราะห์และการออกแบบระบบเชิงวัตถุ หน่วยที่1 การวิเคราะห์ การวิเคราะห์ระบบในวงจรการพัฒนาระบบนั้น เริ่มต้นจากการศึกษาระบบเดิม แล้ว นำ ข้อมูลที่ได้จากการศึกษามาหาความต้องการ Requirements (รีครีเม้นต์) หรือสิ่งที่ จะต้องปรับปรุงในระบบ หรืออีกอย่างหนึ่งคือวิธีแก้ปัญหาของระบบ การวิเคราะห์จะ เริ่มหลังจากที่ทราบปัญหา และผ่านขั้นตอนการศึกษาความเป็นไปได้แล้ว รวบรวมข้อมูล การศึกษาระบบเดิมนั้น นักวิเคราะห์ระบบ เริ่มต้นจากการศึกษาเอกสาร ต่างๆ เช่น คู่มือต่างๆ หลังจากนั้นเป็นการรวบรวมแบบฟอร์มและรายงานต่างๆ เช่น ใน ระบบบัญชีเจ้าหนี้จะมีแบบฟอร์มใบบรรจุผลิตภัณฑ์ ใบทวงหนี้ รายงานเพื่อเตรียม เงินสดเป็นต้น นอกจากนั้นจะต้องคอยสังเกตดูการทำ งานของผู้ที่เกี่ยวข้องในระบบที่ ศึกษา ท้ายที่สุดอาจจะต้องมีการสัมภาษณ์ผู้ที่มีหน้าที่ รับผิดชอบงานที่เกี่ยวข้องใน ระบบ หรือบางกรณีอาจจะต้องใช้แบบสอบถามมาช่วยเก็บข้อมูลด้วยก็ได้ วิธีการ ทั้งหมดเรียกว่า เทคนิคการเก็บรวบรวมข้อมูล (Fact Gathering Techniques) คำ อธิบายข้อมูล Data Description (ดาต้า ดิคิปชัน) เมื่อนักวิเคราะห์ระบบศึกษา ระบบมากเข้าจะพบว่า มีข้อมูลมากมายที่ต้องจัดให้เป็นหมวดหมู่ เช่น ข้อมูลของลูกค้า คนหนึ่งจะรวมข้อมูลรายละเอียดอื่นๆ เช่น เลขที่ลูกค้า ชื่อ ที่อยู่ เบอร์โทรศัพท์ การจ่าย เงิน การซื้อสินค้า เป็นต้น คำ อธิบายวิธีการ Procedure Description (พรีโคดัก ดิคริบชัน) กรรมวิธีที่ติดตาม การเปลี่ยนแปลงของข้อมูลจะต้องรู้ว่า ข้อมูลผ่านการประมวลผลอย่างไรบ้าง
การวิเคราะห์และการออกแบบระบบเชิงวัตถุ หน่วยที่1 การจัดการข้อมูล วงจรการพัฒนาระบบ System Development Lift Cycle - SDLC (ชิสเต็ม เดวาดอบเม้น ลีส ไชเคิล เอสดีแอลชี) ระบบสารสนเทศทั้งหลายมีวงจรชีวิตที่ เหมือนกัน ตั้งแต่เกิดจนตาย วงจรนี้จะเป็นขั้นตอนที่เป็นลำ ดับตั้งแต่ต้นจนเสร็จ เรียบร้อยเป็นระบบที่ใช้งานได้ ซึ่งนักวิเคราะห์ระบบ ต้องทำ ความเข้าใจให้ดีว่าในแต่ละ ขั้นตอนจะต้องทำ อะไร และทำ อย่างไร ขั้นตอนการพัฒนาระบบมีอยู่ด้วยกัน 7 ขั้นตอน คือ 1. เข้าใจปัญหา Problem Recognition (พรอแพรม รีโค้ดนิชัน) 2. ศึกษาความเป็นไปได้ Feasibility Study (เฟสชิบิลิตี้ สตูดี้) 3. วิเคราะห์ Analysis (อนาชิส) 4. ออกแบบ Design (ดีไช) 5. สร้าง หรือพัฒนาระบบ Construction (คอนตักชัน) 6. การปรับเปลี่ยน Conversion (คอนเวิลชัน) 7. บำ รุงรักษา Maintenance (แมททีน) การวิเคราะห์ระบบ เป็นส่วนหนึงของวรจรการพัฒนาระบบ ศึกษาภาพรวมการพัฒนา ระบบได้ที่
หน่วยที่2 โมเดลการออกแบบเชิงวัตถุ object and object identifier: หมายถึงอ๊อปเจ็กใด ๆ ที่อยู่ ในรูปแบบที่กำ หนด และมีการกำ หนดค่า id ที่ไม่ซ้ำ กันเพื่อใช้ใน การอ้างถึงอ๊อปเจ็กนั้น attributes and methods: อ๊อปเจ็กทุก ๆ อ๊อปเจ็กจะมี คุณลักษณะ(state) คือเซตของค่าข้อมูลของ แอตทริบิวต์ขอ งอ๊อปเจ็ก และการกระทำ (behavior) เป็นเซตของวิธีการ ส่วน ของโปรแกรม ซึ่งมีการดำ เนินการบนลักษณะของอ๊อปเจ็ก ซึ่ง ลักษณะและการกระทำ จะถูกห่อหุ้มไว้ในอ๊อปเจ็ก และจะถูกอ้าง ถึงหรือถูกเรียกให้ทำ งานจากภายนอกผ่านทาง ข่าวสาร(message) class: หมายถึงการรวมกลุ่มของอ๊อปเจ็กทั้งหมดที่มีลักษณะ และวิธีการที่เหมือนๆ กัน อ๊อปเจ็กหนึ่งๆ จะถูกสร้างขึ้นจาก คลาสเพียงหนึ่งคลาส ซึ่งคลาสมีลักษณะเหมือนกับ abstract data type คลาสอาจจะเป็นข้อมูลพื้นฐานก็ได้เช่น integer string หรือ boolean เป็นต้น Class hierarchy and inheritance: เป็นการสร้างคลาส ใหม่(subclass)จากคลาสเดิม(superclass)ที่มีอยู่ก่อน คลาสที่ สร้างขึ้นใหม่จะสืบทอดคุณลักษณะและวิธีการทั้งหมดจากคลาส เดิม โดยคลาสใหม่สามารถที่จะเพิ่มคุณลักษณะ และวิธีการใหม่ เพิ่มเข้าไปได้ จะแบ่งเป็นสองประเภทคือ single inheritance และ multiple inheritance โมเดลของข้อมูลเป็นการแสดงให้เห็นองค์ประกอบสิ่งต่าง ๆ (objects)ที่ เราสนใจ ซึ่งจะมีข้อกำ หนดที่กำ หนดให้กับองค์ประกอบเหล่านั้น และแสดง ความสัมพันธ์ระหว่างองค์ประกอบเหล่านั้น หลักการของโมเดลข้อมูลเชิงวัตถุจะประกอบไปด้วยองค์ประกอบเหล่านี้คือ a. b. c. d.
หน่วยที่2 โมเดลการออกแบบเชิงวัตถุ เซตของตัวแปรที่บรรจุข้อมูลของอ๊อปเจ็ก เซตของข่าวสารซึ่งอ๊อปเจ็กจะตอบสนองต่อข่าวสารที่ได้รับจาก ภายนอก เซตของวิธีการ ซึ่งแต่ละวิธีการจะเป็นโปรแกรมทีดำ เนินการกับ ข่าวสาร และส่งข้อมูลกลับ 1. Object Structure แนวทางเชิงวัตถุมีพื้นฐานมาจากการห้อหุ้มข้อมูล และ โปรแกรม(encapsulating) ดังนั้นการติดต่อสื่อสารกันระหว่างอ๊อปเจ็ก จะทำ ผ่านทางข่าวสาร(messages)เสมอ โดยทั่วไปแล้ว อ๊อปเจ็กจะเกี่ยวข้องกับ สิ่งที่ทำ ให้ต้องมีการใช้ข่าวสารและวิธีการระหว่างอ๊อปเจ็ก พิจารณาเอนตินี้ employee ในระบบธนาคาร ทุก ๆ คนจะมีการคำ นวณเงินรายได้ทั้งปี แต่มีความแตกต่างกันในเรื่องของการคำ นวณ ตามประเภทของพนักงาน เช่น ผู้จัดการ ได้รับโบนัสตามกำ ไรที่ธนาคารทำ ได้ หรือพนักงานเคาเตอร์ จะได้รับโบนัสตามชั่วโมงการทำ งาน เป็นต้น เราสามารถซ่อนโปรแกรมใน ส่วนของการคำ นวณเงินเดือน โดยอ๊อปเจ็กจะรู้ว่าต้องคำ นวณเงินรายได้ทั้ง ปีอย่างไร โดยที่อ๊อปเจ็กของพนักงานทุกคนมี interface เดียวกัน ใน ระบบเชิงวัตถุ เราสามารถที่จะแก้ไขนิยามของวิธีการ ตัวแปร โดยไม่มีผลก ระทบต่อระบบ ซึ่งคุณสมบัตินี้เป็นข้อดีของการเขียนโปรแกรมเชิงวัตถุ วิธีการของอ๊อปเจ็กสามารถจำ แนกได้ 2 กลุ่มคือ ประเภทอ่านอย่างเดียว หรือ ประเภท Update ถ้าเป็นวิธีการแบบอ่านอย่างเดียวจะไม่มีผลกระ ทบต่อข้อมูลในอ๊อปเจ็ก ในขณะที่ Update จะทำ การเปลี่ยนแปลงข้อมูล ภายในอ๊อปเจ็กได้ ซึ่งข่าวสารที่อ๊อปเจ็กจะตอบสนองว่าเป็นแบบอ่านอย่าง เดียวหรือแบบ update นั้นขึ้นอยู่กับวิธีการ implement ข่าวสาร สำ หรับแอตทริบิวต์ที่ได้จากการคำ นวณนั้น ในระบบเชิงวัตถุจะใช้ข่าวสาร แบบอ่านอย่างเดียว กล่าวคือทุก ๆ แอตทริบิวต์ของเอนติตี้ต้องประกอบ ไปด้วยข่าวสาร 2 อันคือ ข่าวสารสำ หรับการอ่านข้อมูลของแอตทริบิวต์ และอีกข่าวสารสำ หรับการปรับปรุงข้อมูล
หน่วยที่2 โมเดลการออกแบบเชิงวัตถุ 2. Object Classes โดยปกติ ในฐานข้อมูลจะมีอ๊อปเจ็กที่คล้าย ๆ กัน หมายความว่าอ๊อปเจ็กมี การตอบสนองต่อข่าวสารเดียวกัน ใช้วิธีการเดียวกัน และมีตัวแปรชื่อเดียวกัน ชนิดข้อมูลเดียวกัน ดังนั้นเราจึงจัดกลุ่มของอ๊อปเจ็กที่ลักษณะคล้าย ๆ กัน แล้วกำ หนดเป็นคลาส ๆ หนึ่ง และแต่ละอ๊อปเจ็กที่สร้างมาจากคลาสก็เรียกว่า เป็น instance ของคลาส อ๊อปเจ็กทุกตัวจะมีลักษณะเหมือนกัน จะแตกต่าง กันตรงข้อมูลที่ถูกกำ หนดให้กับตัวแปรในอ๊อปเจ็ก เราจะนิยามคลาส employee ในรูปของคำ สั่งลำ ลอง ซึ่งแสดงตัวแปรและ ข่าวสารซึ่งอ๊อปเจ็กจะตอบสนอง ในตัวอย่างนี้ยังไม่มีวิธีการที่จะมาจักการกับ ข่าวสาร class employee { /* Variables */ string name; string address; date start-date; int salary; /* Messages */ int annual-salary(); string get-name(); string get-address(); int set-address(string new-address); int employment-length(); }; จากนิยามของคลาส employee จะประกอบไปด้วยตัวแปร name และ address ซึ่งมีชนิดข้อมูลเป็น string start-date มีชนิดข้อมูลเป็น date และ salary มีชนิดข้อมูลเป็น integer แต่ละอ๊อปเจ็กจะตอบสนองข่าวสาร 5 ข่าวสาร คือ annual-salary get-name get-address set-address และ employment-length ข่าวสารแต่ละอันมีการกำ หนดชนิดข้อมูลไว้ด้าน หน้า หมายถึงชนิดของการตอบสนองข้อมูลกลับไปยังข่าวสารนั้น
หน่วยที่2 โมเดลการออกแบบเชิงวัตถุ 3. Inheritance ในระบบฐานข้อมูลเชิงวัตถุจะประกอบไปด้วยคลาสจำ นวนมาก อย่างไร ก็ตามคลาสหลาย ๆ คลาสจะมีลักษณะคล้าย ๆ กัน ตัวอย่างเช่น พนักงาน ของธนาคาร จะมีลักษณะที่คล้ายกับลูกค้า เช่น ชื่อ ที่อยู่ โทรศัพท์ เป็นต้น เพื่อแสดงให้เห็นถึงลักษณะที่คล้ายกันของคลาส เราจะแสดง E-R ไดอะแกรมในลักษณะของลำ ดับชั้นของ specialization (ความสัมพันธ์ แบบ ISA) ดังรูปที่ 1 รูปที่ 1 แสดงลำ ดับชั้นของคลาสแบบ Specialization หลักการของลำ ดับชั้นของคลาสจะเหมือนกับ specialization ใน E-R โมเดล รูปที่ 2 แสดงลำ ดับชั้นของคลาสที่เหมือน E-R ไดอะแกรมในรูปที่ 1 รูปที่ 2 แสดงลำ ดับชั้นของคลาสที่เหมือนกับ E-R ในรูปที่ 1 ลำ ดับชั้นของคลาสสามารถกำ หนดเป็นคำ สั่งลำ ลองได้ดังรูปที่ 3 ในที่นี่ยังไม่ขอ กล่าวถึงวิธีการของแต่ละคลาส
หน่วยที่2 โมเดลการออกแบบเชิงวัตถุ class person { string name; string address; }; class customer isa person { int credit-rating; }; class employee isa person { date start-date; int salary; }; class officer isa employee { int office-number; int expense-account-number; }; class teller isa employee { int hours-per-week; int station-number; }; class secretary isa employee { int hours-per-week; string manager; }; รูปที่ 3 แสดงคำ สั่งลำ ลองในการนิยามลำ ดับชั้นของคลาส คำ ว่า isa ใช้สำ หรับบอกว่าคลาสนั้นมีลักษณะเช่นเดียวกันกับอีกคลาสหนึ่ง โดยเราเรียกคลาสที่ specialization ว่า subclasses ตัวอย่างเช่น employee เป็น subclass ของ person และ teller เป็น subclass ของemployee ในทางกลับกัน employee ก็เป็น superclass ของ teller
หน่วยที่2 โมเดลการออกแบบเชิงวัตถุ ข้อดีของการสืบทอดคุณสมบัติในระบบเชิงวัตถุคือ มีคุณลักษณะของ code-reuse นั่นคือวิธีการใด ๆ ของคลาส A สามารถที่จะถูกเรียกใช้โดย คลาส B ซึ่งเป็น subclass A ได้ทันที ทำ ให้ไม่ต้องเขียนคำ สั่งในคลาส B อีก 4. Multiple Inheritance โดยทั่วไปแล้วโครงสร้างของคลาสแบบลำ ดับชั้นก็เพียงพอต่อการแสดง โมเดลของข้อมูลแล้ว แต่ในบางกรณี เช่นเราต้องการจำ แนกระหว่าง teller และ secretaries แบบ full-time และ part-time ในรูปที่ 2 ซึ่งเราก็ สามารถสร้าง subclass ของ part-time-teller full-time-teller parttime-secretary และ full-time-secretary ดังรูปที่ 4 รูปที่ 4 แสดงลำ ดับชั้นของคลาส ของพนักงาน full-time และ part-time แต่จะเกิดปัญหาสองอย่างคือ (1) ปัญหาความไม่สอดคล้องในการปรับปรุง ข้อมูล เนื่องมาจาก ตัวแปรและวิธีการของพนักงาน full-time ต้องถูก กำ หนดสองครั้ง คือ full-time-teller และ full-time-secretary ใน ทำ นองเดียวกันกับพนักงาน part-time เมื่อไรก็ตามที่ต้องมีการ เปลี่ยนแปลงข้อมูลของพนักงาน ก็ต้องมีการเปลี่ยนแปลงสองที่ (2) ลำ ดับ ชั้นของคลาสไม่สามารถแสดงพนังงานกลุ่มอื่นที่ไม่ใช่ full-time หรือ parttime ได้
หน่วยที่2 โมเดลการออกแบบเชิงวัตถุ full-time: จ่ายเงินอยู่ระหว่าง 0 ถึง 100,000 ของเงินรายได้ทั้ง ปี part-time: จ่ายเงินอยู่ระหว่าง 0 to 20 เป็นค่าแรงต่อชั่วโมง. teller: จ่ายเงินอยู่ระหว่าง 0 to 20,000 ของเงินรายได้ทั้งปี secretary: จ่ายเงินอยู่ระหว่าง 0 to 25,000 ของเงินรายได้ทั้งปี สืบทอดมาทั้งสองคลาส แล้วเปลี่ยนชื่อของ เป็น part-time-pay และ secretary-pay เลือกตัวใดตัวหนึ่ง โดยดูจากลำ ดับของการสร้างคลาส บังคับให้เลือกเลยว่าจะใช้ pay ตัวไหน แสดงผลว่าเกิดความผิดพลาด วิธีการ Multiple inheritance เป็นวิธีการที่ยอมให้คลาสหนึ่งสืบทอด คุณสมบัติและวิธีการจากหลาย ๆ คลาสได้ ความสัมพันธ์ระหว่าง class และ subclass แสดงได้โดย directed acyclic graph (DAG) ซึ่งใช้ในกรณีที่คลาส มี superclass มากกว่าหนึ่ง คลาส รูปที่ 5 แสดงคลาส DAG จากรูปที่ 5 เรากำ หนดคลาส part-time และคลาส full-time ขึ้นมาเพื่อ เก็บข้อมูลและวิธีการของพนักงาน part-time และ full-time จากนั้น สร้าง คลาส part-time-teller ซึ่งเป็น subclass ของ teller และ part-time คลาส part-time-teller จะสืบทอดคุณสมบัติ และวิธีการของทั้ง teller และ part-time มา ซึ่งจะเห็นว่าไม่เกิดความซ้ำ ซ้อนอย่างที่เกิดขึ้นในรูปที่4 แล้ว เมื่อมีการสืบทอดแบบหลายคลาส อาจจะมีความคลุมเคลือเกิดขึ้นในกรณีที่ ตัวแปรหรือวิธีการที่สืบทอดมาจากหลายคลาสมีชื่อเดียวกัน ตัวอย่างเช่น เรากำ หนดการจ่ายเงิน pay ของพนักงานแต่ละประเภทดังนี้ พิจารณาคลาส part-time-secretary ซึ่งสืบทอดตัวแปร pay มาจากคลาส part-time หรือ secretary ผลลัพธ์ที่ได้มีหลายกรณี ขึ้นอยู่กับวิธีการว่าจะ จัดการอย่างไร
หน่วยที่2 โมเดลการออกแบบเชิงวัตถุ Value: หมายถึงค่าของข้อมูลที่ใช้ในการ identity เช่น primary key Name: เป็นชื่อที่ผู้ใช้กำ หนดเพื่อใช้ในการ identity เช่น ชื่อ แฟ้มในระบบแฟ้มข้อมูล Built-in: เป็นการกำ หนด identity โดยอัตโนมัติให้กับข้อมูล หรือภาษาโปรแกรม โดยผู้ใช้ไม่จำ เป็นต้องกำ หนด identifier รูปแบบนี้ถูกใช้ในระบบเชิงวัตถุ แต่ละอ๊อปเจ็กจะถูกกำ หนด identifier โดยอัตโนมัติ เมื่ออ๊อปเจ็กถูกสร้างขึ้น 5.Object Identity Object identity: อ๊อปเจ็กจะยังคงรักษาความเป็น identity แม้ว่า ข้อมูลของตัวแปรหรือวิธีการของ อ๊อปเจ็กมีการเปลี่ยนแปลง แนวคิดของ identity นี้ไม่ได้นำ ไปใช้กับทูเปิลของฐานข้อมูลเชิงสัมพันธ์ ซึ่งในระบบเชิง สัมพันธ์นั้น ทูเปิลของรีเลชันจะแตกต่างกันด้วยข้อมูลที่ถูกเก็บอยู่ รูปแบบต่าง ๆ ของ identity ในทางปฏิบัติ Object identity จะถูกกำ หนดให้มีค่าไม่ซ้ำ กัน เรียกว่า OID ซึ่งค่าของ OID นี้จะไม่สามารถมองเห็นได้โดยผู้ใช้ทั่วไป แต่จะถูกใช้ โดยระบบเพื่อระบุอ๊อปเจ็กแต่ละอ๊อปเจ็ก
หน่วยที่2 โมเดลการออกแบบเชิงวัตถุ 6. Object Containment อ๊อปเจ็กที่สามารถบรรจุอ๊อปเจ็กอื่น ๆ ได้จะถูกเรียกว่า อ๊อปเจ็ก เชิงซ้อน(complex object)หรืออ๊อปเจ็กผสม(composite object) ซึ่ง สามารถบรรจุซ้อนกันได้หลายชั้น นั่นคือเป็นลักษณะความสัมพันธ์ที่อ๊อปเจ็ก หนึ่งจะประกอบด้วยอ๊อปเจ็กหลาย ๆ อ๊อปเจ็กประกอบเข้าด้วยกัน ตัวอย่าง A bicycle design database รูปที่ 6 แสดงลำ ดับชั้นความสัมพันธ์ระหว่างอ๊อปเจ็ก รูปที่ 6 แสดงลำ ดับชั้นความสัมพันธ์ระหว่างอ๊อปเจ็ก ซึ่งความสัมพันธ์ใน ลักษณะนี้ เป็นลักษณะของ is-part-of ซึ่งเป็นคนละแบบกับ is-a ที่เกิดจาก การสืบทอดคลาส ลักษณะการประกอบกันของอ๊อปเจ็กนี้เป็นหลักการที่สำ คัญอย่างหนึ่งในระบบ เชิงวัตถุ เนื่องจากจะทำ ให้การมองข้อมูลเริ่มมองจากจุดเล็ก ๆ ก่อน เช่น คน ออกแบบล้อ ก็จะมุ่งไปกับการออกแบบล้อ โดยไม่สนใจกับส่วนอื่นเช่น เกียร์ หรือ เบรก จากนั้นพนักงานฝ่ายการตลาดก็จะทำ การกำ หนดราคาจักรยาน โดยนำ เอาข้อมูลส่วนต่าง ๆ ที่เป็นส่วนประกอบของจักรยาน มาคำ นวณราคา ต่อไป
หน่วยที่3 หลักการของ UML หลักการของ UML Modeling ภาษายูเอ็มแอล (Unified Modeling Language: UML) คือ ภาษา โมเดลในรูปแบบแผนภาพ (Graphic Model ใช้สำ หรับสร้างตัวแบบเชิงวัตถุ ซึ่งเกิดขึ้นจากการนำ แนววิธีปฏิบัติใน การพัฒนาระบบเชิงวัตถุของ ศาสตราจารย์ทั้ง 3 ท่าน ประกอบด้วย James Rumbaugh, Grady Booch และ Ivar Jacobson ที่มีข้อดีข้อเสีย และข้อแตกต่างมา ประยุกต์รวมกัน โดยมีวัตถุประสงค์ภาษายเอ็มแอลเพื่อให้ เป็นระเบียบวิธีปฏิบัติในการพัฒนา ระบบเชิงวัตถุที่เป็นมาตรฐานเดียวกันในระดับสากล เรียกว่า "Unified Method" มีการพัฒนามา อย่างต่อเนื่อง จนกระทั่งกลายมาเป็น "UML" และได้รับการรับรองจากหน่วยงานที่ทำ หน้าที่ ดูแลและควบคุมเทคโนโลยีเชิงวัตถุ (Object Management Group : OMG) ให้เป็น มาตรฐานในการสร้าง แบบจำ ลองเชิงวัตถุ ซึ่งภาษา UML มี จุดประสงค์หลัก 4 ข้อ คือ 1. จำ ลองด้วยภาพ (Visualizing) 2. แสดงการกำ หนด (Specifying) 3. ช่วยสร้างระบบ (Constructing) 4. ช่วยบันทึก (Documenting) โมเดลมาตรฐานของ MLU 1. Class Diagram แสดงถึง (lass และความสัมพันธ์ของข้อมูลและ กิจกรรมที่มีผลกับข้อมูลในแต่ละ Class 2. Use case Diagram แสดงการใช้งานระบบจากมุมมอง ของผู้ใช้ 3. Sequence Diagram แสดงลำ ดับขั้นตอนการทำ งานภายในของ 4. Activity Diagram แสดงถึง กระแสการไหลของ การทำ งานในระบบ ( Work Flow ) 5. Collaboration Diagram แสดงถึง การติดต่อสื่อสาร และความ สัมพันธ์ระหว่าง Object 6. Component Diagram แสดงถึง โครงสร้างทาง กายภาพของ Component ต่างๆ ในระบบ 7. Deployment Diagram แสดงถึง สถาปัตยกรรม ของระบu Hardware/Software 8. Object Diagram แสดงถึงความสัมพันธ์ และ Instance ของ Class และ Object 9. State Diagram แสดงถึง สถานภาพ และ พฤติกรรม ของ Object
หน่วยที่3 หลักการของ UML ประโยชน์ของ UML Advantage 1. วงจรการพัฒนาที่สั้นที่สุด (Shortest Development life cycle) 2. เพิ่มผลผลิต (Increase productivity) 3. ปรับปรุงคุณภาพซอฟต์แวร์ (Improve software quality) 4. สนับสนุนระบบสืบทอดมรดก (Support legacy system) 5. ปรับปรุงการเชื่อมต่อทีมงาน (Improve team connectivity) องค์ประกอบ UML ภาษายูเอ็มแอล แบ่งองค์ประกอบออกเป็น 3 ส่วน คือ 1. สัญลักษณ์ทั่วไป (Things) คือ สัญลักษณ์พื้นฐานที่ใช้ในการออกแบบได อะเกรมต่าง ๆ แบ่งออกเป็น หมวดหมู่ย่อย ๆ ประกอบด้วย - หมวดโครงสร้าง (Structure) - หมวดพฤติกรรม (Behavior) - หมวดจัดกลุ่ม (Grouping) - หมวดคำ อธิบายประกอบ (Annotational) 2.ความสัมพันธ์ (Relationships) แบ่งออกเป็น - ความสัมพันธ์แบบพึ่งพา (Dependency Relationship) - ความสัมพันธ์แบบเกี่ยวพันธ์ (Association Relationship - ความสัมพันธ์ไม่เจาะจง หรือความสัมพันธ์แบบสืบทอดคุณสมบัติ (Generalization Relationship) 3. แผนภาพหรือไดอะแกรม (Diagram) ได้แก่ โมเดลมาตรฐานต่างๆ ได้แก่ Class Diagram, Use Case Diagram, Activity Diagram ฯลฯ สำ หรับหน่วยการเรียนรู้นี้ จะขอกล่าวถึงองค์ประกอบของ UML ที่เป็นแบบ มาตรฐาน 2 โมเดลคือ Class Diagram และ Use Case Diagram องค์ประกอบ UML แบบ Class Diagram แผนภาพภาพคลาส คือ โมเดลที่แสดงความสัมพันธ์ของกลุ่ม ออบเจ็กต์ที่ อยู่รวมกัน มีลักษณะมุมมอง เน้นโครงสร้างเชิงวัตถุ ซึ่ง เรียกว่า "Logical View" โดยจะอธิบายความ สัมพันธ์ระหว่าง คลาส คุณลักษณะ (Attribute) และวิธีการประมวลผล (Operation) ของคลาสนั้น ๆ แบ่ง อง๕ประกอบออกเป็น 3 ส่วน
หน่วยที่3 หลักการของ UML Class Name (คลาส) เป็นคำ นาม พยัญชนะตัวแรกเป็นตัวใหญ่หาก มี 2 คำ ต้องขึ้นต้นด้วยพยัญชนะตัวพิมพ์ใหญ่ ไม่เว้นช่องว่าง ชื่อ คลาสจะเป็นตัวหนา ส่วนชื่อออบเจ็กต์จะขึ้นต้นด้วยพยัญชนะ ตัวพิมพ์เล็ก Attibute(แอตทริบิวต์) เป็นคุณลักษณะที่ต้องการในคลาสนั้นๆ ใช้เป็น ตัวพิมพ์ เล็กถ้ามี 2 คำ พยัญชนะ ตัวแรกของคำ ที่สองต้องเป็น พยัญชนะตัวพิมพ์ใหญ่ โดยมีส่วนประกอบ 3 ส่วน คือ ส่วนประกอบของแอตทริบิวต์ Visibility : ระดับในการมองเห็นรายละเอียดต่างๆ ของ Class จากภายนอก Name : นอกชื่อแอตทริบิวต์ ตามด้วยเครื่องหมายโคลอน(:) Type : ชนิดของแอตทริบิวต์ จะอยู่ต่อจากเครื่องหมายโคลอน (:) ขึ้นต้นด้วยตัว พิมพ์ใหญ่ แบ่งออกเป็น 2 ชนิด คือ Primittive Type และ Class Type Operation/Method (โอเปอร์รชัน/มธทอด) คือ กิจกรรมที่สามารถดำ เนินการ กับออบเจ็กต์นั้น ๆ ได้ โดย ต้องขึ้นต้นด้วยคำ ว่า Visibility และตามด้วยส่วนประกอบอื่นๆ ดังนี้ Visibility Method-name (parameter :Type) : return-typeexpression แผนภาพยูสเคส คือ เป็นแผนภาพที่แสดงให้ทราบว่า ระบบมีการทำ งานหรือ มีหน้าที่ใดบ้าง ซึ่งจะเกิดขึ้น หลังจากที่ วิเคราะห์ที่ประกอบเจ็กต์ที่ประกอบกันเป็นระบบแล้ว นั่นก็คือ ได้ Class Diacram มาเรียบร้อยแล้ว นั้นเอง สำ หรับวัตถุประสงค์ สำ คัญของแผนภาพยูสเคส คือ 1. อธิบายขอบเขตของสิ่งที่ระบบต้องการ หรือเรียกว่า Problem Domain ซึ่ง จะได้มาจากการ สำ รวจความต้องการของผู้ใช้งานระบบ (Re quirement) 2. บอกส่วนประกอบต่าง ๆ ของระบบที่กำ ลังศึกษา 3. บอกความสัมพันธ์ของส่วนประกอบต่าง ๆ ในระบบที่ กำ ลังศึกษา ประโยชน์ของ Use Case Diagram 1. เป็นแผนภาพพื้นฐานที่สามารถอธิบายสิ่งต่างๆ ได้โดยใช้รูปภาพที่ ไม่ซับซ้อน 2. ช่วยให้ผู้พัฒนาระบบสามารถแยกแยะกิจกรรมที่อาจเกิดขึ้นในระบบ 3. ทราบความสามารถของระบบ 4. ทราบผู้ใช้งานในแต่ละส่วนของระบบ 5. ง่ายต่อการสื่อสารระหว่างลูกค้าและผู้พัฒนาระบบ 6. ใช้ทดสอบระบบว่าตรงตามความต้องการของระบบหรือไม่
หน่วยที่4 การวิเคราะห์เเละออกแบบระบบทางธุรกิจ การวิเคราะห์และออกแบบโปรแกรมทางธุรกิจ การวิเคราะห์และออกแบบโปรแกรมทางธุรกิจ หมายถึงกระบวนการพัฒนา ระบบเทคโนโลยีสารสนเทศในหน่วยงานของภาคธุรกิจโดยมุ่งแสวงหาผล ประโยชน์ จากการลงทุนในการพัฒนาระบบทั้งทางตรง ( Tangible)และ ทางอ้อม (Intangible) ซึ่งนักวิเคราะห์ระบบจะต้องเข้าใจบริบทและ วัตถุประสงค์ในการวิเคราะห์และออกแบบระบบอย่างชัดเจนจากการสืบค้น ความต้องการของผู้ใช้ผ่านเครื่องมือต่าง ๆ เช่น การสัมภาษณ์(Interview) การสังเกตุ (Observation) การแจกแบบสอบถาม (Questionnaire) เป็นต้นการวิเคราะห์และออกแบบโปรแกรมทางธุรกิจ การวิเคราะห์และออกแบบโปรแกรมทางธุรกิจ ผลตอบแทนทางตรง (Tangible) คือ ผลตอบแทนที่ สามารถวัดผลในเชิง สถิติ หรือตัวเลขได้ เช่น ผลตอบแทนจากการลงทุน กำ ไรที่ได้รับ จำ นวนสินค้าที่ผลิตได้ ยอดขาย สินค้า ระยะเวลาในการผลิตต้นทุนที่ลดหรือเพิ่มขึ้นความรวดเร็วและความ ถูกต้องแม่นยำ ของระบบ เป็นต้น ㆍ ผลตอบแทนทางอ้อม (Intangible) คือ ผลตอบแทนที่ไม่สามารถ วัดผลเชิงสถิติ หรือตัวเลขได้ เช่น ความพึงพอใจของผู้ใช้บริการหรือลูกค้า ความพึงพอใจของ ผู้ใช้ระบบ ภาพลักษณ์ขององค์กรภาคธุรกิจ เป็นต้น
หน่วยที่4 การวิเคราะห์เเละออกแบบระบบทางธุรกิจ การวิเคราะห์และออกแบบโปรแกรมด้วย Class Diagram ขั้นตอนที่ 1กำ หนดออบเจ็กต์และสร้างคลาสของออบเจ็กต์เหล่านั้นการ กำ หนดออปเจ็กต์จะสร้างขอบเขตของระบบซึ่งเกิดจากปัญหาและความ ต้องการของระบบเป็นคำ นามไม่ซ้ำ ช้อน และต้องสามารถกำ หนด แอตทริบิวต์ได้ ลูกค้า(Customer) การชำ ระเงิน(Payment) พื้นที่เช่า(Area) รายได้(Income) สัญญาเช่า (Leasing) ขั้นตอนที่ 2 กำ หนดแอทริบิวต์ (Attribute) ให้กับคลาสเป็นการกำ หนดคุณลักษณะเฉพาะให้กับออบเจ็กต์ต่าง ๆ ที่อยู่ใน คลาส โดยคุณลักษณะหรือแอตทิบิวต์ที่จะกำ หนดต้องตรงกับความต้องการ ของระบบเท่านั้น 1. Primary Key: มีค่าไม่ซ้ำ กัน 2. Multi-Value Attribute: มีค่าข้อมูลมากกว่า 1 3. Derived Attribute: มีค่าการคำ นวณ 4. Composite Attribute: แตกย่อยได้ อาจแยก ออกเป็นอีก 1 คลาสได้
หน่วยที่4 การวิเคราะห์เเละออกแบบระบบทางธุรกิจ ขั้นตอนที่ 3 พัฒนาดิกชันนารีข้อมูล ขั้นตอนนี้เป็นการเขียนอธิบายข้อมูลของคลาสโดยอาจเขียนเป็นรูปแบบย่อ ๆ ไมเป็นทางการเป็นการอธิบาย ชื่อ ขอบเขต บทบาท และแอตทริบิวต์ของ คลาส ขั้นตอนที่ 4 กำ หนดโอเปอเรชันให้กับคลาส ขั้นตอน 1-3 เป็นการกำ หนดแอตทริบิวต์ที่เกี่ยวข้องกับความต้องการของ ระบบซึ่งจะเน้นไปที่ข้อมูลตาม ขอบเขตของปัญหาที่กำ หนดไว้ ซึ่งเป็นส่วนหนึ่งเท่านั้น ในความเป็นจริงยังต้อง พิจารณาโอเปอร์เรซันที่เกี่ยวข้องกับคลาสนั้น ๆ ด้วย ขั้นตอนที่ 5 กำ หนดความสัมพันธ์ระหว่างคลาส ระบบสารสนทศประกอบด้วยคลาสต่าง ( เป็นจำ นวนมากซึ่งมีหน้าที่ต่างกันไป การประสานงานจะต้อง กำ หนดรูป แบบที่ชัดเจนและใช้เส้นตรงลากเชื่อมระหว่างคลาสบนเส้นอาจระบุ การวิเคราะห์และออกแบบโปรแกรมทางธุรกิจ 1. Associations Name เป็นความสัมพันธ์แบบทั่วไปที่ไม่กำ หนดผลของ การการสืบทอด 2. Navigation ทิศทางความสัมพันธ์โดยหัวลูกศรแสดงให้เห็นความสามารถ ของออบเจ็กต์ของคลาสหนึ่ง สามารถเข้าถึงออบเจ็กต์ของอีกคลาสหนึ่งได้อย่างไรกรณีมีหัวลูกศรทิศทาง เดียวจะ เรียกว่า "Unidirection Association " แต่ถ้ามีหัวลูกศร 2 ด้านหรือไม่มีเลยจะ เรียกว่า "Bidirection Association"
หน่วยที่4 การวิเคราะห์เเละออกแบบระบบทางธุรกิจ การวิเคราะห์และออกแบบโปรแกรมทางธุรกิจ จำ นวนสมาชิกที่มีอยู่ในความสัมพันธ์(Multiplicity) ความสัมพันธ์ที่เกิดขึ้นระหว่างคลาสจำ เป็นต้องกำ หนดจำ นวนสมาชิกที่มีอยู่ใน ความสัมพันธ์ นั่น ๆ โดย ตัวเลขทีปลายสุดของคลาสฝั่งตรงกันข้ามจะใช้บอกจำ นวนของความสัมพันธ์ ของคลาสที่ อยู่อีกฝั่งหนึ่ง
หน่วยที่4 การวิเคราะห์เเละออกแบบระบบทางธุรกิจ ความสัมพันธ์ระหว่างคลาสแบ่งออกได้หลายรูปแบบดังนี้ 1. Associations เป็นความสัมพันธ์แบบทั่วไปทีได้กำ หนดผลของการ สืบทอดและการเป็นส่วนหนึ่งของคลาสที่สัมพันธ์กันเป็นความสัมพันธ์ในระดับ ชัน เดียวกัน 2. Generalizations เป็นความสัมพันธ์เชิงโครงสร้าง แสดงให้เห็นความ สัมพันธ์ระหว่างออบเจ็กต์หรือ คลาส ในลักษณะของการสืบทอดคุณสมบัติจากคลาสหนึ่ง(Superclass) ไป ยังอีกคลาสหนึ่ง(Subclass) ซึงเป็นแนวคิดเชิงวัตถุ อาจใช้กำ หนดความ สัมพันธ์แบบหนึ่งต่อกลุ่ม(One to Money) หรือหนึ่งต่อหนึ่ง (One to One)หรืออาจใช้เพื่อแสดงความสัมพันธ์ระหว่างออกเจ็กต์ได้
หน่วยที่5 กรณีศึกษา ระบบฐานข้อมูล 1 ระบบ โดยมีการจัดทำ แผนภาพกระแสข้อมูล หรือ ER-Diagram ในระบบฐานข้อมูลนั้นๆ แผนภาพกระแสข้อมูล แผนภาพกระแสข้อมูล (Data Flow Diagram : DFDs) หมายถึง แผนภาพ ที่อธิบายการโหลของข้อมูล ภายในระบบ เพื่อให้ทราบว่าข้อมูลนั้นมาจากไหน นำ เข้ามาเพื่อทำ อะไร มีใครที่ เกี่ยวข้องบ้าง และจะนำ ข้อมูลเหล่านั้นไปจัดเก็บที่ไหน อย่างไร ซึ่งวิธีการเขียน แผนภาพกระแสข้อมูลก็เปรียบเสมือนแบบจำ ลองกระบวนการ(Process Model) ชนิดหนึ่งนั่นเอง ประโยชน์ของแผนภาพกระแสข้อมูล แผนภาพกระแสข้อมูลเป็นเครื่องมือที่ใช้จำ ลองกระบวนการของข้อมูลที่ เกี่ยวข้องในระบบชื่งอธิบายการทำ งานด้วยสัญลักษณ์หรือรูปภาพ มีประโยชน์ ต่อการวิเคราะห์และออกแบบระบบได้ ดังนี้ 1. เพื่ออธิบายให้ผู้ที่ไม่มีความรู้ทางด้านคอมพิวเตอร์เข้าใจขั้นตอนการทำ งาน ได้อย่างง่าย 2. เพื่อใช้แสดงทิศทางของข้อมูลและระบบย่อยต่าง ๆ 3. เพื่อใช้เป็นเครื่องมือในการวิเคราะห์และออกแบบระบบในอนาคตได้ต่อไป นอกจากนี้ประโยชน์ที่เกิดขึ้นจากมุมมองของผู้ที่เกี่ยวข้อง อาจจะกำ หนดได้ ดังนี้ 1. มุมมองของลูกค้า หรือผู้ใช้งาน จะใช้ DFD เพื่อให้เห็นภาพรวมของระบบ 2. มุมมองของโปรแกรมเมอร์ จะใช้ DFD ในด้านการพัฒนาโปรแกรม และ การกำ หนดรายละเอียด ที่เกี่ยวข้อง 3. มุมมองของนักวิเคราะห์ จะใช้ DFD เพื่อแสดงภาพรวมของระบบ และราย ละเอียดที่เกี่ยวข้อง ของระบบ
หน่วยที่5 กรณีศึกษา ระบบฐานข้อมูล 1 ระบบ โดยมีการจัดทำ แผนภาพกระแสข้อมูล หรือ ER-Diagram ในระบบฐานข้อมูลนั้นๆ ประกอบด้วย Process ที่แทนการทำ งานของระบบทั้งหมดเ พียง 1 Process เท่านั้น แสดงหมายเลข Process เป็นหมายเลข 0 แสดงรายละเอียดของ External Entity รอบๆ Process มี Data Flow แสดงทิศทางการติดต่อระหว่างระบบกับสิ่งที่อยู่ภายนอก ระบบ แสดงรายละเอียดของการทำ งานหลักทั้งหมดของระบบว่ามีขั้นตอนใดบ้าง แต่ละ Process จะมีหมายเลขกำ กับ ในส่วนของหมายเลขProcess แสดงทิศทางการไหลของข้อมูลและรายละเอียดของแหล่งจัดเก็บ แสดงแหล่งที่มาของข้อมูล Input แสดงแหล่งรับข้อมูล Output ตัวอย่างแผนภาพกระแสข้อมูล หรือ er-diagram การวาด Context Diagram สร้างแผนภาพระดับ 1 (Parent Diagram / Level-1 Diagram)
หน่วยที่5 กรณีศึกษา ระบบฐานข้อมูล 1 ระบบ โดยมีการจัดทำ แผนภาพกระแสข้อมูล หรือ ER-Diagram ในระบบฐานข้อมูลนั้นๆ เป็นแผนภาพที่แบ่งย่อยรายละเอียดการทำ งานของแต่ละ Proceรs ที่มี อยู่ใน Parent Diagram หรือLevel-1 Diagram เรียกการแบ่งย่อย การทำ งานนี้ว่าเป็น Child Diagram หรือ Level-2 Child Diagram นี้ต้องมีการทำ งานอย่างน้อย 2 Process ขึ้นไปจึงจะ เขียนเป็นแผนภาพ เพื่อแสดงถึงรายละเอียดของขั้นตอนการทำ งานใน กระบวนการนั้นๆ หมายเลข Process ย่อยจะแสดงเป็นจุดทศนิยม โดย หมายเลขข้างหน้าจุดจะแสดงหมายเลข Process หลักจาก Parent Diagram หมายเลขข้างหลังจุดจะแสดงหมายเลขลำ ดับย่อยของ Process ที่เกิด ขึ้น แบ่งย่อยแผนภาพ(Child Diagram / Decomposition of DFD) 1. 2.
หน่วยที่5 กรณีศึกษา ระบบฐานข้อมูล 1 ระบบ โดยมีการจัดทำ แผนภาพกระแสข้อมูล หรือ ER-Diagram ในระบบฐานข้อมูลนั้นๆ
หน่วยที่5 กรณีศึกษา ระบบฐานข้อมูล 1 ระบบ โดยมีการจัดทำ แผนภาพกระแสข้อมูล หรือ ER-Diagram ในระบบฐานข้อมูลนั้นๆ Balancing DFD หมายถึงความสมดุลของแผนภาพจะต้องมีInput Data Flow ที่เข้าสู่ระบบและมี Output Data Flow ที่ออกจากระบบ ใน DFD ระดับล่าง (Child Diagram) ให้ครบทุก Input Data Flow และ Output Data Flow ที่ปรากฎอยู่ใน DFDระดับบน (Context Diagram) ตรวจสอบความสมดุลของ DFD (Balancing DFD)
จัดทำ โดย นางสาวปาระวี มะริต แผนกวิชา เทคโนโลยีธุรกิจดิจิทัล ระดับประกาศนียบัตรวิชาชีพชั้นสูง(ปวส.)ชั้นปีที่1 เสนอ นางสาวประนอม เบิกบาน