วันจันทร์ที่ 16 มีนาคม พ.ศ. 2558

ขั้นตอนการสร้าง Class Diagram

ขั้นตอนการสร้าง Class Diagram


ขั้นที่ 1
*      ค้นหาคำนาม ขั้นตอนเริ่มต้นของการสร้างคลาสคือ การค้นหาคำนามจากผลการวิเคราะห์ความต้องการของระบบ หรือคำอธิบาย Use Case

ขั้นที่ 2
*      2.1 ตัดคำนามที่ไม่อยู่ภายใต้ขอบเขตของระบบที่จะพัฒนาออกไป
*      2.2 ตัดคำนามที่มีความหมายไม่ชัดเจนและไม่เฉพาะเจาะจงออกไป เช่น คำว่าระบบ ซึ่งมีความหมายกว้างมาก และครอบคลุมงานทั้งหมดที่กำลังจะพัฒนา ดังนั้นควรตัดออกไป
*      2.3 ในกรณีที่มีคำนามหลายคำที่มีความหมายซ้ำซ้อนกัน ให้เลือกใช้เพียงคำใดคำหนึ่งที่สื่อสารได้ชัดเจนที่สุด เช่น รายการสินค้า สินค้า และสินค้าที่มีอยู่จริง เป็นคำที่มีความหมายเหมือนกัน จึงเลือกใช้คำว่า สินค้า เพียงคำเดียว
*      2.4 พิจารณาคำนามที่ควรเป็นคุณลักษณะของคลาส เช่น ราคาสินค้า หรือ รายละเอียดสินค้า ถือเป็นคุณลักษณะของสินค้า จึงไม่ต้องกำหนดเป็นคลาส ยกเว้นในกรณีที่การคงอยู่ของคุณลักษณะนั้นๆ จะมีพฤติกรรมเป็นของตนเอง จึงจะสามารถสร้างเป็นคลาสได้
*      2.5 คำนามในลักษณะที่เป็นกิจกรรมที่เกิดขึ้นในระบบไม่จำเป็นต้องสร้างเป็นคลาส


ขั้นที่ 3

*      สรุปรายการของคำนามทั้งหมดที่จะนำไปสร้างเป็นคลาส
*      เพื่อสร้างความเข้าใจร่วมกันอย่างต่อเนื่อง จึงขอยกตัวอย่างการสร้างคลาสของระบบจัดการร้านสะดวกซื้อตามขั้นตอนที่กล่าวมาแล้วข้างต้น ประกอบด้วย




ขั้นตอนการค้นหาคำนามจากความต้องการของระบบ

โดยการขีดเส้นใต้คำที่เป็นคำนามทั้งหมดของระบบ


*      1 ลูกค้าจะนำสินค้าที่ต้องการซื้อมายื่นที่เคาเตอร์คิดเงิน จากนั้นพนักงานขายจะคำนวณยอดเงินค่าสินค้าเพื่อแจ้งให้ลูกค้าทราบ
*      ----> ระบบจะต้องสามารถรับรายการสินค้าที่ลูกค้าต้องการซื้อเมื่อนำมายื่นที่เคาเตอร์โดยใช้เครื่องอ่านบาร์โค้ดเพื่อค้นหารายละเอียดของสินค้าแต่ละชนิด จากนั้นจึงคำนวณยอดเงินค่าสินค้าเพื่อแจ้งให้ลูกค้าทราบ
*      2 ลูกค้าจะจ่ายเงินค่าสินค้าให้แก่พนักงานขายตามจำนวนเงินที่ได้รับแจ้งในข้อที่ 1 และรับใบเสร็จรับเงินจากพนักงานขายเพื่อใช้เป็นหลักฐานในการจ่ายเงิน ในกรณีที่ลูกค้าจ่ายเงินมากกว่ายอดเงินค่าสินค้า พนักงานขายจะต้องคำนวณจำนวนเงินทอนและส่งเงินทอนให้แก่ลูกค้า
*      ---> ระบบจะต้องสามารถบันทึกจำนวนเงินที่ลูกค้าจ่ายเข้าสู่ระบบ เพื่อคำนวณจำนวนเงินทอน(ถ้ามี) พร้อมทั้งจัดพิมพ์ใบเสร็จรับเงินให้แก่ลูกค้า
*      ----> ระบบจะต้องสามารถปรับลดปริมาณสินค้าคงเหลือให้สอดคล้องกับการขายสินค้าในแต่ละรายการ


