Page 29 - วิศวกรรมซอฟต์แวร์
P. 29
กรณีตัวอย่างโครงการพัฒนาซอฟต์แวร์เช่ารถยนต์ 15-19
ตารางที่ 15.5 (ต่อ)
ชือ่ ยสู เคส เงอ่ื นไขก่อน เงอ่ื นไขภายหลัง แอคเตอร์ คำ� อธบิ าย
rent car ลูกค้าท�ำการจองรถยนต์ท่ี
เพื่อจัดเก็บข้อมูลการ ข้อมูลการเช่าและการ Authenticated ต้องการเช่าใช้บริการ มีการ
เช่าและการเช่ารถยนต์ จองรถยนต์ถูกจัดเก็บ User (Client, ก�ำหนดวันท่ีและเวลาท่ีต้องการ
(จอง) Staff) ใช้รถ และระยะเวลาการเช่า
เพ่ือยกเลิกการจองรถยนต์
cancel ข้อมูลรถยนต์ท่ีต้องการ ข้อมูลการเช่าและการ Authenticated
check in ถูกยกเลิกการจอง จองถูกยกเลิก รถยนต์ User (Client, เม่ือลูกค้ามารับรถท่ีจองไว้
return car ล่วงหน้า
billing ท่ีถูกจองจะมีสถานะ Staff)
“ว่าง” เม่ือลูกค้าคืนรถที่บริษัทหรือ
สาขาของบริษัท
มีข้อมูลการเช่าและ ข้อมูลรถยนต์ที่ Authenticated
จองรถยนต์ ถูกจอง มีสถานะ User (Staff) เม่ือจัดเก็บรายได้จากลูกค้า
“ไม่ว่าง”
มีข้อมูลการเช่าและ ปรับปรุงข้อมูลการเช่า Authenticated
จองรถยนต์ และ และจองรถยนต์ User (Staff)
รถยนต์ได้กลับถึง รถยนต์ท่ีถูกจองมี
บริษัทเรียบร้อย สถานะ “ว่าง”
มีข้อมูลการเช่าและ ปรับปรุงข้อมูลรายได้ Authenticated
การคืนรถ User (Staff,
Executives)
2. แผนผังแบบกลุ่ม
เนื่องจากทีมงานพัฒนาซอฟต์แวร์ได้รับข้อมูลความต้องการลูกค้าที่เปล่ียนแปลงไปเก่ียวกับวิธีการช�ำระเงิน
และแนวทางการจดั การผใู้ ชง้ านจากผวู้ า่ จา้ งใหม่ นกั ออกแบบซอฟตแ์ วรจ์ งึ ปรบั การออกแบบระบบโดยจำ� แนกออ็ บเจก็ ต์
ท่ีเก่ียวข้องกับการเช่ารถยนต์หลายอ็อบเจ็กต์ ได้แก่ รถยนต์ (car) การเช่า (rental) ผใู้ ชง้ าน (user) และการชำ� ระเงนิ
(billing) จะเหน็ ว่าอ็อบเจ็กต์ user จะมีอ็อบเจก็ ต์ ที่อินเฮอริทออกไปส�ำหรับจัดการลูกค้าที่ชื่อ client เช่นเดียวกับ
อ็อบเจ็กต์การช�ำระเงิน โดยมีอ็อบเจ็กต์ท่ีเกี่ยวข้องกับการช�ำระเงินด้วยบัตรเครดิต (CreditCardPayment) ซึ่งจะ
แสดงคลาส แอตทริบิวต์ของคลาสน้ัน ๆ ดังแสดงในภาพท่ี 15.6 จะเห็นว่า คลาสไดอะแกรม (class diagram) ของ
กรณีตัวอย่างระบบเช่ารถยนต์ แสดงความสัมพันธ์กันระหว่างคลาส อย่างไรก็ดี จะเห็นว่าการออกแบบนี้ยังไม่เสร็จ
สมบูรณ์ เนื่องจากคลาสไดอะแกรมนยี้ งั ไมม่ กี ารแสดงเมธอด (method) ตา่ ง ๆ อยา่ งสมบรู ณ์ เนอื่ งจากเมธอดตา่ ง ๆ
เหล่านั้นจะถูกก�ำหนดเมื่อมีการสร้างแผนภาพล�ำดับเหตุการณ์ที่สอดคล้องกับกระบวนการที่เก่ียวข้อง และความ
ต้องการของซอฟต์แวร์โดยละเอียด