ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
การวิเคราะห์ความต้องการ
บทที่ 5 การวิเคราะห์ความต้องการ
2
1. บทนำ หลังจากที่นักวิเคราะห์ระบบได้รวบรวมความต้องการ และได้จำลอง
หลังจากที่นักวิเคราะห์ระบบได้รวบรวมความต้องการ และได้จำลอง ให้เห็นความสามารถหรือหน้าที่ของระบบใหม่ที่ต้องกระทำด้วย แผนภาพยูสเคสแล้ว หน้าที่ต่อไปของนักวิเคราะห์ระบบก็คือ นำเอา ความต้องการทั้งหมดมาทำการวิเคราะห์ เพื่อสร้างแบบจำลองเพื่อ อธิบายให้เห็นถึงโครงสร้างเชิงสถิตของระบบ ซึ่งเป็นโครงสร้างที่ไม่มี การเปลี่ยนแปลงไม่ว่าจะเกิดเหตุการณ์ใดก็ตาม ซึ่งจะเริ่มต้นด้วยการ วิเคราะห์โครงสร้างทางด้านการประมวลผล แผนภาพที่ช่วยให้สามารถ แสดงโครงสร้างดังกล่าวได้เป็นอย่างดี คือ แผนภาพคลาส
3
2. แผนภาพคลาส (Class Diagrams)
แผนภาพคลาส (Class Diagram) คือ แผนภาพที่ใช้แสดง Class และ ความสัมพันธ์ในแง่ต่างๆ (Relation) ระหว่าง Class เหล่านั้น ซึ่ง ความสัมพันธ์ที่กล่าวถึงใน Class Diagram นี้ถือเป็นความสัมพันธ์เชิง สถิตย์ (Static Relationship) หมายถึง ความสัมพันธ์ที่มีอยู่แล้วเป็นปกติ ในระหว่าง Class ต่างๆ ไม่ใช่ความสัมพันธ์ที่เกิดขึ้นเนื่องจากกิจกรรม ต่างๆ ซึ่งเรียกว่า ความสัมพันธ์เชิงกิจกรรม (Dynamic Relationship)
4
2.1 องค์ประกอบและแผนภาพคลาส
2.1 องค์ประกอบและแผนภาพคลาส แผนภาพคลาส มีองค์ประกอบ 3 องค์ประกอบ ดังนี้ 1. ชื่อคลาส (Class name) 2. คุณสมบัติ (Attribute) 3. เมท็อด (Method)
5
2.1 องค์ประกอบและแผนภาพคลาส
2.1 องค์ประกอบและแผนภาพคลาส
6
3. ความสัมพันธ์ระหว่างคลาส
ความสัมพันธ์ระหว่างคลาส เป็นความสัมพันธ์ที่ได้มาจากการใส่แนวคิด (Abstraction) คือ การให้แนวคิดกับวัตถุจนเกิดเป็นคลาส ทำให้เกิดความสัมพันธ์ชนิดต่างๆ ขึ้น ได้แก่ Association Aggregation Composition Generalization/Inheritance
7
3.1 ระดับความสัมพันธ์ มีอยู่ 3 รูปแบบ Unary Relationship เป็นความสัมพันธ์ที่เกิดกับคลาสเดียว เช่น หัวหน้าห้องของนักศึกษาแต่ละคน
8
3.1 ระดับความสัมพันธ์ (ต่อ)
3.1.2 Binary Relationship เป็นความสัมพันธ์ที่เกิดขึ้นระหว่างคลาส 2 คลาส เช่น ความสัมพันธ์ระหว่างคลาส “นักศึกษา” กับ คลาส “คณะวิชา” ซึ่งสัมพันธ์กันโดยความสัมพันธ์ “สังกัด”
9
3.1 ระดับความสัมพันธ์ (ต่อ)
31.3 Ternary Relationship เป็นความสัมพันธ์ที่เกิดขึ้นระหว่างคลาสมากกว่า 2 คลาสขึ้นไป
10
3.2 ปริมาณของความสัมพันธ์
ปริมาณของความสัมพันธ์ คือ การกำหนดขอบเขตหรือจำนวนให้กับ วัตถุของคลาสใดๆ ที่มีความสัมพันธ์กัน โดยขอบเขตดังกล่าวก็คือ ค่า ต่ำสุดถึงค่าสูงสุด
11
3.2 ปริมาณของความสัมพันธ์ (ต่อ)
12
3.2 ปริมาณของความสัมพันธ์ (ต่อ)
13
3.3ชื่อและบทบาทของความสัมพันธ์
บนเส้นแสดงความสัมพันธ์สามารถใส่ชื่อของความเกี่ยวข้อง (association name) และบทบาทของความเกี่ยวข้อง (association role) ได้โดยชื่อของความเกี่ยวข้องจะเป็นคำกริยาและมีลูกศรกำกับ เพื่อกำหนด ทิศทางของ ความเกี่ยวข้อง
14
3.4 ความสัมพันธ์ระหว่างคลาสที่เกิดจาก Abstraction
ความสัมพันธ์ระหว่างคลาสจะมีความสัมพันธ์อยู่หลายๆ แบบ ได้แก่ 1. ความสัมพันธ์เชิงสรุปครอบคลุม (generalization relationships) 2. ความสัมพันธ์เชิงภาพรวมกลุ่ม (aggregation relationships) 3. ความสัมพันธ์เชิงเกี่ยวข้อง (association relationships)
15
3.4.1. ความสัมพันธ์เชิงเกี่ยวข้อง (Association relationships)
ความสัมพันธ์เชิงเกี่ยวข้อง คือ ความ สัมพันธ์ระหว่างคลาส หรือระหว่างอ็อบเจกต์อีกลักษณะหนึ่งที่ไม่ใช่ความสัมพันธ์ในลักษณะของการสืบทอดแอททริบิวต์และโอเปอร์เรชันแบบความสัมพันธ์เชิงสรุปครอบคลุม และไม่ใช่ความสัมพันธ์ในลักษณะของการเป็นส่วนประกอบของกันและกัน ในความสัมพันธ์เชิงภาพรวมกลุ่มแต่เป็นความสัมพันธ์ในลักษณะที่อ็อบเจกต์หนึ่งสามารถอ้างอิงถึงอ็อบเจกต์อื่นๆ ได้ และสามารถเรียกใช้โอเปอร์เรชันหรือวิธีการของอ็อบเจกต์อื่นๆ ได้
16
3.4.2 ความสัมพันธ์เชิงภาพรวมกลุ่ม
ความสัมพันธ์เชิงภาพรวมกลุ่ม หรือเรียกอีกอย่างหนึ่งว่าความสัมพันธ์เชิงส่วนรวม ส่วนย่อย (whole-part relationship) หรือความสัมพันธ์เชิงพวกเดียวกัน (is-part-of relationship) เป็นความสัมพันธ์ในลักษณะของการรวมกัน หรือเป็นส่วนประกอบกันของคลาสหรืออ็อบเจกต์หรือเป็นความสัมพันธ์แบบส่วนใหญ่กับส่วนย่อยระหว่างสองคลาส
17
3.4.2 ความสัมพันธ์เชิงภาพรวมกลุ่ม (ต่อ)
ความสัมพันธ์เชิงภาพรวมกลุ่มสามารถแบ่งออกได้เป็นสองแบบคือ 1. ร่วมกันรวมกลุ่ม (share aggregation) 2. ประกอบกันเป็นกลุ่ม (composition aggregation)
18
1. ร่วมกันรวมกลุ่ม (share aggregation)
ความสัมพันธ์ในลักษณะของส่วนย่อยรวมเป็นส่วนประกอบของส่วน ใหญ่ เมื่อส่วนใหญ่ถูกทำลายหายไปส่วนย่อยก็ยังคงอยู่ได้ สัญลักษณ์ที่ใช้แทนความสัมพันธ์ คือ เส้นตรงทึบลากระหว่างคลาสและมีรูปสี่เหลี่ยมขนมเปียกปูนติดอยู่ทางด้านคลาสที่เป็นส่วนใหญ่ และในกรณีที่ส่วนใหญ่มี ส่วนย่อยหลายส่วนเป็น องค์ประกอบ สามารถวาดภาพให้ดูง่ายขึ้นโดยนำเส้นมารวมกันได้
19
1. ร่วมกันรวมกลุ่ม (share aggregation) (ต่อ)
20
2) ประกอบกันรวมกลุ่ม ความสัมพันธ์ในลักษณะของส่วนย่อยเป็นส่วนประกอบของส่วนใหญ่เช่นกัน แต่เมื่อส่วนใหญ่ถูกทำลายหายไป ส่วนย่อยจะถูกทำลายหายไปด้วย สัญลักษณ์ที่ใช้แทนความสัมพันธ์คือ เส้นตรงทึบลากระหว่างคลาสและมีรูปสี่เหลี่ยมขนมเปียกปูนทึบติดอยู่ทางด้านคลาสที่เป็นส่วนใหญ่
21
2.4.3 ความสัมพันธ์เชิงสรุปครอบคลุม
เป็นรูปแบบที่นักวิเคราะห์ใช้วิธีการสร้างคลาสจากการสืบทอดแอท ทริบิวต์ และโอเปอร์เรชันมาจากคลาสอื่น นักวิเคราะห์ระบบสร้างคลาสใหญ่ที่มีแอททริบิวต์และโอเปอร์เรชัน พื้นฐาน ซึ่งแอททริบิวต์และโอเปอร์เรชันพื้นฐานนี้ จะถูกนำมาใช้ในคลาสย่อย คลาสย่อยจะสืบทอดแอททริบิวต์และโอเปอร์เรชันมาจากคลาสใหญ่และยังสามารถมีแอททริบิวต์และโอเปอร์เรชันเพิ่มเติมเป็นของตัวเองได้อีกด้วย
22
2.4.3 ความสัมพันธ์เชิงสรุปครอบคลุม (ต่อ)
23
2.4.3 ความสัมพันธ์เชิงสรุปครอบคลุม (ต่อ)
24
3.5 วิธีกำหนดความสัมพันธ์ของคลาส
25
4. วิธีการสร้างแผนภาพคลาส
1. การค้นหาคลาสและคุณสมบัติ เริ่มต้นการสร้างคลาสด้วยการนำคำอธิบายของแต่ละยูสเคส เฉพาะส่วนที่เป็น Main Flow และ Exceptional Flow มาค้นหาคลาส โดยอาศัยหลักเกณฑ์ คือ คำนาม มีโอกาสที่จะเป็นคลาสหรือแอททริบิวต์ของคลาส คำวิเศษณ์มีโอกาสที่จะเป็นแอททริบิวต์ของคลาส คำกริยา มีโอกาสที่จะเป็นเมท็อดของคลาสใดคลาสหนึ่ง ในการพิจารณาคำนาม กริยา และคำวิเศษณ์ให้พิจารณาเฉพาะสิ่งที่อยู่ในโดเมนเท่านั้น และสนใจต่อสิ่งที่กระทบกับปัญหาหรือแนวทางแก้ปัญหาเท่านั้น
26
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
27
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
1. การค้นหาคลาสและคุณสมบัติ (ต่อ)
28
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
2. กำหนดประเภทของแอททริบิวต์ หลังจากกำหนดแอททริบิวต์ต่างๆ ให้กับคลาสได้แล้ว ให้นำแอททริบิวต์ของแต่ละคลาสมาพิจารณาเพื่อกำหนดประเภทของแอททริบิวต์ ตลอดจนชนิดของแอททริบิวต์ด้วย โดยจากจากตัวอย่างระบบลงทะเบียน ภายหลังจากการกำหนดประเภทและชนิดของแอททริบิวต์ ได้ผลลัพธ์
29
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
30
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
3. การสร้างความสัมพันธ์ระหว่างคลาส หลังจากกำหนดคีย์หลักและชนิดของแอททริบิวต์แล้ว ขั้นตอนต่อไปคือการหาความสัมพันธ์ระหว่างคลาสที่ได้ ไม่ว่าจะเป็นความสัมพันธ์เชิงเกี่ยวข้อง ความสัมพันธ์เชิงภาพรวมกลุ่ม หรือความสัมพันธ์เชิงสรุปครอบคลุม แล้วจำลองออกมาด้วยสัญลักษณ์ต่างๆ ตามที่ได้อธิบายไว้แล้วในหัวข้อที่ผ่านมา
31
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
1. จากคำอธิบายยูสเคส “การลงทะเบียน” ประโยคที่ว่า “ในแต่ละเทอมจะต้องมีนักศึกษามาลงทะเบียนเรียนในรายวิชา ของภาคเรียนปกติ โดยนักศึกษาจะต้องกรอกแบบฟอร์ม ลงทะเบียนไม่เกิน 8 วิชา”
32
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
2. จากเงื่อนไขที่บอกว่า “วิชาเรียนบางวิชาได้มีข้อกำหนดไว้ว่า นักศึกษาจะลงทะเบียนเรียนได้ก็ต่อเมื่อผ่านการเรียนวิชาอื่นมาก่อนแล้ว” ดังนั้นคลาส “รายวิชา” จึงมีความสัมพันธ์กับคลาส “การตรวจวิชาเรียน” ซึ่งเป็นความสัมพันธ์เชิงเกี่ยวข้อง แบบหนึ่งต่อกลุ่ม
33
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
3. จากคำอธิบายยูสเคส “ลงทะเบียน” ถึงแม้ว่าการลงทะเบียนแต่ละเทอมนักศึกษาจะต้องกรอกข้อมูลลงในแบบฟอร์มลงทะเบียนคนละ 1 ใบ แต่ตลอดระยะเวลาของการเรียนในมหาวิทยาลัยนั้นมีหลายเทอม
34
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
4. จากคำอธิบายยูสเคส “การลงทะเบียน” ประโยคที่ว่า “เมื่อเจ้าหน้าที่รับแบบฟอร์มลงทะเบียนมาแล้ว จะป้อนรหัสนักศึกษาเพื่อทำการตรวจสอบวิชาที่นักศึกษาได้ลงไว้ในแบบฟอร์มกับประวัติการเรียนว่าถูกต้องหรือไม่ ”
35
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
5. จากคำอธิบายยูสเคสที่ว่า “เจ้าหน้าที่ฝ่ายทะเบียน(พนักงานของมหาวิทยาลัย) เป็นผู้รับแบบฟอร์มลงทะเบียนจากนักศึกษาเพื่อนำมาทำรายการลงทะเบียน” ดังนั้น คลาส “พนักงาน” จึงมีความสัมพันธ์กับคลาส “แบบฟอร์มการลงทะเบียน”
36
4. วิธีการสร้างแผนภาพคลาส (ต่อ)
4. ทบทวนแผนภาพคลาส
37
5. บทสรุป แผนภาพคลาสจะแสดงให้เห็นว่าในระบบใหม่ตามความต้องการของผู้ใช้ จะต้องประกอบไปด้วยวัตถุหรือคลาสใดบ้าง แต่ละคลาสมีแอททริบิวต์และการดำเนินการใดบ้าง นอกจากนี้ยังแสดงให้เราทราบถึงความสัมพันธ์ระหว่างคลาสได้ด้วย ตามวิธีการในตำราเล่มนี้เราสามารถสร้างแผนภาพคลาสได้จากคำอธิบายยูสเคส จากนั้นให้ตัดคลาสที่ไม่จำเป็นทิ้งหรือยุบรวมคลาสที่มีลักษณะเดียวกันเข้าด้วยกัน จากนั้นให้เพิ่มเติมแอททริบิวต์ของแต่ละคลาส กำหนดประเภทและชนิดของแอททริบิวต์ และสุดท้ายก็คือ การหาความสัมพันธ์ระหว่างคลาสที่มี โดยการสร้างแผนภาพคลาสให้สมบูรณ์ครบถ้วน
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.