Upload
chamanow-yenyen
View
829
Download
6
Embed Size (px)
DESCRIPTION
my project
Citation preview
การจดการแผนผงครอบครว �
Family Management System II (FMSII)
นายชลาศย เมองสมย รหสนกศกษา ����������
นายซฟรว สะมะแอ รหสนกศกษา ����������
นายณฐพล วรกรรณ รหสนกศกษา ����������
โครงงานน�เปนสวนหน�งของการศกษาตามหลกสตรปรญญาวทยาศาสตรบณฑต
สาขาวชาวศวกรรมซอฟตแวร
มหาวทยาลยสงขลานครนทร
2553
(1)
คานา
เน�องจากปจจบนจานวนประชากรมนษยท�วโลกมอตราเพ�มข�นอยางรวดเรว คน
ในประเทศหน�งอาจมความสมพนธกบคนอกประเทศหน� งหรอมความสมพนธกนภายในประเทศ
โดยการแตงงานและการสบทอดมาจากวงศตระกลท�มพอแมคนละเช�อชาต บางครอบครวมสมาชก
มากกวาสบคน บางครอบครวมสมาชกเพยงสามคน พอ แม ลก เม�อสมาชกคนใดคนหน� งใน
ครอบครวตองแตงงานและแยกไปสรางครอบครวเปนของตนเองทาใหเกดเปนครอบครวใหมข�น
แตยงมความสมพนธกบครอบครวเกา เปนผลทาใหคนในหลายๆประเทศอาจมความเก�ยวดองกน
ในทางสายเลอดหรอวงศตระกล
แตเม�อคดเปนลาดบช�นลงมา คนลาดบช�นลางสดหรอรนลกรนหลานอาจไมรจก
ตนตระกลและบรรดาเครอญาตท�มอยในปจจบน ทาใหเกดความหางเหน ไมเหนคณคาของ
ครอบครว ซ�งในความเปนจรงแลวสถาบนครอบครวเปนสถาบนพ�นฐานท�สาคญท�สด ท�จะพฒนา
สงคมและกลายเปนปจจยสาคญท�จะพฒนาชาตใหมคณภาพท�ด
ทางผพฒนาจงจดทาโครงงานระบบการจดการแผนผงครอบครว 2 (Family
Management System II) ข�น โดยหวงวาจะเปนประโยชนตอการนาไปบรหารจดการแผนผง
ครอบครวตอไป หากผดพลาดประการใดขออภยมา ณ ท�น� ดวย
ผดาเนนโครงงาน
(2)
ช�อโครงงาน (ภาษาไทย) : การจดการแผนผงครอบครว 2
ช�อโครงงาน (ภาษาองกฤษ) : Family Management System II (FMS II)
ผจดทา
�. นายชลาศย เมองสมย รหสนกศกษา ����������
�. นายซฟรว ดลยมาศ รหสนกศกษา ����������
�. นายณฐพล วรกรรณ รหสนกศกษา ����������
สาขาวชา วศวกรรมซอฟตแวร
ปการศกษา 2553
บทคดยอ
ระบบการจดการแผนผงครอบครว เปนระบบท�พฒนาโดยใชเทคโนโลย GWT
(Google Web Tool kit) ซ�งเปน Ajax framework for Java ท�พฒนาดวยภาษา java ในรปแบบ Web
Application เพ�อสนบสนนจดการแผนผงของครอบครวใหมประสทธภาพและสะดวกตอการศกษา
รายละเอยดของวงศตระกล
วตถประสงคท�จดทาระบบการจดการแผนครอบครวน� ข�นมาเพ�อใชในการจดเกบ
รวบรวมหมเครอญาตเอาไว ในฐานขอมลแบบออนไลน สามารถเขาถงไดงาย สะดวก และรวดเรว
ในสวนของขอบเขตโครงงาน แบงการทางานออกเปน � หมวดหลก ๆ ไดแก
หมวดจดการสมาชก หมวดจดการแผนผงครอบครว และหมวดอ�นๆ โดยแบงกลมผใชงานระบบ
ออกเปน � กลมคอ ผใชท�วไป สมาชก และผดแลระบบ ซ�งท�งผใชท�วไป และสมาชกจะมสทธใน
การเขาถงขอมล หรอจดการกบขอมลของแผนผงครอบครวไดแตกตางกน ท�งหมดน� จะข�นอยกบ
ผดแลระบบเปนผจดการสทธการเขาถงท�งหมด
(3)
กตตกรรมประกาศ
คณะผจ ดทาโครงงาน ขอขอบคณอาจารยนพชย วงคสาย อาจารยท�ปรกษา
โครงงาน ท�ไดใหความกรณาย�งในการชวยใหคาแนะนาในการเขยน Code ตลอดจนใหคาแนะนา
เร�องการปรบปรงคณภาพของซอฟแวร ขอขอบคณอาจารยจามกร หรญรตน และสาขาวศวกรรม
ซอฟแวร คณะเทคโนโลยและส�งแวดลอม มหาวทยาลยสงขลานคนรนทร วทยาเขตภเกต ท�ชวย
แนะนาการเขยนโครงงาน รปแบบ หลกการ และวธการตาง ๆ
ขอขอบคณ Google ท�ใหบรการ GWT Framework และ Hosting ทดสอบและ
ตดต�งเพ�อใชงานจรงในโครงงานน�ฟร
สดทายน� ขอขอบคณ และขอบใจ ครอบครวและเพ�อนๆ ของผพฒนา ท�คอยให
กาลงใจ และถามไถความเปนไปของโครงงานอยเสมอ ทาใหผพฒนามกาลงใจท�จะพฒนาโครงงาน
จนสาเรจได
(5)
สารบญ
หนา
คานา (1)
บทคดยอ (2)
กตตกรรมประกาศ (3)
บทท� 1 บทนา
1.1 ความเปนมาและความสาคญของปญหา 1
1.2 วตถประสงคของโครงงาน 1
1.3 ขอบเขตของโครงงาน 2
1.4 ข�นตอนและระยะเวลาการดาเนนงาน 2
1.5 ประโยชนท�คาดวาจะไดรบ 3
1.6 สถานท�ทาโครงงาน 3
1.7 เคร�องมอท�ใชในการทาโครงงาน 4
�.�.� Hardware 4
�.�.� Software 4
บทท� 2 ทฤษฎและหลกการท�เก�ยวของ
2.1 GWT 5
2.2 Smart-GWT 6
2.3 Data Nucleus 6
2.4 Object Database 8
�.�.� Programming Language Binding 10
�.�.� Object Query Language (OQL) 10
(6)
สารบญ (ตอ)
หนา
บทท� 3 ระบบการจดการแผนผงครอบครว
�.� การวเคราะหระบบ 12
�.�.� วตถประสงค 12
3.1.2 ขอบเขตของระบบ 12
3.1.3 Overall Description 14
3.1.4 Functional Requirements Specification 15
3.1.5 Requirements Specification Scenario 29
�.� การออกแบบ 46
3.2.1 การออกแบบสถาปตยกรรมระบบ โครงสรางระบบ 46
3.2.2 การออกแบบลาดบข�นตอนการทางาน 47
3.2.3 การออกแบบฐานขอมล 49
�.3 การออกแบบและพฒนาสวนตดตอผใช 52
บทท� 4 การทดสอบระบบ
�.� Test Design 58
�.� System and Acceptance Testing Results 62
4.3 การทดสอบการยอมรบจากผใช 75
4.3.1 ผลลพธท�ไดจากแบบประเมน 75
�.�.� สรปผลการทดสอบ 75
(7)
สารบญ (ตอ)
หนา
บทท� 5 บทสรป
5.� สรปผลการพฒนาระบบและทดสอบระบบ 76
5.� ปญหาและขอเสนอแนะ 76
5.� แนวทางการปรบปรงระบบ หรองานท�ตองทาตอในอนาคต 78
บรรณานกรม 79
ภาคผนวก
ภาคผนวก ก. Google App Engine 80
ภาคผนวก ข. แบบฟอรมการประเมนสาหรบผใช 90
(8)
สารบญรปภาพ
หนา
ภาพประกอบ 2. 1 Architecture GWT................................................................................ 5
ภาพประกอบ 2. 2 Smart-GWT process............................................................................. 6
ภาพประกอบ 2. 3 Development Process ........................................................................... 7
ภาพประกอบ 2. 4 Architecture .......................................................................................... 8
ภาพประกอบ 2. 5 OODBMS ............................................................................................. 9
ภาพประกอบ 2. 6 OQL .................................................................................................... 10
ภาพประกอบ 3. 1 Overall Description ............................................................................ 14
ภาพประกอบ 3. 3 Use Case Diagram Level 0 ................................................................ 16
ภาพประกอบ 3. 4 Use Case Diagram-User..................................................................... 17
ภาพประกอบ 3. 5 Use case: Search UC100 .................................................................... 17
ภาพประกอบ 3. 6 Use Case Diagram-View profile UC110 ......................................... 18
ภาพประกอบ 3. 7 Use Case Diagram-View Information UC200 .................................. 18
ภาพประกอบ 3. 8 Use Case Diagram-Register UC300 .................................................. 19
ภาพประกอบ 3. 9 Use Case Diagram-Member .............................................................. 20
ภาพประกอบ 3. 10 Use Case Diagram-Login UC400 ................................................... 20
ภาพประกอบ 3. 11 Use Case Diagram-Manage my family UC410 .............................. 21
ภาพประกอบ 3. 12 Use Case Diagram-Add family members UC411 .......................... 22
ภาพประกอบ 3. 13 Use Case Diagram-Update profile UC412 ..................................... 23
ภาพประกอบ 3. 14 Use Case Diagram-Delete family members UC413....................... 24
ภาพประกอบ 3. 15 Use Case Diagram-Calculate blood group UC420 ......................... 25
ภาพประกอบ 3. 16 Use Case Diagram-Add Friend UC430 ......................................... 25
ภาพประกอบ 3. 17 Use Case Diagram-Add Friend UC440 ......................................... 26
(9)
สารบญรปภาพ (ตอ)
หนา
ภาพประกอบ 3. 18 Use Case Diagram-Set privacy UC450 ........................................... 27
ภาพประกอบ 3. 19 Use Case Diagram-Admin ............................................................... 27
ภาพประกอบ 3. 20 Use Case Diagram- Delete Members UC��� ................................. 28
ภาพประกอบ 3. 21 Client-Server Architecture ............................................................... 46
ภาพประกอบ 3. 22 Sequence Diagram – Login ............................................................. 47
ภาพประกอบ 3. 23 Sequence Diagram – Search Myfamily .......................................... 48
ภาพประกอบ 3. 24 Sequence Diagram – Update ........................................................... 48
ภาพประกอบ 3. 25 Sequence Diagram - Delete ............................................................. 49
ภาพประกอบ 3. 26 ER Diagram ...................................................................................... 50
ภาพประกอบ 3. 27 ภาพรวม Web –มมมอง User ........................................................... 52
ภาพประกอบ 3. 28 หนา Register .................................................................................... 52
ภาพประกอบ 3. 29 หนา Log-in ....................................................................................... 53
ภาพประกอบ 3. 30 หนาแรกเม�อ Log-in เขามาแลว ........................................................ 53
ภาพประกอบ 3. 31 แสดงแผนผงครอบครว และรายช�อสมาชกครอบครว .................... 54
ภาพประกอบ 3. 32 สวนของการคานวณโอกาสการเกดหมเลอดเม�อมบตร .................. 54
ภาพประกอบ 3. 33 ผลลพธจากการ คานวณโอกาสการเกดหมเลอดเม�อมบตร ............. 55
ภาพประกอบ 3. 34 หนา Update ขอมลสมาชกในครอบครว ......................................... 55
ภาพประกอบ 3. 35 แสดงการลบสมาชกในครอบครว.................................................... 56
ภาพประกอบ 3. 36 แสดงการ Add Friend ....................................................................... 56
ภาพประกอบ 3. 37 แสดงการ Accept Friend-1 ............................................................... 57
ภาพประกอบ 3. 38 แสดงการ Accept Friend-� ............................................................... 57
ภาพประกอบ 3. 39 แสดงผล Accept Friend-แบบ Reject ............................................... 57
(10)
สารบญรปภาพ (ตอ)
หนา
ภาพประกอบ � หนา Log inเพ�อเขาสระบบ โดยจะตองเขาใช ดวย Gmail Account..... 81
ภาพประกอบ � แสดง Application ของ Admin ท�ไดทาการอพโหลดไวแลว ............... 81
ภาพประกอบ � หนาแรก เร�ม ไดการ แสดงหนาของ Dashboard .................................. 82
ภาพประกอบ � Quata Details ......................................................................................... 83
ภาพประกอบ � สามรถด Log file ได.............................................................................. 84
ภาพประกอบ � Data store Indexes ................................................................................. 84
ภาพประกอบ � Data store Viewer .................................................................................. 84
ภาพประกอบ � Data store Statistics ............................................................................... 85
ภาพประกอบ � Blob View .............................................................................................. 85
ภาพประกอบ �� Application Setting ............................................................................. 86
ภาพประกอบ �� สวนการจดการ Permissions ของผดแล .............................................. 87
ภาพประกอบ �� แสดง Version ท�ไดเพ�มเตมเขาไป ...................................................... 87
ภาพประกอบ �� Admin log ............................................................................................ 88
ภาพประกอบ �� Billing Settings .................................................................................... 88
ภาพประกอบ �� Billing History ..................................................................................... 89
(11)
สารบญตาราง
หนา
ตาราง 1.1 ตารางแผนการดาเนนงานท�งหมด ..................................................................... 3
ตาราง 3.1 ตารางสมาชกครอบครว (People).................................................................... 50
ตาราง 3.2 ตารางสมาชก (Member).................................................................................. 51
ตาราง 3.3 ตาราง Friend .................................................................................................... 51
1
บทท� 1
บทนา
1.1 ความเปนมาและความสาคญของปญหา
เน�องจากปจจบนจานวนประชากรมนษยท�วโลกมอตราเพ�มข�นอยางรวดเรว คน
ในประเทศหน�งอาจมความสมพนธกบคนอกประเทศหน� งหรอมความสมพนธกนภายในประเทศ
โดยการแตงงานและการสบทอดมาจากวงศตระกลท�มพอแมคนละเช�อชาต บางครอบครวมสมาชก
มากกวาสบคน บางครอบครวมสมาชกเพยงสามคน พอ แม ลก เม�อสมาชกคนใดคนหน� งใน
ครอบครวตองแตงงานและแยกไปสรางครอบครวเปนของตนเองทาใหเกดเปนครอบครวใหมข�น
แตยงมความสมพนธกบครอบครวเกา เปนผลทาใหคนในหลายๆประเทศอาจมความเก�ยวดองกน
ในทางสายเลอดหรอวงศตระกล
แตเม�อคดเปนลาดบช�นลงมา คนลาดบช�นลางสดหรอรนลกรนหลานอาจไมรจก
ตนตระกลและบรรดาเครอญาตท�มอยในปจจบน ทาใหเกดความหางเหน ไมเหนคณคาของ
ครอบครว ซ�งในความเปนจรงแลวสถาบนครอบครวเปนสถาบนพ�นฐานท�สาคญท�สด ท�จะพฒนา
สงคมและกลายเปนปจจยสาคญท�จะพฒนาชาตใหมคณภาพท�ด จงจดทาโครงงานระบบการจดการ
แผนผงครอบครว 2 (Family Tree Management System II) ข�น
1.2 วตถประสงคของโครงงาน
เพ�อพฒนาเวบแอปพลเคชนสาหรบครอบครว เปนฐานขอมลออนไลนรวบรวม
ขอมลตางๆ เก�ยวกบสมาชกภายในครอบครว สามารถสรางแผนผงวงศตระกลและเครอญาตได
สามารถคนหาวงศตระกลของตนเองและผอ�นไดงายและรวดเรวย�งข�น ทาใหทราบถงความสมพนธ
ของบคคลในครอบครว และตองการนาเสนอเวบในรปแบบภาษาไทย เหมาะสาหรบครอบครว
คนไทยโดยเฉพาะ เน�องจากเวบสวนใหญไมรองรบภาษาไทย
2
1.3 ขอบเขตของโครงงาน
พฒนา Web Application เพ�อใชในการจดการแผนผงครอบครวโดยแบงออกเปน
� หมวดใหญ ๆ คอ
1.3.1 หมวดจดการสมาชก
สวนคนหา ขอมลสมาชก (Public)
สวนเพ�ม สมาชก
สวนลบ สมาชก
สวนแกไข ขอมลสมาชก
1.3.2 หมวดจดการแผนผงครอบครว
สวนคนหา ขอมลสมาชกในครอบครว
สวนเพ�ม สมาชกในครอบครว
สวนลบ สมาชกในครอบครว
สวนแกไข ขอมลสมาชกในครอบครว
1.3.3 หมวดอ�น ๆ
สวนเพ�มเพ�อน
สวนต�งคาความเปนสวนตว
สวนตรวจสอบโอกาสท�จะมบตรวามหมเลอดใดไดบาง ก�เปอรเซนต
1.4 ข�นตอนและระยะเวลาการดาเนนงาน และตารางระยะเวลาการดาเนนงาน
โครงงานน� มระยะเวลาในการจดทารวมท�งส�น 4 เดอน โดยเร�มตนต�งแตเดอน
พฤศจกายน พ.ศ. 2553 ถงเดอน กมภาพนธ พ.ศ. 2554 ซ�งแบงเปนชวงดาเนนงาน
ดงตารางท� 1.1 ดงน�
1) ศกษาคนควารวบรวมขอมลเก�ยวกบ Smart GWT และ Google app Engine
2) นาขอมลท�ไดมาวเคราะหและทาการออกแบบเพ�อพฒนาโปรแกรม
3) ออกแบบการทางานของโปรแกรม
4) พฒนาโปรแกรมท�ไดออกแบบไว
5) ทดสอบโปรแกรมเพ�อหาขอผดพลาดและทาการปรบปรงแกไข
6) จดทาเอกสารประกอบ
7) ทารายงานสรปผลโครงงานและจดทาคมอการใชงาน
3
1.5 ประโยชนท�คาดวาจะไดรบ
1) มความรเก�ยวกบโครงสรางของระบบเครอญาต
2) รวาวงศตระกลและเครอญาตมสมาชกคอใครบาง
3) มฐานขอมลออนไลนสาหรบเกบขอมลสมาชกในครอบครวของแตละคน
สามารถเขาถงไดงาย และรวดเรว
4) สามารถรวบรวมวงศตระกลและเครอญาตไดงาย
5) ชวยสรางความสมพนธท�ดระหวางคนในเครอญาต
6) ไดรบความรเก�ยวกบ data structure และหลกการเขยนแบบ OOP มากข�น
1.6 สถานท�ทาโครงงาน
มหาวทยาลยสงขลานครนทร วทยาเขตภเกต 80/1 ถ.วชตสงคราม ต.กะท อ.กะท
จงหวดภเกต �����
ตาราง 1.1 ตารางแผนการดาเนนงานท�งหมด
4
1.7 เคร�องมอท�ใชในการทาโครงงาน
�.�.� Hardware
1) Notebook MacBook Pro 1 เคร�อง
CPU :Core 2 Duo 2.4GHz
RAM: 4 GB. DDR3
HDD: 300 GB.
VGA :Geforce 320M
2) Notebook Samsung R478 1 เคร�อง
CPU : Core i5 2.45 GHz
RAM : 2GB
HDD : 500MB
VGA : Geforce 330GT
�.�.� Software
1) Microsoft Windows 7 Home Premium
2) Mac OS X Version 10.6.4
3) Microsoft Office 2007
4) Eclipse Classic 3.5.1 + GWT-Eclipse Plug in + Smart GWT Library
5
บทท� 2
ทฤษฎและหลกการท�เก�ยวของ
2.1 GWT
GWT (Google Web Tool kit) เปน Ajax framework for Java ท�สามารถเขยน
Ajax based web application ไดโดยใชภาษาจาวา ซ�งชวยใหการพฒนาเรวข�นเพราะไมตองศกษา
เก�ยวกบ JavaScript เพ�มเตม (อาจจะใช JavaScript รวมดวยกได) โดย GWT ทาหนาท�เปน
compiler แปลงโปรแกรมภาษา Java ใหเปน JavaScript ซ�งมการกาหนดไวแลววา package ใด
class ใด และลงไปถง method ใดบางของ Java ท�สามารถใชได
GWT มขอดคอ ใช Java debugger ได จดการเร� อง browser compatibility,
browser history และใช IDE ของจาวาได ทางดาน server side, GWT กม RPC ท�ใชงานได
สะดวก และสามารถใชงานรวมกบ JSP หรอ Servlet ได สวนการใชงาน database กตดตอได
สะดวก และใชงานไดงาย ท�งยงสนบสนนการเขยนโปรแกรมการจดการฐานขอมลโดยการกาหนด
มาตรฐานไวสองแบบคอ Java Data Objects (JDO) และ Java Persistence API (JPA) ซ�งท�งสอง
แบบน� จะใชแพลตฟอรมของ Data Nucleus Access การเกบขอมลวธน� จะใชวธแบบ Object
Database ซ�งแตกตางจาก RDBMS ท�วๆไป ดงน�นผพฒนาโปรแกรมท�ใช RDBMS อาจจะตอง
ปรบแนวคดการเกบขอมลใหมเพ�อใหพฒนา Google Web Application เปนไปไดงายข�น
ภาพประกอบ 2. 1 Architecture GWT
6
2.2 Smart-GWT
เปน Library ท�ทาใหสามารถเขยน java ในรปแบบของ GWT โดยเรยกใช
JavaScript library ช�อวา Smart-GWT ได โดยไมตองเขยน JavaScript ในขณะน� Smart-GWT
ออก Version: 2.2 แลว
ภาพประกอบ 2. 2 Smart-GWT process
ซ�งตอมา ทาง www.smartclient.com ไดใชโยบายทางดาน license เปน open
source ทาให Smart-GWT ถกพฒนาข�นเร�อย ๆ และมผท�สนใจจานวนมาก สามารถดตวอยาง
widgets ไดท� Demo: www.smartclient.com/smartgwt/showcase/
ขอดของ Smart-GWT คอ สามารถเรยกใช Library ของ Smart-GWT ได โดยใช
ภาษาจาวา ซ�งทาใหการ Implement project ทาไดงายข�น และมความสวยงามมากข�น ขอดอกอยาง
หน�งคอ มตวอยางการใชงานของ widgets library เรยกวา Smart GWT Showcase ซ�ง เปนเวบไซนท�
รวบรวม ตวอยาง ท�งภาพ และ source code ไว จงทาใหงายตอการศกษา และนามาประยกตใชกบ
โครงงานได อกท�งยงม Smart-GWT ประเภท Enterprise ใหใชอกดวย
2.3 Data Nucleus เปน Data store ของ Google App Engine การเกบขอมลลงในโปรแกรม Web
Application ท�จะตองรองรบผใชจานวนมากเปนเร�องคอนขางยาก เน�องจากผใชตองการเรยกใช
โปรแกรม Web Server จานวนหลายเคร�องจงอาจทาใหเรยกใชโปรแกรมแตละคร� งใช Web Server
ท�ไมซ�ากน และ Web Server ทกเคร�องน�นจะตองสามารถตดตอกบขอมลท�อาจกระจายอยในเคร�อง
แมขายหลายๆเคร� องได Google App Engine มกลไกในการจดการ Infrastructure เพ�อทาให
7
นกพฒนาโปรแกรมไมตองกงวลกบการจดการปญหาเหลาน�น โดยสามารถท�จะจดการขอมลได
โดยผานทาง API ท�ทาง Google ไดกาหนดไวใหแลว
โดย Google App Engine สนบสนนการเขยนโปรแกรมการจดการฐานขอมลโดย
การกาหนดมาตรฐานไว � แบบคอ
1) Java Data Object (JDO)
2) Java Persistence API (JPA)
ซ�งท�งสองแบบน�จะใชแพลตฟอรมของ Data Nucleus Access การเกบขอมลวธน�
ใชวธแบบ Object Database ซ�งตางจาก RDBMS ท�ว ๆไป ดงน�นผพฒนาโปรแกรมท�ใช RDBMS
อาจจะตองปรบแนวคดการเกบขอมลใหมเพ�อพฒนา Google Web Application เปนไปไดงายข�น
ภาพประกอบ 2. 3 Development Process
8
ภาพประกอบ 2. 4 Architecture
2.4 Object Database
เน�องจากขอจากดท�งหลายของ Relational Database ดงท�กลาวมาแลวทาให
นกพฒนาหลายทานไดพยายามพฒนา Database ใหสอดคลองกบความตองการมากข�นเชน การ
ทางานกบ OOP อยางมประสทธภาพ การรองรบประเภทของขอมลท�หลากหลาย ความปลอดภย
ของขอมล เปนตน
แนวคดของ Object database มมาต�งแตปลายยค 70 แลวแตเน�องจากขอจากดหลาย
อยางและประกอบกบ Relational Database ไดรบความนยมมากทาใหมาตรฐานของ Object
database ยงไมเปนรปเปนรางเทาท�ควรในยคแรกๆ ในเวลาตอมากไดแตกออกเปน 2 แนวคดใหญ
คอ
1) The Object-Oriented Database Management System (OODBMS)
2) The Object-Relational Database Management System (ORDBMS)
9
The Object-Oriented Database Management System (OODBMS)
ภาพประกอบ 2. 5 OODBMS
แนวคดของ OODBMS เปนแนวคดด�งเดมท�ตองการพฒนาระบบใหญท�สามารถ
รองรบการทางานกบ OOP และแนวคดของ Object ไดอยางเตมท�ซ�งในปจจบนมองคกรท�ควบคม
มาตรฐานของ OODB คอ Object Data Management Group (ODMG) ซ�งมาตรฐานในปจจบนคอ
ODMG 3.0 โดยแบงโครงสรางออกเปน 2 สวนคอ Object-oriented system จะถกจดการโดย
ความสามารถของภาษาโปรแกรม และ Database management System เปนสวนท� DBMS จดการ
OODBMS น�นตามมาตรฐานแลวรองรบ Abstract Data Type เชน stack, queue, priority queue,
set, bag และสามารถสราง Data Type ไดเองรวมถงการสราง Operation ไดเองดวย
10
นอกจากน�สามารถใชงาน OODBMS ไดจาก 2 สวนคอ
2.4.1 Programming Language Binding
เปนการใชขอดของภาษาโปรแกรมใหเกดประโยชนท�งน�ตองข�นอยกบการรองรบ
ภาษาโปรแกรมของแตละ DBMS ดวย การท� Application Object กบ Stored Object ในระบบ
ฐานขอมลชนดน�มความสมพนธกนโดยตรง ดงน�นการทา Data Definition, Data Manipulation และ
Query จงสามารถทาไดดวยภาษาสาหรบการโปรแกรมเชงวตถเชน C++, SmallTalk, Java เปนตน
Java Database Object (JDO) ใน Java กเปน Programming Binding ประเภทหน�งเชนกน
2.4.2 Object Query Language (OQL)
OQL จะมความแตกตางกนออกไปจาก SQL ตามมาตรฐาน SQL2 เพราะใน
มาตรฐาน SQL2 ไมมความสามารถในการเขาถงขอมลแบบวตถได อยางไรกดในมาตรฐานใหม
ของ SQL3 (SQL-99) จะไดมบางสวนท�จะไดเพ�มความสามารถเหลาน� ลงไป ซ�งผลจากการพฒนา
OQL จะสามารถสรางความหลากหลายของผลลพธท�เกดข�นจากการทา Query ได อนไดแก
ผลลพธท�อยในรปของ Atom, Structure, Literal, Object หรอแมแต Set ของ Object
ภาพประกอบ 2. 6 OQL
นอกจากน�ขอดอกอยางของ OODBMS คอการใช Object ID เหมอนกบ OOP แต
จะเรยกวา Reference ซ�งขณะสราง Object กจะได Reference ID มา และสวนน� ID จะถกเกบลง
Cache เพ�อใชทา Indexing โดยในแตละ Object ท�สรางข�นสามารถเกบ Reference ID ของ Object
อ�นไดดวย และทาการ Link ผาน Pointer โดยตรงทาใหมความรวดเรวมากกวา Relational
Database
11
ขอดของ OODBMS
1) มความยดหยนสงรองรบกบ Real system ไดด
2) รองรบกบแนวคด System Engineer
ขอเสยของ OODBMS
1) มความยงยาก
2) ไมมความเปนกลางหรอไมมมาตรฐานท�เปนกลางนก
3) ตองทาการเปล�ยนท�งระบบ
4) เรยนรไดยาก
5) มคาใชจายเพ�มมากข�น
12
บทท� 3 ระบบการจดการแผนผงครอบครว
�.� การวเคราะหระบบ
สงคมปจจบน เปนสงคมขนาดใหญ เน�องจากคนเลงเหนถงความสาคญของ
ครอบครวมากข�น มความตองการท�จะจดเกบขอมลสมาชกภายในครอบครวไว เพ�อความภาคภมใจ
ของคนในครอบครว และสามารถเปนขอมล ในการสบคนบรรพบรษ ในรนลกรนหลานได
แตขอมลท�จดเกบในรปแบบของเอกสารหรอแฟม ไมเหมาะสม เน�องจากทาการ
สบคนยาก ชา และบางคร� งขอมลอาจสญหายได จงออกแบบระบบเปนเวบApplicationเพ�อการ
เขาถงท�รวดเรว ในทก ๆ ท�ท�มเครอขายอนเทอรเนต และสามารถจดการกบขอมลรายละเอยดของ
ครอบครวไดงายข�น ซ�งจะพฒนาระบบใหรองรบภาษาไทยเปนหลก
3.1.1 วตถประสงค
1) เพ�อพฒนาเวบแอปพลเคชนสาหรบครอบครว เปนฐานขอมลออนไลนเกบ
รวบรวมขอมลตางๆ เก�ยวกบสมาชกภายในครอบครว
2) เพ�อสรางความสมพนธอนด ระหวางคนในครอบครว โดยใชเทคโนโลยเปน
ส�อกลาง
3) เพ�อคนหาวงศตระกลของตนเองและผอ�นไดงายและรวดเรวย�งข�น ทาใหทราบ
ถงความสมพนธของบคคลในครอบครว
4) ตองการนาเสนอเวบในรปแบบภาษาไทย เหมาะสาหรบครอบครวคนไทย
โดยเฉพาะ
3.1.2 ขอบเขตของระบบ
การพฒนาเวบApplicationการจดการแผนผงครอบครว 2 (Family Management
System II (FMS II)) แบงตามหมวดหมการทางาน � หมวด ดงน�
13
1) หมวดจดการสมาชก
ระบบสามารถทางานไดดงน�
สามารถคนหาขอมลสมาชก (Public) ได
สามารถเพ�มสมาชกได
สามารถลบสมาชกได
สามารถแกไขขอมลสมาชกได
2) หมวดจดการแผนผงครอบครว
ระบบสามารถทางานไดดงน�
สามารถคนหาขอมลสมาชกในครอบครวได
สามารถเพ�มสมาชกในครอบครวได
สามารถลบสมาชกในครอบครวได
สามารถแกไขขอมลสมาชกในครอบครวได
3) หมวดอ�น ๆ
ระบบสามารถทางานไดดงน�
สามารถรองขอการเปนเพ�อนสมาชกได
สามารถตอบรบการขอเปนเพ�อนสมาชกได
สามารถต�งคาความเปนสวนตวได
สามารถคานวณโอกาสท� จะม บตรว ามหม เลอดใดไดบาง ก�
เปอรเซนต
14
3.1.3 Overall Description
ภาพประกอบ 3. 1 Overall Description
ภาพรวมของระบบการจดการแผนผงครอบครว 2 (Family Management System
II (FMS II)) ซ�งแสดงส�งแวดลอมของระบบท�มาตดตอประกอบดวย User, Member, Admin และ
Google App Engine
สวนของ Google App Engine ทาหนาท�เปน web server สาหรบ deploy project
ข�นส server (ใหบรการฟร)
15
3.1.4 Functional Requirements Specification
แบงขอบเขตตามผใชงานระบบได � สวนซ�งม Functional Requirement ดงน�
สวนของผใชท�วไป
1) สามารถสมครสมาชกได
2) สามารถศกษาวธสรางแผนผงครอบครว (Family Tree)
3) สามารถดรายช�อครอบครวของสมาชกท�งระบบได
4) สามารถดแผนผงครอบครวของสมาชก (public) แตละครอบครวได
สวนของสมาชก (สมาชกสามารถทาทกอยางท� User ทาได)
1) สามารถสรางแผนผงครอบครวของตนเองได
2) สามารถดรายละเอยดครอบครวของตนเองและเพ�อนได
3) สามารถเพ�ม แกไข ขอมลสมาชกของครอบครวตนเองได
4) สามารถลบ สมาชกของครอบครวท�ตนเองสรางได
5) สามารถเขารวมกบครอบครวอ�นได ในกรณท�สองครอบครวเปนเพ�อนกน
6) สามารถคนหาขอมลของครอบครวตนเองและผอ�นได
7) สามารถตรวจสอบโอกาสท�จะมบตรวามหมเลอดใดไดบาง ก�เปอรเซนต
8) สามารถ รองขอเปนเพ�อนได
9) สามารถ ตอบรบการขอเปนเพ�อนได
10) สามารถต�งคาความเปนสวนตวได
สวนของผดแลระบบ (ผดแลระบบสามารถทาทกอยางท� Members ทาได)
1) สามารถทาการลบสมาชกได*
*Admin สามารถจดการและต�งคา Application ,Log ,billing ,Resources และ
Members ได ซ�งในสวนน� Admin จะจดการในเวบ appspot.com (เปน app engine ท�มฟงกชนใน
สวนน�พรอมอยแลว)
16
ภาพประกอบ 3. 2 Use Case Diagram Level 0
จากการวเคราะหระบบ จะได Use Case ดงภาพประกอบ โดยแบงการทางานตาม
หมวดการใชงานหลกของระบบ ซ�งรายละเอยดกระบวนการทางานของแตละ Use Case มดงน�
17
1) สวนของผใชท�วไป
ภาพประกอบ 3. 3 Use Case Diagram-User
Use case: Search UC100
Diagram :
ภาพประกอบ 3. 4 Use case: Search UC100
Brief Description
สวนของการ คนหา (Member) ท�ตองการ
Initial Step-By-Step Description 1. ระบบแสดงหนาจอเพ�อใหทาการ search
2. User ใสคาท�ตองการคนหา
3. User กดป ม Enter
4. ระบบตรวจสอบฐานขอมลเจอคาท�ตองการหา
5. ระบบแสดงคาท�ถกคนหาทางหนาจอ
Xref: Section 3.2.1 Search UC100 หนา 29
18
Use case: View profile UC110
Diagram :
ภาพประกอบ 3. 5 Use Case Diagram-View profile UC110
Brief Description
สวนของการดรายละเอยด Profile ท�วไป
Initial Step-By-Step Description
1. ระบบแสดงหนาจอแสดงรายช�อ Member
2. User สามารถ กดปมช�อ ของ (Member) เพ�อดขอมลท�วไปได
3. ระบบแสดงหนาจอรายละเอยด Profile ท�วไป
Xref: Section 3.�.2 View profile UC110 หนา 30
Use case: View Information UC200
Diagram :
ภาพประกอบ 3. 6 Use Case Diagram-View Information UC200
Brief Description
สวนของการดรายละเอยดขอมลของเวบไซต โดยดจาก Tab How to Create?,
ContactUs
19
Initial Step-By-Step Description
1. ระบบแสดงหนาจอรายละเอยดขอมลเก�ยวกบเวบไซต
2. User สามารถ กดปม Tab เพ�อดรายละเอยดของหนาถดไปได
Xref: Section 3.�.3 View Information UC200 หนา 31
Use case: Register UC300
Diagram :
ภาพประกอบ 3. 7 Use Case Diagram-Register UC300
Brief Description
สวนของการ User ทาการ Register เพ�อเขาใชระบบ
Initial Step-By-Step Description
1. ระบบแสดงหนาจอ เพ�อใหกดปม Register
2. User กดปม Register
3. ระบบแสดงรายละเอยดขอมลท�จะตองกรอก
4. User กรอกขอมลประวตสวนตว ID, Password
5. User กดปม Register ระบบ
6. ระบบแสดงขอความ “Registration successful”
7. User กดปม “OK”
8. ระบบตรวจสอบวา ID ซ�ากบของ User ท�สมครไวกอนแลวหรอไม
9. ระบบทาการเพ�มขอมล User ลงในฐานขอมล Member และ People
Xref: Section 3.�.4 Register UC300 หนา 31
20
2) สวนของสมาชก
ภาพประกอบ 3. 8 Use Case Diagram-Member
Use case: Login UC400
Diagram :
LoginUC400
Member
ภาพประกอบ 3. 9 Use Case Diagram-Login UC400
Brief Description
สวนของการให Member ไดเขาสระบบ
Initial Step-By-Step Description
1. ระบบแสดงหนาจอ เพ�อใหกดปม login
2. Member กดปม login
3. ระบบแสดงหนาจอใหกรอก ID, Password
21
4. Member กรอก ID, Password
5. Member กดปม Login เพ�อเขาสระบบ
6. ระบบทาการตรวจสอบวา ID, Password กบฐานขอมล
7. Member เขาสระบบ
8. ระบบสราง Root Family ใหอตโนมต
9. ระบบบนทก Root Family ลงฐานขอมล
Xref: Section 3.2.5 Login UC400 หนา 33
Use case: Manage my Family UC410
Diagram :
ภาพประกอบ 3. 10 Use Case Diagram-Manage my family UC410
Brief Description
สวนของ การจดการครอบครวตนเอง ซ�งจดการโดยการ Add family members ,
update profile และ Delete family members
Initial Step-By-Step Description
1. ระบบแสดงช�อของ Member
2. Member กดปม ช�อตนเอง
3. Member กดปม View Family
4. ระบบโชวหนาจอ My family ข�นมา
Xref: Section 3.2.6 Manage Family UC530 หนา 34
22
Use case: Add family members UC411
Diagram :
ภาพประกอบ 3. 11 Use Case Diagram-Add family members UC411
Brief Description
สวนของการ เพ�ม Member ของ Family โดยจะสามารถเพ�ม Father,Mather,
Brother/Sister(bs),Child,Spouse
Initial Step-By-Step Description
1. ระบบแสดงหนาจอ Add family members
2. Member กดปมเลอกประเภทท�จะ add
3. Member กรอกขอมลสมาชกในครอบครว
4. ระบบทาการตรวจสอบขอมล วากรอกถกตองหรอไม
5. Member กดปม Save
6. ระบบแสดงขอความ “Are you sure update ….?”
7. Member กดปม OK
8. ระบบทาการบนทกขอมลลงในฐานขอมล
9. ระบบแสดงขอความ " Update successful "
10. Member กดปม OK
Xref: Section 3.2.7 Add family members UC411 หนา 35
23
Use case: Update profile UC412
Diagram :
ภาพประกอบ 3. 12 Use Case Diagram-Update profile UC412
Brief Description
สวนของการ แกไข Profile ของ Family Members
Initial Step-By-Step Description
1. ระบบแสดงหนาจอ Update profile
2. Member กดปม Profile ของคนในครอบครวแตละคนท�ตองการจะUpdate
3. Member Update ขอมลสมาชกในครอบครว
4. ระบบทาการตรวจสอบขอมล วากรอกถกตองหรอไม
5. Member กดปม Save
6. ระบบแสดงขอความ “Are you sure update ….?”
7. Member กดปม OK
8. ระบบทาการบนทกขอมลลงในฐานขอมล
9. ระบบแสดงขอความ " Update successful "
10. Member กดปม OK
Xref: Section 3.2.8 Update Family UC412หนา 37
24
Use case: Delete family members UC413
Diagram :
ภาพประกอบ 3. 13 Use Case Diagram-Delete family members UC413
Brief Description
สวนของการ Delete family members แตละครอบครว
Initial Step-By-Step Description
1. ระบบแสดงรายช�อ Family members ท� Member (ผท� Login) สราง
2. Member นาเมาสไปวางบนช�อ ท�ตองการจะลบ
3. ระบบ แสดงปม Delete
4. Member กดปม Delete
5. ระบบแสดงขอความ “Are you sure Delete … ?”
6. Member กดปม OK
7. ระบบทาการลบ Family member ออกจากฐานขอมล
8. ระบบแสดงขอความ “Delete successful”
9. Member กดปม OK
Xref: Section 3.2.9 Delete family members UC413 หนา 38
25
Use case: Calculate blood group UC420
Diagram :
ภาพประกอบ 3. 14 Use Case Diagram-Calculate blood group UC420
Brief Description
สวนของการ คานวณโอกาสการเกดหมเลอดเม�อมบตร ก�เปอรเซนต
Initial Step-By-Step Description
1. ระบบแสดงหนา Find Genotype
2. Member กดลาก Family members จาก Form People in family มาใน Form find genotype
3. Member กดปม Cal.
4. ระบบทาการคานวณ
5. ระบบแสดงผลการคานวณทางหนาจอ
6. Member กดปม OK
Xref: Section 3.2.10 Calculate blood group UC420 หนา 40
Use case: Add Friend UC430
Diagram :
ภาพประกอบ 3. 15 Use Case Diagram-Add Friend UC430
Brief Description
สวนของการขอเปนเพ�อน กบเพ�อนสมาชก
26
Initial Step-By-Step Description
1. ระบบแสดงหนาจอ Profile
2. Member กดปม Add Friend ท�ตองการรองขอ
3. ระบบโชวขอความ “You know this friend?”
4. Member กดปม Yes
5. ระบบทาการบนทกขอมลลงในฐานขอมล Friend
Xref: Section 3.2.11 Add Friend UC430 หนา 41
Use case: Accept Friend UC440
Diagram :
ภาพประกอบ 3. 16 Use Case Diagram-Add Friend UC440
Brief Description
สวนของการ รบการรองขอการเปนเพ�อนจาก เพ�อนสมาชก
Initial Step-By-Step Description
1. ระบบแสดงหนาจอ Profile
2. ระบบแสดงขอความ “ You have …friend’s requests”
3. ระบบแสดงรายช�อผรองขอเปนเพ�อน ท�ชอง Request friend
4. Member กดปม ช�อของ Friend เพ�อเปนการตอบรบคาขอเปนเพ�อน
5. ระบบแสดงขอความ “Are you sure to accept friend ?”
6. Member กดปม OK
7. ระบบทาการบนทกขอมลลงในฐานขอมล Friend
8. ระบบทาการแสดงขอความ “Accept friend successful”
Xref: Section 3.2.12 Accept Friend UC440 หนา 42
27
Use case: Set privacy UC450
Diagram :
ภาพประกอบ 3. 17 Use Case Diagram-Set privacy UC450
Brief Description
สวนของการต�งคาความเปนสวนตว
Initial Step-By-Step Description
1. ระบบแสดงหนาจอ Profile ของตนเอง
2. Member กดปม public หรอ private
3. ระบบแสดงหนาจอ “Do you want to public/private family?“
4. Member กดปม OK
5. ระบบทาการบนทกขอมลลงในฐานขอมล People
6. ระบบแสดงหนาจอ “People is public/private”
7. Member กดปม OK
Xref: Section 3.2.13 Set privacy UC450 หนา 43
2) สวนของผดแลระบบ
ภาพประกอบ 3. 18 Use Case Diagram-Admin
28
Use case: Delete Members UC500
Diagram :
ภาพประกอบ 3. 19 Use Case Diagram- Delete Members UC���
Brief Description
สวนของการ Delete Members ท�ตองการ
Initial Step-By-Step Description
1. Admin ทาการ Search เพ�อด Members
2. ระบบแสดงรายช�อ Members
3. Admin นาเมาสไปวางบนช�อ Members ท�ตองการจะลบ
4. ระบบ แสดงปม Delete
5. Admin กดปม Delete
6. ระบบแสดงขอความ “Are you sure Delete … ?”
7. Admin กดปม OK
8. ระบบทาการลบ สมาชกออกจากฐานขอมล
9. ระบบแสดงขอความ “Delete successful”
10. Admin กดปม OK
Xref: Section 3.2.14 Delete Members UC500 หนา 44
29
3.1.5 Requirements Specification Scenario
1) Search Person
Use Case Use case: Search Person
Xref Section 3.2.1 Use Case หมวด User UC��� หนา 17
Actors User
Purpose เพ�อให User ทาการคนหาขอมล
Overview User คนหาขอมล
Pre-Conditions User เปดหนาเวบไซต
Post-Conditions User สามารถดผลของการคนหาได
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนาจอเพ�อใหทาการ search
2. User ใสคาท�ตองการคนหา
3.User กดป ม Enter
4.ระบบตรวจสอบฐานขอมลเจอคาท�ตองการหา
5.ระบบแสดงคาท�ถกคนหาทางหนาจอ
Alternative Flow of Event
Actor Action Actor Action
A 3.1 User ไมกรอกขอมล A 3.1 Member search empty!
Exception Flow of Event
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E5 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลไดในขณะน�
30
2) View profile
Use Case View profile
Xref Section 3.2.2 Use Case หมวด User UC110 หนา 18
Actors User
Purpose เพ�อให User สามรถดขอมล Profile ได
Overview ให User ทาการดขอมล Profile
Pre-Conditions User เปดหนาเวบไซต
Post-Conditions User สามารถดผลของการคนหา Family ได
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนาจอแสดงรายช�อ Member
2.User สามารถ กดปมช�อ ของ
(Member , Friend) เพ�อดขอมลท�วไป
ได
3.ระบบแสดงหนาจอรายละเอยด
Profile ท�วไป
Exception Flow of Event
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E� อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลได
31
3) View Information
Use Case View Information
Xref Section 3.2.3 Use Case หมวด User UC200 หนา 18
Actors User
Purpose เพ�อให User ดรายละเอยดขอมลเวบไซตเบ�องตน
Overview User ดรายละเอยดขอมลเวบไซตเบ�องตน
Pre-Conditions User เปดหนาเวบไซต
Post-Conditions User สามรถดรายละเอยดของขอมลเวบไซตเบ�องตนได
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนาจอรายละเอยดขอมลเก�ยวกบ
เวบไซต
2.User สามารถ กดปม Tab เพ�อด
รายละเอยดของหนาถดไปได
Exception Flow of Event
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E5 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลไดในขณะน�
4) Register
Use Case Register
Xref Section 3.2.4 Use Case หมวด User UC300 หนา 19
Actors User
Purpose เพ�อให User เปน Member ของเวบไซตได
Overview ให User ทาการ Register เพ�อเขาใชระบบ
32
Pre-Conditions User คลกปม Register กรอกขอมลเพ�อเขาใชงานระบบ
Post-Conditions User Register เปน Member เสรจส�น
Basic Flow of Events
Actor Action System Response
1. ระบบแสดงหนาจอการ Register โดยแสดงการ
กรอกขอมลประวตสวนตว
2. User กรอกขอมล ช�อ,ท�อย,เบอรโทร
,Email,วน/ เดอน/ ป/ เกด,เพศ
�. Member กดปม save
�. ระบบตรวจสอบวา ID ซ�ากบของ User ท�สมครไว
กอนแลวหรอไม
5.ระบบทาการเพ�มขอมล User ลงในฐานขอมล
Member และ People
Alternative Flow of Event
Actor Action System Response
A 2.1 User กรอกขอมลไมครบ Field is required
A 2.2 User กรอก Password ไมตรงกน Password do not march
A 2.2 User กรอกรปแบบ Email ไมถกตอง Invalid email address
A 2.2 User กรอก Username นอยกวา 5
อกษร
Username should be � - �� degit
A 2.2 User กรอกเบอรโทรศพทไมครบ Invalid phone number (10 digit)
A 2.2 User กรอก Password ไมตรงกนException Flow of Event
Actor Action System Response
E0 เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E4 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลได
33
5) Login
Use Case Login
Xref Section 3.2.5 Use Case หมวด Member UC400 หนา 20
Actors Member
Purpose ให Member ไดเขาสระบบ
Overview ให Member กรอก ID และ password เพ�อเขาใชระบบ
Pre-Conditions Member เขาหนาเวบไซต
Post-Conditions Member เขาสระบบได
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนาจอ เพ�อใหกดปม login
2.Member กดปม login
3.ระบบแสดงหนาจอใหกรอก ID, Password
4.Member กรอก ID, Password
5.Member กดปม Login เพ�อเขาสระบบ
6.ระบบทาการตรวจสอบวา ID, Password ถกตอง
หรอไม
7.ระบบแสดงหนาจอ แสดง ช�อของ Member
Successful
8.ระบบสราง Root Family ใหอตโนมต
9.ระบบบนทก Root Family ลงฐานขอมล
Alternative Flow of Event
Actor Action System Response
A 4.1 Member ไมไดกรอก ทาการกรอก
ID และ Password Field is required
A 5.� Member ทาการกรอก ID Password
ผดพลาด Invalid usename or password !
Exception Flow of Event
34
Actor Action System Response
E0 เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E4 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลได
6) Manage my Family
Use Case Manage my Family
Xref Section 3.2.6 Use Case หมวด Member UC410 หนา 21
Actors Member
Purpose เพ�อให Member สามารถ จดการแผนผงครอบครวของตนเอง
Overview Member จดการขอมลแผนผงครอบครวของ Member โดยการเพ�มและ
แกไข Family ของตนเอง
Pre-Conditions Member Login เขาส หนา Profile ของตนเอง
Post-Conditions สามารถจดการแผนผงครอบครวของ Member ท�จดการโดยการ เพ�ม
และแกไขไดสาเรจ
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงช�อของ Member
2.Member กดปม ช�อตนเอง
3.Member กดปม View Family
4.ระบบโชวหนาจอ My family ข�นมา
Exception Flow of Event
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E5 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลไดในขณะน�
35
7) Add family members
Use Case Add family members
Xref Section 3.2.7 Use Case หมวด Member UC411 หนา 22
Actors Member
Purpose เพ�อให Member สามารถเพ�ม สมาชกในครอบครวได
Overview Member ทาการจดการ Add family Member ผานทาง Form เพ�มขอมล
Pre-Conditions Member Login เขาสหนา Profile
Post-Conditions Member สามรถท�จะจดการ Add family Member ได
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนาจอ Add family members
2.Member กดปมเลอกประเภทท�จะadd
3.Member กรอกขอมลสมาชกใน
ครอบครว
4.ระบบทาการตรวจสอบขอมล วากรอกถกตอง
หรอไม
5.Member กดปม Save
6.ระบบแสดงขอความ “Are you sure update ….?”
7.Member กดปม OK
8.ระบบทาการบนทกขอมลลงในฐานขอมล
36
9.ระบบแสดงขอความ " Update successful "
Alternative Flow of Event
Actor Action System Response
A 3.1 Member กรอกขอมลไมครบ Field is required!
A 3.2 Member กรอกรปแบบ Email ไม
ถกตอง Invalid email address
A 3.3 Member กรอก Username นอยกวา 5
อกษร
Username should be � - �� degit
A 3.4 Member กรอกเบอรโทรศพทไมครบ Invalid phone number (10 digit)
Exception Flow of Event
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E4 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลไดในขณะน�
37
8) Update profile
Use Case Update profile
Xref Section 3.2.8 Use Case หมวด Member UC412 หนา 23
Actors Member
Purpose เพ�อให Member สามารถแกไขขอมลสมาชกในครอบครวได
Overview Member ทาการจดการ Update family Member ท�ได เพ�มขอมลเขา
มาแลว
Pre-Conditions Member Login เขาสหนา Profile
Post-Conditions Member สามรถท�จะจดการ Add family Member ได
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนาจอ Update profile
2.Member กดปม Profile ของคนใน
ครอบครวแตละคนท�ตองการจะUpdate
3. Member แกขอมลสมาชกในครอบครว
4.ระบบทาการตรวจสอบขอมล วากรอกถกตอง
หรอไม
5.Member กดปม Save
6.ระบบแสดงขอความ “Are you sure update ….?”
7.Member กดปม OK
8.ระบบทาการบนทกขอมลลงในฐานขอมล
38
9.ระบบแสดงขอความ " Update successful "
Alternative Flow of Event
Actor Action System Response
A 3.1 Member กรอกขอมลไมครบ Field is required!
A 3.2 Member กรอกรปแบบ Email ไม
ถกตอง Invalid email address
A 3.3 Member กรอก Username นอยกวา 5
อกษร
Username should be � - �� degit
A 3.4 Member กรอกเบอรโทรศพทไมครบ Invalid phone number (10 digit)
A 3.1 Member กรอกขอมลผด A 3.2 กรณากรอกขอมลใหถกตองตามประเภทขอมล
A 5.1 Member กรอกขอมลไมครบ A 5.2 กรณากรอกขอมลใหม
Exception Flow of Event
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E8 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลได
9) Delete family members
Use Case Delete family members
Xref Section 3.2.8 Use Case หมวด Member UC413 หนา 24
Actors Member
Purpose เพ�อให Member สามารถลบขอมลสมาชกในครอบครวได
Overview Member ทาการจดการ Delete family Member ท�ได เพ�มขอมลเขามา
กอนหนาน�แลว
Pre-Conditions Member Login เขาสหนา Profile
Post-Conditions Member สามรถท�จะจดการ Delete family Members ได
39
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงรายช�อ Family members ท� Member (ผ
ท� Login) สราง
2. Member นาเมาสไปวางบนช�อ ท�ตองการ
จะลบ
3.ระบบ แสดงปม Delete
5. Member กดปม Delete
6.ระบบแสดงขอความ “Are you sure Delete … ?”
7.Member กดปม OK
8.ระบบทาการลบ Family member ออกจาก
ฐานขอมล
9.ระบบแสดงขอความ “Delete successful”
10.Member กดปม OK
Exception Flow of Event
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E8 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลได
40
10) Calculate blood group
Use Case Calculate blood group
Xref Section 3.2.10 Use Case หมวด Member UC420 หนา 25
Actors Member
Purpose เพ�อ คานวณโอกาสความเปนไปไดในการเกด หมเลอดในครอบครว
Overview Member ลาก family Member มาคานวณ 2 คนและแสดงผลลพธได
Pre-Conditions Member Login เขาสระบบ
Post-Conditions Member สามารถทาบ ถงโอกาสการเกด ของหมเลอดของคกรณท�
คานวณออกมาได
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนา Fine Genotype
2.Member กดลาก Member จาก Form
People in family มาใน Form fine
Genotype 2 คน
3.Member กดปม Cal
4.ระบบทาการคานวณ
5.ระบบแสดงผลการคานวณทางหนาจอ
Alternative Flow of Event
Actor Action System Response
A 2.1 Member ลากคนมา มากวา 2 คนหรอ
หรอ นอยกวา 2 คน A 2.2 Please select 2 person only!
Exception Flow of Event
41
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E5 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลไดในขณะน�
11) Add Friend
Use Case Add Friend
Xref Section 3.2.11 Use Case หมวด Admin UC430 หนา 25
Actors Member
Purpose เพ�อให Member สามารถ รองขอการเปนเพ�อน กบ สมาชกอ�นได
Overview Member สงคารองขอเปนเพ�อน ไปหา เพ�อนสมาชก
Pre-Conditions Member Login เขาส ระบบ
Post-Conditions Member ไดสงคารองขอเปนเพ�อน ไปถงผท�ถกสงคารองขอ
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนาจอ Profile
2.Member กดปม Add Friend ท�ตองการ
รองขอ
3.ระบบแสดงขอความ “You know this friend? ”
4.Member กดปม Yes
5.ระบบทาการบนทกขอมลลงในฐานขอมล Friend
Exception Flow of Event
Actor Action System Response
42
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E5 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลไดในขณะน�
12) Accept Friend
Use Case Accept Friend
Xref Section 3.2.12 Use Case หมวด Member UC440 หนา 26
Actors Member
Purpose เพ�อให Member สามารถตอบรบการรองขอการเปนเพ�อนจากเพ�อน
สมาชกอ�นได
Overview Member สงตอบรบการรองขอเปนเพ�อนของเพ�อนสมาชก
Pre-Conditions Member Login เขาส ระบบ
Post-Conditions Member ไดเปนเพ�อนกบผท�รองขอมาเปนเพ�อน
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนาจอ Profile
2.ระบบแสดงรายช�อผรองขอเปนเพ�อน ผาน People
in family (ช�อ Request Friend)
3.Member กดปม ช�อของFriend เพ�อเปน
การตอบรบคาขอเปนเพ�อน
4.ระบบแสดงขอความ “Are you sure to accept
friend ?”
5.Member กดปม Yes
43
6.ระบบทาการบนทกขอมลลงในฐานขอมล Friend
Exception Flow of Event
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E5 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลไดในขณะน�
13) Set privacy
Use Case Accept Friend
Xref Section 3.2.13 Use Case หมวด Member UC450 หนา 27
Actors Member
Purpose เพ�อให Member สามารถต�งคาความเปนสวนตวได
Overview Member ต�งคาความเปนสวนตวใหกบตนเอง
Pre-Conditions Member Login เขาส ระบบ
Post-Conditions Member ไดต�งคาความเปนสวนตวไดสาเรจ
Basic Flow of Events
Actor Action System Response
1.ระบบแสดงหนาจอ Profile ของตนเอง
2.Member กดปม public หรอ private
3.ระบบแสดงหนาจอ “people is public/private“
4.Member กดปม OK
5.ระบบทาการบนทกขอมลลงในฐานขอมล People
Exception Flow of Event
44
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E5 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลไดในขณะน�
14) Delete Members
Use Case Delete Members
Xref Section 3.2.14 Use Case หมวด Admin UC500 หนา 27
Actors Admin
Purpose เพ�อให Admin Delete Members ท�ตองการได
Overview Admin Delete Members ภายในเวบไซตจากฐานขอมล
Pre-Conditions Admin เขาสหนาเวบไซต
Post-Conditions Admin Delete Members ท�ตองการได
Basic Flow of Events
Actor Action System Response
1.Admin ทาการ Search เพ�อด Members
2.ระบบแสดงรายช�อ Members
3.Admin นาเมาสไปวางบนช�อ Members ท�
ตองการจะลบ
4.ระบบ แสดงปม Delete
5.Admin กดปม Delete
6.ระบบแสดงขอความ “Are you sure Delete … ?”
45
7.Admin กดปม OK
8.ระบบทาการลบ สมาชกออกจากฐานขอมล
9.ระบบแสดงขอความ “Delete successful”
10.Admin กดปม OK
Alternative Flow of Event
Actor Action System Response
A 2.1 Member ใสคาผด A 2.2 แสดงคาใกลเคยง
Exception Flow of Event
Actor Action System Response
E� เกดความผดพลาดดาน Software ไมสามารถเขาสระบบปฏบตการได
E4 อปกรณ connector เสยหาย ไมสามารถตดตอฐานขอมลไดในขณะน�
46
�.� การออกแบบ
3.2.1 การออกแบบสถาปตยกรรมระบบ โครงสรางระบบ
ภาพประกอบ 3. 20 Client-Server Architecture
การทางานของเวบใชสถาปตยกรรมไคลเอนต-เซรฟเวอร น�นคอ เคร�องไคลเอนต
(Client) ตองเรยกใชโปรแกรมเวบเบราวเซอร แลวมการรองขอขอมลจากโปรแกรมท�ดาน
เซรฟเวอร (Server) ซ� งเปนคอมพวเตอรเคร� องใดเคร� องหน� งบนระบบเครอขาย หลงจากดาน
เซรฟเวอรทางานเสรจแลวจะสงผลการทางานกลบไปยงเคร�องไคลเอนต โดยเวบเบราวเซอรจะทา
การแปลผลและแสดงขอมลบนเวบดงภาพประกอบ
47
3.2.2 การออกแบบลาดบข�นตอนการทางาน
Sequence Diagram จะแสดงลาดบการทางานของระบบ โดยม Object และ เวลา
เปนตวกาหนดลาดบของงาน
Sequence Diagram เปน Diagram ซ�งแสดงปฏสมพนธ(Interaction) ระหวาง
Object ตามลาดบของเหตการณท�เกดข�น ณ เวลาท�กาหนด message ท� เกดข�นระหวาง class จะ
สามารถนาไปสการสราง method ใน class ท�เก�ยวของได ซ�งจะแนะนาเฉพาะโมดลท�สาคญ ๆ
ไดแก
1) สวนของการลอกอนเขาสระบบ (Login)
ภาพประกอบ 3. 21 Sequence Diagram – Login
48
2) สวนของการคนหาสมาชกในครอบครว (Search My Family)
ภาพประกอบ 3. 22 Sequence Diagram – Search Myfamily
3) สวนของการเพ�มสมาชกในครอบครว (Add person to family)
ภาพประกอบ 3. 23 Sequence Diagram – Update
49
4) สวนของการลบสมาชกในครอบครว (Delete person in family)
ภาพประกอบ 3. 24 Sequence Diagram - Delete
3.2.3 การออกแบบฐานขอมล
ระบบใชฐานขอมลของ Data Nucleus ซ� งฝ�ง (Embedded) อยใน Google App
Engine ลกษณะของฐานขอมลเปนแบบ JDO และ JPA โดยการประกาศ Class และสรางเปน
Object เพ�อจาลองการสราง Table โดยม Class ของฐานขอมลท�งหมด � Class ไดแก Member,
People และ Friend ซ�งแตละ Class กจะสรางเปน Object เพ�อจาลองเปนคนหน� งคน เชน สมคร
สมาชก กจะสราง Object Member ข�นมา โดยสามารถเรยกใชคณสมบตของ Class Member มาได
ท�งหมด
เน�องจากระบบการจดการแผนผงครอบครว 2 (Family Management System II
(FMS II)) ไมไดเนนในเร�องฐานขอมล แตจะเนนในเร�องของอลกอรทม ฟงกชนการทางานมากกวา
จงออกแบบเฉพาะ ER-Diagram เพราะฐานขอมลไมซบซอน
50
ภาพประกอบ 3. 25 ER Diagram
Data Dictionary
1) ตารางสมาชกครอบครว (People)
ตาราง 3. 1 ตารางสมาชกครอบครว (People)
No. Attribute Type Description CONSTRAINT
1 peopleID ID รหสสมาชกครอบครว PRIMARY KEY
2 name VARCHAR(40) ช�อสมาชกครอบครว
3 lname VARCHAR(40) นามสกลสมาชกครอบครว
4 gender CHAR(10) เพศสมาชกครอบครว
5 birth DATETIME วนเกดสมาชกครอบครว
6 tel VARCHAR(10) เบอรโทรสมาชกครอบครว
7 email VARCHAR(20) อเมลสมาชกครอบครว
8 IDf ID รหสพอ
9 IDm ID รหสแม
51
10 IDspouse ID รหสคสมรส
11 privacy VARCHAR(10) ความเปนสวนตว
12 group VARCHAR(10) หมเลอด
13 username VARCHAR(20) ช�อผใชระบบ FOREIGN KEY
2) ตารางสมาชก (Member)
ตาราง 3. 2 ตารางสมาชก (Member)
No. Attribute Type Description CONSTRAINT
1 username VARCHAR(20) ช�อผใชระบบ PRIMARY KEY
2 password VARCHAR(10) พาสเวรด
3) ตารางเพ�อน (Friend)
ตาราง 3. 3 ตาราง Friend
No. Attribute Type Description CONSTRAINT
1 friendID ID รหสเพ�อน PRIMARY KEY
2 usernamePeople VARCHAR(20) ช�อผใช
3 usernameFriend VARCHAR(20) ช�อเพ�อน
4 statusRequest VARCHAR(10) สถานะการรองขอ
52
�.3 การออกแบบและพฒนาสวนตดตอผใช
ภาพประกอบ 3. 26 ภาพรวม Web –มมมอง User
ภาพประกอบ 3. 27 หนา Register
53
ภาพประกอบ 3. 28 หนา Log-in
ภาพประกอบ 3. 29 หนาแรกเม�อ Log-in เขามาแลว
54
ภาพประกอบ 3. 30 แสดงแผนผงครอบครว และรายช�อสมาชกครอบครว
ภาพประกอบ 3. 31 สวนของการคานวณโอกาสการเกดหมเลอดเม�อมบตร
55
ภาพประกอบ 3. 32 ผลลพธจากการ คานวณโอกาสการเกดหมเลอดเม�อมบตร
ภาพประกอบ 3. 33 หนา Update ขอมลสมาชกในครอบครว
56
ภาพประกอบ 3. 34 แสดงการลบสมาชกในครอบครว
ภาพประกอบ 3. 35 แสดงการ Add Friend
57
ภาพประกอบ 3. 36 แสดงการ Accept Friend-1
ภาพประกอบ 3. 37 แสดงการ Accept Friend-�
ภาพประกอบ 3. 38 แสดงผล Accept Friend-แบบ Reject
58
บทท� 4
การทดสอบระบบ
4.1 Test Design
Use Case Diagram ดานลางน� จะอธบายถงกระบวนการซ�งใชในการทดสอบระบบ
การจดการแผนผงครอบครว � (Family Tree Management System II) ซ�งแบงตามผใชงานไดเปน �
สวน ดงตอไปน�
4.1.1 สวนของผใชท�วไป
a) Search
b) View Profile
c) Register
<<verify>>
59
4.1.2 สวนของสมาชก
a) Login
b) Add family members
<<ver
ify>>
c) Update Profile
60
d) Delete family members
e) Calculate blood group
f) Add Friend
g) Accept Fiend
61
h) Set privacy
4.1.3 สวนของผดแลระบบ
a) Delete members
*Admin สามารถจดการและต�งคา Application ,Log ,billing ,Resources และ
Members ได ซ�งในสวนน� Admin จะจดการในเวบ appspot.com (เปน app engine ท�มฟงกชนใน
สวนน�พรอมอยแลว ซ�งจากการทดสอบระบบ กไดผลลพธท�ถกตอง ดงแสดงในภาคผนวก)
62
4.2 System and Acceptance Testing Results
กระบวนการ System and Acceptance Testing เปนกระบวนการท�ทดสอบการ
ทางานของระบบท�พฒนาเสรจส�นแลววาตรงกบความตองการท�ลกคารไวในสญญาท�ไดกาหนดไว
ตอนเร�มโครงงานพฒนาหรอไม ซ�งกรณทดสอบ และกรณทดสอบท�ได มดงตอไปน�
หมายเหต
เคร�องหมาย ✓หมายถง การทดสอบน�นผาน ผลการทดสอบท�ไดเปนไปตามผลการ
ทดสอบท�คาดหวงไว
เคร�องหมาย ✗หมายถง การทดสอบน�นไมผาน ผลการทดสอบท�ไดไมเปนไปตามผล
การทดสอบท�คาดหวงไว
4.2.1 สวนของผใชท�วไป
a) Search
TestID Description Expected Result Actual Result Summary
T001 Precondition : เขาเวบไซต ระบบแสดงผลลพธใน
ตาราง member เปน
Nattapon Worakan
ระบบแสดงผลลพธใน
ตาราง member
✓
พมพขอความในชอง
Member: Nattapon
Enter
T002 Precondition : เขาเวบไซต ระบบแสดงขอความ
“Member search empty”
ระบบแสดงขอความ
“Member search empty”
✓
พมพขอความในชอง
Member: xxxxx
Enter
63
b) View Profile
TestID Description Expected Result Actual Result Summary
T003 Precondition : คนหา
member
ระบบแสดงปม View
family
สามารถดขอมลได
ระบบแสดงปม View
family
สามารถดขอมลได
✓
คลกท�ช�อสมาชกท�เปน
public
T004 Precondition : คนหา
สมาชก
ระบบไมแสดงปม View
family ไมสามารถด
ขอมลได
ระบบไมแสดงปม View
family ไมสามารถด
ขอมลได
✓
คลกท�ช�อสมาชกท�เปน
private
c) Register
TestID Description Expected Result Actual Result Summary
T005 Precondition : กดปม
register
ระบบแสดงขอความ
“Registration successful”
ระบบแสดงขอความ
“Registration successful”
✓
Blood groups: A
Username: babyeye
Password: admin123
Password again: admin123
First name: Chalasai
Last name: Muangsamai
Gender: Male
Birth date: 01/05/1988
Email: [email protected]
Telephone: 0812345678
คลกปม Save
64
TestID Description Expected Result Actual Result Summary
T005-1 Precondition : คลกปม
register
ระบบแสดงขอความ
“Field is required”
ระบบแสดงขอความ
“Field
is required”
✓
Blood groups: A
Username:
Password:
Password again:
First name:
Last name:
Gender: Male
Birth date:
Email:
Telephone:
คลกปม Save
T006 Precondition : คลกปม
register
ระบบแสดงขอความ
“Username already to
use”
ระบบแสดงขอความ
“Username already to
use”
✓
Blood groups: A
Username: babyeye
Password: admin123
Password again: admin123
First name: Chalasai
Last name: Muangsamai
Gender: Male
Birth date: 01/05/1988
Email: [email protected]
Telephone: 0812345678
คลกปม Save
65
4.2.2 สวนของสมาชก
a) Login
TestID Description Expected Result Actual Result Summary
T007 Precondition : คลกปม
login
ระบบแสดงหนา profile
ของ babyeye
ระบบแสดงหนา profile
ของ babyeye
✓
Username: babyeye
Password: admin123
Enter
T007-1 Precondition : คลกปม
login
ระบบแสดงขอความ
“Field is required”
ระบบแสดงขอความ
“Field is required”
✓
Username:
Password:
Enter
T008 Precondition : คลกปม
login
ระบบแสดงขอความ
“Invalid username or
password”
ระบบแสดงขอความ
“Invalid username or
password!”
✓
Username: xxxxx
Password: ooooo
Enter
66
b) Add family members
TestID Description Expected Result Actual Result Summary
T009 Precondition : คลกปม
add father
ระบบแสดง panel พอ
พรอมกบสรางเสนเช�อม
ความสมพนธ
ระบบแสดง panel พอ
พรอมกบสรางเสนเช�อม
ความสมพนธ
✓
Blood groups: A
First name: Wittaya
Last name: Muangsamai
Birth date: 10/08/1963
Email:
Telephone:
Enter
T010 Precondition : คลกปม
add mother
ระบบแสดง panel แม
พรอมกบสรางเสนเช�อม
ความสมพนธ
ระบบแสดง panel แม
พรอมกบสรางเสนเช�อม
ความสมพนธ
✓
Blood groups: B
First name: Boonchu
Last name: Muangsamai
Birth date: 03/13/1960
Email:
Telephone:
Enter
67
TestID Description Expected Result Actual Result Summary
T011 Precondition : คลกปม
add Spouse
ระบบแสดง panel ค
สมรส
พรอมกบสรางเสนเช�อม
ความสมพนธ
ระบบแสดง panel ค
สมรส
พรอมกบสรางเสนเช�อม
ความสมพนธ
✓
Blood groups: B
First name: Pattra
Last name: Muangsamai
Birth date: 05/20/1988
Email: [email protected]
Telephone: 0855555555
Enter
T012 Precondition : คลกปม
add Brother/sister
ระบบแสดง panel พ�นอง
พรอมกบสรางเสนเช�อม
ความสมพนธ
ระบบแสดง panel พ�นอง
พรอมกบสรางเสนเช�อม
ความสมพนธ
✓
Blood groups: A
First name: Weerapon
Last name: Muangsamai
Gender: Male
Birth date: 07/20/1992
Email:
Telephone: 0833333333
Enter
68
TestID Description Expected Result Actual Result Summary
T013 Precondition : คลกปม
add Child
ระบบแสดง panel ลก
พรอมกบสรางเสนเช�อม
ความสมพนธ
ระบบแสดง panel ลก
พรอมกบสรางเสนเช�อม
ความสมพนธ
✓
Blood groups: A
First name: Peter
Last name: Muangsamai
Gender: Male
Birth date: 01/01/2011
Email:
Telephone:
Enter
T014 Precondition : คลกปม
add Father
ระบบแสดงขอความ
“Field is required”
ระบบแสดงขอความ
“Field is required”
✗
Blood groups:
First name:
Last name:
Birth date:
Email:
Telephone:
Enter
69
c) Update Profile
TestID Description Expected Result Actual Result Summary
T015 Precondition : คลกปม ระบบแสดงขอมล ระบบแสดงขอมล ✓
profile father Muangsamai Muangsamai
Blood groups: A WittayaOO WittayaOO
First name: WittayaOO ใน panel พอ ใน panel พอ
Last name: Muangsamai
Birth date: 10/08/1963
Email:
Telephone:
Enter
T016 Precondition : คลกปม
profile mother
ระบบแสดงขอมล ระบบแสดงขอมล ✓
Blood groups: B Muangsamai Muangsamai
First name: BoonchuYYY BoonchuYYY BoonchuYYY
Last name: Muangsamai ใน panel แม ใน panel แม
Birth date: 03/13/1960
Email:
Telephone:
Enter
70
TestID Description Expected Result Actual Result Summary
T017 Precondition : คลกปม
profile Spouse
ระบบแสดงขอมล ระบบแสดงขอมล ✓
Blood groups: B Muangsamai Muangsamai
First name: PattraPPP PattraPPP PattraPPP
Last name: Muangsamai ใน panel คสมรส ใน panel คสมรส
Birth date: 05/20/1988
Email: [email protected]
Telephone: 0855555555
Enter
T018 Precondition : คลกปม
profile Brother/sister
ระบบแสดงขอมล ระบบแสดงขอมล ✓
Blood groups: A Muangsamai Muangsamai
First name:
WeeraponWWW
WeeraponWWW WeeraponWWW
Last name: Muangsamai ใน panel พ�นอง ใน panel พ�นอง
Gender: Male
Birth date: 07/20/1992
Email:
Telephone: 0833333333
Enter
71
TestID Description Expected Result Actual Result Summary
T019 Precondition : คลกปม
profile Child
ระบบแสดงขอมล ระบบแสดงขอมล ✓
Blood groups: A Muangsamai Muangsamai
First name: PeterTTT PeterTTT PeterTTT
Last name: Muangsamai ใน panel ลก ใน panel ลก
Gender: Male
Birth date: 01/01/2011
Email:
Telephone:
Enter
T020 Precondition : คลกปม
profile Father
ระบบแสดงขอความ
“Field is required”
ระบบแสดงขอความ
“Field is required”
✓
คลกปม reset
Blood groups:
First name:
Last name:
Birth date:
Email:
Telephone:
Enter
72
d) Delete family members
TestID Description Expected Result Actual Result Summary
T021 Precondition : login ส
ระบบ
ระบบแสดงขอความ
“Delete successful”
ระบบแสดงขอความ
“Delete successful”
✓
คลกปม Delete ตรงช�อของ
สมาชกครอบครวในตาราง
People in family
พรอมกบ panel และ ช�อ
คนท�ถกลบจะหายไป
พรอมกบ panel และ ช�อ
คนท�ถกลบจะหายไป
e) Calculate blood group
TestID Description Expected Result Actual Result Summary
T022 Precondition : login ส
ระบบ
ระบบแสดงผลลพธ
การคานวณโอกาสการ
เกดหมเลอดเม�อมบตร
ระบบแสดงผลลพธ
การคานวณโอกาสการ
เกดหมเลอดเม�อมบตร
✓
ลากช�อเขา Find genotype
� คน
คลกปม Cal.
T023 Precondition : login ส
ระบบ
ระบบแสดงขอความ
“Please select � people
only!”
ระบบแสดงขอความ
“Please select � people
only!”
✓
คลกปม Cal.
f) Add Friend
TestID Description Expected Result Actual Result Summary
T024 Precondition : คนหา
member
ระบบแสดงขอความ
“Send request to palmy”
ระบบแสดงขอความ
“Send request to palmy”
✓
คลกช�อ Nattapon แลวคลก
ปม
Add friend
73
g) Accept Fiend
TestID Description Expected Result Actual Result Summary
T025 Precondition : login ส
ระบบ
ระบบแสดงขอความ
“Accept friend
successful”
ระบบแสดงขอความ
“Accept friend
successful”
✓
คลกช�อ Chalasai ในตาราง
Request friend
คลกปม Yes
T026 Precondition : login ส
ระบบ
ระบบแสดงขอความ
“Reject this friend”
ระบบแสดงขอความ
“Reject this friend”
✓
คลกช�อ Chalasai ในตาราง
Request friend
คลกปม No
h) Set privacy
TestID Description Expected Result Actual Result Summary
T027 Precondition : login ส
ระบบ
ระบบแสดงขอความ
“People is Public”
ระบบแสดงขอความ
“People is Public”
✓
คลกปม Public เม�อ logout จะเหน ปม
View family.
เม�อ logout จะเหน ปม
View family.
T028 Precondition : login ส
ระบบ
ระบบแสดงขอความ
“People is Private”
เม�อ logout จะไมเหน
ปม View family.
ระบบแสดงขอความ
“People is Private”
เม�อ logout จะไมเหน
ปม View family.
✓
คลกปม Private
74
4.2.3 สวนของผดแลระบบ
b) Delete members
*Admin สามารถจดการและต�งคา Application ,Log ,billing ,Resources และ
Members ได ซ�งในสวนน� Admin จะจดการในเวบ appspot.com (เปน app engine ท�มฟงกชนใน
สวนน�พรอมอยแลว ซ�งจากการทดสอบระบบ กไดผลลพธท�ถกตอง ดงแสดงในภาคผนวก)
75
4.3 การทดสอบการยอมรบจากผใช (จากตวอยางแบบประเมน)
4.3.1 ผลลพธท�ไดจากแบบประเมน
ผลจากากรทาแบบประเมน ในสวนของ ดานองคประกอบ อยในเกณฑ ด
ผลจากากรทาแบบประเมน ในสวนของ ดานตวอกษร อยในเกณฑ ดมาก
ผลจากากรทาแบบประเมน ในสวนของ ดานรปภาพประกอบ อยในเกณฑ ดมาก
ผลจากากรทาแบบประเมน ในสวนของ ดานดานปม และสญลกษณ อยในเกณฑ ดมาก
ผลจากากรทาแบบประเมน ในสวนของ ดานการจดวางองคประกอบตางๆ อยในเกณฑ ด
4.3.2 สรปผลการทดสอบ
อยในเกณฑท�ด ในโดยรวม สวนมากมการแนะนาใหมการเพ�มรปภาพใหมากข�น
และทางผพฒนากนามาแกไขเพ�มเตมแลว
76
บทท� 5
บทสรป
5.� สรปผลการพฒนาระบบและทดสอบระบบ
ระบบการจดการแผนผงครอบครว 2 (Family Tree Management System II) เปน
ระบบท�พฒนาโดยใชเทคโนโลย GWT (Google Web Tool kit) เปน Ajax framework for Java ซ�ง
พฒนาดวยภาษา java ซ�งพฒนาในรปแบบ Web Application โดยใชฐานขอมล DataNucleus เปน
data store ของ Google App Engine เพ�อสนบสนนจดการแผนผงของครอบครว ใหมประสทธภาพ
และสะดวกตอการศกษารายละเอยดของวงศตระกล
ระบบการจดการแผนผงครอบครว 2 (Family Tree Management System II) ได
พฒนาและปรบปรงมาจาก Project I ซ�งผลการพฒนาระบบเปนไปตามความตองการของลกคา
Software Requirement Specification (SRS) ซ� งสรปไดวาโครงงานระบบการจดการแผนผง
ครอบครวท�พฒนาข�นสามารถดาเนนการไดตรงตามวตถประสงคท�วางไวอยางครบถวน
5.� ปญหาและขอเสนอแนะ
1) ลกษณะความสมพนธของครอบครว เม�อนามาเขยนเปน java code จะคอยขางยาก
เน�องจากระบบการจดการแผนผงครอบครว มความตองการท�แนนอนไมสามารถ
พลกแพลงได จงตองมความละเอยดออนในการเขยนโคดเพ�อใหความสมพนธในครอบครวตรงกบ
ความเปนจรง 100% จงคอนขางท�จะทาไดยาก ตางจากเวบท�วไป หากฟงกชนไหนทาไมไดกอาจจะ
ปรบเปล�ยนเลก ๆ นอย ๆ เพ�อใหการทางานออกมาคลายกบแบบท�ตองการ
2) เทคโนโลยใหม จงตองเสยเวลาศกษาจานวนมาก
Smart GWT เปน Library ใหมยงไมคอยมผเช�ยวชาญและคาแนะนาท�ด สาหรบ
การนามาทาเวบไซต ซ�งสวนใหญจะเปนเน�อหาภาษาองกฤษ จงจะตองทดสอบการทางานตางๆ เอง
ท�งหมด และตองทาการทดสอบระบบอยบอย ๆ ตลอด ทก ๆ ฟงกชนท�ทาเพ�มข� นมาใหม เพ�อ
ปองกนขอผดพลาด ดงน�นจงตองมความอดทนสง ในการศกษา ลองผดลองถก และทาการประยกต
ใหเขากบโปรเจคได
77
3) การสบคนขอมลจากฝ�ง server ทาไดชามาก
การตดตอกบฐานขอมลและการดงขอมลจากฐานขอมลมาใชงาน หากเปน
เวบไซตธรรมดา อาจไมตองคานงถงสวนน�มากเพราะไมไดมการตดตอกบ sever อยตลอดเวลา แต
เน�องจากระบบจดการแผนผงครอบครวขอมลในฐานขอมลมจานวนมากและมการ Query หา
ความสมพนธของครอบครวทกคร� ง ซ�งจะตองคนหาหลายช�น หากไมมการจดการในเร�องของการ
ดงขอมลจากฐานขอมลท�ด จะทาใหการทางานของเวบไซตชาลงมาก จงมการแกไขปญหาน� โดย
การ Query ขอมลของครอบครวท�ตองการมาไวในฝ�ง client ท�งหมดและเม�อเรยกดความสมพนธใน
ครอบครวน�นกจะคนหาจากฝ�ง client โดยใชการวนลปหาเอง
4) ความยากของการทา web application ให run อยในหนาเดยว
ระบบการจดการแผนผงครอบครวมเพยง 1 page เทาน�นการทางานท�งหมดจะไมม
การ Refresh หนาขอมลทกอยางจะถกดงข�นมาโชวในหนาเพยงหนาเดยว เพราะฉะน�นจะตองมการ
จดการในเร�องของโคดใหมการเคลยคาตวแปรท�ไมไดใชงานท�งไป วตถแตละตวท�ถกสรางข�นมา
จะถกสรางเพยงคร� งเดยวเทาน�น เม�อถกเรยกใชงานในคร� งตอไปกจะมการเชควาวตถน� เคยถกสราง
แลวหรอไม ถายงไมเคยถกสราง กจะสรางข�นใหมแตถาเคยถกสรางข�นมาแลวกจะใชวตถเดมท�เคย
สรางไวแลวทาใหไมส�นเปลองพ�นท�หนวยความจาและการทาแบบน� จะตองมความละเอยดตอง
เคลยหนวยความจาอยตลอดทาใหตองใชเวลาในการทางานท�มากพอสมควร
เน�องจากระบบไมมการ Refresh หนาเม�อมการเปล�ยนแปลงหรอมการกดปมใดๆ
เกดข� นกจะตองทาจดการใหวตถทกตวใหเปนเหมอนกบการ Refresh หนาเพ�อใหคาตางๆถก
เปล�ยนแปลงไปอยางถกตองส�งน� เปนส�งท�ยากลาบากท�สดท�จะตองใชความละเอยดท�สดในการ
ตรวจสอบคาตางๆเชน
5) ความยากของการทาระบบอยท�การทดสอบระบบใหเปนไปตามความเปนจรงมากท�สด
ยกตวอยางเชน เม�อกดปม login หาก login ผานจะตองส�งbuttonLogin.hide() และ
buttonLogout.show(); น� เปนเพยงแคปมเทาน�นท�ยกตวอยางแตไมไดเปล�ยนแคปมเทาน�น จะตอง
เปล�ยนท�งหนาเวบใหเปนสถานะ login และยงม permissoin ของแตละคนวาผใชคนน� เขามาใน
ระบบแลวจะเหนอะไรบางเปนเร�องท�ตองใชเวลาในการทานานท�สด และตองแกไขขอผดพลาดท�
เปล�ยนแปลงหนาเวบไมตรงกบความเปนจรง
78
5.� แนวทางการปรบปรงระบบ หรองานท�ตองทาตอในอนาคต
1) ดานอนเทอรเฟส
เปนส�งแรกท�จะตองจดทา ใหมความเหมาะสมกบความตองการของผใช โดย
ระบบยงขาดในสวนของ user friendly มาก ๆ ควรออกแบบอนเทอรเฟสใหนาใชงานมากข�น และ
เพ�มขอมลขาวสาร คาแนะนาในการใชงาน รายละเอยดอ�น ๆ เพ�อใหผใชงานเขาใจ การใชงานมาก
ข�น ปรบปรงฟอนต ขนาดตวอกษร ส ตาง ๆ ทาใหระบบนาใชมากข�น
2) ดานฟงกชนการทางาน
- สวน login
เพ�มฟงกชนการก พาสเวรด โดยการสงคาถาม เพ�อถามตอบกบ server
เพ�อให server สงพาสเวรด ใหมมาให
เพ�มฟงกชนการเปล�ยน password
- สวน delete
ปรบปรงฟงกชนการลบเพ�อใหลบไดอยางสมบรณ
- สวน profile
เพ�มฟงกชนการอพโหลดรปโปรไฟลได
เพ�มฟงกชนการอพโหลดเสยงภายในโปรไฟลได
3) ดานภาษา
ทางผ พ ฒนาตองการพฒนาเวบ Application ใหรองรบภาษาไทย เพ�อเนน
ครอบครวของคนไทยเปนหลก ดงน�นจงตองพฒนาใหระบบเปนภาษาไทยท�งหมด
4) ดานฐานขอมล
เน�องจากฐานขอมลท�ใชอย เปนฐานขอมลแบบ Embedded ไมสามารถ View ด
โครงสรางของฐานขอมล (Table (row, column)) ได จงพฒนาระบบไดยาก เพราะตองเขยน Query
แบบ Object ดวยภาษาจาวา เพ�อแสดงขอมลในฐานขอมล ทาใหเสยเวลาและซบซอนมาก ดงน�นจง
ควรเปล�ยนฐานขอมล อาจจะใช MySQL, hsqldb หรอ SAPDB แทน เพ�อจะทาใหออกแบบ และ
จดการกบฐานขอมลไดงายข�น
79
บรรณานกรม
[1] สบคนจาก http://code.google.com/webtoolkit/ [8 พฤศจกายน พ.ศ. 2552]
[2] สบคนจาก http://www.gwtsite.com/ [8 พฤศจกายน พ.ศ. 2552]
[3] สบคนจาก http://www.gwtapps.com/ [8 พฤศจกายน พ.ศ. 2552]
[4] สบคนจาก http://www.gwtnow.com/ [8 พฤศจกายน พ.ศ. 2552]
[5] สบคนจาก http://www.thaijavadev.com/ [8 พฤศจกายน พ.ศ. 2552]
[6] สบคนจาก http://www.smartclient.com/smartgwt/showcase/ [�� พฤศจกายน พ.ศ. 2552]
[7] สบคนจาก https://appengine.google.com/ [�� พฤศจกายน พ.ศ. 2552]
[8] สบคนจาก http://appspot.com/ [�� พฤศจกายน พ.ศ. 2552]
[9] IEEE. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements
Specifications. IEEE Computer Society, 1998.
80
ภาคผนวก ก.
Google App Engine
Google App Engine คออะไร
App Engine คอแพลตฟอรมการพฒนาและการใหบรการพ�นท� Application ของ
Google Google App Engine ชวยใหคณสามารถสราง Application บนเวบท�มอตราการเขาชมสง
โดยไมตองจดการโครงสรางพ�นฐานสาหรบอตราการเขาชมท�สง Application โดยใชเทคโนโลย
เดยวกบท�ขบเคล�อนใหเวบไซตของ Google มความรวดเรวและนาเช�อถอ
ปจจบน Google App Engine มการเผยแพรเพ�อทดลองใชแบบจากด และสามารถ
ใชไดสาหรบนกพฒนาในวงจากดเทาน� น โดยพ�นฐานแลว การเผยแพรเพ�อทดลองใชน� ม
จดประสงคเพ�อใหสามารถพฒนาและทดสอบ Application หากตองการเรยนรเพ�มเตมเก�ยวกบ App
Engine หรอสมครใชงานรนเผยแพรเพ�อทดลองใชน� โปรดไปท� หนาแรกของ Google App Engine
Google App Engine สามารถใชกบ Google Apps ไดสองวธ
1. ระบช�อโดเมนท�กาหนดเองสาหรบ Application ท�ใชงานบนอนเทอรเนต เชน
myapp.com
2. จากดผใชและขอมลของ Application ใหอยในองคกรเดยว เชน
myapp.myorg.com
การระบช�อโดเมนท�กาหนดเองสาหรบ Application Google App Engine
ตามคาเร�มตน เม�อนาบรการไปใชกบ Google App Engine บรการน�นจะสามารถ
เขาถงไดท� [Name Application].appspot.com เพ�อใหเกดประสบการณการใชงาน Application ท�
เนนใหเหนตราสนคามากข�น อาจตองการให Application น�นมอยท� [ตราสนคา-ของฉน].com หรอ
www.[ตราสนคา-ของฉน].com เชนกน เพ�อต� งคาตาแหนงท�ต�งการเขาถงท�มตราสนคาเหลาน�
สาหรบบรการ ซ�งจะตองพสจนวาเปนเจาของช�อโดเมนหรอซ�อช�อโดเมนผาน Google Google App
Engine ทาใหสามารถพสจนความเปนเจาของโดเมนและซ�อช�อโดเมนใหมโดยใช Google Apps
นอกจากน� Google Apps ยงมบรการดานการส�อสารและความรวมมอมากมาย ซ�ง
สามารถใชเพ�อปรบปรง Application โดยส�อสารผานอเมลกบผใช Application โดยใชท�อยอเมลท�ม
ตราสนคาและประสบการณการใชงาน Gmail นอกจากน� ยงสามารถสราง Wiki สาธารณะสาหรบ
บรการ โดยใช Google Sites ดท� http://google.com/a
81
ตวอยางการแสดงการใช Google App Engine ของ Admin
ภาพประกอบ � หนา Log inเพ�อเขาสระบบ โดยจะตองเขาใช ดวย Gmail Account
ภาพประกอบ � แสดง Application ของ Admin ท�ไดทาการอพโหลดไวแลว
82
ภาพประกอบ � หนาแรก เร�ม ไดการ แสดงหนาของ Dashboard
83
ภาพประกอบ � Quata Details
84
ภาพประกอบ � สามรถด Log file ได
ภาพประกอบ � Data store Indexes
ภาพประกอบ � Data store Viewer
85
ภาพประกอบ � Data store Statistics
ภาพประกอบ � Blob View
86
ภาพประกอบ �� Application Setting
87
ภาพประกอบ �� สวนการจดการ Permissions ของผดแล
ภาพประกอบ �� แสดง Version ท�ไดเพ�มเตมเขาไป
88
ภาพประกอบ �� Admin log
ภาพประกอบ �� Billing Settings
89
ภาพประกอบ �� Billing History
90
ภาคผนวก ข.
แบบฟอรมการประเมนสาหรบผใช
แบบประเมนระบบการจดการแผนผงครอบครว 2
ตอนท� � สถานภาพท�วไป
�. เพศ ชาย หญง
�. อาย ....................ป
�. ระดบการศกษา ....................................................
ตอนท� � ภาพรวมของระบบการจดการแผนผงครอบครว 2
คาช�แจง
แบบประเมนเวบไซตฉบบน� ใชสาหรบประเมนเวบไซตดานการศกษา โดยใหผประเมน
ทาเคร�องหมาย ในชองระดบผลการประเมน ดงน�
5 หมายถง ดมาก 4 หมายถง ด 3 หมายถง พอใช 2 หมายถง 1 หมายถง ควรปรบปรง
รายการประเมน ระดบผลการประเมน
สรป 5 4 3 2 1
1. ดานองคประกอบ
1.1 ช�อเรยกเวบไซตและช�อหวเร�องแตละเร�องสอดคลอง
เหมาะสมกบเน�อหา
1.2 การออกแบบโดดเดนแปลกใหมเปนเอกลกษณ
ของตนเอง
1.3 ออกแบบสอดคลองเหมาะสมกบกลมเปาหมาย
1.4 มความสวยงามและนาสนใจ
รวม.....................
ระดบ..................
2. ดานตวอกษร
2.1 ชนดของตวอกษรเปนมาตรฐาน อานงาย ชดเจน
2.2 รปแบบตวอกษรมความเหมาะสม
2.3 ขนาดตวอกษรมความเหมาะสมกบกลมเปาหมาย
รวม.....................
ระดบ..................
91
2.4 สตวอกษรมความเหมาะสมสอดคลองกบเน�อหา
3. ดานรปภาพประกอบ
3.1 ชนดของภาพประกอบเหมาะสม
3.2 ภาพประกอบส�อความหมายตามจดประสงค
3.3 ขนาดของภาพท�แสดงมความเหมาะสม
3.4 จานวนของภาพเหมาะสมไมมากหรอนอยจนเกนไป
รวม.....................
ระดบ..................
5. ดานป ม (Button) และสญลกษณรป (Icon)
5.1 ขนาดเหมาะสมตามกลมเปาหมาย
5.2 ตาแหนงท�จดวางเหมาะสม
5.3 ส�อความหมายไดตรงกบกลมเปาหมาย
5.4 รปแบบและขนาดเหมาะสมกบเน�อหาและ
รวม.....................
ระดบ..................
6. ดานการจดวางองคประกอบตาง ๆ
6.1 มความสมดลเหมาะสม
6.2 มความเปนสากลตรงตามจดประสงค
6.3 มความกลมกลนสอดคลองกบเน�อหา
6.4 จดวางเหมาะสมสะดวกและงายตอการเขาถงเน�อหา
รวม.....................
ระดบ..................
ขอเสนอแนะ
………………………………………………………………………………………………………
………………………………………………………………………………………….……………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
ขอขอบคณในความกรณากรอกแบบสอบถาม
คณะผจดทาระบบการจดการแผนผงครอบครว �