บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส...

14
บบบบบ 3 บบบบบบบบบบบบบ o บบบบบบบบบบบบบบบบบบบบบบ o บบบบบบบบบบบบบบบบบบบบบบ บบบบบบบบบ o บบบบบบบบบบบบบบบบบบบบบบบบบบบ จจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจ จจจจจจ จจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจ จจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจ จจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจ จจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ 2 จจจจจจ จจจจจจจ จจจจจจจจจจจจจจจจจจจ จจจ จจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ

Transcript of บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส...

Page 1: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

บทท 3แบบจำลองระบบ

o ควมสำคญของแบบจำลองo แบบจำลองตมแนวทงเชงโครงสรงo แบบจำลองตมแนวทงเชงวตถ

จากเนอหาในบททผานมา จะเหนวาในระหวางการวเคราะหความตองการนน ทมงานจำาเปนตองสรางแบบจำาลองความตองการขนมา เพอใชสอสารกบบคคลอนไมวาจะเปนผใชระบบ ลกคา หรอระหวางทมงานดวยกนเองใหเกดความเขาใจทถกตองตรงกนแทนการสอสารดวยขอความหรอคำาพด ซงอาจทำาใหเกดความเขาใจทผดพลาดได โดยแบบจำาลองทใชนน มหลายชนดแตกตางกน แตละชนดใชจำาลองระบบในดานตางๆ และเนองจากปจจบน มแนวทางวเคราะหและออกแบบระบบทไดรบความนยมหลายแนวทาง ทำาใหมการจำาแนกกลมของแบบจำาลองแตกตางกนออกไปตามแนวทางทเลอกใช ดงนน ในทนจงขอจำาแนกแบบจำาลองตามแนวทางดงกลาว 2 แนวทาง นนคอ แนวทางเชงโครงสราง และแนวทางเชงวตถ

นอกจากแบบจำาลองจะเปนเครองมอทชวยใหการสอสารระหวางกลมบคคลมความถกตองตรงกนแลว แบบจำาลองทสรางขนในระหวางการวเคราะหความตองการนน ยงนบวาเปนขอมลสำาคญทจะนำาไปใชในการออกแบบระบบดวย เนองจากความตองการการทำางานของระบบในดานตางๆ ถกนำาเสนอแทนดวยแบบจำาลอง ซงถกรวมไวในเอกสารขอกำาหนดความตองการของระบบ และเมอถงขนตอนการออกแบบ ซงเปนขนตอนททมงานตองกำาหนดราย

Page 2: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

ละเอยดทางดานเทคนคตางๆ เพงเตมใหกบแตละฟงกชน จงจำาเปนอยางยงทจะตองนำาเอกสารดงกลาวมาใช

3.1 ควมสำคญของแบบจำลองแบบจำลอง (Model) คอ สญลกษณทใชจำาลองขอเทจ

จรงตางๆ ทเกดขนในระบบ แบบจำาลองจงประกอบไปดวยแผนภาพชนดตางๆ เพอแสดงใหเหนแตมมมองของระบบ

ตามทกลาวไวตอนตนวา แบบจำาลองเปนเครองมอสำาคญทชวยใหสอสารระหวางบคคลทกฝายมความถกตองตรงกนมากขน เนองจากแบบจำาลองประกอบไปดวยรปภาพลกษณตางๆ มากมายทจะเปนตวแทนแสดงใหเหนการทำางานของระบบ หรอแสดงใหเหนหนาทของระบบ รวมถงโครงสราง และสวนประกอบตางๆ แบบจำาลองเปนสงทไดจากการวเคราะหความตองการของผใชทงในดานระบบและซอฟตแวร สะทอนใหเหนหนาทการทำางานของระบบในดานตางๆ ไดอยางชดเจนวาระบบทำาหนาท อะไร“ ” และ อยางไร“ ” เนองจากในระยะการวเคราะหความตองการ เปนระยะแรกทมการสรางแบบจำาลอง ดงนน แบบจำาลองทไดจงเปนจดเรมตนของการสรางแบบจำาลองในระยะอนๆ ตอไป เมอเขาสระยะการสรางแบบจำาลอง ดงนน แบบจำาลองทไดจงเปนจดเรมตนของการสรางแบบจำาลองในระยะอนๆ ตอไป เมอสระยะการออกแบบ ทมงานจงตองนำาแบบจำาลองจากระยะการวเคราะหไปใชเพอกำาหนดรายละเอยดทางดานเทคนคเพมเตมใหเอออำานวยตอการออกแบบ คอ แบบจำาลอง“ของการออกแบบ” นนเอง และเนองจากเอกสารขอกำาหนดความตองการเปนเครองมอทผใชหรอลกคานำามาประเมนระบบหรอซอฟตแวรเพอพจารณายอมรบใหนำาใชงานได ดงนน ขอกำาหนดความตองการหรอรายเอยดของระบบ แบบจำาลองของการวเคราะห

