ระบบคนหาสถานท Smart Place
“Where you go with Smart Place”
ปรญ เดยงสา Prin Diangsa
สารนพนธนเปนสวนหนงของการศกษา หลกสตรวทยาศาสตรมหาบณฑต สาขาวชาเทคโนโลยสารสนเทศ
คณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร
ปการศกษา 2558
I
หวขอโครงงาน ระบบคนหาสถานท (Smart Place) นกศกษา นายปรญ เดยงสา รหสนกศกษา 5717670016 ปรญญา วทยาศาสตรมหาบณฑต สาขาวชา เทคโนโลยสารสนเทศ พทธศกราช 2558 อาจารยผควบคมโครงงาน ผชวยศาสตราจารย ดร.หมดอามน หมนหลน
บทคดยอ
โครงงานน จดท าขนโดยมวตถประสงคเพอตอบสนองความตองการสบคนหาสถานทตางๆ เมอผใชงานตองการจะเดนทางไปสถานทนนๆ โดยทไมเคยไปมากอนผานระบบมอถอ ซงระบบจะเกบรวบรวมขอมลทจ าเปน รวมทงแผนทในการเดนทางไปยงจดหมายได นอกจากนระบบสามารถทจะเพมสถานทตางๆ เหลานนไดดวยผใชงานเอง ระบบยงสามารถก าหนดจดพกดสถานท เชน โรงเรยน รานคา โรงพยาบาล สถานทราชการตางๆ เปนตน และยงสามารถเพมรปภาพทตองการน าเสนอได
II
กตตกรรมประกาศ
การศกษาและทดลองของโครงงานน ประสบความส าเรจไดดวยความกรณาและความชวยเหลอจากคณาจารยและผทรงคณวฒหลายทาน ทไดกรณาสละเวลาและใหค าปรกษาเปนอยางด โดยเฉพาะอยางยง อาจารยทปรกษาโครงงาน ผชวยศาสตราจารย ดร.หมดอามน หมนหลน ทกรณาใหค าปรกษา แนะน าแนวทางและตรวจสอบแกไขขอบกพรองอนเปนประโยชนส าหรบการด าเนนโครงงานน ท าใหการศกษาและทดลองในครงนส าเรจลลวงไดเปนอยางด ขาพเจาขอกราบขอบพระคณเปนอยางสง ณ โอกาสนดวย
ขอกราบขอบพระคณบดา มารดา ทใหค าปรกษาในเรองตางๆ และขอขอบคณเพอนๆ MSIT10 ทกคนทคอยชวยเหลอและเปนก าลงใจทดเสมอมา
ปรญ เดยงสา 12 สงหาคม 2558
III
สารบญ หนา
บทคดยอ I กตตกรรมประกาศ II สารบญ III สารบญรป IV สารบญตาราง VI บทท 1 บทน า
1.1 ความเปนมาและความส าคญของปญหา 1 1.2 ภมหลงและความเปนมา 1 1.3 ปญหาและแรงจงใจ 1 1.4 แนวทางการแกปญหา 2 1.5 วตถประสงคของโครงงาน 3 1.6 ขอบเขตของโครงงาน 3 1.7 ประโยชนทคาดวาจะไดรบ 4 1.8 ขนตอนการด าเนนงาน 4 1.9 ระยะเวลาในการด าเนนงาน 5
บทท 2 พนฐานและทฤษฎทเกยวของ 2.1 กลาวน า 6
2.2 Apple Map 6 2.3 ยเอมแอล (UML : Unified Modeling Language) 7 2.4 Xcode Program 24 2.5 MySQL 31 2.6 PHP 33
บทท 3 การออกแบบระบบ 3.1 กลาวน า 36 3.2 โครงสรางของระบบ 36 3.3 Use case diagram 37 3.4 Activity diagram 43 3.5 Sequence diagram 48 3.6 Conceptual Class Diagram of Leave Application On mobile 53
IV
สารบญ(ตอ) หนา
บทท 4 การพฒนาและผลการด าเนนงาน 4.1 เครองมอและอปกรณทใชในการพฒนาระบบ 54 4.2 ผลการด าเนนการของ Smart Place Application 54
บทท 5 สรปผลโครงการ 5.1 สรปผลโครงการ 78 5.2 ปญหาและอปสรรคจากการพฒนาโครงงาน 78 5.3 ขอเสนอแนะ 78
เอกสารอางอง 79ภาคผนวก 80
V
สารบญรป หนา
รปท 1.1 ภาพรวมโครงสรางของระบบคนหาสถานท 2 รปท 2.1 ภาพแสดง Apple Maps 6 รปท 2.2 ภาพแสดง Interaction 7 รปท 2.3 ภาพแสดง State 8 รปท 2.4 ภาพแสดง Package 8 รปท 2.5 ภาพแสดง Node 8 รปท 2.6 ภาพแสดง Dependency 9 รปท 2.7 ภาพแสดง ตวอยางความสมพนธแบบ Dependency 9 รปท 2.8 ภาพแสดง Association 10 รปท 2.9 ภาพแสดง ตวอยางความสมพนธแบบ Association 10 รปท 2.10 ภาพแสดง ตวอยางความสมพนธแบบ Shared Association 11 รปท 2.11 ภาพแสดง ตวอยางความสมพนธแบบ Composite Aggregation 11 รปท 2.12 ภาพแสดง Generalization 11 รปท 2.13 ภาพแสดง ตวอยางความสมพนธแบบทวไป (Generalization Relationship) 11 รปท 2.14 ภาพแสดง Realization 12 รปท 2.15 ภาพแสดง Models and Diagrams 12 รปท 2.16 ภาพแสดง Use Case Name 13 รปท 2.17 ภาพแสดง Primary Actor และ Stakeholder Actor 14 รปท 2.18 ภาพแสดง Include Relationship 15 รปท 2.19 ภาพแสดง Extending Use Case 15 รปท 2.20 ภาพแสดง Generalization/Specialization Relationship 16 รปท 2.21 ภาพแสดง System Name 16 รปท 2.22 ภาพแสดง การสงเมสเสจระหวางออบเจกต 18 รปท 2.23 ภาพแสดง Time 18 รปท 2.24 ภาพแสดง Class Diagram 19 รปท 2.25 ภาพแสดง การสบทอดคณสมบต (Generalization) 20 รปท 2.26 ภาพแสดง Aggregation 20 รปท 2.27 ภาพแสดง Composition 21 รปท 2.28 ภาพแสดง Association 21 รปท 2.29 ภาพแสดง Multiplicity 22 รปท 2.30 ภาพแสดง Activity Diagram 23
VI
สารบญ (ตอ) หนา
รปท 2.31 ภาพแสดง Welcome to Xcode 25 รปท 2.32 ภาพแสดง Create Project by Xcode 25 รปท 2.33 ภาพแสดง Choose options for your new project 26 รปท 2.34 ภาพแสดง Choose location path 26 รปท 2.35 ภาพแสดง หนาจอของ Tools Xcode 27 รปท 2.36 ภาพแสดง หนาจอเลอกชนด Project 27 รปท 2.37 ภาพแสดง Master-Detail Application 28 รปท 2.38 ภาพแสดง OpenGL Game 28 รปท 2.39 ภาพแสดง Page-Based Application 29 รปท 2.40 ภาพแสดง Single View Application 29 รปท 2.41 ภาพแสดง Tabbed Application 30 รปท 2.42 ภาพแสดง Game 30 รปท 3.1 โครงสรางของระบบคนหาสถานท (Smart Place) 36 รปท 3.2 User case diagram ของระบบ Leave Application On mobile 37 รปท 3.3 Use case Login & Register 38 รปท 3.4 Use case Show Map 39 รปท 3.5 Use case Location Type 40 รปท 3.6 Use case Location Search 41 รปท 3.7 Use case Location New 42 รปท 3.8 Activity diagram Login & Register 43 รปท 3.9 Activity diagram Show Maps 44 รปท 3.10 Activity diagram Location Type 45 รปท 3.11 Activity diagram Location Search 46 รปท 3.12 Activity diagram Location New 47 รปท 3.13 แผนภาพ Sequence diagram of Show Map 48 รปท 3.14 แผนภาพ Sequence diagram of Location Type 49 รปท 3.15 แผนภาพ Sequence diagram of Location Search 50 รปท 3.16 แผนภาพ Sequence diagram of Location New 51 รปท 3.17 แผนภาพ Sequence diagram of Login & Register 52 รปท 3.18 แผนภาพ Conceptual Class Diagram of Smart Place database 53
VII
สารบญ (ตอ) หนา
รปท 4.1 แผนภาพ หนา Icon ของ Smart Place 54 รปท 4.2 แผนภาพ หนา Login ของ Smart Place 55 รปท 4.3 แผนภาพ หนาสมครสมาชกใหม 55 รปท 4.4 แผนภาพ กรอกขอมลเพอสมครสมาชก 56 รปท 4.5 แผนภาพ กรอกขอมลเพอสมครสมาชก 56 รปท 4.6 แผนภาพ Login เขาสระบบ 57 รปท 4.7 แผนภาพ แสดงการเขาสระบบ 57 รปท 4.8 แผนภาพ location ปจบนของผใชระบบ 58 รปท 4.9 แผนภาพ การคนหาสถานท 58 รปท 4.10 แผนภาพ แสดงปมเพอใหสามารถเดนเนนการ 59 รปท 4.11 แผนภาพ แสดงเสนทางในการเดนทางจากตนทางไปยงปลายทาง 59 รปท 4.12 แผนภาพ แสดงการเรมน าทาง 60 รปท 4.13 แผนภาพ จากดาวเทยม 60 รปท 4.14 แผนภาพ แสดงขอมลในการเดนทาง 61 รปท 4.15 แผนภาพ แสดงปมการแชร Location ทางขอความ 61 รปท 4.16 แผนภาพ แสดงการแชร Location ทางขอความ 62 รปท 4.17 แผนภาพ แสดงการแชร Location ทาง Email 62 รปท 4.18 แผนภาพ ขอความทาง Mail 63 รปท 4.19 แผนภาพ แสดงการการเตอนความจ า 63 รปท 4.20 แผนภาพ แสดง Options การแจงเตอน 64 รปท 4.21 แผนภาพ แสดง การแชรสถานทผาน Social Online 64 รปท 4.22 แผนภาพ แสดงใสขอความทตองการแชร 65 รปท 4.23 แผนภาพ ผลของการแชร location 65 รปท 4.24 แผนภาพ Login เขาสระบบ 66 รปท 4.25 แผนภาพ แสดงประเภทของสถานท 66 รปท 4.26 แผนภาพ ประเภทของสถานทในแผนท 67 รปท 4.27 แผนภาพ เลอกหมดจะแสดงชอของสถานท 67 รปท 4.28 แผนภาพ แสดงมมมองแบบดาวเทยม 68 รปท 4.29 แผนภาพ เลอกกดปมคนหาสถานท 68
VIII
สารบญ (ตอ) หนา
รปท 4.30 แผนภาพ คนหาขอมลตามชอสถานท 69 รปท 4.31 แผนภาพ คนหาเพอระบบจะไปท าการคนหาจากฐานขอมล Smart Place 69 รปท 4.32 แผนภาพ แสดงผลการคนหาทงหมดจากฐานขอมล Smart Place 70 รปท 4.33 แผนภาพ แสดงหมดบนแผนท 70 รปท 4.34 แผนภาพ แสดงชอสถานท 71 รปท 4.35 แผนภาพ สรางสถานท 71 รปท 4.36 แผนภาพ กรอกขอมลเพอสรางสถานทใหม 72 รปท 4.37 แผนภาพ ระบบจะ default คาเรมตน 72 รปท 4.38 แผนภาพ แสดงผลการเพมขอมลไดส าเรจ 73 รปท 4.39 แผนภาพ ระบบจะแสดงหมดทสรางขนมาใหม 73 รปท 4.40 แผนภาพ ดสถานททผใชสรางมาทงหมด 74 รปท 4.41 แผนภาพ ระบบแสดงขอมลทงหมดทผใชงานสรางสถานทขนมา 74 รปท 4.42 แผนภาพ ระบบจะแสดงหมดบนพนท 75 รปท 4.43 แผนภาพ จดเกบการ login ของผใชงาน 75 รปท 4.44 แผนภาพ โครงสรางตาราง tbUser 76 รปท 4.45 แผนภาพ ขอมลทใชจดเกบในตาราง location 76 รปท 4.46 แผนภาพ โครงสรางของตาราง locations 77 รปท ก-1 ER-Diagram 88
IX
สารบญตาราง หนา
ตารางท 1.1 ระยะเวลาในการด าเนนงาน 5 ตารางท 3.1 Use case Login & Register 38 ตารางท 3.2 Use case Show Map 39 ตารางท 3.3 Use case Location Type 40 ตารางท 3.4 Use case Location Search 41 ตารางท 3.5 Use case Location New 42 ตารางท ก-1 Data Dictionary of location 81 ตารางท ก-2 Data Dictionary of tbUser 81
1
บทท 1 บทน า
1.1 ความเปนมาและความส าคญของปญหา
เนองจากในปจจบนนเทคโนโลยระบบสารสนเทศไดมการพฒนาศกยภาพใหสงขน องคกรตางๆ ทงภาครฐและเอกชน ไดน าเอาระบบสารสนเทศเขามาชวยเพมศกยภาพการท างานขององคกร ทงงานดานเอกสาร การสอสาร กระบวนการผลต หรอแมแตกระบวนการตดสนใจของผบรหาร และยงเปนแหลงขอมลเพอใชในการสบคนหาสถาทตางๆ ได เพอใหมความสามารถในการใชงานมความงาย สะดวกทนตอการด าเนนธรกจ และการสบคนขอมล ซงสามารถประมวลผลขอมลทมปรมาณมากไดอยางรวดเรวและมประสทธภาพ สามารถตอบสนองการท างานของผใชไดทกททกเวลาอยางไมจ ากด อกทงอปกรณอเลกทรอนกสในปจจบนไดพฒนาใหรองรบระบบสารสนเทศไดอยางมประสทธภาพ ตวอยางเชน อปกรณมอถอสมารทโฟน (Smart Phone) และอปกรณแทบเลต (Tablet) 1.2 ภมหลงความเปนมา การเดนทางไปสถานทตางๆโดยทไมเคยไปมากอนบางครงอาจท าใหเสยเวลาในการเดนทางไปกวาจะถงจดหมายตองลองผดลองถก และบางครงการเดนทางไปท าธระอาจจะตองท าหลายอยางในการเดนทางในคราวเดยวซงการท าธระนนอาจจะอยในคนละสถานท หากไมมวางแผนในการเดนทางหรอไมรเสนทางทตองการไปจะท าใหเกดความลาชาหรอเสยเวลาไมเปนไปตามแผนทตงใจไวได 1.3 ปญหาและแรงจงใจ ปจจบนการเดนทางไปในสถานทตางๆ ทไมเคยไปมากอนหากตองการทราบสถานทนนตองอาศยการสอบถามขอมลจากเจาของพนท หรอคนทเคยไปสถานทนนมากอน แลวเมอไดขอมลจงเดนทางตามค าบอกกลาวจากคนเหลานนน หรอบางครงการเดนทางตองลองผดลองถก หรอบางครงเดนทางไปทองเทยวในสถานททองเทยวตางๆโดยไมมขอมล ในการทองเทยวครงนนอาจจะท าใหไมมความสขได จงจ าเปนจะตองม Application เพอใหในการสบคนขอมลวาสถานทนนมอะไรบาง รานอาหารทคนนยมอยตรงไหน แหลงซอของฝาก โรงเรยน โรงพยาบาล ธนาคาร โรงแรม และอนๆ เปนตน จากทกลาวมาขางตนพบวาเปนปญหาในการเดนทางไปสถานทตางๆ ทไมเคยไป หรอความตองการทจะไปอยางเชน
1.3.1 ไมทราบต าแหนงทตงของสถานททตองการจะเดนทางไปทแนนอน 1.3.2 ไมมขอมลสถานทใกลเคยงกบสถานททตองการเดนทางไป 1.3.3 ไมรเสนทางในการเดนทางไปสถานทนนๆ
2
1.4 แนวทางการแกปญหา จากปญหาและอปสรรคทไดกลาวในขางตนทไดกลาวมาแลวนน ไดมแนวทางในการแกปญหาโดยการพฒนาโปรแกรมประยกต ทชอวาระบบคนหาสถานท(Smart Place) บนอปกรณสมารทโฟนและแทบเลตระบบปฏบตการ iOS เนองดวยอปกรณสมารทโฟนและแทบเลตนนเปนอปกรณทผใชสามารถใชตดตอสอสารไดตลอดเวลา จากปญหาและอปสรรคทไดกลาวในขางตน ไดมแนวทางในการแกปญหาโดยการพฒนาโปรแกรมประยกตบนอปกรณสมารทโฟนและแทบเลตระบบปฏบตการ iOS เนองดวย อปกรณสมารทโฟนและแทบเลตนนเปนอปกรณทผใชสามารถใชตดตอสอสารไดตลอดเวลา การพฒนาโปรแกรมใชภาษา Swift รนบนระบบปฏบตการ iOS เชอมตอกบฐานขอมลโดยผานเทคโนโลยการแลกเปลยนขอมลดวยภาษา PHP (Personal Hypertext Processor)/JSON (JavaScript Object Notation) บนWeb Service โดยมโครงสรางของระบบงานดงรปท 1.1
รปท 1.1 ภาพรวมโครงสรางของระบบคนหาสถานท โดยรายละเอยดกระบวนการท างานของโปรแกรมมดงน
1.4.1 ขนตอนท 1 ผใชรองขอใชบรการระบบคนหาขอมลทอยปจจบนไปยง Apple Map 1.4.2 ขนตอนท 2 Apple Map สงขอมลพกดและต าแหนงผานระบบ GPS
กลบมาแสดงผล 1.4.3 ขนตอนท 3 Smart Place Application สงค ารองขอเพอระบต าแหนง และ
สถานททไกลเคยง ไปยงฐานขอมลของระบบ Smart Place 1.4.4 ขนตอนท 4 Smart Place Database จะท าการสงขอมลสถานทมายงอปกรณ
มอถอ (Smart Place Application)
3
1.4.5 ขนตอนท 5 สงค ารองขอคนหาขอมลสถานทตองการคนหา ไปยง Apple Map 1.4.6 ขนตอนท 6 Apple Map จะท าการสงขอมลการคนหาสถานท ทตองการคนหา
กลบมายงอปกรณมอถอ (Smart Place Application) 1.4.7 ขนตอนท 7 ผใชรองขอขอมลของสถานทนนๆ ไปยงฐานขอมลของระบบ
Smart Place (Smart Place Database) 1.4.8 ขนตอนท 8 Smart Place Database ตอบกลบการคนหาขอมลสถานท
รายละเอยด และComment มายงอปกรณมอถอ (Smart Place Application) 1.4.9 ขนตอนท 9 ผใชงานสงขอมลเพอสรางสถานท (Location) เพอไปจดเกบบน
ฐานขอมลของระบบ Smart Place (Smart Place Database) 1.4.10 ขนตอนท 10 ฐานขอมลของระบบ Smart Place (Smart Place Database)
ตอบกลบสถานะการสรางสรางสถานท (Location) ใหม
1.5 วตถประสงคของโครงงาน 1.5.1 เพอสบคนขอมลต าแหนงและเสนทางของสถานทตางๆ 1.5.2 เพอใชเปนแหลงขอมลและการโปรโมทสถานทใหผใชงานไดรบทราบ 1.5.3 เพอใชในการคนหาสถานทโดยรอบต าแหนงทอยของผใชงานปจจบน หรอ
แหนงทตองการคนหา 1.5.4 เพอใชเปนคมอการเดนทางไปยงสถานทตางๆซงจะมรายละเอยดตางๆของ
สถานทนนๆดวย 1.5.5 เพอใชในการน าทาง หรอขอมลเสนทางในการเดนทางไปสถานทตางๆ
1.6 ขอบเขตของโครงงาน โปรแกรมคนหาสถานท (Smart Place) เปนโปรแกรมทออกแบบมาเพอคนหาขอมล
ของสถานทตางๆ ทเราตองการรบทราบรวมทงต าแหนงทตงของสถานทตางๆ เหลาเชน วด โรงเรยน โรงพยาบาล รานอาหาร สถานททองเทยว ทพก และอนๆ เปนตน เพอใหผใชงานสามารถคนหาขอมลสถานทเหลานนและสามารถเดนทางไปยงสถานทดงกลาวไดถกตองรวมทงเปนขอมลประกอบการตดสนใจในการใชบรการและการเดนทาง โดยมขอบเขตการท างานดงตอไปน
1.6.1 โปรแกรมคนหาสถานท (Smart Place) สามารถสราง Location ใหมๆ และยงแจกจาย Location เหลานนใหคนอนอกดวย
1.6.2 ระบบจะท าการคนหาต าแหนงปจจบนและสถานทใกลเคยง ตามประเภททตองการรบทราบ
1.6.3 ระบบสามารถแสดงผลการคนหาสถานทตางๆ ไดรวมทงเสนทางในการเดนทางไปยงสถานทแหงนน
4
1.6.4 ระบบสามารถคนหาสถานทโดยแบงออกตามประเภทของสถานททตองการทราบได
คนหาสถานท และสถานทไกล เคยงตามประเภททตองการได เชน หนวยงานราชการ เอกชน สถานททองเทยว ทพกโรงแรม รานอาหารหรอภตคาร สถานบนเทง กจกรรม ชอปปง เดนทาง บรการ สถานบรการน ามน สถานศกษา โรงพยาบาล คลนก รานคา รานสะดวกซอ สถานททางศาสนา ธนาคาร เอทเอม กจการสวนตว เปนตน
เมอเจอสถานททเราตองการ สามารถคลกเขาไปดขอมล และแผนทการเดนทางได
สามารถแชร ไปยง Facebook ได
1.7 ประโยชนทคาดวาจะไดรบ ประโยชนทคาดวาจะไดรบจากโปรแกรมคนหาสถานท(Smart Place) คอ 1.7.1 เพออ านวยความสะดวกในการเดนทางไปยงสถานทตางๆ 1.7.2 เพอสามารถคนหาสถานทใกลเคยงไดงาย 1.7.3 เพอใชในการโปรโมทสถานท 1.7.4 เพอเปนแหลงการสบคนต าแหนง และขอมลของสถานทเหลานน
1.8 ขนตอนการด าเนนงาน 1.8.1 เกบรวบรวมขอมลและศกษาปญหาระบบทใชงานในปจจบน 1.8.2 ส ารวจความตองการของผใชงาน 1.8.3 ออกแบบระบบงานและโปรแกรม 1.8.4 พฒนาโปรแกรม 1.8.5 ทดสอบโปรแกรมและการใชงาน 1.8.6 ตรวจสอบและแกไขขอผดพลาด 1.8.7 จดท าคมอการใชโปรแกรม
5
ตารางท 1.1 ระยะเวลาในการด าเนนงาน 1.9 ระยะเวลาในการด าเนนงาน
6
บทท 2 พนฐานและทฤษฎทเกยวของ
2.1 กลาวน า
ในปจจบนไดมการน าเทคโนโลยสารสนเทศเขามามสวนรวมในการด าเนนชวตและอ านวยความสะดวกในการคนหาขอมลท าใหผใชอปกรณมอถอมความรวดเรวในการคนควาขอมลเพอด าเนนชวตประจ าวนรวมทงการรบสงขอมลขาวสารไดอยางรวดเรว และยงใชขอมลเหลานนประกอบการตดสนใจในเรองตางๆ ในบทนไดกลาวถงทฤษฏและหลกการทเกยวของทน ามาใชแกปญหา โดยการน าหลกการเหลานนมาใชในการพฒนาโปรแกรมการคนหาสถานท(Smart Place) เพอใชเปนเครองมอในการคนหาสถานทตางๆทเราสนใจดวยมอถอ (Smart phone) ผานทางโมบายแอพพลเคชน 2.2 Apple Maps
Apple Maps จบมอกบ foursquare เพอเปนพนธมตรขอมลทางดานแผนท โดยขอมลบรษทหางรานตางๆ บน foursquare จะถกเพมลงไปในแผนทของ Apple เพอทตองการใหตวเองมขอมลสถานทตางๆ มากทสดเทาทจะเปนไปได ซงมการจดเกบขอมลเสนทางทหลากหลายเชน ขอมลระบบขนสงสาธารณะ ไมวาจะเปนรถไฟใตดน รถประจ าทาง รถไฟ และเรอเฟอรร เพอแสดงเสนทางการเดนทางและสถานใหคณบนแผนทเลย โดยคณสมบตนไดรบการออกแบบมาเฉพาะส าหรบแตละเมองทมบรการ ดงรปภาพท 2.1
รปท 2.1 ภาพแสดง Apple Maps
7
2.3 ยเอมแอล (UML: Unified Modeling Language) 2.3.1 ภาษา UML
ภาษา UML เปนภาษาทมรปภาพมาตรฐาน (Standard Visual Modeling Language) และเปนภาษาสากลทใชในการวเคราะหออกแบบและพฒนาระบบซอฟตแวรเชงวตถ ดงนนเอกสารการวเคราะหและออกแบบทถกสรางดวยภาษา UML จงสามารถแลกเปลยนและท าความเขาใจตรงกนไดระหวางผรวมงานภายในกลมผพฒนาระบบ ภาษา UML มคณสมบตทสามารถน าเสนอและสนบสนนหลกการเชงวตถไดอยางครบถวนชดเจนและไมผกตดกบภาษาโปรแกรมภาษาใดภาษาหนง รปแบบทถกสรางขนจากภาษา UML สามารถถกแปลงไปเปนระบบจรงทถกสรางขนดวยภาษาโปรแกรมเชงวตถใดกได อกทงภาษา UML เปนภาษาทงายตอการท าความเขาใจ ผทท าการศกษาหรอน าไปใชงานไมจ าเปนตองมความรอนใดนอกจากแนวคดเชงวตถ จากการทภาษา UML เปนภาษาทมมาตรฐาน ผออกแบบและพฒนาจงจ าเปนตองศกษาไวยากรณ (Syntax) หรอโครงสรางของภาษา UML กอนน าไปใชงาน ภาษายเอมแอล ประกอบดวยองคประกอบยอย 3 สวน คอ 2.3.1 .1. สญลกษณทวไป (Things)
Things คอ สญลกษณหรอสงตางๆ ทน ามาใชสราง Diagram UML แบงออกเปน 4 หมวด คอ
หมวดโครงสราง (Structural Things) Structural Things หรอ หมวดโครงสรางเปนค านามใชส าหรบ uml สวนใหญจะเปน
สวน static ไดแก Use case, Interface, Class Collaboration, Component, Node หมวดพฤตกรรม (Behavioral Things)
Behavioral Things หรอ หมวดพฤตกรรม ไดแกสวนทเปน dynamic แสดงถงพฤตกรรมของระบบ ประกอบดวย 2 สวนใหญๆ คอ
Interaction กรยาของขาวสารระหวางวตถ ดงรปภาพท 2.2
รปท 2.2 ภาพแสดง Interaction
8
State machine สถานะของล าดบและวตถเปนพฤตกรรมทบอกใหทราบล าดบขนตอนของ state ท object ตอบสนองตอเหตการณตาง ๆ ดงรปภาพท 2.3
รปท 2.3 State
หมวดการจดกลม (Grouping Things) Grouping Things หรอ หมวดการจดกลมหม ไดแก package package กลมกอนทหอรวมกนอยางมโครงสรางและพฤตกรรม Grouping
things คอการน าสวนประกอบตางๆ มารวมกนภายใตเงอนไขบางประการ โดยเรยกกลม ๆ นวา Package ดงรปภาพท 2.4
รปท 2.4 Package
หมวดค าอธบาย (Annotation Things) Annotation Things หรอ หมวดค าอธบาย ไดแก note note องคประกอบขณะประมวลผล เปน element ทเกดขนในชวง runtime
เทานน โดยแสดงขนาดของทรพยากร เชนหนวยความจ า หรอความสามารถในการประมวลผล เปนตน ดงรปภาพท 2.5
รปท 2.5 Node
9
2.3.1.2 ความสมพนธ (Relationships) เปนสงทใชแสดงความสมพนธระหวางสญลกษณทวไปม 4 ชนด คอ ความสมพนธแบบขนตอกน (Dependency Relationship)
เปนความสมพนธทเกดขนจากการท างานของคลาสหนงทมลกษณะขนอยกบคลาสอน ๆ ความสมพนธทเกดขนนจะมระยะเวลาสนๆ ใน UMLความสมพนธแบบนอาจสรปการท างานไดดงน
ออปเจคอาจสรางออปเจคอนในลกษณะทเปนสวนหนงของเมธอด เพอรองขอใหเกดการกระท าสงใดส งหนงจนกระทงเสรจสนและความสมพนธนนๆ จะสนสดลงทนท
ออปเจคอาจท าการสรางออปเจคอนในลกษณะทเปนสวนหนงของ เมธอด เพอกระท าสงใดสงหนงและคนคากลบไปยงเมธอดทเรยกใช
ออปเจคอาจเรยกใชเมธอดทรบคาพารามเตอรในรปของของออปเจค เพอใช และแกไขขอมลภายในออปเจคนนๆ จากนนความสมพนธจะสนสดลงเมอการท างานของเมธอดเสรจสน ดงรป 2.6 และตวอยางดงรปท 2.7
รปท 2.6 ภาพแสดง Dependency
ตวอยางความสมพนธแบบ Dependency
รปท 2.7 ภาพแสดง ตวอยางความสมพนธแบบ Dependency
10
ความสมพนธแบบเกยวของกน (Association Relationship) ความสมพนธแบบนจะคลายกบความสมพนธแบบ Dependency แตจะ
แตกตางกนตรงทชวงเวลาทเกดความสมพนธกนจะมระยะเวลานาน และมลกษณะเปนความสมพนธแบบโครงสราง
ความสมพนธแบบนอาจสรางขนไดโดยการการก าหนดคลาสอนในรปของ แอททรบวตภายในคลาส และสามารถเรยกใชเมธอดจากคลาสนนไดในกรณทตองการ
ความสมพนธแบบนอาจถกมองในรปของการมอย (has-a) ได เชน ออปเจคจากคลาสหนงมคาอางองไปยงออปเจคจากคลาสอนได ดงรปท 2.8 และตวอยางดงรปท 2.9
รปท 2.8 ภาพแสดง Association
รปท 2.9 ภาพแสดง ตวอยางความสมพนธแบบ Association
Aggregation
เปนรปแบบหนงของ Association ซงมความสมพนธระหวางWhole และParts โดยเรยกความสมพนธนวา Whole -part ซงAggregation (Whole-part ) นยงแบงออกเปน 2 รปแบบคอ แบบShared Aggregation และComposite Aggregation
Shared Aggregation ความสมพนธแบบเปนสวนหนงของ (a part of ) โดยจะมคลาสทใหญ
ทสดเปนออบเจกตหลก และมคลาสอน ๆ เปนสวนหนงของออบเจกต ดงรปท 2.10 ทสามารถแยกจากกนได
11
รปท 2.10 ภาพแสดง ตวอยางความสมพนธแบบ Shared Association
Composite Aggregation ความสมพนธทมความของเกยวกนเสมอ เชน หองเรยนจะไมสามารถมไดหากไมมนกศกษา ดงรปท 2.11
รปท 2.11 ภาพแสดง ตวอยางความสมพนธแบบ Composite Aggregation
ความสมพนธแบบทวไป (Generalization Relationship) คณสมบตของสงหนงเปนคณสมบตพนฐานของอกสงหนงซงอาจจะมคณสมบตมากกวาคณสมบตพนฐานนน หรอการสบทอดคณสมบต หรอ Inheritance ดงรปท 2.12
รปท 2.12 ภาพแสดง Generalization
ตวอยาง ความสมพนธแบบทวไป (Generalization Relationship) ดงรป 2.13
รปท 2.13 ภาพแสดง ตวอยางความสมพนธแบบทวไป (Generalization Relationship)
12
ความสมพนธแบบตนแบบ (Realization Relationship) สงหนงถกสรางใหม
คณสมบตของอกสงหนง หรอ การท าใหท างานไดจรง เชน Interface ถก Realize โดย Class, Use case ถก Realize โดย Collaboration ดงรป 2.14
รปท 2.14 ภาพแสดง Realization
2.3.1.3 Diagrams
ใน UML ประกอบดวยโมเดลจ านวนหนงทน าเอามาใชรวมกนเพอการด าเนนงานโครงการซอฟตแวร Diagram ของ UML แบงออกไดเปน 9 Diagram หลก ดงรปท 2.15 คอ
รปท 2.15 ภาพแสดง Models and Diagrams
Use case Diagram ในการพฒนาระบบงานใดๆ นน การเกบรวบรวมความตองการของผใชมความส าคญ
มาก และจะท าในระยะแรกๆ ของการพฒนาระบบงานเสมอ Use case diagram เปน Diagram ทท าหนาท Capture requirement ดงนน Use Case Diagram จงเปนแผนภาพทแสดงการท างานของผใชระบบ (User) และความสมพนธกบระบบยอย (Sub systems) ภายในระบบงาน ในการเขยน Use Case Diagram
13
เปนเทคนคในการสรางแบบจ าลองเพอใชอธบายหนาทของระบบใหม หรอระบบปจจบน
กระบวนการสราง Use case เปนแบบ Iteration ความตองการของระบบจะไดจาก ลกคา/ผใช + ผพฒนาระบบ องคประกอบจะม Use case, Actor, Use case Relation และ System
Use Case
ระบบยอย (Sub systems) คอ Use Case ดงนนจดประสงคหลกของการเขยน Use Case Diagram กเพออธบายการท างานของระบบออกมาเปนรปภาพทเขาใจไดงาย ซง Use Case เกดจากมมมองของผใชระบบ หรอเปนสวนหนงในมมมองของผใชระบบทกระท าตอระบบ หรออาจจะมองไดวาคอการอธบายฟงกชนการท างานตางๆ ของระบบทงหมด ซงเรยกทบศพทวา Use Case โดยปกตแลวเราสามารถสรางแตละ Use Case ขนมาโดยอาศยการสมภาษณจากกลมผใชระบบ การสมภาษณกลมคนเหลานนทเราจะไปท าการสมภาษณแตละคน กคอ Actor หรอผใชระบบนนเองจรงๆ แลว Actor ยงมความหมายรวมถงสงอนๆ ทอยนอกระบบซงสามารถท าการตดตอกบระบบได ซงใชสญญาลกณดงรป 2.16
รปท 2.16 ภาพแสดง Use Case Name
องคประกอบของ Use Case มดงตอไปน
ชอของ Use Case เปนการก าหนดชอของ Use Case ตวน ชอทใชควรสอความหมายไดชดเจนและเขาใจงาย ไมควรยาวเกนไป
ภาพรวมของการท างาน (Overview) อธบายภาพการท างานโดยรวมของUse Case Actor หลก (Primary Actor) ใครคอผใชของ Use Case จากตวอยาง Use Case
ของ Create Order ผใชคอ ตวแทนฝายขายสนคา Actor รอง (Secondary Actor) ใครคอผใชอนๆนอกเหนอจาก Actor หลกทเปน
ผใชUse Case ตวน จดเรมตน (Starting Point) เปนการอธบายเงอนไขหรอขอก าหนดตางๆ ณ
จดเรมตนของ Use Case จดสนสด (End point) คลายกบจดเรมตนเปนการอธบายเงอนไขหรอขอก าหนด
ตางๆ ณ จดสนสดการท างานของ Use Case
14
การท างานของ Use Case (Flow of Events) อธบายขนตอนของการท างานของ Use Case
การท างานของ Use Case เมอมปญหาเกดขน (Alternative Flow of Events) ในกรณเมอมปญหาใดๆเกดขน และท าใหการท างานตามปกตของ Use Case ไมสามารถด าเนนตอไปได จะท าใหมการสงตอการท างานของ Use Case จากขนตอนการท างานปกต (ในสวนของการท างานของ Use Case) มาทสวนนเพอแจงให Actor ทราบขอปญหาทเกดขน
ผลของการท างานของ Use Case (Measurable Result) จะแสดงใหเหนวาเมอเสรจสนการท า งานของ Use Case
Actor
คอ ผเกยวของกบระบบ ซงรวมทง Primary Actor และ Stakeholder Actor ทเปนมนษย ในทนจะใชสญลกษณรปคน (Stick Man Icon) เหมอนกน พรอมทงเขยนชอ Actor ไวดานลางของสญลกษณดวย แตหากเปน Actor ทไมใชมนษย เชน ระบบงานอนทอยนอกเหนอระบบทเราสนใจ จะใชรปสเหลยมแลวเขยนค าวา “<<actor>>” ไวดานบน ดงรป 2.17
รปท 2.17 ภาพแสดง Primary Actor และ Stakeholder Actor
15
Use case Relation Include Relationship
ความสมพนธอกรปแบบหนงของ Use Case Diagram กคอ ความสมพนธแบบเรยกใช เกดขนในกรณท Use Case หนงไปเรยก Use Case หนงมาใช เพอใหกจกรรมนนเกดขนจรงใน Use Case ของตนเอง หรอกลาวคอ กจกรรมใน Use Case หนงอาจจะถกผนวกเขาไปรวมกบกจกรรมของอก Use Case หนง เราเรยกความสมพนธระหวาง Use Case ในลกษณะนวา “Include Relationship” โดย Use Case ททาหนาทดงกจกรรมมาจาก Use Case อนๆ เรยกวา “Base Use Case” ในขณะท Use Case ทถกเรยก หรอถกดงกจกรรมมาใช เรยกวา “Included Use Case” สามารถเขยนเสน Connection ไดในทศทางตรงกนขามกบ Extend Relationship โดยเรมตนลากเสนตรงจาก Base Use Case หนลกศรชไปท Included Use Case แลวเขยนชอ Relationship “<<uses>>” (บางตาราจะใชค าวา<<include>>) ไวตรงกลางเสนดวย ดงรป 2.18
รปท 2.18 ภาพแสดง Include Relationship
Extend Relationship
เปนความสมพนธแบบขยาย เกดขนในกรณทบาง Use Case ทด าเนนกจกรรมของตนเองไปตามปกต แตอาจจะมเงอนไขหรอสงกระตนบางอยางทสงผลใหกจกรรมตามปกตของ Use Case นนถกรบกวนจนเบยงเบนไป ซงเราสามารถแสดงเงอนไขหรอสงกระตนเหลานนไดในรปของ “Use Case” และเรยกความสมพนธระหวาง Use Case ในลกษณะนวา “Extend Relationship” โดยเรยก Use Case ทถกรบกวนหรอ Use Case ทด าเนนงานตามปกตวา “Base Use Case” และเรยก Use Case ทท าหนาทรบกวนหรอกระตน Base Use Case วา “Extending Use Case” ดงรป 2.19
รปท 2.19 ภาพแสดง Extending Use Case
16
Generalization/Specialization Relationship Generalization หรอ Specialization ทเกดขนระหวาง Use Case มคณสมบตแตกตาง
จาก Generalization/Specialization ทเกดขนระหวางคลาส คอความสมพนธลกษณะดงกลาวทเกดขนใน Use Case นจะไมมการถายทอดคณลกษณะ (ไมมการ Inherit) แตจะใชเพอแสดงความสมพนธแบบจ าแนกแยกแยะประเภทของ Use Case เทานน อยางไรกตาม Use Case ทเปน Use Case หลกในการจ าแนกประเภทจะเรยกวา “Parent Use Case” สวน Use Case ทถกจ าแนกแยกแยะออกมา จะเรยกวา “Child Use Case” สวนสญลกษณเชอมความสมพนธ ใหใชเสนตรงลกศรโปรง ลากจาก Child Use Case ใหลกศรชไปท Parent Use Case ดงรป 2.20
รปท 2.20 ภาพแสดง Generalization/Specialization Relationship
System Boundary ขอบเขตของระบบ (Use Case กบ Actor) ใชรปสเหลยมเปนสญลกษณพรอมทงเขยน
ชอระบบไวดานใน ดงรป 2.21
รปท 2.21 System Name
2.3.1.4. Sequence Diagram
2.3.1.4.1 Sequence Diagram เปนแผนภาพทแสดงใหเหนถงการปฏสมพนธระหวาง Object ณ เวลาตางๆ
ประกอบดวย Class/Object เสนเพอใชแสดงล าดบเวลา เสนเพอแสดงกจกรรมทเกดขนจาก Object/Class
17
ใชสเหลยมแทน Class/Object ภายในกรอบสเหลยมมชอของ Object/Class ประกอบอยในรปแบบ {Object}:Class
กจกรรมทเกดขนแทนดวยลกศรแนวนอนจาก Class/Object หนงไปยงอก Class/Object ตวตอไป ระบชอกจกรรมในรปแบบ {[Conditional]} Operation
ชอของกจกรรมตองเปน Operation ทอยใน Class/Object ทลกศรชไป
2.3.1.4.2 องคประกอบของ Object Object name
บอกชอของออบเจกต ออบเจกตทอยทางซายมอจะท างานกอนออบเจกตทอยทางขวามอ Lifeline เสนประทลากในแนวดงจากออบเจกต Activation สเหลยมเลกๆ ทอยบนเสน lifeline แทนการท างานตางๆ ของออบเจกตของ activation นนตองกระท า ความยาวของรปทใชแทน activation เปนตวทบอกถงระยะเวลา ของการ
ท างานของออบเจกต
2.3.1.4.3 การสงเมสเสจระหวางออบเจกต ดงภาพท 2.21 Synchronous
เปนการสงเมสเสจหรอตดตอแบบรอคอยค าตอบ หรอการตอบกลบกอนทจะ ท างานอนๆ ตอไป
Asynchronous เปนการสงเมสเสจหรอตดตอแบบไมรอคอยค าตอบ ไมมการหยดท างานของผสง ผสงสามารถท างานตอได Return เปนเมสเสจทเกดขนในกรณทตนทางเรมการตดตอแลวปลายทางตองมการ
ตดตอกลบดวย การสงเมสเสจจะเขยนขอความก ากบไวดวย ถาหากเปนเมสเสจเงอนไข จะเขยนเงอนไขไวในวงเลบกามป [ ] โดยเมส เสจ
จะถกสงกตอเมอเงอนไขนนเปนจรง ดงภาพท 2.22
18
รปท 2.22 ภาพแสดง การสงเมสเสจระหวางออบเจกต
2.3.1.4.4 Time หรอชวงเวลา ดงภาพท 2.23
เปนการแสดงเวลาในลกษณะแนวตง หรอจากบนลงลาง เมสเสจทอยดานบนจะเปนสวนทเกดขนกอนเมสเสจทอยดานลาง
รปท 2.23 ภาพแสดง Time 2.3.2 Class Diagram
Class Diagram คอแผนภาพทใชแสดงแทน Class และความสมพนธในแงตางๆ Class เหลานน ซง Class จะอธบายถงกลมของออบเจกตทม แอตทรบวต (Attribute) โอเปอรเรชน (Operation) และความสมพนธ (Relationship)
คลาส (Class)
คลาสกคอแบบพมพเขยวของออบเจกตโดยทคลาสไมสามารถท างานได ในขณะทออบเจกตสามารถท างานได การท างานของออบเจกตจะเปนไปตามคณสมบตทก าหนดไวในคลาส และออบเจกตทกตวกจะตองอยในคลาส โดยเราสามารถดคณสมบต (Characteristic) ของออบเจกตไดดวยการดทคลาส ซงคลาสคอกลมของออบเจกตทมโครงสรางพนฐานพฤตกรรมเดยวกน ดงนนออบเจกตทมคณสมบตลกษณะเดยวกน คลาสอาจจะเปนตวแทนของ คน สถานท เหตการณ หรอสงตาง ๆ ซงเปนสวนประกอบของระบบทเราก าลงวเคราะหและออกแบบ ในแตละคลาสจะมการจดเกบขอมลและมวธในการจดการกบขอมลทจดเกบ คลาสนอกจากจะมชอของคลาสก ากบแลว ยงมแอตตรบวต (Attribute) ทใชอธบายคณสมบต
19
และโอเปอเรชน (Operation) ทใชอธบายถงพฤตกรรมของคลาสวามตวปฏบตการอะไรบาง ซงโอเปอเรชนบางครงอาจเรยกวาเมธอด (Method) กได โดยทงคลาส แอตตรบวต และโอเปอเรชน สามารถแสดงในลกษณะเทมเพลตไดดงภาพท 2.24
แอตทรบวต (Attribute) แอตทรบวตคอขอมลทเปนคณสมบตของคลาส ซงกคอขอมลทเราสนใจจะจดเกบและ
น ามาใชในระบบ เราสามารถก าหนดระดบของการเขาถงขอมลเหลานได โดยการใสเครองหมายดงตอไปนไวขางหนาของแอตทรบวต (+) สาธารณะ (public) หมายถงการอนญาตใหคลาสอน ๆ สามารถมองเหน และใชงานขอมลทอยในแอตทรบวตนได (#) ปองกน (protected) หมายถงการอนญาตใหคลาสอน ๆ สามารถมองเหนแอตทรบวตนไดแต ไมอนญาตใหใชงานแอตทรบวตนได (-) ซอนไว (hidden) หมายถงคลาสอน ๆ ไมสามารถทจะมองเหนและใชงานแอตทรบวตนได โอเปอเรชน (Operation)
ใชอธบายถงพฤตกรรมของคลาสวามตวปฏบตการอะไรบาง ซงโอเปอเรชนบางครงอาจเรยกวาเมธอด (Method) กได โดยทงคลาส แอตตรบวต และโอเปอเรชน สามารถแสดงในลกษณะเทมเพลตได โดยโอเปอเรชนจะตามดวยเครองหมาย () ตอทายแตละโอเปอเรชน โอเปอเรชนจะมสถานะเปนสาธารณะ (public) เสมอ โดยการระบเครองหมาย + ไวทขางหนาของแตละ operation รปแบบความสมพนธระหวางคลาส (class relationship) ของคลาสไดอะแกรมสามารถแบงออกไดเปนรปแบบตาง ๆ ดงตอไปน
รปท 2.24 ภาพแสดง Class Diagram
20
1. การสบทอดคณสมบต (Generalization) ในแนวคดของการพฒนาระบบแบบแนวคดเชงวตถ (Object Oriented Programming :
OOP) นน วตถ (object) สามารถทจะสบทอดคณสมบตถงกนได เชนเดยวกบคลาสซงเปนตนแบบทจะน าไปสรางวตถอกตอหนง คลาสหนงสามารถทจะสบทอดคณสมบตจากอกคลาสหนงได โดยคลาสทเปนผรบการสบทอดจะมคณสมบต เชนเดยวกบคลาสทเปนผใหการสบทอด ดงภาพท 2.25
รปท 2.25 ภาพแสดง การสบทอดคณสมบต (Generalization)
จากรปจะเหนวาคลาส disaster recovery administrator และ db administrator ตางกไดรบการสบทอดคณสมบตจาก system administrator หมายความวาถาคลาส system administrator มคณสมบตทประกอบดวย attribute ตาง ๆ เชน เลขประจ าตว, ชอ, สกล, การศกษา ฯลฯ ทง disaster recovery administrator และ db administrator กจะมคณสมบตทเปน attribute ตาง ๆ ดงกลาวขางตน เชนเดยวกน โดยเราวาดเสนแสดงการสบทอดคณสมบต (generalization) ดวยเสนตรงทมปลายลกศรสขาวจากคลาสทเปนผรบการสบทอดชไปทคลาสทเปนผใหการสบทอดดงรปทแสดงขางบน เราเรยกการสบทอดคณสมบตแบบนวา การเปนประเภทหนงของ (a-kind-of) เชน disaster recover administrator และ db administrator เปนประเภทหนงของ system administrator 2. การเปนสวนหนงของ (Aggregation) แนวคดนตางจากแนวคดการสบทอดคณสมบตทจะมองวาคลาสหนงสบทอดคณสมบตจากอกคลาสหนง แตจะมองคลาสหนงๆ สามารถมสวนประกอบเปนคลาสยอยๆ อะไรบาง ดงภาพท 2.26
รปท 2.26 ภาพแสดง Aggregation
21
3. การเปนองคประกอบของ (Composition) ความสมพนธในลกษณะนจะคลายๆ กบความสมพนธแบบเปนสวนหนงของ คอคลาสยอยเปนสวนหนงของคลาสหลก แตตางกนตรงทสวนประกอบยอยนจะไมสามารถถกน าออกจากสวนประกอบหลกได เพราะถาน าสวนประกอบยอยออกไปแลวสวนประกอบหลกกจะสญเสยคณสมบตของความเปนคลาสนน ๆ จดเปฯองคประกอบทไมอาจขาดได ดงภาพท 2.27
รปท 2.27 ภาพแสดง Composition จากรปขางบนคลาสคารบเรเตอรเปนคลาสทเปนองคประกอบคลาสรถยนต ถาเราน าคารบเรเตอรออกจากรถยนตไป รถยนตกคงไมสามารถท างานได ดงนนคารบเรเตอรจงเปนองคประกอบทมอาจขาดได เราแทนความสมพนธในลกษณะนดวยเสนตรงทลากจากคลาสทเปนองคประกอบไปหาคลาสหลกทเปนเจาขององคประกอบ โดยปลายเสนตรงใชรปสเหลยมขาวหลามตดสด า เราเรยกความสมพนธในลกษณะนวาการเปนสวนหนงของ (a-part-of) เชนเดยวกบความสมพนธแบบการเปนสวนหนงของ (aggregation) แตเปนสวนหนงทไมอาจจะแยกออกจากคลาสหลกได 4. ความเกยวของกน (Association) ความสมพนธแบบนเปนความสมพนธสวนใหญของคลาสตางๆ ในระบบซงจะท างานรวมกนดวยความสมพนธทเกยวของกน เปนความสมพนธในรปแบบของการท างานรวมกนเชนเดยวกบการท างานในชวตประจ าวนของเรา ดงภาพท 2.28
รปท 2.28 ภาพแสดง Association
22
จากรปขางบนจะเหนคลาสนกศกษา(student) มความสมพนธคอลงทะเบยน (enrolled) กบคลาสการลงทะเบยน (enrollment) และคลาสอาจารย (professor) กมความสมพนธคอการบรรยาย (instructs) ใหกบคลาสการสมนา (seminar) ซงลกษณะความสมพนธจะคลายกบความสมพนธของการท างานในโลกแหงความเปนจรง 5. จ านวนของสมาชกทอยในความสมพนธ (multiplicity) จากรปแบบความสมพนธทเราไดเหนมาในขอ 2, 3, 4 จะสงเกตเหนวาไดมการระบตวเลขและเครองหมาย 1, 0..*, 1..* ซงเครองหมายและตวเลขดงกลาวใชระบถงจ านวนของสมาชกทอยในความสมพนธของแตละคลาส โดยตวเลขทปลายสดของคลาสฝงตรงกนขามจะใชบอกจ านวนของความสมพนธของคลาสทอยอกฝงหนง ดงภาพท 2.29
รปท 2.29 ภาพแสดง Multiplicity
จากรปขางบนเราแปลความหมายไดวา บรษท(company) สามารถมพนกงาน(person)ไดตงแต 1 คนถงหลาย ๆ คน แตพนกงานหนงคนสามารถสงกดไดแคหนงบรษทเทานน โดยรปแบบนนสามารถก าหนดไดโดยใชตวเลขตางประกอบกบเครองหมาย .. และ * โดยตวอยางรปแบบความสมพนธแบบตาง ๆ มดงตอไปน 1..1 หนงถงหนง 0..* ศนยถงหลายๆ 1..* หนงถงหลายๆ 0..1 ศนยถงหนง 2..4 สองถงส 1..3,5 หนงถงสาม หรอถงหา ในการเขยนคลาสไดอะแกรม เราใชรปแบบความสมพนธแบบตาง ๆ ดงทไดกลาวมาแลว น ามาเชอมโยงคลาสตาง ๆ เขาดวยกนประกอบขนเปนคลาสไดอะแกรมทใชบอกถงโครงสรางและการท างานของระบบงานทเราก าลงออกแบบนนเอง
23
2.3.3 Object Diagram Object Diagram ประกอบดวย Object และ Relation ระหวาง Object โดยแตละ
Object จะแสดง Instance ของแตละ class ทมในระบบ และความสมพนธระหวาง Class เชน Dependency, Generalization หรอ Association ซงมลกษณะเชนเดยวกบ Class Diagram
2.3.4 Component Diagram เปน Diagram ซงแสดงโครงสรางทางกายภาพของ Software โดยจะประกอบดวย
องคประกอบซงอยในรปตางๆ เชน Binary, text และ executable ภายใน Component Diagram กจะมความสมพนธแสดงอยเชนเดยวกบ Class Diagram, Object Diagram
2.3.5 Deployment Diagram เปนสงทสามารถท าการแสดงระบบสถาปตยกรรมของ Hardware/Software ตลอดจน
ความสมพนธระหวาง hardware/software 2.3.6 Activity Diagram ใชในการอธบายแสดงล าดบ กจกรรมของการท างาน (Work Flow) สามารถแสดง
ทางเลอกทเกดขนได Activity Diagram จะแสดงขนตอนการท างานในการปฏบตการ โดยประกอบไปดวยสถานะตางๆ ทเกดขนระหวางการท างาน และผลจากการท างานในขนตอนตาง ๆ
วงกลมสด า คอ จดเรมตน เรยก Initial State วงกลมสด า มวงลอมอกชน คอ จดสนสด เรยก Final State
กจกรรมทเกดขนในลกษณะกระแสการไหลของกระบวนการหรอการไหลของงาน (workflow) จะมลกษณะเดยวกบ Flowchart (แสดงขนตอนการท างานของระบบ) โดยซงมสงตางเหลาน ขนตอนในการท างานแตละขนตอน อาจเปนการท างานตางๆ ดงภาพท 2.30
การค านวณผลลพธบางอยาง การเปลยนแปลงสถานะ (State) ของระบบ การสงคากลบคน การสงสญญาณ การเรยกให Operation (Method) อนๆเพอท างาน การสราง หรอ ท าลายวตถ
รปท 2.30 ภาพแสดง Activity Diagram
24
2.3.7 Statechart Diagram เปนการแสดงวงจรชวตของออบเจกต ระบบยอยตางๆ และระบบโดยรวม โดยบงบอก
วาเหตการณตางๆ จะสงผลกระทบใหเกดอะไรขนบาง ซงอาจจะมจดเรมตนและจดสนสดไดหลายๆ จด
2.3.8 Collaboration Diagram แสดงล าดบการท างานของ วตถ ผเกยวของ และกจกรรม โดยล าดบการท างานไม
ขนกบเวลา เพราะการแสดงความสมพนธของ Object กบเวลาเปนหนาทของ Sequence Diagram
2.4. Xcode Program
2.4.1 ภาษา Swift คออะไร Swift คอ ภาษาใหม ทใชในการพฒนา โคดทจะใชในอปกรณตางๆของ Apple ทใช
ระบบปฎบตการ iOS เปนระบบปฏบตการ ไมวาจะเปน iPhone หรอiPad ตวSwift ถกพฒนามาจาก ภาษา Objective-C อกทเปนภาษาออกแบบมาใหโปรแกรมเมอรใชไดอยาง งายและกระชบ ไมซบซอนจนเกนความจ าเปนไป
Swift Data Type นนมพนฐานมาจาก C และ Objective-C โดยท Swift ไดเตรยม C และ Objective-C ในเวอรชนของตนเองซงตางจากของเดม เชนใช Int แทน interger, ใช Double และ Float ส าหรบเลขจดทศนยม, ใช String ส าหรบขอความและใช Array และ Dictionary ส าหรบ Collection เปนตน Swift ใชกลกการเขยนแบบ Type Safe โดยทถาตอนสราง variable เปน Type String แลวจะไมสามารถเปลยนไปช value ทเปน Type Int ไดเพอปองกนการเกด Bug ในอนาคต
กอนทจะเรมเขยนโปรแกรมบน iOS ไมวาจะเปน iPhone iPad หรอ Application iOS
on MAC จะตองท าการเรยนรเกยวกบ Tool ทจะใชในการพฒนาเสยกอน ในสารนพนธเลมนจะใชเครองมอ (Tool) ทมชอวา Xcode ในการพฒนาโปรแกรม โดยจะท าการเรม Review ดงตอไปน
เมอเปดโปรแกรม Xcode จะมหนาตางดงรป ใหเลอกท Create a new Xcode project
เพอทจะท าการสราง Project ใหม ดงภาพท 2.31
25
รปท 2.31 ภาพแสดง Welcome to Xcode
ในหนาจอนเปนการเลอกวาจะสราง Project แบบไหน ใหเลอกตามทตองการทจะ
พฒนา Application ไดเลย ดงภาพ 2.32
รปท 2.32 ภาพแสดง Create Project by Xcode เมอเลอกการสราง Project เสรจแลวตอไปกเปนการตงชอ Project, Organization
Name, Company Identifier, Device ตามทเราตองการ ในสวนของ Device มใหเลอกอยดวยกน 3 แบบ คอ แบบ iPhone แบบ iPad และแบบ Universal ในสวนของ Universal หมายถงวาจะพฒนาทงสองรปแบบคอทง iPhone และ iPad ดงภาพ 2.33
26
รปท 2.33 ภาพแสดง Choose options for your new project
เลอก Location path ทตองการเกบ Project ดงภาพท 2.34
รปท 2.34 ภาพแสดง Choose location path
เมอท าการ Save Location path เสรจเรยบรอยแลวจะไดหนาตาของ Xcode ทพรอมให Coding ตามดานบน
1. คอ Navigator View เปนสวนแสดง File ทไดท าการสรางเอาไว 2. คอ UI User Interface View เปนสวนหนาจอทใชส าหรบการออกแบบ Application
ทตองการ 3. คอ Utilities View เปนสวนรวบรวมเครองมอทใชในการสรางหนาจอ Interface และ
ยงมเมนในการปรบเปลยนคณสมบตตางๆอกดวย
27
อธบาย Template ทใชในการสราง Project ท Xcode มมาให ดงภาพ 2.35
รปท 2.35 ภาพแสดง หนาจอของ Tools Xcode
Xcode จะม Template มาใหทงหมด 5 Templates ดวยกนซงแตละ Template กจะมจดประสงคการใชงานทแตกตางกนออกไปดงภาพ 2.36
รปท 2.36 ภาพแสดง หนาจอเลอกชนด Project
Master-Detail Application เปน Template ทใชในการออกแบบ Application โปรแกรม
ทเปนในรปแบบ Master-Detail ทตองการใชในการแสดงรายการ รายละเอยด ตางๆ ดงภาพ 2.37
28
รปท 2.37 ภาพแสดง Master-Detail Application
OpenGL Game เปน Template ทใชในการสราง Application ส าหรบการสราง Game
ดงภาพ 2.38
รปท 2.38 ภาพแสดง OpenGL Game
Page-Based Application เปน Template ทใชในการสราง Application ทมการเปลยน
หนา เปนเหมอนรปแบบในการเปดหนงสอ ดงรป 2.39
29
รปท 2.39 ภาพแสดง Page-Based Application
Single View Application เปน Template ทใชในการสราง Application ทมหนา เพยง 1 หนา ดงรป 2.40
รปท 2.40 ภาพแสดง Single View Application
30
Tabbed Application เปน Template ทใชในการสราง Application แบบทม Tab bar เพอทจะตองการเปลยนหนา view ทมหลายหนาดวย Tab bar น ดงรป 2.41
รปท 2.41 ภาพแสดง Tabbed Application
Game เปน Template ทใชในการสราง Game ดงรป 2.42
รปท 2.42 ภาพแสดง Game
31
2.5 MySQL 2.5.1 ความเปนมาของฐานขอมล MySQL
ฐานขอมล MySQL เปนระบบจดการฐานขอมลทใชภาษา SQL ในการประมวลผลเปนหลก โดยมการพฒนาทงในรปแบบทเปน Open Source และแบบ Commercial ซงในบทเรยนท เราจะศกษากนจะเปน Open Source Version MySQL ถกพฒนาโดย David Axmark, Allan Larsson ซงเปนชาวสวเดน และ Michael "Monty" Widenius ขาวฟนนแลนด 2.5.2 ลกษณะองคประกอบของฐานขอมล
โดยทวไปแลว องคประกอบหลกของระบบฐานขอมล MySQL จะมลกษณะดงตอไปน ฐานขอมล (Database) ในการทจะจดเกบขอมลใน MySQL ได จะตองเรมตนทการ
สราง "ฐานขอมล" กอน ซงฐานขอมลนอาจเปรยบไดกบโฟลเดอรทอยในไดเรกทอร ตาราง (Table) ล าดบถดไปจากฐานขอมลกคอ ตารางฐานขอมล ซงตารางเปนการแยก
จดเกบขอมล ในแตละเรองออกจากกน เชน ตารางพนกงาน ตารางสนคา ตารางลกคา เปนตน ทงนตารางอาจเปรยบไดกบไฟลตางๆ ทอยในโฟลเดอรนนเอง และฐานขอมลหนงๆ จะมตารางจ านวนเทาไหรกได (ขนอยกบการวเคราะหความสมพนธของขอมลภายในระบบทจะพฒนา) เชนเดยวกบโฟลเดอรหนงๆ จะมไฟลอยกไฟลกได
คอลมน (Column) หรอขอบเขตขอมล (Field) ภายในตารางฐานขอมลจะประกอบไปดวยคอลมนตางๆ เพอก าหนดวา ตารางนนจะเกบขอมลอะไรบาง ซงโดยปกตแลวขอมลทจดเกบในตารางเดยวกน จะตองมความเกยวของอยางใดอยางหนงตอกน เชน หากเปนตารางทจดเกบขอมลของพนกงาน กอาจประกอบไปดวยคอลมนเกยวกบรหส ชอ ทอย ต าแหนง เงนเดอน เปนตน นอกจากนแลว แตละคอลมนจะตองระบชนดขอมลใหสมพนธกบขอมลทจะจดเกบในคอลมนนนดวย
2.5.3 ชนดขอมลของคอลมน เนองจากคอลมนใชสาหรบเกบขอมลในแตละเรอง โดยขอมลเหลานอาจจะมหลายชนด
แตกตางกนออกไป เชน ชอ หรอ ทอยเปนขอมลชนดสตรง หรออาย หรอเงนเดอนมกจะเปนชนดตวเลข และถาเปนวนเกดกมกจะเปนขอมลชนดวนเวลา เปนตน ทงนเนองจากวธในการจดการกบขอมลเหลาน จะตางกนออกไปตามลกษณะของขอมล ดงนนทกคอลมนของตารางฐานขอมล จะตองกาหนดชนดขอมลใหกบมนเสมอ
2.5.4 แอททรบวตของคอลมน แอททรบวต (Attribute) หรอแฟลก (Flag) คอ ขอก าหนดเพมเตมนอกเหนอจากชนด
ขอมลทก าหนดใหแกคอลมน ซงแอททรบวตนจะชวยใหจดการขอมลไดสะดวกขนและบางแอททรบวตกยงชวยตรวจสอบความถกตองของขอมลไดดวย แตตองกาหนดใหสมพนธกบชนดขอมลของคอลมน แอททรบวตของคอลมนมดงน
32
2.5.4.1 NOT NULL หามคอลมนเปนคาวาง (NULL) คอ จะตองใสขอมลใหกบคอลมนเสมอแอททรบวต NOT NULL มกจะใชเพอควบคมความถกตองของตารางฐานขอมล
2.5.4.2 BINARTY ใชกบขอมลชนด CHAR หรอ VARCHAR เพอใหขอมลน าความแตกตางของรปแบบ
ตวพมพเลก-ตวพมพใหญมาพจารณาดวย หรอเปนแบบ case-sensitive นนเอง เพราะโดยปกตแลวฐานขอมลจะจดการสตรงในแบบ case-insensitive
2.5.4.3 AUTO_INCREMENT ก าหนดใหใสตวเลขลงไปในคอลมนแบบอตโนมต ซงตวเลขทใสเขาไปโดยปกตจะ เรม
จาก 1 แลวเพมคาทละ 1 ไปเรอยๆ ซงคาทโปรแกรมใสใหจะไมสามารถเปลยนแปลงแกไขได ทงนคอลมนทจะก าหนดใหเปนแบบ AUTO_INCREMEN ได ตองก าหนดชนดขอมลใหเปนแบบเลขจานวนเตม เชน INT เปนตน และหามใชรวมกบแอททรบวต NULL แตสวนมากนยมใชรวมกบ NOT NULL
2.5.4.4 DEFAULT เปนการก าหนดคาใหแกคอลมน ดวยคาใดคาหนงเอาไวลวงหนา ซงมกเปนคาทใชกน
บอยๆ เชน พนกงานสวนใหญเปนเพศหญง ดงนนจงอาจก าหนดคา DEFAULT ใหแกคอลมน sex เปน 'female' เปนตน แตหากไมตองการใชคา DEFAULT ทก าหนดไว กสามารถก าหนดเปนอยางอนได
2.5.4.5 INDEX ใชในการจดเรยงล าดบขอมลจากนอยไปหามาก หรอมากไปหานอย ซงขอมลท
เรยงล าดบจะชวยใหคนหารวดเรวขน สามารถจดเรยงล าดบขอมลไดมากกวา 1 คอลมน เมอสราง index โปรแกรมฐานขอมลจะสรางไฟล index แยกออกไปตางหาก เนองจากเรอง index ถอวาเปนเรองส าคญอยางหนงของฐานขอมล ดงนนจะไดศกษารายละเอยดเพมเตมอกครงในเรอง index
2.5.4.6 UNIQUE เปน index ในอกลกษณะหนง โดยมขอก าหนดทสาคญ คอ หามมขอมลซ ากนใน
คอลมนเดยวกน ซงทมกใชกบขอมลทคาดวา ขอมลในแตละแถวจะไมมทางซ ากนไดเลย เชน รหสพนกงาน อเมล เปนตน และถาใสขอมลซ ากบทมอยแลว โปรแกรมจะไมยอมรบขอมลนน ดงนนแอททรบวต UNIQUE สามารถน ามาชวยในการตรวจสอบความถกตองไดอกทางหนง
33
2.5.4.7 PRIMARY KEY เปน index ในอกลกษะหนง โดย Primary Key คอ คอลมนทจะใชเปนคอลมนหลกของ
ตาราง แต Primary Key มขอก าหนดทสาคญคอ คอลมนทจะใชเปน Primary Key ขอมลในคอลมนนนตองไมซากนเลย โดยทวไปทกๆ ตารางนยมใหม Primary Key เสมอ
2.6 PHP PHP เปนภาษาสครปต ( Scripting Language ) ค าสงตางๆ จะเกบในรปของ
ขอความ (Text) อาจเขยนแทรกอยภายในภาษา HTML หรอใชงานอสระกได แตในการใชงานจรงมกใชงานรวมกบภาษา HTML ซง PHP เปนภาษาทมการประมวลผลทางเครองผใหบรการ (Server) โดยเปนเครองมอทท าใหเราสามารถสรางไฟลเอกสารประเภท HTML ทมการเคลอนไหวเปลยนแปลงไดหรอทเรยกวาพลวต ( Dynamic HTML) การทเครองบรการมการประมวลผลกอนสงขอมลมายงเครองผใชเราเรยกวา Server Side Include (SSI) การท างานในลกษณะนท าใหความเรวในการท างานสงขนอกดวย
2.6.1 รปแบบของการใชค าสงภาษา PHP ในเอกสาร HTML
รปแบบของภาษา PHP มหลายแบบดงน
1. <? …. ค าสงภาษา PHP …..?> เรยกวา SGML style ซงนยมใชทสด
2. <?php . ….…. ค าสงภาษา PHP ….... ?> เรยกวา XML style
3. <script language="php"> ..…. ค าสงภาษา PHP …... </script> เรยก JavaScript
style
4. <% ..…. ค าสงภาษา PHP …... %> เรยก ASP style
2.6.2 ค าสงแสดงผล
จากตวอยางเหนวาค าสงแสดงผลใช echo แตจรงแลวค าสงการแสดงผลออกทาง
Browser ม 3 ตว คอ echo , print และ printf แตละตวมลกษณะการใชงานตางกนออกไป
1. ค าสง echo เปนค าสงแสดงผลทสามารถแยกขอความเปนหลายชวงใน
เครองหมาย “ ..” โดยแตละชวงสามารถใชเครองหมายจลภาค (,) คน
34
2. ค าสง print มลกษณะคลายค าสง print แตไมสามารถแยกขอความ ทกอยางตองอยภายใตเครองหมายค าพดเดยวกน
3. ค าสง printf เปนค าสงทสามารถจดรปแบบขอความได คลายภาษา C
2.6.3 ตวแปรในภาษา PHP
การเขยนโปรแกรมภาษาคอมพวเตอรระดบสง องคประกอบส าคญ คอ ตวแปร
(variable) ตวแปรในภาษา PHP เรมตนดวยเครองหมาย dollar ($) โดยไมตองก าหนดแบบ
ของขอมล (data type) อยางเจาะจงเหมอนในภาษาซ เพราะวา ตวแปลภาษาจะจ าแนกเองโดย
อตโนมต
2.6.4 รหส Escape
ภาษา PHP ไดน าเอารหส Escape แทรกลงไปในค าสงเพอแสดงผลสญลกษณบาง
ประเภท (สญลกษณเหลานสวนใหญโปรแกรม PHPไดน าไปใชท าหนาทพเศษเปนอยางอนแลว)
เชน
\’ เครองหมาย ’ (Single Quote)
\” เครองหมาย ” (Double Quote)
\ \ เครองหมาย \
\ $ เครองหมาย $
\ n ขนบรรทดใหม
\ t เวนชองวาง 1 tab (ประมาณ 6 ตวอกษร)
\ r Carriage Return
2.6.5 ชนดขอมลและตวแปรใน PHP
ในภาษา PHP ตวแปรใน PHP มทงตวแปรแบบสเกลาร และตวแปรอะเรย ตวแปร
สเกลาร อาจแบงไดดงน
35
1. ตวเลข (Number)
2. ทศนยม (Double หรอ Float)
3. ตวอกษร หรอ ขอความ (String)
2.6.6 การก าหนดคาใหกบตวแปร ทผานมา เรารจกเครองหมายทใชก าหนดคาใหกบตวแปรคอ = นอกจากเครองหมายน
แลว ยงมเครองหมายอน ๆ อก ดงน
++ เพมคาขนไป 1
- - ลดคาลงไป 1
+= บวกทละ x (บวกกอนแลวคอยก าหนดคา)
-= ลบทละ x (ลบกอนแลวคอยก าหนดคา)
*= คณกบ x (คณกอนแลวคอยก าหนดคา)
/= หารดวย x (หารกอนแลวคอยก าหนดคา)
%= หาเศษเหลอดวย x (หารกอนแลวคอยก าหนดคา)
2.6.7 ค าอธบายหรอ Comment ในภาษา PHP ถาเราตองการเขยนค าอธบายในสวนใดๆกตามของสครปต เรากจะสามารถท าไดโดยใช
/* ... */ เหมอนในภาษาซ หรอ // เหมอนในภาษาจาวา หรอ # เหมอน shell script โปรดสงเกตวา // ใชเขยนน าค าอธบายในภายบรรทดหนงๆเทานน สวน # ใชเรมตนของบรรทดทเขยนค าอธบาย
36
บทท 3 การออกแบบระบบ
3.1 กลาวน า การเดนทางไปยงสถานทตางๆ ปจจบนคนจ านวนมากยงคงใหบรการ Google Map ในการคนหาสถานทตาง เมอไปถงสถานทเหลานนแลวหากมความประสงคทจะเดนทางไปสถานทใกลเคยง เชนคนหาทพก รานอาหาร สวนราชการ เปนตน จ าเปนตองคนหาตามชอสถานทเหลานนแบบเฉพาะเจาะจงชอซงท าใหเสยเวลาในการหา หรอบางครงไมรจกชอ หรออาจรจกชอเพยงแคสถานทเดยวเชนรานอาหาร ชอรานก. เมอเดนทางมาสถานทแหงนกจะแวะมากนแตรานอาหารเดม จงไมมการเปรยบเทยบคณภาพ รสชาตอาหารกบรานอนในบรเวณใกลเคยงกน ดงนนแอปพลเคชนคนหาสถานท (Smart Place) จงอ านวยความสดวกในการคนหาสถานทตางๆทเราสนใจ เชน คนหารานอาหารทอยรอบๆบรเวณพนทโดยรอบเชนในอ าเภอเดยวกน หรอจงหวดเดยวกน ระบบจะท าการคนหาและแสดงสถานทตงหรอต าแหนงของรานอาหารเหลานน 3.2 โครงสรางของระบบ โครงสรางพนฐานของระบบคนหาสถานท (Smart Place) ดงรปท 3.1
รปท 3.1 โครงสรางของระบบคนหาสถานท (Smart Place)
37
3.3 Use case diagram 3.3.1 Use case diagram of Smart Place
คอแผนภาพแสดงขอบเขตและฟงกชนการท างานหลกของระบบทเกดขนในการใชงานแอปพลเคชนคนหาสถานท (Smart Place) วามสวนใดเกยวของกนบาง ดงรปท 3.2
รปท 3.2 User case diagram ของระบบ Smart Place
Actor คอผใชงานและผทเกยวของกบระบบทงหมด โดยแบง Actor ตามลกษณะความสมพนธกบ Use Case ดงตอไปน
User คอ ผใชงานทวไป <<Actor>>Apple System หมายถงระบบการบรการขอมลของบรษท Apple ท
ใหบรการเกยวกบการใช Push Notification <<Actor>>Place หมายถง ระบบการบรการจดการฐานขอมลของระบบ
38
3.3.2 Use case description of Smart Place 3.2.2.1 Use Case for Login & Register คอ ฟงกชนการคนหาขอมลของ
สถานท ดงรป 3.3
รปท 3.3 Use case Login & Register
ตารางท 3.1 Use case Login & Register
Use Case Identifier:
SP-UC-05
Overview : จดประสงคของ use case นเพอใชในการผใชงานใหมแลวน า Username และ password เพอ login เขาระบบ Primary Actors: 1. User 2. Place Secondary Actors: Starting Point:สราง ผใชงานใหม End Point: Flow of Events:
1. สรางสถานทใหม 2. ระบบจะท าการเกบขอมลทสราง 3. ท าการ Login เขาสระบบ
Alternative Flows of Event: Measurable Result:
39
3.3.2.2 Use Case for Show Map คอ ฟงกชนการแสดง Map ดงรป 3.4
รปท 3.4 Use case Show Map
ตารางท 3.2 Use case Show Map Use Case Identifier:
SP-UC-01
Overview : 1. จดประสงคของ use case นเพอแสดงผลต าแหนงปจจบนของ
ผใชงานผานอปกรณ iPhone หรอ iPad และสารมารถคนหาสถานททจะเดนทางไปยงจดหมายปลายทางได อกทงยงสามารถน าทางใหกบผใชตงแตตนทางจนถงปลายทาง สามารถแสดงรายละเอยดการเดนทางในแตละชวง ซงมการเชอมตอกบ Apple Map
Primary Actors: 1. User 2. Apple Maps
Secondary Actors: Starting Point:
1. เปดโปรแกรม End Point:
1. ระบบแสดงต าแหนงของผใชงานถกตอง Flow of Events:
1. ระบบแสดงหนาจอแผนทและต าแหนงผใชงาน 2. น าทางเพอไปสจดหมายปลายทางได
Alternative Flows of Event: 1. ระบบจะแจงใหผใชทราบ
40
3.3.2.3 Use Case for Location Type คอ ฟงกชนการจดการ ดงรป 3.5
รปท 3.5 Use case Location Type
ตารางท 3.3 Use case Location Type Use Case Identifier:
SP-UC-02
Overview : จดประสงคของ use case นเพอใหผใช สามาถด Location ไดตามประเภท Primary Actors: 1. User
2. Apple Maps 3. Place
Secondary Actors: Starting Point:เปด Location type เพอเลอกดสถานทตามประเภท End Point: Flow of Events:
1. เปดประเภทของสถารท 2. แสดงผลสถานทตามทเลอก
Alternative Flows of Event:
Measurable Result:
41
3.3.2.4 Use Case for Location Search คอ ฟงกชนการคนหาขอมลของสถานท ดงรป 3.6
รปท 3.6 Use case Location Search
ตารางท 3.4 Use case Location Search Use Case Identifier:
SP-UC-03
Overview : จดประสงคของ use case นเพอใชในการคนหาสถานท ทมอยจรงใน place แลวน าไปแสดงผลใน Apple Maps Primary Actors:
1. User 2. Apple Maps 3. Place
Secondary Actors: Starting Point: เลอก ชอของสถานท เมอง จงหวด และประเภทในการคนหา End Point: แสดงผลการคนหา Flow of Events:
1. เลอกชอของสถานท เมอง จงหวด และประเภท 2. ระบบสงค ารองขอเพอคนหาสถานท 3. ระบบสงขอมลกลบมาแสดงผลขอมลสถานทตามประเภททคนหา 4. คลกเลอกสถานทตองการระบบจะแสดงขอมล หรอเลอกแสดงแผนท
ในการเดนทาง Alternative Flows of Event: เลอกชอของสถานท เมอง จงหวด และประเภท ส าหรบคนหา Measurable Result:
42
3.3.2.5 Use Case for Location New คอ ฟงกชนการคนหาขอมลของสถานท
ดงรป 3.7
รปท 3.7 Use case Location New
ตารางท 3.5 Use case Location New Use Case Identifier:
SP-UC-04
Overview : จดประสงคของ use case นเพอใชในการสมครเพอเขาใชระบบ Smart Place Primary Actors: 1. User 2. Place Secondary Actors: Starting Point: End Point: Flow of Events:
1. สรางสถานทใหม 2. ระบบจะท าการเกบขอมลทสราง 3. ระบบจะแสดงผลการรางขอมล 4. สามารถดไดในระบบ
Alternative Flows of Event: Measurable Result:
43
3.4 Activity diagram จากหวขอ 3.2 Use case diagram ของระบบ Smart Place ทไดออกแบบเปนแผนภาพพรอมค าอธบายนนยงเปนภาพกวาง ในหวขอน จงไดท าการออกแบบ Activity diagram เพอใหสามารถเขาใจระบบไดมายงขน ดงน
3.4.1 Activity diagram Login & Register จากรายละเอยดการทางานในขอขอ 3.2.1 Use case diagram Login & Register
สามารถ เขยนเปน Activity diagram ดงรปท 3.8
รปท 3.8 Activity diagram Login & Register
44
3.4.2 Activity diagram Show Maps จากรายละเอยดการทางานในขอขอ 3.2.2 Use case diagram Show Maps
สามารถ เขยนเปน Activity diagram ดงรปท 3.9
รปท 3.9 Activity diagram Show Maps
45
3.4.3 Activity diagram Location Type จากรายละเอยดการทางานในขอขอ 3.2.3 Use case diagram Location Type
สามารถ เขยนเปน Activity diagram ดงรปท 3.10
รปท 3.10 Activity diagram Location Type
46
3.4.4 Activity diagram Location Search จากรายละเอยดการทางานในขอขอ 3.2.4 Use case diagram Location Search
สามารถ เขยนเปน Activity diagram ดงรปท 3.11
รปท 3.11 Activity diagram Location Search
47
3.4.5 Activity diagram Location New จากรายละเอยดการทางานในขอขอ 3.2.5 Use case diagram Location New สามารถ
เขยนเปน Activity diagram ดงรปท 3.12
Input Location
information
Send Data
get location information
Show location list
Data
View show location on
maps
Insert data
Select
รปท 3.12 Activity diagram Location New
48
3.5 Sequence diagram Sequence diagram เปนแผนภาพแสดงล าดบเหตการณและการสอสารของ Object ทเกดขนในแตละฟงกชนการท างานหลก
3.5.1 Sequence diagram of Show Map คอแผนภาพล าดบเหตการณของการแสดงผลของแผนท ดงรปท 3.13
รปท 3.13 แผนภาพ Sequence diagram of Show Map 1. Open Smart Place Application หมายถง ขนตอนผใชงาน (User) ท าการเปด
Smart Place application 2. Input key Serch location หมายถงการพมพชอสถานทเพอตองการคนหาสถานนน
ตามความตองการ 3. Request Map location หมายถง ขนตอนการรองขอแผนททแสดงต าแหนงปจจบน
ของผใชงาน หรอต าแหนงทตองการคนหา โดยรองขอต าแหนงดงกลาวไปยง Apple Maps Server (name)
4. Return Map location หมายถง ขนตอนการตอบกลบต าแหนงปจจบนหรอต าแหนงทตองการคนหาท Apple Maps Server ไดท าการตอบกลบมายงผรองขอ ซงจะสง (name, city, state, latitude, longitude)
5. Request Navigate หมายถง ขนตอนการรองขอขอมลและต าแหนงทตงของสถานทปจบญใหม จาก Apple map โดยจะสงคาไปคอ (latitude, longitude)
49
6. Return new current location หมายถง ขนตอนการตอบกลบต าแหนงต าแหนงทตงของสถานทใหมของผใชงานทก าลงเคลอนท จาก Apple Maps กลบมายงผรองขอ ซงคาทท าการ return กลบมาคอ (latitude, longitude, Sound)
7. Update location หมายถง การ update สถานทใหมของผใชทเปลยนไปลงในแผนท 3.5.2 Sequence diagram of Location Type คอแผนภาพล าดบเหตการณของการคนหาสถานทตามประเภทเชน ดงรปท 3.14
รปท 3.14 แผนภาพ Sequence diagram of Location Type
1. Input Information หมายถง ผใชงานท าการเลอกประเภทของสถานท เพอใชการคนหาสถานทตามประเภท
2. Request Location หมายถง สงค ารองเพอเลอกสถานทมาแสดงตามประเภท โดยสง (locationcity,locationstate,locationtype)
3. Request Information หมายถง การตอบกลบการคนหา(locationname, locationaddress, locationcity, locationstate, locationzip,latitude, longtutude)
4. Select location หมายถงเลอกสถานทในรายการ 5. Request location Apple Maps หมายถง การสงค ารองขอ(locationname,
locationaddress, locationcity, locationstate, locationzip, locationcountry, locationtype, locationmail, locationtel, latitude, longtitude, userID)
6. Return Update Location on maps หมายถง แสดงผลสถานทตามประเภทบนแผนท Apple Maps (name,city,state, latitude,longtitude)
7. Mark Location no map หมายถงการปกหมดทสถานททเลอก
50
3.5.3 Sequence diagram of Location Search คอแผนภาพล าดบเหตการณของการจดการคนหาสถานทตางๆบน Smart Place
Application ดงรปท 3.15
รปท 3.15 แผนภาพ Sequence diagram of Location Search
8. Input Location หมายถง ผใชงานพมพชอสถานท อ าเภอ จงหวด และประเภท ทตองการคนหา
9. Request Search location หมายถง การคนหาสถานทซงสถานททอยใน Place (locationname,locationcity,locationstate,locationtype)
10. Request Locations Apple Maps หมายถง รองขอเพอแสดงแผนทบน Apple Maps
11. Return Navigator หมายถง รองขอการใชงานระบบน าทางของ Applr map 12. Return Navigator หมายถง การตอบกลบการใชงานระบบน าทางของ Applr mape
(name, city, state, , latitude, longtitude)
51
3.5.4 Sequence diagram of case Location New ดงรป 3.16
รปท 3.16 แผนภาพ Sequence diagram of Location New
1. Input Location Information หมายถง กรอกขอมลทตองการสรางสถานท(locationname,locationaddress,locationcity,locationstate,locationzip,locationcountry,locationtype,locationmail,locationtel,latitude,longtitude,userID)
2. Insert Location Detail หมายถงรองขอและสงขอมลเพอไป insert ใน :Place database โดยสง (locationname, locationaddress, locationcity, locationstate, locationzip,locationcountry,locationtype,locationmail,locationtel,latitude, longtitude,userID) เพอไป Insert Data ลงฐานขอมลPlace ในตาราง Location
3. Return Location Detail หมายถง การตอบกลบจาก :Place ในการ Insert พรอมสงขอมล update มาแสงผลท Smart Place
4. View Location หมายถง การเลอกเมนเพอดผลการ Insert data 5. Select Location หมายถง การเลอกดสถานททจะแสดงบนแผนท ทมการ update 6. Request Location Apple Maps หมายถง รองขอเพอใหบรการ Apple Maps 7. Return Update Locations on Maps หมายถง การแสดงผล Apple Maps
(locationname,locationaddress,locationcity,locationstate,locationzip,locationcountry,locationtype,locationmail,locationtel,latitude,longtitude,userID)
52
8. Mark Location on map หมายถง แสดงพกดของสถานทในแผนท 9. view Location on City หมายถงผใชงานเลอกเมนเพอเลอกดสถานทใกลเคยง 10. Request location last update หมายถงระบบจะท าการรองขอเพอท าการเรยง
ขอมลจากตาราง Location ท update ลาสด 25 รายการมาแสดงผล (locationcity,locationstate)
11. Return Locations Last update หมายถง ระบบ Place จะท าการ return ขอมลจาก Location มายง Smart Place Application (locationname,locationaddress,locationcity,locationstate,locationzip,locationcountry,locationtype,locationmail,locationtel,latitude,longtitude,userID)
12. show Locations หมายถงแสดงสถานททถกสรางขนมาใหมลาสด 25 รายการ
3.5.5 Sequence diagram of case Login & Redister ดงรป 3.17
User
:tbUser :Smart Place
1.Register
2. Request insert new User(name,username,password)
3. Return Information (username,password)
5. Smart Place Application
4. Login(username,password)
รปท 3.17 แผนภาพ Sequence diagram of Login & Register
1. Register หมายถง ผใชรายใหมสราง username เพอใชในการ login เขาสระบบ (name,username,password,repassword)
2. Request Insert new User หมายถง รองขอและสงขอมลเพอไป insert ใน :Place สตาราง tbUser
3. Return Location Detail หมายถง การตอบกลบจาก :Place ในการ Insert 4. Login หมายถง การการ login (useremail,userpassword) เขาสระบบ
53
3.6 Conceptual Class Diagram of Smart Place Application จากแผนภาพ สามารถอธบายแผนภาพโดยรวม Conceptual Class Diagram
ของระบบคนหาสถานท (Smart place) ไดดงน Conceptual Class Diagram of Smart place database เปนแผนภาพทใชแสดง Class และความสมพนธระหวาง Class ในระบบฐานขอมลทใชจดเกบขอมลของระบบคนหาสถานท (Smart place) แสดงดงรป 3.18
+searching() : object+getLocationSearchName()+SelectLocationAll()+getLocationSearchingAdvance()+getLocationType()+SearchingFromCityStart()+InserNewLocation()
-locationID : int-locationName : string-locationAddress : long-locationCity-locationState-locationZip : int-locationCountry : string-locationType : string-locationTel : string-locationEmail : string-latitude-longtitude-userID-createDate
Location
-InsertUser() : object-getuser()
-id-userEmail-userPassword-userName
tbUser
11..1
รปท 3.18 แผนภาพ Conceptual Class Diagram of Smart Place database
54
บทท 4 การพฒนาและผลด าเนนงาน
4.1 เครองมอและอปกรณทใชในการพฒนาระบบ
เครองมอและอปกรณทใชในการพฒนา Smart Place Application ซงในสวนของโปรแกรมไดท าการพฒนาจาก Xcode อยางทกลาวไวในบททท 2 วา Xcode เปนโปรแกรมทใชเขยน Application ซงใชกบ iPhone เทานน ในบทนจง น าเสนอหนาจอของ Application ทแสดงผลบนอปกรณมอส าหรบ iPhone หลงจากถกพฒนาเรยบรอยตามขอบเขตทไดก าหนดไว
4.1.1 Hardware เครองคอมพวเตอร Server
เปนเครองทใหบรการ และจดเกบขอมลสถานทตางๆ เครอง MacBook Pro 1 เครอง
เปนเครองมอทใชในการพฒนา Smart Place โทรศพทเคลอนท iPhone 6s ระบบปฏบตการ iOS 9.1
เปนอปกรณทใชในการทดสอบ Application ในขณะพฒนา 4.1.2 Software
Mac OS X Mountain Lion Xcode version 2.0 JSon MySql
4.2 ผลการด าเนนการของ Smart Place Application 4.2.1 หนาจอ Icon ส าหรบการเขาใช Smart Place Aplication ตามรปท 4.1
รปท 4.1 แผนภาพ หนา Icon ของ Smart Place
55
4.2.2 การ Login & Register 4.2.2.1 หนา login เขาสระบบ จะม 2 ปมใหกดอ login และ Register กรณทผใช
ระบบ ม username อยแลวสามาถ login เขาระบบไดเลย หากยงไมม username กสามารถ Register เพอสมครสมาชกใหม ตามรปท 4.2
รปท 4.2 แผนภาพ หนา Login ของ Smart Place
4.2.2.2 สมครสมาชกใหม ตามรปท 4.3
รปท 4.3 แผนภาพ หนาสมครสมาชกใหม
56
4.2.2.3 ท าการกรอกขอมลเพอสมครสมาชก ตามรปท 4.4
รปท 4.4 แผนภาพ กรอกขอมลเพอสมครสมาชก
4.2.2.4 เมอกรอกขอมลเรยบรอยแลว กดปม Registet เพอสมครสมาชก ตาม
รปท 4.5
รปท 4.5 แผนภาพ กรอกขอมลเพอสมครสมาชก
57
4.2.2.5 ท าการ Login เขาสระบบ ตามรปท 4.6
รปท 4.6 แผนภาพ Login เขาสระบบ
4.2.2.6 หนาหลกของ Smart Place Application ตามรปท 4.7
รปท 4.7 แผนภาพ แสดงการเขาสระบบ
58
4.2.3 การแสดงแผนท 4.2.3.1 เมอท าการกดปมแผนทระบบจะแสดงแผนทพรอมต าแหนงทอยปจจบนของ
ผใช และจะแสดง text box ใหใชส าหรบการคนหาสถานทใน Apple Map ตามรปท 4.8
รปท 4.8 แผนภาพ location ปจบนของผใชระบบ
4.2.3.2 เมอท าการคนหาสถานทระบบจะแสดง list box เพอใหเลอกสถานทท
จะแสดงบนแผนท ตามรปท 4.9
รปท 4.9 แผนภาพ การคนหาสถานท
59
4.2.3.3 เมอคลกสถานททเราจะเดนทางไประบบจะแสดงปมเพอใหสามารถเดนเนนการตอไป ตามรปท 4.10
รปท 4.10 แผนภาพ แสดงปมเพอใหสามารถเดนเนนการ
4.2.3.4 เมอกดทเสรจแลวระบบจะแสดงเสนทางในการเดนทางจากตนทางไป
ยงปลายทาง ตามรปท 4.11
รปท 4.11 แผนภาพ แสดงเสนทางในการเดนทางจากตนทางไปยงปลายทาง
60
4.2.3.5 เรมเดนทางไปสสดหมายปลายทางโดย กดทปม”เรม” ระบบจะเรมน าทาง ตามรปท 4.12
รปท 4.12 แผนภาพ แสดงการเรมน าทาง
4.2.3.6 การเปลยนมมมองในการเดนทางโดยใชภาพจากดาวเทยม ตามรปท 4.13
รปท 4.13 แผนภาพ จากดาวเทยม
61
4.2.3.7 ระบบยงสามารถแสดงขอมลในการเดนทาง ตามรปท 4.14
รปท 4.14 แผนภาพ แสดงขอมลในการเดนทาง
4.2.3.8 การแชร Location ใหกบเพอนโดยสงทางขอความ โดยเลอกไปท icon
ขอความ ตามรปท 4.15
รปท 4.15 แผนภาพ แสดงปมการแชร Location ทางขอความ
62
4.2.3.9 แสดงการสงขอความเพรอมทงค าอธบายรวมทงพกดทสง ตามรปท 4.16
รปท 4.16 แผนภาพ แสดงการแชร Location ทางขอความ
4.2.3.10 การแชร Location ใหกบเพอนโดยสงทาง Email เลอกคลกปม email ตามรปท
4.17
รปท 4.17 แผนภาพ แสดงการแชร Location ทาง Email
63
4.2.3.11 ผรบจะไดรบขอความทาง Mail ตามรปท 4.18
รปท 4.18 แผนภาพ ขอความทาง Mail
4.2.3.12 การเตอนความจ าเมอเลอกการเตอนความจ าระบบจะแสดงใหเรา
สามารถเตอนความจ าไดวาเมอเดนทางไปถงจะท าอะไรใน location นนๆ ตามรปท 4.19
รปท 4.19 แผนภาพ แสดงการการเตอนความจ า
64
4.2.3.13 การแจงเตอนสามารถเลอกไดม 2 อยางคอเมอถงเวลาทก าหนดไว และเมอเดนทางเขาไปยงรศม ตามรปท 4.20
รปท 4.20 แผนภาพ แสดง Options การแจงเตอน
4.2.3.14 การแชรสถานทผาน Social Online ท าการเลอกสอ online ตามประเภททผใชงานไดใชอยหรอทตองการแชร ตามรปท 4.21
รปท 4.21 แผนภาพ แสดง การแชรสถานทผาน Social Online
65
4.2.3.15 ท าการใสขอความทตองการแชรใหเพอนรบทราบ ตามรปท 4.22
รปท 4.22 แผนภาพ แสดงใสขอความทตองการแชร
4.2.3.16 ผลของการแชร location ตามรปท 4.23
รปท 4.23 แผนภาพ ผลของการแชร location
66
4.2.4 การแสดงสถานทตามประเภท 4.2.4.1 เลอดกดปม สถานท ตามรปท 4.24
รปท 4.24 แผนภาพ Login เขาสระบบ
4.2.4.2 เลอกกดปมตามประเภท ตามรปท 4.25
รปท 4.25 แผนภาพ แสดงประเภทของสถานท
67
4.2.4.3 ภาพแสดงประเภทของสถานทในแผนท ตามรปท 4.26
รปท 4.26 แผนภาพ ประเภทของสถานทในแผนท
4.2.4.4 เมอเลอกหมดจะแสดงชอของสถานทนน ตามรปท 4.27
รปท 4.27 แผนภาพ เลอกหมดจะแสดงชอของสถานท
68
4.2.4.5 เมอกดปมเปลยนแผนภาพเปนแบบดาวเทยม ตามรปท 4.28
รปท 4.28 แผนภาพ แสดงมมมองแบบดาวเทยม
4.2.5 การคนหาสถานท
4.2.5.1 เมอตองการคนหาสถานททถกบนทกไวใน Smart Place กดปมคนหาสถานท ตามรปท 4.29
รปท 4.29 แผนภาพ เลอกกดปมคนหาสถานท
69
4.2.5.2 คนหาขอมลตามชอสถานท ตามรปท 4.30
รปท 4.30 แผนภาพ คนหาขอมลตามชอสถานท
4.2.5.3 กดปมคนหาเพอระบบจะไปท าการคนหาจากฐานขอมล Smart Place
ตามรปท 4.31
รปท 4.31 แผนภาพ คนหาเพอระบบจะไปท าการคนหาจากฐานขอมล Smart Place
70
4.2.5.4 ระบบจะแสดงผลการคนหาทงหมดจากฐานขอมล Smart Plase ตามรปท 4.32
รปท 4.32 แผนภาพ แสดงผลการคนหาทงหมดจากฐานขอมล Smart Place
4.2.5.5 เมอท าการกด list รายการสถานทระบบจะแสดงหมดบนแผนท ตามรปท 4.33
รปท 4.33 แผนภาพ แสดงหมดบนแผนท
71
4.2.5.6 เมอกดไปทหมดบนแผนทระบบจะแสดงชอสถานท ตามรปท 4.34
รปท 4.34 แผนภาพ แสดงชอสถานท
4.2.6 การสรางสถานท 4.2.6.1 เมอตองการสรางสถานทใหมใหท าการกดปมสรางสถานท ตามรปท
4.35
รปท 4.35 แผนภาพ สรางสถานท
72
4.2.6.2 กรอกขอมลเพอสรางสถานทใหมในระบบ ตามรปท 4.36
รปท 4.36 แผนภาพ กรอกขอมลเพอสรางสถานทใหม
4.2.6.3 เมอเพมขอมลเรยบรอยแลวระบบจะ default คาเรมตน ตามรปท 4.37
รปท 4.37 แผนภาพ ระบบจะ default คาเรมตน
73
4.2.6.4 ระบบจะแสดงผลการเพมขอมลไดส าเรจ ตามรปท 4.38
รปท 4.38 แผนภาพ แสดงผลการเพมขอมลไดส าเรจ
4.2.6.5 เมอดกไปทสถานทสรางขนมาใหมระบบจะแสดงหมด ตามรปท 4.39
รปท 4.39 แผนภาพ ระบบจะแสดงหมดทสรางขนมาใหม
74
4.2.7 การดขอมลทถกสรางโดยผใช 4.2.7.1 เมอตองการดสถานททผใชสรางมาทงหมด ใหกดปมขอมลของฉน
ตามรปท 4.40
รปท 4.40 แผนภาพ ดสถานททผใชสรางมาทงหมด
4.2.7.2 ระบบแสดงขอมลทงหมดทผใชงานสรางสถานทขนมา ตามรปท 4.41
รปท 4.41 แผนภาพ ระบบแสดงขอมลทงหมดทผใชงานสรางสถานทขนมา
75
4.2.7.3 เมอเลอกกดรายการสถานทระบบจะแสดงหมดบนพนท ตามรปท 4.42
รปท 4.42 แผนภาพ ระบบจะแสดงหมดบนพนท
4.2.8 การแสดงตารางของฐานขอมล 4.2.8.1 ตาราง tbUser 4.2.8.1.1 ขอมลทจดเกบการ login ของผใชงาน ตามรปท 4.43
รปท 4.43 แผนภาพ จดเกบการ login ของผใชงาน
76
4.2.8.1.2 โครงสรางของตาราง tbUser ตามรปท 4.44
รปท 4.44 แผนภาพ โครงสรางตาราง tbUser
4.2.8.2 ตาราง locations 4.2.8.2.1 ขอมลทใชจดเกบในตาราง location ตามรปท 4.45
รปท 4.45 แผนภาพ ขอมลทใชจดเกบในตาราง location
77
4.2.8.2.2 โครงสรางของตาราง locations ตามรปท 4.46
รปท 4.46 แผนภาพ โครงสรางของตาราง locations
78
บทท 5
สรปผลโครงการ 5.1 สรปผลโครงการ จากการด าเนนการพฒนาระบบ Smart Place ท าใหเกดความสดวกในการคนหาสถานทตางๆ ในบรเวรรอบๆ จากต าแหนงปจจบนทผใชงาน รวมทงสามารถสรางสถานทไดดวยตวเองและท าใหผใชคนอนสามารถคนหาได 5.2 ปญหาและอปสรรคจากการพฒนาโครงงาน เนองจากมระยะเวลาในการด าเนนการนอยในการเขยนโปรแกรมจงท าใหไมสามารถสรางฟงกชนทมาสนบสนนทางการด าเนนการทางธรกจได อกทงผเขยนไมมทนในการตดตงระบบ Database Server เพอรองรบผใชงานทคาดการวามากขนเรอยๆ และยงขาดแคลนบคคลากรทไปจดเกบขอมลเพอมาใชเปนแหลงคนหาในเบองตน 5.3 ขอเสนอแนะ
5.3.1 พฒนาบนระบบปฏบตการอนๆนอกเหนอจาก IOS เชน Android ซงไดรบความ นยมในปจจบน
5.3.2 เพมระบบหนารานเพอรองรบธกจ การทองเทยว 5.3.3 พฒนาระบบไปสระบบการสงซอ สงจอง เพองรองรบสถานททจะเขามาเปน
สมาชกของระบบ
79
เอกสารอางอง 1. Apress , ”Beginning iPhone Development with Swift” 2. จราวธ วารนทร , “การสรางเวบไซตอคอมเมรซแบบ Responsive ดวย PHP” , กรงเทพ : ร
ไววา, 2558
3. อดศกด จนทรมน , “สราง Web Application อยางมออาชพดวย PHP ฉบบ Workshop เลม 3” พมพครงท 3,ซเอดยเคชนม, 2555
4. http:// www.stackoverflow.com/ 5. กตต ภกดวฒนะกล , “UML วเคราะหและออกแบบระบบเชงวตถ”, พม พค รง ท 2, เคทพ
(ISBN) 974-7469-66-9 6. ดร.บรรจง หะรงษและนางญาณวรรณ สนธภญโญ, “แนะนา UML เบองตน”,
Nectec Technical Journal หนา 184-198, Vol.1 No.5 November-December 1999, Available: http://sathit.dusit.ac.th/wp-content/uploads/2011/ 7. Vandad Nahavandipoor” iOS 8 Swift Programming Cookbook”, Copyright 2015
Vandad Nahavandipoor. All rights reserved, Pinted in the United States of America. 8. Ron Schmelzer, Travis Vandersypen, Jason Bloomberg, Madhu Siddalingaiah, David
Houlding, Michael D. Qualls, Sam Hunting, Chad Darby, Diane Kennedy. (2547). XML and Web Services Unleashed. Sams Publishing.
9. ดร. ดวง บงกชเกตสกล, บงกช บงกชเกตสกล. (2555). Any SQL. กรงเทพฯ : ซเอดยเคชน, บมจ. 10. นวรตน ธนะรงรกษ. (2550). SQL พนฐาน Fundamentals of SQL.
กรงเทพฯ: เคทพ คอมพ แอนด คอนซลท, บจก. 11. กตตพงษ กลมกลอม. (2552). การวเคราะหและออกแบบระบบเชงวตถดวย UML.
(พมพครงท 1). กรงเทพฯ : เคทพ. 12. รศ. ธรวฒน ประกอบผล, สนทรน วงศศรกล. (2552). การพฒนาโมเดลส าหรบการเขยน
โปรแกรมเชงวตถดวย UML 2.0. กรงเทพฯ : ซคเซส มเดย, บจก.
80
ภาคผนวก
1. ER-Diagram
รปท ก-1 ER-Diagram
81
2. Data Dictionary of Database Schema ตารางท ก-1 Data Dictionary of location
Location แอทรบว ค าอธบาย ชนด(ขนาด) คย NULL หมายเหต locationID รหสสถานท Int(10) PK N locationName ชอสถานท varchar(200) - N locationAddress ทอย varchar(250) - Y locationCity เขต/อ าเภอ varchar(250) - Y locationState จงหวด varchar(200) - N locationZip รหสไปรษณย varchar(10) - Y locationCountry ประเทศ varchar(100) - Y locationType ประเภท varchar(50) - N locationTel เบอรโทร varchar(30) - Y locationEmail เมล varchar(50) - Y latitude ละตจต varchar(15) - N longtitude ลองจจด varchar(15) - N userID ชอผสรางสถานท varchar(50) - N createDate วนสรางสถานท timestamp - N
ตารางท ก-2 Data Dictionary of tbUser tbUser แอทรบว ค าอธบาย ชนด(ขนาด) คย NULL หมายเหต id รหส Int PK N userEmail ชอในการเขาใช Text - N userPassword รหส Text - N userName ชอ – สกล Text - N