Page 30 - วิศวกรรมซอฟต์แวร์
P. 30

15-20 วิศวกรรมซอฟต์แวร์

Car Rental                                                                               Users
                                              - RentalID: int       0..*     create - UserID: int
- CarID: int               0..*  assigned to  - DateTaken: string
- Type: string                         1      - TimeTaken: string              1 - Username: string
- GPSID: string                               - DateReturn: string                 - Password: string
- Brand: string                               - TimeReturn: string                 - Role: char
- RegisteredPlate: string                     - Flags: char                        - Email: string
- Status: char
                                                             1      0..*

                                              create                                     Client
                                                                       book - ClientID: int
                                                      1
                                                                               1 - SecurityID: string
                                                     Bill                          - Name: string
                                              - BillingID: int                     - Lastname: string
                                              - Data: string                       - Cellphone: string
                                              - Category: string
                                              - ExtraFee: long         issue CreditCardPayment
                                              - RentalFee: long               - bankCode: string
                                              - NetPayment: long              - backName: string

                      ภาพท่ี 15.6 คลาสไดอะแกรมของซอฟตแ์ วรร์ ะบบเช่ารถยนต์ขั้นต้น

3. 	แผนผังล�ำดบั เหตุการณ์

       โดยปกติแล้วทีมงานพัฒนาซอฟต์แวร์จะต้องจัดท�ำแผนผังล�ำดับเหตุการณ์ (sequence diagram) หรือ
ซีเควนซ์ไดอะแกรมให้กับยูสเคสทุก ๆ ยูสเคส ซึ่งเป็นความสามารถหลัก ๆ ของซอฟต์แวร์ และใช้เป็นพิมพ์เขียว
สำ� หรับการพัฒนาซอฟตแ์ วร์ ส�ำหรับกรณีศึกษานี้จะยกตัวอย่างเฉพาะซีเควนซ์ไดอะแกรมของการเช่ารถ ซึง่ ตอบสนอง
ต่อยูสเคสหลักของซอฟต์แวร์ จากภาพเม่ือผู้ใช้งานในกรณีนี้คือลูกค้าหรือพนักงานท่ีผ่านการพิสูจน์ตัวจริง และการ
ก�ำหนดสิทธ์ิกับระบบแล้ว จะสามารถเลือกรถยนต์ท่ีมียังไม่ได้มีสถานะถูกจองหรือเช่าอยู่ จากนั้นจะสามารถด�ำเนิน
การจอง หรือท�ำรายการเช่ารถยนต์ ในกรณีที่ผู้ใช้งานน้ันเป็นลูกค้าจะต้องรอการอนุมัติการเช่าจากพนักงานก่อน
หากเปน็ การทำ� รายการของพนกั งานสำ� หรบั ลกู คา้ วอรค์ อนิ จะสามารถอนมุ ตั กิ ารเชา่ เมอื่ การเชา่ ในครง้ั นน้ั ผา่ นการอนมุ ตั ิ
ลูกค้าจะเช็คอินเพ่ือรับรถและเริ่มการเช่ารถ เมื่อลูกค้าน�ำรถมาคืนจะมีการตรวจสอบการเช่า และการค�ำนวณค่าใช้จ่าย
เพ่ิมเติม (ถ้ามี) และกระบวนการจัดการช�ำระเงิน กับลูกค้าต่อไป ซีเควนซ์ไดอะแกรมของการเช่ารถยนต์ผ่านเว็บแสดง
ไว้ในภาพท่ี 15.7 ซ่ึงผลกระทบดังกล่าวจะท�ำให้มีข้อมูลท่ีถูกจัดเก็บเปล่ียนแปลงไป ในที่น้ีจะแสดงเฉพาะคลาส
rental และคลาส car จะเห็นว่ามีคลาสท่ีโอเปเรชั่นเพิ่มขึ้นดังแสดงในภาพท่ี 15.7
   25   26   27   28   29   30   31   32   33   34   35