32

Page 3: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

และแบบจำาลองของการออกแบบ จงมความสมพนธกนอยางตอเนองเปนลกโซ ดงรปตอไปน

รป 3.1 แสดงควมสมพนธระหวงแบบจำลองของกรวเคระหและออกแบบ

ดงนน จงไมไดมการแบงขอบเขตการใชงานแบบจำาลองตางๆ ระหวางการวเคราะหและการออกแบบ เนองจากในระยะการออกแบบ ทมงานสามารถสรางแบบจำาลองชนดเดยวกนกบระยะการวเคราะห เพอเพมเตมรายละเอยดทางดานเทคนคมากขน อนจะเปนประโยชนตอไปโปรแกรมเมอรในการเขยนโปรแกรมได โดยใชแบบจำาลองชนดเดยวกบทไดจากระยะการวเคราะหเปนรากฐาน

3.2 แบบจำลองตมแนวทงเชงโครงสรงสำาหรบแนวทางเชงโครงสรางนน จะพจารณากระบวนการ

ทำางานกบขอมลของระบบแยกออกจากกน ดงนน แบบจำาลองทตองสราง จงแบงออกเปน 2 ชนด ไดแก แบบจำาลองการะบวนการ (Process Model) และแบบจำาลองขอมล (Data Model)

1. แบบจำาลองกระบวนการ (Process Model) ใชจำาลองขนตอนการทำางานของระบบ แผนภาพทใชคอ แผนภาพ“กระแสขอมล (Data Flow Diagram : DFD)”

33

System

Description

Analysis

Model Design

Model

Page 4: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

2. แบบจำาลองขอมล (Data Model) ใชจำาลองโครงสรางขอมลทงหมดในระบบ แผนภาพทใชคอ แผนภาพแสดง“ความสมพนธระหวางขอมล (Entity Relationship Diagram : ERD)”

ในทนจะกลาวถงแผนภาพ DFD และ EFD ดงตอไปน

แผนภพกระแสขอมล (Data Flow Diagram: DFD)แผนภาพกระแสขอมล หมายถง แผนภาพทแสดงใหเหนถง

ทศทางการไหลของขอมลทมอยในระบบ จากกระบวนการทำางานหนงไปยงอกกระบวนการหนง หรอไปยงสวนอนทเกยวของไมวาจะเปนแหลงจดเกบขอมล(Data Store) หรอผเกยวของทอยนอกระบบ (External Agent) ดงนน จงสามารถนำา DFD ไปใชออกแบบฐานขอมลได แผนภาพกระแสขอมลแบงเปน 2 ประเภท ไดแก

1. แผนภาพกระแสขอมลในระดบตรรกะ (Logical DFD) เปน DFD ทแสดงกระบวนการของระบบในระดบแนวคดเทานน กลาวคอ แสดงใหเหนถงการไหลของขอมลพอสงเขป ไมลงลกถงรายละเอยดและไมไดใชคำาศพททางเทคนคมากนก และมกใชในขนตอนการวเคราะหความตองการ

2. แผนภาพกระแสขอมลในระดบภาพ (Physical DFD) เปน DFD ทแสดงใหเหนรายละเอยดภายในกระบวนการ เชน ชอกระบวนการ วธการทำางาน แหลงกำาเนด และปลายทาง เปนตน โดยมการใชศพทเทคนคเพอใหสอสารกบโปรแกรมไดงายขน แผนภาพชนดนใชในขนตอนการออกแบบระบบ