*      1 ลูกค้าจะนำสินค้าที่ต้องการซื้อมายื่นที่เคาเตอร์คิดเงิน จากนั้นพนักงานขายจะคำนวณยอดเงินค่าสินค้าเพื่อแจ้งให้ลูกค้าทราบ
*      ----> ระบบจะต้องสามารถรับรายการสินค้าที่ลูกค้าต้องการซื้อเมื่อนำมายื่นที่เคาเตอร์โดยใช้เครื่องอ่านบาร์โค้ดเพื่อค้นหารายละเอียดของสินค้าแต่ละชนิด จากนั้นจึงคำนวณยอดเงินค่าสินค้าเพื่อแจ้งให้ลูกค้าทราบ
*      2 ลูกค้าจะจ่ายเงินค่าสินค้าให้แก่พนักงานขายตามจำนวนเงินที่ได้รับแจ้งในข้อที่ 1 และรับใบเสร็จรับเงินจากพนักงานขายเพื่อใช้เป็นหลักฐานในการจ่ายเงิน ในกรณีที่ลูกค้าจ่ายเงินมากกว่ายอดเงินค่าสินค้า พนักงานขายจะต้องคำนวณจำนวนเงินทอนและส่งเงินทอนให้แก่ลูกค้า
*      ---> ระบบจะต้องสามารถบันทึกจำนวนเงินที่ลูกค้าจ่ายเข้าสู่ระบบ เพื่อคำนวณจำนวนเงินทอน(ถ้ามี) พร้อมทั้งจัดพิมพ์ใบเสร็จรับเงินให้แก่ลูกค้า
*      ----> ระบบจะต้องสามารถปรับลดปริมาณสินค้าคงเหลือให้สอดคล้องกับการขายสินค้าในแต่ละรายการ



*      3 ก่อนจะทำการปิดร้าน 1 ชั่วโมง พนักงานขายจะตรวจสอบปริมาณสินค้าคงเหลือในร้านว่ามีเพียงพอสำหรับการขายในวันรุ่งขึ้นหรือไม่ ในกรณีที่สินค้าใดมีปริมาณต่ำกว่าจุดที่ต้องสั่งซื้อสินค้า(Reorder Point) พนักงานขายจะดำเนินการสั่งซื้อสินค้า โดยการจัดทำใบสั่งซื้อสินค้าส่งไปยังผู้ขายสินค้า เพื่อให้จัดส่งสินค้ามายังร้านภายในระยะเวลาที่กำหนดไว้ เมื่อพนักงานขายตรวจสอบสินค้าว่าเป็นไปตามที่กำหนดไว้ในใบสั่งซื้อแล้วก็จะปรับปรุงปริมาณสินค้าในระบบให้สอดคล้องกับสินค้าที่มีอยู่จริงในร้าน
*      ----> ระบบจะต้องสามารถจัดพิมพ์ใบสั่งซื้อสินค้า ในกรณีที่สินค้าใดมีปริมาณต่ำกว่าจุดที่ต้องสั่งซื้อสินค้า (Reorder Point)
*      ----> ระบบจะต้องสามารถเพิ่มปริมาณสินค้าที่ผู้ขายจัดส่งและผ่านการตรวจรับสินค้าแล้ว
*      4 ณ สิ้นวันพนักงานขายจะทำรายงานประจำวัน 2 รายงาน ประกอบด้วย รายงานการขายสินค้า และ รายงานการสั่งซื้อสินค้าเพื่อนำเสนอผู้จัดการร้าน
*      ---> ระบบจะต้องสามารถจัดทำรายงานประจำวัน 2 รายงาน ประกอบด้วยรายงานการขายสินค้าและรายงานการสั่งซื้อสินค้าเพื่อนำเสนอผู้จัดการร้าน


