Page 72 - วิศวกรรมซอฟต์แวร์
P. 72
7-62 วิศวกรรมซอฟต์แวร์
จากการวิเคราะห์ออกแบบโดยแผนภาพซีเควนซ์ที่เขียนข้ึน ท�ำให้สามารถวิเคราะห์และออกแบบรายละเอียด
เพ่ิมเติมเพ่ือให้เกิดความชัดเจนส�ำหรับการท�ำงานของระบบมากย่ิงข้ึน จากตัวอย่างนี้จะเห็นว่ามีการติดต่อระหว่าง
คลาสระบบจัดการเนื้อหา (Content Management System: CMS) กับผู้มีส่วนเก่ียวข้องภายนอกเท่านั้น เนื่องจาก
เป็นการเขียนแผนภาพยูสเคส จึงมองระบบที่เป็นผู้มีส่วนร่วม (participant) หรืออ็อบเจ็กต์ เพียงอันเดียวก็คือ ระบบ
จัดการเน้ือหา
นอกจากนี้ ยังสามารถอธิบายหรือแยกการท�ำงานให้ชัดเจนมากย่ิงข้ึนได้ โดยการเพิ่มผู้มีส่วนเกี่ยวข้อง (par-
ticipant) และระบุรายละเอียดในการท�ำงานให้มากขึ้นในข้ันตอนการออกแบบได้ จากตวั อยา่ งนี้ สามารถทำ� การเพม่ิ
รายละเอยี ดผมู้ สี ว่ นเกย่ี วขอ้ ง คอื ระบบจดั การเนอ้ื หา (Content Management System: CMS) เพิ่มเติม โดยแบ่งเป็น
2 ส่วน คือ ส่วนติดต่อกับผู้ใช้ (AccountCreationUI) และส่วนของการความคุม (CreateNewAccoutController)
เพ่ือให้เห็นความชัดเจนในการด�ำเนินงานมากยิ่งขึ้นได้ ดังแสดงในภาพที่ 7.55
:ContentManagementSystem
admin<:<Aacdtmori>n>istrator AccountuCir:eationUI NecwoAntcrcoolluernt:CCornetartoeller Au<th<oarcCtroerd>e>ntaicadls:DB es:<E<maacitloSry>s>tem
createNewBlogAccount() ❶
selecBlogAccountType(type) ❷
enterAuthorDetails (author : Author Details)
❸
click Submit() createNewRegularBlogAccount(author : AuthorDetails)
checkAuthorDetails(author : AuthorDetails) ❹
checkNewRegularBlogAccount (author : AuthorDetails)
❺
emailBlogDetails (regularBlogAccount) sendEmail(email : Email)
❻
ภาพท่ี 7.55 การปรับปรงุ แผนภาพลำ�ดับเหตุการณ์ของยสู เคส “การสรา้ งบัญชผี ใู้ ชใ้ หมแ่ บบทั่วไป”
ทีม่ า: Kim Hamilton and Russell Miles. Learning UML 2.0. Figure 7-14.
จากภาพที่ 7.55 มีการเพ่ิมคลาสท่ีท�ำหน้าที่ในส่วนของการติดต่อกับผู้ใช้งาน (user interface) และคลาสที่
ท�ำหน้าที่ควบคุมการท�ำงานของกิจกรรม (controller) เพื่อให้เห็นกิจกรรมที่ชัดเจนข้ึนในข้ันตอนของการด�ำเนินการ
ดังน้ัน การปรับปรุงแผนภาพจะเร่ิมท่ีล�ำดับขั้นตอนท่ี 3 ซ่ึงเป็นขั้นตอนการป้อนรายละเอียดนักเขียนแสดงให้เห็นการ
ป้อนข้อมูลที่อ็อบเจ็กต์ยูไอ (ui) ในการติดต่อกับผู้ดูแลระบบ (admin) จากนั้นจะยืนยันการส่งข้อมูลโดยการส่งคลิก
ตกลง (clickSubmit()) เพื่อสร้างข้อมูลนักเขียนใหม่ (CreateNewRegularBlogAccount) ซ่ึงจะมีการส่งข้อความ
เพ่ือสร้างนักเขียนใหม่ (CreateNewRegularBlogAccount) ไปยังอ็อบเจ็กต์คอนโทลเลอร์ (controller) ซ่ึงท�ำหน้าท่ี
ควบคุมการท�ำงานโดยการสร้างข้อมูลนักเขียนใหม่ แต่การสร้างข้อมูลนักเขียนใหม่ได้จะต้องตรวจสอบจากฐานข้อมูล
นักเขียนก่อน จากนั้นจะท�ำการสร้างและจัดส่งอีเมล เพ่ือยืนยันกับผู้ใช้งานตามขั้นตอนเดิม โดยมีข้อความยืนยันกลับ