แสดงตวอยาง DFD ดงรปตอไปน

34

Page 5: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

รป 3.2 แสดงตวอยง DFDจากรปภาพขางตน แสดงตวอยาง DFD ของกระบวนการ

“Compute and Printing Invoice” หรอกระบวนการคำานวณและสงพมพใบกำากบสนคา ขอมลเขาส Process 4.1 “Compute” คอ หมายเลขใบสงสนคา (Deliver Note) และขอมลใบสงขาย (Sale Order Data) และ Process 4.1 คำานวณจำานวนเงนทงหมดแลว จะสงเปนขอมลสำาหรบสงพมพใบกำากบสนคา (Invoice Data) ไปยง Process 4.2 “Printing Invoice” เพอสงพมพใบกำากบสนคาและสงไปพรอมกบสนคาใหแกลกคา (Customer) จากตวอยาง สรปสญลกษณของ DFD ไดดงตอไปน

รป 3.3 แสดงสญลกษณของ DFD

หลกการสราง DFD คอ การแบงการทำางานจากกระบวนการหลกทอยระดบบน ลงไปสกระบวนการยอยทอยระดบลางบางตำาราจงกำาหนดไววา DFD ระดบบนสดเรยกวา “Context Diagram” เพอแสดงใหเหนภาพรวมของระบบ ดงนน เพอแสดงใหเหนภาพรวมของระบบ ดงนน หากตองการเรมตนสราง DFD จงเรมตนจาก Context Diagram Context Diagram คอ แผนภาพกระแสขอมลระดบบนสดทแสดงภาพรวมการทำางานของระบบทมความสมพนธกบสภาพ

35

Page 6: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

แวดลอมภาพนอกระบบ Context Diagram จงชวยกำาหนดขอบเขตของระบบทพฒนาได แสดงตวอยาง Context Diagram ของระบบงานขาย ดงรปตอไปน

รป 3.4 แสดงตวอยง Context Diagram ของระบบงนขย (Sales System)

จากรป จะเหนวาระบบงานขายนนตองปฏสมพนธกบบคคลอนทอยนอกระบบทงหมด 4 กลม ไดแก ระบบประมาณผลใบสงซอ (Order Processing) ฝายบรการงานขาย (Sale Management) ฝายผลตและคลงสนคา (Manufacturing and Store) และลกคา (Customer) เมอเหนภาพรวมของระบบงานขายแลว ทมงานจะตองสราง DFD ระดบถดมา คอ 0 เพอแสดงใหเหนกระบวนการทำางานภายในของระบบ และนำาแตละกระบวนการมาแตกเปนกระบวนการยอยในระดด 1,2 ตอไปเรอยๆ จนกวาจะไมสามารถแบงยอยกระบวนการไดอก อยางไรกตาม กระบวนการทสามารถแบงยอยตอไปไดอก จะตองกระบวนการยอยอยภายในอยางนอย 2 กระบวนการ แสดงตวอยาง DFD Level 0,1 ดงรปตอตอไป (a) และ (b)

36

Page 7: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

รป 3.5 แสดง DFD Level 0 ของระบบงนขย

รป 3.6 DFD Level 1 ของ Process 4.0 “Compute and Printing Invoice”

37

Page 8: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

แผนภพแสดงควมสมพนธระหวงขอมล (Entity Relationship Diagram : ERD)

แผนภาพแสดงความสมพนธระหวางขอมล (ERD) หมายถง แผนภาพทใชเปนเครองมอสำาหรบจำาลองขอมล ซงจะประกอบไปดวย Entity (แทนกลมของขอมลทเปนเรองเดยวกน/เกยวของกน) ความสมพนธระหวางขอมล (Relationship) ทเกดขนทงหมดในระดบ นอกจากน ทกๆ Entity จะม Attribute เปนตวบงบอกถงลกษณะหรอคณสมบตของ Entity นนดวย

จากตวอยางระบบงานขาย ยกตวอยาง Entity ในระบบ 3 Entity ไดแก Customer, Order และ Sale Order ซงม Attribute และ Primary Key ดงน