*      3 ก่อนจะทำการปิดร้าน 1 ชั่วโมง พนักงานขายจะตรวจสอบปริมาณสินค้าคงเหลือในร้านว่ามีเพียงพอสำหรับการขายในวันรุ่งขึ้นหรือไม่ ในกรณีที่สินค้าใดมีปริมาณต่ำกว่าจุดที่ต้องสั่งซื้อสินค้า(Reorder Point) พนักงานขายจะดำเนินการสั่งซื้อสินค้า โดยการจัดทำใบสั่งซื้อสินค้าส่งไปยังผู้ขายสินค้า เพื่อให้จัดส่งสินค้ามายังร้านภายในระยะเวลาที่กำหนดไว้ เมื่อพนักงานขายตรวจสอบสินค้าว่าเป็นไปตามที่กำหนดไว้ในใบสั่งซื้อแล้วก็จะปรับปรุงปริมาณสินค้าในระบบให้สอดคล้องกับสินค้าที่มีอยู่จริงในร้าน
*      ----> ระบบจะต้องสามารถจัดพิมพ์ใบสั่งซื้อสินค้า ในกรณีที่สินค้าใดมีปริมาณต่ำกว่าจุดที่ต้องสั่งซื้อสินค้า (Reorder Point)
*      ----> ระบบจะต้องสามารถเพิ่มปริมาณสินค้าที่ผู้ขายจัดส่งและผ่านการตรวจรับสินค้าแล้ว
*      4 ณ สิ้นวันพนักงานขายจะทำรายงานประจำวัน 2 รายงาน ประกอบด้วย รายงานการขายสินค้า และ รายงานการสั่งซื้อสินค้าเพื่อนำเสนอผู้จัดการร้าน
*      ---> ระบบจะต้องสามารถจัดทำรายงานประจำวัน 2 รายงาน ประกอบด้วยรายงานการขายสินค้าและรายงานการสั่งซื้อสินค้าเพื่อนำเสนอผู้จัดการร้าน


ขั้นตอนการสรุปคำนามทั้งหมด
โดยการตัดคำนามที่ไม่สามารถนำไปสร้างเป็นคลาสได้ออกไป


ลำดับที่
คำนาม
ผลการพิจารณา
1
ลูกค้า
ตัดทิ้ง เนื่องจากร้านสะดวกซื้อเป็นการขายแบบเงินสด จึงไม่เก็บประวัติลูกค้า ดังนั้นไม่อยู่ภายใต้ขอบเขตของระบบที่จะพัฒนา
2
สินค้า
นำไปสร้างเป็นคลาส
3
เคาเตอร์คิดเงิน
ตัดทิ้ง เนื่องจากเป็นคำนามที่มีความหมายไม่เจาะจอง
4
พนักงานขาย
นำไปสร้างเป็นคลาส
5
ยอดเงินค่าสินค้า
ตัดทิ้ง เนื่องจากเป็นส่วนหนึ่งของข้อมูลการขายสินค้า
6
ระบบ
ตัดทิ้ง เนื่องจากเป็นคำนามที่มีความหมายไม่เฉพาะเจาะจง
7
รายการสินค้า
ตัดทิ้ง เนื่องจากซ้ำกับลำดับที่ 2
8
เครื่องอ่านบาร์โค้ด
ตัดทิ้ง เนื่องจากเป็นคำนามที่มีความหมายไม่เฉพาะเจาะจง
9
รายละเอียดของสินค้า
ตัดทิ้ง เนื่องจากเป็นคุณลักษณะของคลาสสินค้า
10
ค่าสินค้า
ตัดทิ้ง เนื่องจากเป็นส่วนหนึ่งของข้อมูลการขายสินค้า
11
ใบเสร็จรับเงิน
ตัดทิ้ง เนื่องจากเป็นส่วนหนึ่งของข้อมูลการขายสินค้า
12
หลักฐานในการจ่ายเงิน
ตัดทิ้ง เนื่องจากซ้ำกับลำดับที่ 11
13
เงินทอน
ตัดทิ้ง เนื่องจากเป็นส่วนหนึ่งของข้อมูลการขายสินค้า
14
จำนวนเงินที่ลูกค้าจ่าย
ตัดทิ้ง เนื่องจากเป็นส่วนหนึ่งของข้อมูลการขายสินค้า


ลำดับที่
คำนาม
ผลการพิจารณา
15
ปริมาณสินค้าคงเหลือ
ตัดทิ้ง เนื่องจากเป็นคุณลักษณะของคลาสสินค้า
16
การขายสินค้า
นำไปสร้างเป็นคลาส
17
ร้าน
ตัดทิ้ง เนื่องจากเป็นคำนามที่มีความหมายไม่เฉพาะเจาะจง
18
จุดที่ต้องสั่งซื้อสินค้า
ตัดทิ้ง เนื่องจากเป็นลักษณะของคลาสสินค้า
19
การสั่งซื้อสินค้า
นำไปสร้างเป็นคลาส
20
ใบสั่งซื้อสินค้า
ตัดทิ้ง เนื่องจากซ้ำกับลำดับที่ 19
21
ผู้ขายสินค้า
นำไปสร้างเป็นคลาส
22
ปริมาณสินค้า
ตัดทิ้ง เนื่องจากเป็นคุณลักษณะของคลาสสินค้า และซ้ำซ้อนกับคำนามลำดับที่ 15
23
สินค้าที่มีอยู่จริง
ตัดทิ้ง เนื่องจากซ้ำกับคำนามลำดับที่ 2
24
ปริมาณสินค้าที่ผู้ขายจัดส่ง
และผ่านการตรวจสอบรับสินค้าแล้ว
ตัดทิ้ง เนื่องจากเป็นคุณลักษณะของคลาสสินค้า และซ้ำซ้อนกับคำนามลำดับที่ 15
25
รายงานประจำวัน
ตัดทิ้ง เนื่องจากเป็นเอกสารที่ได้จากการประมวลผล
26
รายงานการขายสินค้า
ตัดทิ้ง เนื่องจากเป็นเอกสารที่ได้จากการประมวลผล
27
รายงานการสั่งซื้อสินค้า
ตัดทิ้ง เนื่องจากเป็นเอกสารที่ได้จากการประมวลผล
28
ผู้จัดการร้าน
ตัดทิ้ง เนื่องจากข้อมูลที่เกี่ยวข้องกับผู้จัดการร้านไม่อยู่ภายใต้ขอบเขตของระบบที่จะพัฒนา


สรุปคำนามที่จะนำไปสร้างเป็น Class Diagram

*      สินค้า (Product)
*      พนักงานขาย (Salesperson)
*      การขายสินค้า (Sale)
*      การสั่งซื้อสินค้า (Purchase)
*      ผู้ขายสินค้า (Vendor)


ขั้นตอนการสร้าง Class Diagram

ขั้นที่ 1 สร้างความสัมพันธ์ระหว่าง Class




ขั้นที่ 2 เพิ่ม Class ที่ต้องมีในระบบ คือ SaleItem 
และ Purchase Item




ขั้นที่ 3 โยงความสัมพันธ์ให้เหมาะสม





ขั้นที่ 4 กำหนด Attribute และ Method และกำหนดความสัมพันธ์ระหว่าง Class และกำหนดค่า Min Max ของแต่ละ Class

โดยในคลาส Saleperson จะเป็น private คือ Sq_ID กับ Sq_Name มีค่าเป็น Sting
คือ 1 เท่านั้น คือพนักงานขายหนึ่งคนเท่านั้น
ในส่วนของคลาส Sale จะมีค่าตั้งแต่ 0 จนถึงมาก
และมี private Attibute คือ Sale_Date, Sale_Total
โดยมี Methode คือ สร้างรายการขายใหม่ กับ คำนวณราคาขายทั้งหมด
โดยมี Class SaleItem เป็นส่วนประกอบที่จำเป็นต้องมีของ Class Sales เป็นรูปสี่เหลี่ยมขนมเปียกปูนทึบ
แล้วเชื่อมต่อไปยัง Class Product มี Methode คือ GetPrice (เรียกราคาสินค้าที่กำหนดได้)
แล้วเชื่อมต่อไปยัง PurchaseItem ซึ่งจะเป็นจำนวนสินค้าที่จะสั่งซื้อจากผู้ขายสินค้า แล้ว PurchaseItem เป็นส่วนประกอบที่จำเป็นของ Purchase ซึ่งเป็นการสั่งซื้อไปยัง Class ผู้ขาย โดยใน Class Vender จะต้องเป็น 1 เท่านั้น นั่นคือมีผู้ขายสินค้าประเภทนี้เพียงรายเดียว






ไม่มีความคิดเห็น:

แสดงความคิดเห็น