Customer (Customer ID, Name , Address)Order (Order ID, Product)Sale Order (Sale ID, Order ID, Customer ID)

แสดงความสมพนธระหวาง Entity ทง 3 ไดดวย ERD ดงรป

รป 3.7 แสดงตวอยง ERD ของ Entity “Customer”, “Order” และ “Sale Order”

3.3 แบบจำลองตมแนวทงเชงวตถจากแนวทางเชงโครงสราง จะเหนวาทมงานตองพจารณา

กระบวนการทำางานและขอมลของระบบแยกสวนกน ทำาใหอาจเกด

38

Page 9: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

ความสบวนไดวาควรพจารณาสงใดกอนจงจะดทสดแลว จะพจารณาทกๆสงในระบบทสนใจเปนวตถ ซงประกอบไปดวยขอมล (คณลกษณะ) และกระบวนการทำางาน (พฤตกรรม) รวมอยดวยกน จงเปนการพจารณาทงขอมลและกระบวนการทำางานไปพรอมๆกน

ดงนน ในระบบใดๆ จงประกอบไปดวยออบเจกตจำานวนมากทสมพนธกนเพอทำางานรวมกน ใหเกดเปนการทำางานของระบบ โดยทหากออบเจกตใดทมคณลกษณะและพฤตกรรมเหมอนกนจะถกจดใหอยใน คลาส“ (Class)” เดยวกน เชน ออบเจกต พยาบาล “(Nurse) ” กบ ผบรหาร “ (Manager)” มลกษณะห ตา หรอแขน ขา เหมอนกน จงจดใหอยในคลาสเดยวกน คอ คน “ (Person)” เปนตน ดงนน จงสามารถกลาวในทางกลบกนวา คลาสเปนเสมอน“แมพมพทใชสรางออบเจกตของคลาสนน” ดงจะไดจากการเขยนโปรแกรมเชงวตถ ทตองมการสรางคลาสไวกอนการสรางออบเจกต แสดงภาพของคลาส ไดดงน

รป 3.8 แสดงภพจำลองของคลสแบบจำาลองของระบบทสรางตามแนวทางเชงวตถนน มหลาก

หลายชนดตามระเบยบวธปฏบตทบคคลหรอองคกรระบบแตกตางๆ กำาหนดขน แบบจำาลองแผนภาพแตละชนดใชสญลกษณแทนออบเจกตและคลาส รวมถงองคประกอบอนของระบบแตกตางกนออกไป ทำาใหผเชยวชาญดานการวเคราะหและออกแบบเชงวตถไดรวมตวกนเพอกำาหนดภาษารปภาพ เพอใชสรางแบบจำาลองเชงวตถ

39

Page 10: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

เรยกวา UML โดยไดรบการยอมรบจากองคกร OMG ใหเปนภาษารปภาพทใชแบบจำาลองเชงวตถมาตรฐาน

สำาหรบแผนภาพทจะใชจำาลองระบบเชงวตถของภาษา UML น ถกแบงออกเปน 2 กลม รวมทงหมด 9 แผนภาพ ดงน

1. Structural Diagram เปนกลมแผนภาพทแสดงใหเหนโครงสรางสถต ของระบบ คอ โครงสรางในสวนทไมมการเปลยนแปลงหรอเคลอนไหวแมมเหตการณใดๆ เกดขน แบงออกเปนแผนภาพชนดตางๆ ดงน - Class Diagram- Object Diagram- Component Diagram- Deployment Diagram

2. Behavioral Diagram เปนกลมแผนภาพทแสดงใหเหนภาพเชงกจกรรมของระบบ คอ แสดงใหเหนพฤตกรรมแงระบบทมการเปลยนแปลงไปเมอมเหตการณใดๆ เกดขน และแสดงใหเหนถงความสามารถของระบบทดำาเนนการในหนาทบางอยางได แบงออกเปนแผนภาพชนดตางๆ ดงน- Use Case Diagram- Sequence Diagram- Collaboration Diagram- Statechart Diagram- Activity Diagram

สรปเนอหาในบทนกลาวถงแบบจำาลองของระบบทจำาเปนตองสราง

ขนในระหวางการวเคราะหความตองการ ขอมลความตองการทรวบรวมมาไดจะประกอบไปดวยรายละเอยดการทำางานของระบบหลายดาน ทมงานจำาเปนตองจำาแนกขอมลความตองการเหลานน

40

Page 11: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

แลวจดหมวดหมไวใหชดเจน เพอใชในการสอสารระหวางลกคา ผใช หรอระหวางทมงานดวยกนเองแตการสอสารดวยคำาพดหรอขอความ บางครงอาจทำาใหเกดความเขาใจทคลาดเคลอนได ดงนน ทมงานจงตองสรางเปนแบบจำาลองชนดตางๆ ขนมา เพอชวยใหดารสอสารดงกลาวมความถกตองตรงกนมากขน เนองจาก แบบจำาลอง “(Model)” จะประกอบไปดวยรปภาพสญลกษณ เพอใชอธบายแทนสงตางๆ ในระบบ ทำาใหเขาใจงายขน ซงเมอเขาสระยะการออกแบบแลว ทมงานจะตองนำาแบบจำาลองทไดจากระยะการวเคราะหมาใช เพอกำาหนดรายละเอยดตางๆ ดานเทคนคเพมเตม ใหสามารถสอสารกบโปรแกรมเมอรตอไปไดงายขน ในทนไดกลาวถงแบบจำาลองตามแนวทางการวเคราะหและออกแบบระบบ 2 แนวทาง ไดแก แนวทางเชงโครงสราง และแนวทางเชงวตถ

แนวทางเชงโครงสรางจะพจารณาขนตอนการทำางานของระบบแยกสวนจากขอมลของระบบ ดงนนแบบจำาลองทไดจงม 2 ประเภท คอ แบบจำาลองกระบวนการทำางานของระบบ และแบบจำาลองขอมล โดยทแบบจำาลองกระบวนการทำางานของระบบ จะแสดงใหเหนขนตอนการทำางานทงหมดของระบบ แผนภาพทใชคอ “แผนภาพกระแสขอมล ” สวนแบบจำาลองขอมล ใชแสดงขอมลและความสมพนธระหวางขอมลทงหมดแผนภาพทใชคอ แผนภาพ“แสดงความสมพนธระหวางขอมล ” ทมงานสามารถสรางแบบจำาลองชนดใดกอนกได แตเมอเขาสระยะการออกแบบแลว ทมงานสามารถนำา DFD และ ERD จากระยะการวเคราะหไปกำาหนดรายละเอยดทางเทคนคเพมเตมได เฉพาะกรณของ DFD ทสรางในระยะการออกแบบ จะเรยนวา “DFD ระดบกายภาพ”

แนวทางเชงวตถ จะพจารณาสงตางๆ ในระบบเปนวตถ หรอ ออบเจกต แตละออบเจกตจะประกอบดวยขอมลและขนตอนการทำางานรวมอยดวย ดงนน แนวทางเชงวตถ จงชวยใหทมงาน

41

Page 12: บทที่ 3elearning.psru.ac.th/courses/66/document/บทที่... · Web viewค อ ส ญล กษณ ท ใช จำลองข อเท จจร งต างๆ

วเคราะหความตองการไดรวดเรวขน สำาหรบแบบจำาลองทใชตามแนวทางดงกลาว คอ แบบจำาลองเชงวตถ“ ” ทจะตองสะทอนใหเหนมมมองดานตางๆ ของออบเจกตในระบบได ภาษาทใชแบบจำาลองเชงวตถทนยมใชคอ UML แบงแผนภาพออกเปน 2 กลม ไดแก 1) Structural Diagram ใชแสดงโครงสรางของระบบ เปนโครงสรางทไมมการเปลยนแปลง แผนภาพในกลมน คอ Class Diagram, Object Diagram, Component Diagram, Deployment Diagram และ 2) Behavioral Diagram ใชแสดงพฤตกรรมของระบบทมการเปลยนแปลงตามเหตการณ แผนภาพในกลมน คอ Use Case Diagram, Sequence Diagram, Collaboration Diagram, Statechart Diagram และ Activity Diagram

42