การวดความคลองตวตอการเปลยนแปลงสำาหรบระบบองบรการ
นายคงสวสด โพธพนม
โครงงานมหาบณฑตนเปนสวนหนงของการศกษาตามหลกสตรปรญญาวทยาศาสตรมหาบณฑต
สาขาวชาวศวกรรมซอฟตแวรภาควชาวศวกรรมคอมพวเตอรคณะวศวกรรมศาสตรจฬาลงกรณมหาวทยาลย
ปการศกษา 2554
MEASUREMENT OF AGILITY TO CHANGE FOR SERVICE-BASED SYSTEMS
Mr. KongsawasPotipanom
A Master Project Submitted in Partial Fulfillment of the Requirements
for the Degree of Master of Science in Software Engineering
Department of Computer EngineeringFaculty of Engineering
Chulalongkorn UniversityAcademic Year 2011
หวขอโครงงานมหาบณฑต การวดความคลองตวตอการเปลยนแปลงสำาหรบระบบองบรการ
โดย นายคงสวสด โพธพนมภาควชา วศวกรรมคอมพวเตอรอาจารยทปรกษาหนวยงานทรวมโครงการผแทนจากหนวยงาน
รองศาสตราจารย ดร.ทวตย เสนวงศ ณ อยธยา--
ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย อนมตใหนบโครงงานมหาบณฑตฉบบน เปนสวนหนงของการศกษาตามหลกสตรปรญญามหาบณฑต
………………………………………….. หวหนาภาควชาวศวกรรมคอมพวเตอร
(รองศาสตราจารย ดร.ววฒน วฒนาวฒ)
…………………………………………... อาจารยทปรกษา
(รองศาสตราจารย ดร.ทวตย เสนวงศ ณ อยธยา)
ง
คงสวสด โพธพนม : การวดความคลองตวตอการเปลยนแปลงสำาหรบระบบองบรการ (MEASUREMENT OF AGILITY TO CHANGE FOR SERVICE-BASED SYSTEMS) อาจารยทปรกษา : รศ.ดร.ทวตย เสนวงศ ณ อยธยา, 68 หนา.
แนวคดสถาปตยกรรมเชงบรการไดกลายมาเปนแนวทางทนาสนใจในการแกปญหาการพฒนาและบรณาการซอฟตแวร ในการนำาแนวคดของสถาปตยกรรมเชงบรการมาใชอยางเตมรปแบบนน องคกรธรกจตาง ๆ จำาเปนตองศกษาทำาความเขาใจเกยวกบระเบยบวธแบบใหมสำาหรบสถาปตยกรรมเชงบรการ และนำาสถาปตยกรรมนมาใชรวมกบระบบซอฟตแวรตาง ๆ ทมอยแลว ความพยายามดงกลาวมกจะเหนผลในภายหลงเมอระบบสามารถรองรบการเปลยนแปลงไดอยางยดหยน อยางไรกตามเนองจากประโยชนนนไมสงผลทนท องคกรธรกจโดยเฉพาะองคกรขนาดเลกจงเกดความลงเลในการนำาสถาปตยกรรมเชงบรการมาใช โครงงานมหาบณฑตนจงไดนำาเสนอการทดลองเพอพจารณาถงความคลองตวตอการเปลยนแปลงของระบบองบรการเทยบกบระบบทไมองบรการเพอทดสอบวาระบบองบรการมความคลองตวมากกวาระบบทไมองบรการหรอไม การทดลองจะใชระบบบนทกการลาของบรษทพฒนาซอฟตแวรแหงหนงเปนหนวยทดลอง โดยทแบบจำาลองการวดความคลองตวทเสนอนนไดทำาการขยายจากตววดความคลองตวของซอฟตแวรทมอยเดมโดยเพมการพจารณาในสวนความซบซอนของโคด ผลการทดลองไดแสดงวาระบบองบรการมความคลองตวกวาระบบทไมองบรการ และในสวนภาควชาวศวกรรมคอมพวเตอร ลายมอชอนสตสาขาวชาวศวกรรมซอฟตแวร ลายมอชออาจารยทปรกษาปการศกษา 2554
จ# # 5371404221 : MAJOR SOFTWARE ENGINEERINGKEYWORDS : AGILITY, SERVICE ORIENTATION, MEASUREMENT
KONGSAWAS POTIPANOM :MEASUREMENT OF AGILITY TO CHANGE FOR SERVICE-BASED SYSTEMS. PROJECT ADVISOR: ASSOC. PROF. TWITTIE SENIVONGSE,Ph.D. 68 pp.
Service orientation has become an attractive solution to many software development and integration problems. To fully adopt the service orientation concept, business organisations need to learn about a new methodology for service architecture and employ it to their existing software systems. Such an effort is likely to pay off later when the service-based systems can accommodate changes in a more flexible way. However, since the benefits are not seen right away, this could deter business organisations, especially smaller enterprises, from service adoption. This master project presents an experiment to determine agility to change of a service-based system in comparison with that of a non-service-based one to check if the service-based version is more agile to change. The two experimental systems are in the context of an E-Leave application of a small software company in Thailand. The model we use to measure agility extends an existing software agility metric by Department : Computer Engineering
Student’s SignatureField of Study : Software Engineering
Advisor’s SignatureAcademic Year : 2011 signatur
กตตกรรมประกาศ
ขอกราบขอบพระคณ รศ.ดร.ทวตย เสนวงศ ณ อยธยา อาจารยทปรกษาโครงงานมหาบณฑตเปนอยางยงทไดสละเวลาใหคำาปรกษา คำาแนะนำา และแนวทางสำาหรบการทำาโครงงานมหาบณฑต รวมทงเปนผประสานงานใหความชวยเหลอแกนสตททำาโครงงานมหาบณฑตทกคน
ขอกราบขอบพระคณ รศ.ดร.ววฒน วฒนาวฒและผศ.ดร.สบสกล พภพมงคล คณะกรรมการคมสอบโครงงานมหาบณฑตเปนอยางยง ทไดกรณาแนะนำาแนวทาง รวมถงการตรวจสอบและแกไขโครงงานมหาบณฑตน
ขอขอบคณ คณาจารยทกทานในภาควชาวศวกรรมคอมพวเตอร จฬาลงกรณมหาวทยาลย ทใหคำาแนะนำา ความรและแนวทางการทำาโครงงานมหาบณฑต
ขอขอบคณ พ ๆ เพอน ๆ ในหนวยงานและเพอน ๆ หลกสตรวศวกรรมซอฟตแวร สำาหรบกำาลงใจและคำาแนะนำาในการจดทำาโครงงานมหาบณฑต
สดทายน ขอกราบขอบพระคณ คณพอ คณแม รวมถงสมาชกทก ๆ คนในครอบครวทใหการสนบสนนและใหกำาลงใจทดเสมอมา
คงสวสด โพธพนม
สารบญ
หนาบทคดยอภาษาไทย....................................................................................งบทคดยอภาษาองกฤษ....................................................................................จกตตกรรมประกาศสารบญสารบญตารางสารบญรปบทท 1 บทนำา..............................................................1
1.1 ทมาและความสำาคญของปญหา.............................11.2 วตถประสงคของโครงงาน...................................21.3 ขอบเขตของโครงงาน........................................21.4 ประโยชนทคาดวาจะไดรบ....................................31.5 ขนตอนและวธการดำาเนนโครงงาน.........................31.6 ผลงานทตพมพจากโครงงานมหาบณฑต..................3
บทท 2 ทฤษฎและงานวจยทเกยวของ.................................42.1 ทฤษฎทเกยวของ.............................................42.2 งานวจยทเกยวของ...........................................7
บทท 3 แบบจำาลองการวดความคลองตว...........................10บทท 4 วธการดำาเนนงาน..............................................13
4.1 การคดเลอกหนวยทดลอง.................................134.2 การเลอกรายการการเปลยนแปลง........................184.3 การรวบรวมขอมลจากการทดลอง........................19
ซ
4.4 สภาพแวดลอมและเครองมอทใชในการพฒนา..........21บทท 5 การทดลองและการวเคราะหผลการทดลอง...............22
5.1 การดำาเนนการทดลอง......................................225.2 ผลการทดลอง...............................................385.3 การคำานวณคาความคลองตว..............................445.4 สรปผลการทดลอง.........................................50
บทท 6 บทสรปโครงงาน อภปรายผล และขอเสนอแนะ...........516.1 สรปผลโครงงานมหาบณฑต...............................516.2 ปญหาและขอจำากดในการทำาโครงงาน....................516.3 ขอเสนอแนะ..................................................52
รายการอางอง...........................................................53ภาคผนวก................................................................54ภาคผนวก ก แผนภาพการออกแบบระบบการเปลยนแปลงรายการท 1 55ภาคผนวก ข แผนภาพการออกแบบระบบการเปลยนแปลงรายการท 2 59ภาคผนวก ค ตารางบนทกเวลาการทำางาน...........................64ประวตผเขยนโครงงานมหาบณฑต....................................68
สารบญตาราง
หนา
ตารางท 4.1 ตวอยางตารางบนทกผลกระทบจากการเปลยนแปลง (Non Service)........................................................20ตารางท 4.2 ตวอยางตารางบนทกผลกระทบจากการเปลยนแปลง (Service)...............................................................20ตารางท 5.1 คำาอธบายยสเคสการยกยอดวนลา....................23ตารางท 5.2 การทดสอบการยกยอดวนลาคงเหลอ (Non Service)................................................................26ตารางท 5.3 การทดสอบการยกยอดวนลาคงเหลอ (Service).27ตารางท 5.4 คำาอธบายยสเคสการปรบปรงขอมลประเภทการทำางานเปนกะเวลาของพนกงาน................................................29ตารางท 5.5 คำาอธบายยสเคสการบนทกการลาของพนกงานททำางานเปนกะ.............................................................30ตารางท 5.6 การทดสอบการกำาหนดประเภทการทำางานของพนกงานเปนแบบกะ(Non Service)...............................35ตารางท 5.7 การทดสอบการกำาหนดประเภทการทำางานของพนกงานเปนแบบกะ(Service).......................................36ตารางท 5.8 การทดสอบการบนทกการลา(Non Service).....37ตารางท 5.9 การทดสอบการบนทกการลา(Service)............38ตารางท 5.10 ผลกระทบจากการเปลยนแปลงรายการท 1 (Non Service)................................................................39ตารางท 5.11 ผลกระทบจากการเปลยนแปลงรายการท 1 (Service)...............................................................39ตารางท 5.12 คาความซบซอนของโคดของการเปลยนแปลงรายการท 1 (Non Service)........................................40ตารางท 5.13 คาความซบซอนของโคดของการเปลยนแปลงรายการท 1 (Service)................................................40
ฌ
ตารางท 5.14 ผลกระทบจากการเปลยนแปลงรายการท 2 (Non Service)................................................................42ตารางท 5.15 ผลกระทบจากการเปลยนแปลงรายการท 2 (Service)...............................................................42ตารางท 5.16 คาความซบซอนของโคดของการเปลยนแปลงรายการท 2 (Non Service)........................................43ตารางท 5.17 คาความซบซอนของโคดของการเปลยนแปลงรายการท 2 (Service)................................................43ตารางท 5.18 การคำานวณคาความคลองตวของการเปลยนแปลงรายการท 1 (Non Service)........................................45ตารางท 5.19 การคำานวณคาความคลองตวของการเปลยนแปลงรายการท 1 (Service)................................................45ตารางท 5.20 ตารางสรปการคำานวณคาความคลองตวของการเปลยนแปลงรายการท 1...............................................46ตารางท 5.21 การคำานวณคาความคลองตวของการเปลยนแปลงรายการท 2 (Non Service)........................................48ตารางท 5.22 การคำานวณคาความคลองตวของการเปลยนแปลงรายการท 2 (Service)................................................48ตารางท 5.23 ตารางสรปการคำานวณคาความคลองตวของการเปลยนแปลงรายการท 2...............................................49
ญ
สารบญรปหนา
รปท 2.1 ระดบชนของสถาปตยกรรมเชงบรการ.....................5รปท 2.2 ตวอยางการพฒนาดวยสถาปตยกรรมเชงบรการเทยบกบการพฒนาดวยวธเดม.....................................................6รปท 2.3 ตวอยางกราฟการไหลของโปรแกรม และการคำานวณคาความซบซอนไซโคลมาตก.................................................7รปท 3.1 มตความซบซอนของการเปลยนแปลง....................11รปท 4.1 สถาปตยกรรมของระบบบนทกการลา....................13รปท 4.2 แผนภาพดพลอยเมนตของระบบบนทกการลา..........15รปท 4.3 แผนภาพความสมพนธของคลาสของระบบบนทกการลา.............................................................................16รปท 4.4 การออกแบบเซอรวซของระบบบนทกการลา.............16รปท 4.5 สถาปตยกรรมของระบบบนทกการลาแบบองบรการ...17รปท 4.6 แผนภาพดพลอยเมนตของระบบบนทกการลาแบบองบรการ.....................................................................17รปท 4.7 ตวอยางตารางบนทกเวลาการทำางาน.....................19รปท 4.8 โปรแกรมลอคเมตรกส......................................20รปท 5.1 แผนภาพยสเคสของการเปลยนแปลงรายการท 1......23รปท 5.2 แผนภาพความสมพนธของคลาสของการเปลยนแปลงรายการท 1...............................................................25รปท 5.3 หนาจอเมนสวนการยกยอดวนลา..........................25รปท 5.4 หนาจอการยกยอดวนลา....................................26รปท 5.5 แผนภาพยสเคสของการเปลยนแปลงรายการท 2......29รปท 5.6 แผนภาพคลาสของการเปลยนแปลงรายการท 2.......32รปท 5.7 หนาจอการปรบปรงขอมลพนกงาน.......................33รปท 5.8 หนาจอการบนทกการลา....................................34รปท 5.9 ขอมลประวตการลาของพนกงาน..........................34
รปท 5.10 ความแตกตางของโคดแบบไมเรยกใชเซอรวซกบแบบเรยกใชเซอรวซ...........................................................47รปท ก.1 แผนภาพกจกรรมของการเปลยนแปลงรายการท 1 (Non Service)........................................................55รปท ก.2 แผนภาพกจกรรมของการเปลยนแปลงรายการท 1 (Service)...............................................................56รปท ก.4 แผนภาพลำาดบของการเปลยนแปลงรายการท 1 (Service)...............................................................58รปท ข.1 แผนภาพกจกรรมการปรบปรงประเภทการทำางานของพนกงาน (Non Service)............................................59รปท ข.2 แผนภาพกจกรรมการปรบปรงประเภทการทำางานของพนกงาน (Service)...................................................60รปท ข.3 แผนภาพกจกรรมการบนทกการลา (Non Service). 61รปท ข.4 แผนภาพกจกรรมการบนทกการลา (Service).........62รปท ข.5 แผนภาพลำาดบของการบนทกการลา (Non Service)62รปท ข.6 แผนภาพลำาดบของการบนทกการลา (Service).......63รปท ข.7 แผนภาพลำาดบของการคำานวณวนลาทใช.................63รปท ค.1 การบนทกเวลาการทำางานการเปลยนแปลงรายการท 1 (Non Service)........................................................64รปท ค.2 การบนทกเวลาการทำางานการเปลยนแปลงรายการท 1 (Service)...............................................................65รปท ค.3 การบนทกเวลาการทำางานการเปลยนแปลงรายการท 2 (Non Service)........................................................66รปท ค.4 การบนทกเวลาการทำางานการเปลยนแปลงรายการท 2 (Service)...............................................................67
1 บทท 1บทนำา
1.1 ทมาและความสำาคญของปญหาแนวคดสถาปตยกรรมเชงบรการ (Service-Oriented
Architecture) เปนแนวคดในการออกแบบระบบซอฟตแวร ทมสวนประกอบพนฐานของระบบคอ บรการหรอเซอรวซ ซงเปนหนวยของซอฟตแวร (Software Unit) ททำาฟงกชนงานบางอยาง และใหบรการแกสวนอนของระบบผานสวนตอประสาน (Interface) ทประกาศไว การพฒนาซอฟตแวรทำาไดโดยเรยกใชเซอรวซทมอยแลว หรอนำาเซอรวซตาง ๆ มาประกอบกนเปนเซอรวซใหม หรอเรยกใชเซอรวซตาง ๆ เพอตอบสนองกระบวนการธรกจ การพฒนาจงทำาไดสะดวกรวดเรว เพราะสามารถนำาเซอรวซทมอยกลบมาใชใหมได และสามารถเปลยนหรอถอดประกอบเซอรวซเปนตวใหมได บทความและวรรณกรรมทเกยวกบการพฒนาระบบดวยแนวคดสถาปตยกรรมเชงบรการ ไดกลาวถงประโยชนของการพฒนาระบบดวยแนวคดนไวหลายประการดวยกน เชน ชวยเพมความสามารถในการทำางานรวมกนกบระบบตาง ๆ ภายในองคกร เพมผลตอบแทนจากการลงทน เพมความคลองตว และลดตนทนทใชในการพฒนาระบบ เปนตน ซงเปนสงจงใจใหองคกรตาง ๆ ในปจจบนสนใจทจะนำาแนวคดสถาปตยกรรมเชงบรการไปปรบเปลยน หรอพฒนาระบบของตนใหสอดคลองกบเปาหมายทางธรกจขององคกร
ผวจยเหนวา แมวาบทความ และวรรณกรรมตาง ๆ จะกลาวถงประโยชนของสถาปตยกรรมเชงบรการไวมากมาย แตประโยชนนนนาจะเหนผลหลงจากทไดมการพฒนาระบบไปแลว คอเมอมความตองการสรางระบบใหมองเซอรวซเดมหรอตองการปรบเปลยนระบบเดม แตประโยชนอาจจะไมปรากฏในทนท องคกรอาจประสบปญหาในการนำาแนวคดสถาปตยกรรมเชงบรการมาใชเชนกน เนองดวยตอง
2ใชเวลา และความพยายามไปกบการศกษาทำาความเขาใจแนวคดวธการในการพฒนา การศกษาถงผลกระทบ รวมถงการเปลยนแปลงตาง ๆ ภายในองคกรกวาจะพฒนาระบบดวยแนวคดสถาปตยกรรมเชงบรการขนมาได
ดงนนผวจยจงมความสนใจทจะทำาการทดลองเพอทดสอบประโยชนของการพฒนาระบบดวยแนวคดสถาปตยกรรมเชงบรการวามความเหมาะสมทจะเลอกนำามาใชในการพฒนาระบบ โดยเฉพาะในชวงของการบำารงรกษาระบบหลงจากทระบบไดถกสงมอบไปแลวนน มกจะพบกบการเปลยนแปลงระบบอยบอยครง เนองจากตองการปรบใหเหมาะสมกบการทำางาน หรอใหสอดคลองกบการเปลยนแปลงทางธรกจ ดวยเหตนผวจยจงเลอกทจะพจารณาถงประโยชนของการพฒนาระบบดวยแนวคดสถาปตยกรรมเชงบรการในแงความคลองตว (Agility) ซงในทนจะหมายถงความสามารถของระบบในการตอบสนองตอการเปลยนแปลง การทดลองจะทำาการเปรยบเทยบความคลองตวของระบบองบรการ (Service-Based System) กบระบบทไมไดองบรการ (Non Service-Based System) ในการดำาเนนการกบการเปลยนแปลง การเปรยบเทยบจะใชแบบจำาลองตววดความคลองตว (Agility Metric) ซงพจารณาจากความซบซอนของการเปลยนแปลง (Change Complexity) กบระยะเวลาทใชในการดำาเนนการกบการเปลยนแปลง (Change Duration) โดยในสวนของความซบซอนของการเปลยนแปลงนนจะพจารณาในสามมตดวยกน ไดแก มตของระดบชนในเชงสถาปตยกรรมของซอฟตแวรทการเปลยนแปลงนนไปกระทบ (Architectural Depth) มตความกวางของกระบวนการทำางาน (Process Breadth) และมตความซบซอนของโคด (Code Complexity) ทการเปลยนแปลงนนไปกระทบ
31.2 วตถประสงคของโครงงาน
เพอเสนอตววดทสามารถใชในการวดความคลองตวตอการเปลยนแปลงของระบบองบรการ และเปรยบเทยบความคลองตวตอการเปลยนแปลงระหวางระบบองบรการและระบบทไมองบรการ
1.3 ขอบเขตของโครงงาน1) เสนอตววดความคลองตวทพจารณาความสมพนธของความ
ซบซอนของคำาขอเปลยนแปลง เทยบกบเวลาทใชดำาเนนการตอคำาขอเปลยนแปลง และมองความซบซอนของคำาขอเปลยนในลกษณะของปรมาตรของการเปลยนแปลง ซงพจารณาจาก ระดบชนในเชงสถาปตยกรรมของซอฟตแวรทคำาขอเปลยนแปลงนนไปกระทบ ความกวางของกระบวนการทำางาน และความซบซอนของโคดทคำาขอเปลยนแปลงนนไปกระทบ
2) เพอทำาการทดลองดคาความคลองตวของระบบทพฒนาแบบองบรการ เทยบกบระบบทพฒนาแบบไมองบรการในการตอบสนองตอการเปลยนแปลงในลกษณะตาง ๆ
3) ใชระบบบนทกการลาของบรษทพฒนาซอฟตแวรแหงหนง เปนหนวยทดลองโดยใชเปนตวแทนของระบบทไมองบรการ สวนตวแทนของระบบองบรการจะจดทำาขนจากระบบบนทกการลา โดยจะมการพจารณาออกแบบเซอรวซหรอบรการทเปนเซอรวซเอนทต (Entity Services) ซงเปนเซอรวซทเกยวของกบเอนทตของขอมลในระบบ และเซอรวซอรรถประโยชน (Utility Services) ทมแนวโนมของการนำากลบมาใชใหมสง
4) กำาหนดใหชวงของการดำาเนนงานแบงออกเปนสามชวงประกอบดวย ชวงการวเคราะหออกแบบ ชวงการพฒนาโปรแกรม และชวงการทดสอบโปรแกรม โดยสมมตใหผวจย
4ทำาหนาทในสามตำาแหนงไดแก นกวเคราะหระบบ ผพฒนาโปรแกรม และผทดสอบระบบ
5) ระบบทใชเปนหนวยทดลองจะทำาการพฒนา และตดตงบนเครองแสตนดอะโลนเทานน
1.4 ประโยชนทคาดวาจะไดรบ1) องคกรสามารถนำาตววดความคลองตวไปใชในการวดความ
คลองตวของระบบซอฟตแวรทตนไดทำาการพฒนา ไมวาจะเปนระบบทเปนแบบองบรการหรอไมกตาม เพอนำาไปปรบปรงกระบวนการพฒนาซอฟตแวรของตนในลำาดบตอไปได
2) ไดขอมลเกยวกบความคลองตวของระบบแบบองบรการในแงของการตอบสนองตอการเปลยนแปลง เพอเปนประโยชนตอการพจารณาขององคกรในการนำาสถาปตยกรรมเชงบรการมาใช
1.5 ขนตอนและวธการดำาเนนโครงงาน1) ศกษาวธการทใชในการวดความคลองตวตอการเปลยนแปลง
ของระบบซอฟตแวร2) ปรบปรงตววดทใชในการวดความคลองตวตอการ
เปลยนแปลงของระบบซอฟตแวร3) ทำาการคดเลอกหนวยทดลองสำาหรบใชในการทดลอง4) สรางหนวยทดลองทเปนระบบองบรการ5) ทำาการคดเลอกการเปลยนแปลงทเหมาะสมกบการทดลอง6) ดำาเนนการทดลอง7) สรปและวเคราะหผลการทดลอง8) จดทำาบทความตพมพ9) จดทำารายงาน
51.6 ผลงานทตพมพจากโครงงานมหาบณฑต
สวนหนงของโครงงานมหาบณฑตนไดรบการตอบรบเพอตพมพเปนบทความวจยในหวขอเรอง “Measurement of Agility to Change for Service-Based Systems” โดย KongsawasPotipanom and TwittieSenivongse ในวารสารงานประชมวชาการซอฟตแวรและวศวกรรมสารสนเทศนานาชาตป 2555(The 2012 International Conference on Software and Information Engineering : ICSIE2012) ซงจดขนโดยสถาบนอเลกทรอนกสสงคโปร มหาวทยาลยพตรามาเลเซย และมหาวทยาลยเทคโนโลยมารา ณ โรงแรมเฟรสโฮเตล กรงเทพฯ ระหวางวนท 12 –13 พฤษภาคม 2555
2 บทท 2ทฤษฎและงานวจยทเกยวของ
2.1 ทฤษฎทเกยวของ
2.1.1 สถาปตยกรรมเชงบรการสถาปตยกรรมเชงบรการ (Service-Oriented
Architecture: SOA) [1]เปนแนวคดทใชสรางแบบจำาลองสถาปตยกรรมสำาหรบการวางโครงสรางพนฐานของระบบซอฟตแวรขององคกร ทมงเนนในการเพมประสทธภาพการทำางาน ความคลองตว และผลตภาพ บนพนฐานของเซอรวซทสามารถใชรวมกนไดและนำากลบมาใชใหมได ทงนเนองจากระบบเทคโนโลยสารสนเทศขององคกรตาง ๆ มการพฒนาระบบดวยเทคโนโลยทหลากหลาย ซงทำาใหยากในการจะใชงานระบบเหลานนรวมกน ยากตอการการบำารงรกษา มคาใชจายทสง และมความคลองตวนอยในการทจะปรบเปลยนระบบใหสอดรบกบการเปลยนแปลงทางธรกจ แนวคดสถาปตยกรรมเชงบรการจงไดถกนำามาใชเพอแกปญหาดงกลาว
การออกแบบระบบดวยแนวคดสถาปตยกรรมเชงบรการนน สามารถแบงออกไดเปน 4 ระดบชนดงน (รปท 2.1)
1) ระดบชนกระบวนการทางธรกจ (Business Processes Layer) เปนระดบชนทประกอบดวยสวนของเซอรวซตงแตหนงเซอรวซขนไป ทถกนำามาใชในการจดการกระบวนทางธรกจ ในการแกไขปญหา หรอดำาเนนการอยางใดอยางหนง
2) ระดบชนเซอรวซ (Services Layer) เปนระดบชนทประกอบดวยเซอรวซตาง ๆ ทสามารถนำากลบมาใชใหมได โดยเซอรวซเหลานนถกสรางมาจากมอดลตาง ๆ ของโปรแกรมทอยระดบชนทรพยากรการดำาเนนงาน โดยมสวน
7ตอประสาน (Interface) ทประกาศไวสำาหรบใหซอฟตแวรสวนอนเรยกใชงาน
3) ระดบชนสวนประกอบวสาหกจ (Enterprise Components Layer) เปนระดบชนของสวนประกอบทมหนาทในการจดการตรรกะทางธรกจ และทำาหนาทตอประสานกบระดบชนทรพยากรการดำาเนนงานในการดำาเนนการของตรรกะนน ๆ
4) ระดบชนทรพยากรการดำาเนนงาน (Operational Resources Layer) เปนระดบชนทประกอบไปดวยระบบสารสนเทศ โปรแกรม และฐานขอมล ทใชในองคกร ซงเซอรวซตาง ๆ ไดถกสรางจากสวนประกอบเหลาน
รปท 2.1 ระดบชนของสถาปตยกรรมเชงบรการ
82.1.2 ความคลองตวความคลองตว (Agility) [2] เปนประโยชนอยางหนงท
องคกรหรอหนวยงานตาง ๆ คาดหวงวาจะไดรบจากการพฒนาระบบดวยแนวคดสถาปตยกรรมเชงบรการ โดยความคลองตวจะเปนสงทแสดงถงความสามารถขององคกรในการตอบสนองตอการเปลยนแปลงวามประสทธภาพมากนอยเพยงใด และเนองดวยการพฒนาระบบแบบสถาปตยกรรมเชงบรการเปนการพฒนาโดยการนำาเซอรวซตาง ๆ ทองคกรมอยเดมนำากลบมาใชใหม จงสามารถชวยลดระยะเวลา และความพยายามทใชในการพฒนาลงได โดยไมตองเรมทำาใหมทงหมด ดงรปท 2.2 แสดงตวอยางการพฒนาระบบการลงเวลา (Timesheet) ซงเหนไดชดวาการพฒนาระบบแบบสถาปตยกรรมเชงบรการนนสามารถลดในสวนทจะตองพฒนาใหมลงเหลอเพยง 35 เปอรเซนต และสามารถนำาเซอรวซทมอยเดมกลบมาใชใหมถง 65 เปอรเซนต อกทงยงชวยลดระยะเวลาในการสงมอบลงประมาณ 50 เปอรเซนตเมอเทยบกบการพฒนาระบบดวยวธเดม
รปท 2.2 ตวอยางการพฒนาดวยสถาปตยกรรมเชงบรการเทยบกบการพฒนาดวยวธเดม [2]
92.1.3 คาความซบซอนไซโคลมาตกคาความซบซอนไซโคลมาตก (Cyclomatic Complexity)
[3] ถกพฒนาในป คศ.1976 โดย Thomas J. McCabe ใชในการวดความซบซอนของโปรแกรม ซงเปนตวบงชวาโปรแกรมนนมความยากตอการบำารงรกษา และการทดสอบมากนอยเพยงใด โดยสามารถคำานวณไดจากสองวธ
วธทหนง คำานวณเสนทางของกราฟการไหลของโปรแกรม (Flow Graph) คดจากจำานวนเสนเชอมตอระหวางโหนด (Edge) และจำานวนโหนด (Node) ของกราฟ ดงสมการ
υ (G )=e−n+2 (1) ʋ(G) คอคาความซบซอนไซโคลมาตก e คอจำานวนเสนเชอมตอระหวางโหนด n คอจำานวนโหนด
วธทสอง คำานวณจากจำานวนโหนดตดสนใจ (Decision Node) ดงสมการ
υ (G )=P+1 (2) เมอ P คอจำานวนโหนดตดสนใจ
ตวอยางกราฟการไหลของโปรแกรม และการคำานวณคาความซบซอนของโปรแกรมโดยวธไซโคลมาตกแสดงดงรปท 2.3
10
รปท 2.3 ตวอยางกราฟการไหลของโปรแกรม และการคำานวณคาความซบซอนไซโคลมาตก
2.2 งานวจยทเกยวของจากการศกษางานวจยทเกยวของกบการวดความคลองตว
สามารถแบงกลมของงานวจยออกไดเปน 2 กลม กลมแรกเปนกลมงานวจยทเกยวของกบการวดความคลองตวของซอฟตแวร (Software Agility) โดยมงานวจยชอ “Measuring the agility of a SOA approach” [4] ไดเสนอวธการวดความคลองตวของระบบทออกแบบดวยสถาปตยกรรมเชงบรการ ซงมการเสนอตววดความคลองตว (Agility Metric) ทพจารณาจากความสมพนธของความซบซอนของการเปลยนแปลงระบบ (Change Complexity) เทยบกบเวลาทใชในการดำาเนนการเปลยนแปลงระบบ (Change Duration) โดยมองความซบซอนของการเปลยนแปลงระบบเปน 2 มตในลกษณะของพนทสเหลยมของการเปลยนแปลง ไดแก มตของจำานวนระดบชนในเชงสถาปตยกรรมของซอฟตแวรทการเปลยนแปลงนนไปกระทบ (Architectural Depth) และมตความกวางของกระบวนการทำางาน (Process Breadth) ทใชในการดำาเนนการกบการ
11เปลยนแปลง ดงนนความซบซอนของการเปลยนแปลงระบบจะเปนผลคณของคาจากสองมตดงกลาว จากนนทำาการวดขอมลในการดำาเนนการกบการเปลยนแปลงของสองระบบ ระบบแรกเปนระบบทออกแบบดวยสถาปตยกรรมเชงบรการ สวนระบบทสองเปนระบบทไมไดออกแบบดวยสถาปตยกรรมเชงบรการ และทำาการเปรยบเทยบคาทไดจากการวด โดยคาดหวงวาคาความคลองตวของระบบทออกแบบดวยสถาปตยกรรมเชงบรการจะสงกวาระบบทไมไดออกแบบดวยสถาปตยกรรมเชงบรการ อกหนงงานวจยในกลมนเปนงานวจยชอวา “A Practical Measurement for the Agility of Software Development Processes” [5] ไดเสนอวธการวดความคลองตวของซอฟตแวรดวยการเทยบเคยงความคลองตวกบอตราการเปลยนแปลงของคาเอนโทรป โดยเอนโทรปในงานวจยนจะหมายถงความไมแนนอนของซอฟตแวร ซงพจารณาจากลอกการเปลยนแปลง (Change Logs) ของซอฟตแวร ณ ชวงเวลาหนง หากคาอตราการเปลยนแปลงของคาเอนโทรปออกมาสง จะแสดงวาซอฟตแวรนนรบการเปลยนแปลงไดบอยจงมความคลองตวสงดวยเชนกน งานวจยดงกลาวไดทำาการทดสอบกบโอเพนซอรซ (Open Source) ซอฟตแวร 2 ระบบ ระบบแรกเปนระบบทใชวธอะไจลในการพฒนา (Agile System) และระบบทสองเปนระบบทไมไดใชวธอะไจลในการพฒนา (Non-Agile System)
กลมทสองเปนกลมงานวจยทเกยวของกบการวดความคลองตวของกระบวนการทำางานและการดำาเนนงาน (Process and Operation Agility) โดยมงานวจยชอ “A measure of agility as the complexity of the enterprise system” [6] ไดเสนอแบบจำาลองในการวดความคลองตวของระบบวสาหกจ (Enterprise System) ดวยแนวคดทวาหากระบบวสาหกจมความซบซอนของกระบวนการทำางานตำา ระบบวสาหกจนนจะมความคลองตวในการปรบเปลยนกระบวนการทำางานทสงกวาระบบวสาหกจ
12ทมความซบซอนของกระบวนการทำางานสง โดยงานวจยไดทำาการเปรยบเทยบความซบซอนของกระบวนการทำางานของระบบการใหบรการดานโทรคมนาคมทใชอย ณ ปจจบน (As Is Process) กบกระบวนการทำางานทจะทำาการปรบรอใหม (Reengineering Process) การวดความซบซอนจะพจารณาจากอตราการเปลยนแปลงสถานะของกระบวนการทำางาน หากคาอตราการเปลยนแปลงสถานะของกระบวนการทำางานของระบบออกมาสงจะกลาวไดวาระบบมความซบซอนสง สวนการวดความคลองตวของกระบวนการทำางานจะพจารณาจากตนทน กบเวลาทใชทงหมดในการเปลยนสถานะของกระบวนการทำางานตงแตเรมกระบวนการจนจบกระบวนการทำางาน หากตนทนและเวลาทใชทงหมดออกมาสงแสดงวาระบบนนมความคลองตวตำา แนวคดวธการของงานวจยนเปนการวดความคลองตวของกระบวนการทำางานของระบบซงไมสามารถนำามาใชในการวดความคลองตวของซอฟตแวรได แตสำาหรบแนวคดในการพจารณาความซบซอนเปนแนวคดทเหมาะสมทจะนำามาสะทอนถงความคลองตวไดด งานวจยตอมาชอ “Agility Measurement Index – A Metric for the Crossroads of Software Development Methodologies” [7] ไดเสนอตววดทเปนดชนการวดความคลองตว (Agility Measurement Index) เพอชวยใหองคกรสามารถเลอกแบบจำาลองกระบวนการ (Process Model) ทดทสด และเหมาะกบแตละโครงการพฒนาซอฟตแวร จากผลของงานวจยพบวาหากคาทไดจากการวด มคาไมสงมากจะบงบอกวาระบบทจะทำาการพฒนานนคอนขางนง และมความซบซอนในกระบวนการพฒนานอย ซงจะเหมาะกบแบบจำาลองนำาตก (Waterfall Model) แตถาหากคาทไดออกมาสงจะเหมาะกบแบบยนไฟด (Unified Process) หรอแบบเอกซพ (Extreme Programming: XP) มากกวา และจะตองนำาคานำาหนกทผทำาการวดกำาหนดใหกบแตละมมมองตาง ๆ มาประกอบการพจารณาดวย ในกรณทคานำาหนกในมมมองของการตดตอกบผใชมคาทสง จะเหมาะ
13กบแบบเอกซพ แตหากคาในมมมองของระยะเวลาทใช และคาของความเสยงมคาทสง จะเหมาะกบแบบยนไฟดมากกวา ขอสงเกตสำาหรบงานวจยดงกลาวคอ คาทใชในสตรการคำานวณของตววด จะมาจากการใหคานำาหนกจากตวผวด ซงตองอาศยประสบการณในการพฒนาซอฟตแวรมาพอสมควร การวดทำาในชวงกอนเรมโครงการ และไมสามารถนำามาวดความคลองตวของซอฟตแวรได เนองจากเปนการวดความคลองตวของแบบจำาลองกระบวนการทำางาน อกงานวจยหนงในกลมนเปนงานวจยชอวา “Evaluating Agility in Extended Enterprise Systems: A Transportation Network case” [8] ซงไดเสนอตววดทเปนคาดชนความคลองตวรวม (Total Agility Index) เพอใชในการประเมนความสามารถของระบบวสาหกจในการปรบตวเขากบการเปลยนแปลงทไมคาดคดของสงแวดลอม โดยนำาตววดไปใชกบขอมลระบบการขนสงมวลชนของเมองนวยอรกในสถานการณตาง ๆ เชน วนทมการแขงขนกฬา วนทมการเดนขบวนพาเหรด เปนตน เมอผลทไดจากการวดออกมามคาตำา แสดงวาระบบมความคลองตวสงในการปรบเขากบสถานการณ แตหากผลทไดจากการวดมคาสงจะกลาวไดวาระบบมความคลองตวนอยในการทจะปรบตวเขากบสถานการณนน ๆ ความคลองตวของงานวจยนจะเปนลกษณะความคลองตวของการดำาเนนงาน (Operation Agility) ดงนนจงไมสามารถนำามาใชในการวดความคลองตวของซอฟตแวรได
จากงานวจยทไดกลาวมาขางตน ผวจยไดเลอกใหความสนใจกบงานวจยในกลมทเกยวของกบการวดความคลองตวของซอฟตแวร และไดเลอกบทความ [4]ในการอางองสำาหรบโครงงานน เนองจากมการเสนอวธการ และตววดทสามารถทำาความเขาใจ และนำาไปประยกตใชไดงาย ซงตววดทเสนอมาสามารถประยกตใชไดกบทกระบบเทคโนโลยสารสนเทศ สวนอกงานวจยหนงในกลมทไดทำาการวดความคลองตวของซอฟตแวรจากอตราการเปลยนแปลงของคาเอนโทรป มลกษณะเปนการพจารณาความถของการเกดลอกการ
14เปลยนแปลง ณ ชวงเวลาหนง ผวจยเหนวาการเกดลอกการเปลยนแปลงจำานวนมาก ไมสามารถนำาไปเปนตวบงชวาซอฟตแวรมความคลองตวสง เพราะการเปลยนแปลงอาจจะเกดจากการทซอฟตแวร พฒนาไมตรงตามความตองการของผใช หรอมขอบกพรองสง จงจำาเปนตองมการรองขอใหทำาการแกไข และเปลยนแปลงระบบ
3 บทท 3แบบจำาลองการวดความคลองตว
ในบทนจะกลาวถงแบบจำาลองทใชในการวดความคลองตว โดยจากการศกษางานวจยทเกยวของ ผวจยไดเลอกทจะนำาตววดความคลองตวของซอฟตแวรทเสนอในบทความ [4] มาใชโดยพจารณาจากความสมพนธของความซบซอนของการเปลยนแปลงระบบ เทยบกบเวลาทใชในการดำาเนนการเปลยนแปลงระบบ ดงสมการท 3
Agility = Change Complexity / Change Duration(3)
ในสวนความซบซอนของการเปลยนแปลงซงมการพจารณาพนทของการเปลยนแปลง (Area of Change) ในสองมต ไดแก มตของจำานวนระดบชนในเชงสถาปตยกรรมของซอฟตแวรทการเปลยนแปลงนนไปกระทบ และมตความกวางของกระบวนการทำางานทใชในการดำาเนนการกบการเปลยนแปลง แสดงไดดงรปท 3.1 และดงสมการท 4 [4]
รปท 3.4 มตความซบซอนของการเปลยนแปลง (ดงเดม)
Change Complexity = Architectural Depth * Process Breadth (4)
16
จากรปท 3.1 และสมการท 4 ผวจยเหนดวยกบแนวคดในการนำาความซบซอนของการเปลยนแปลงมาอธบายถงความคลองตวซงคลายกบงานวจย [6] ทนำาความซบซอนของกระบวนการทำางานของระบบวสาหกจมาอธบายความคลองตวในการปรบเปลยนกระบวนการทำางาน แตถาหากนำามาสมการท 4 มาอธบายถงความคลองตวของซอฟตแวรนนอาจจะไมชดเจนนกเนองจากสมการเปนการอธบายในลกษณะของกระบวนการทำางาน ผวจยเหนวาควรปรบการมองเปนสามมตในลกษณะของปรมาตรของการเปลยนแปลง (Volume of Change) ดวยการเพมมตในสวนของการทคำาขอเปลยนแปลงนนไปกระทบกบโคดของระบบ ซงจะมความซบซอนแตกตางกนออกไปในแตละมอดลของโปรแกรม และความซบซอนของโคดนมผลตอความยากงายในการดำาเนนการกบการเปลยนแปลงดวยเชนกน ดงรปท 3.2 โดยสามารถแสดงการปรบสมการของความซบซอนของการเปลยนแปลงไดดงสมการท 5
17
รปท 3.5 มตความซบซอนของการเปลยนแปลง (ใหม)
Change Complexity = Architectural Depth * Process Breadth * Code Complexity (5)
1) คาระดบชนในเชงสถาปตยกรรมของซอฟตแวรทการเปลยนแปลงนนไปกระทบ (Architectural Depth) ไดมาจากการนบจำานวนของระดบชนในเชงสถาปตยกรรมของซอฟตแวรทการเปลยนแปลงนนไปกระทบ หรอทำาใหตองมการเปลยนแปลงแกไขในระดบชนนน ๆ ซงระดบชนในทนอาจจะแบงเปน ระดบชนประสบการณของผใช (User Experience) ระดบชนกระบวนการเชงธรกจ (Business Process) และระดบชนของการจดเกบขอมลสารสนเทศ (Information Storage) เปนตน
182) คาความกวางของกระบวนการทำางาน (Process
Breadth) ไดมาจากการนบจำานวนตำาแหนง (Number of Roles) ในองคกรทไดมการมอบหมายใหดำาเนนการกบการเปลยนแปลง เชน ตำาแหนงนกวเคราะหระบบ ตำาแหนงผพฒนาโปรแกรม และตำาแหนงผทดสอบระบบ เปนตน รวมกบจำานวนการสงตองานระหวางตำาแหนงงาน (Number of Handoffs between Roles) ยกตวอยาง เชน นกวเคราะหระบบสงงานเอกสารการออกแบบระบบใหกบผพฒนาโปรแกรมเพอใชในการพฒนาระบบ หรอผพฒนาโปรแกรมสงโปรแกรมทพฒนาเสรจใหกบผทดสอบระบบทำาการทดสอบระบบวาเปนไปตามขอกำาหนดความตองการหรอไม เปนตน ซงแสดงไดดงสมการท 6
Process Breadth = No.of Roles + No.of Handoffs between Roles (6)
3) คาความซบซอนของโคด (Code Complexity) สามารถคำานวณไดจากคาความซบซอนไซโคลมาตกของโคดในแตละมอดล ทการเปลยนแปลงนนไปกระทบ
4 บทท 4วธการดำาเนนงาน
ในบทนจะกลาวถงวธการดำาเนนงานเพอเตรยมการทดลองซงประกอบดวย การคดเลอกหนวยทดลอง การเลอกรายการเปลยนแปลง และการรวบรวมขอมลจากการทดลอง
4.1 การคดเลอกหนวยทดลองเนองจากโครงงานนตองการทำาการทดลองเพอเปรยบเทยบ
ความคลองตวของระบบองบรการ กบระบบทไมองบรการ ในการตอบสนองตอการเปลยนแปลง ดงนนจงจำาเปนทจะตองเลอกหนวยทดลองใหเหมาะสมเพอเปนตวแทนของทงสองระบบดงน4.1.1 ระบบทไมองบรการ (Non Service-Based System)
ผวจยไดเลอกหนวยทดลองทเปนระบบบนทกการลา (E-Leave) ของบรษทพฒนาซอฟตแวรแหงหนง เพอเปนตวแทนของระบบทไมองบรการ โดยมรายละเอยดของระบบดงรปท4.1
รปท 4.6 สถาปตยกรรมของระบบบนทกการลา
20จากรปท 4.1 ซงแสดงสถาปตยกรรมของระบบบนทกการลา แบงออกเปน 4 ระดบชนไดแก
1)ระดบชนการนำาเสนอ (Presentation Layer) เปนสวนของการนำาเสนอขอมลสารสนเทศแกผใช และทำาการแปลผลการตอบสนองของผใช องคประกอบตาง ๆ ในสวนนประกอบดวย ฟอรมของหนาจอตาง ๆ ทเปนเจเอสพ (Java Server Page: JSP) ซงเปนเทคโนโลยหนงของภาษาจาวา และคำาสง (Script)
2)ระดบชนแอปพลเคชน (Application Layer) เปนสวนของโปรแกรมททำาหนาทในการควบคมการทำางานของหนาจอโปรแกรมตาง ๆ ในสวนการนำาเสนอ
3)ระดบชนโดเมน (Domain Layer) เปนสวนของโปรแกรมทเกยวกบเงอนไขทางธรกจทเกยวกบการลา เชน เงอนไขการคำานวณวนลาทใชไปของพนกงาน (Leave Consumed) เงอนไขการอนมตการลา (Leave Approval) เปนตน
4)ระดบชนการเขาถงขอมล (Data Access Layer) จะเปนสวนตดตอระหวางโปรแกรมกบฐานขอมลของระบบบนทกการลา ซงมฐานขอมลชอ “EApps” โดยมกรอบงานไฮเบอรเนต (Hibernate Framework) ทชวยจดการโปรแกรมทอยในรปของออบเจกต ใหสามารถใชงานกบระบบฐานขอมลไดอยางมประสทธภาพ
รปท 4.2 แสดงแผนภาพดพลอยเมนตของระบบบนทกการลาโดยมสวนประกอบตางๆไดดงน
1) เครองลกขาย (Client) คอ เครองคอมพวเตอรของผใชงาน โดยการใชงานจะมการตดตอผานโพรโตคอลเอชททพ
21(HTTP) และผใชสามารถตดตอระบบผานทางเวบเบราวเซอร(Web Browser) เพอเขาใชระบบบนทกการลา
2)ระบบปฏบตการ (OS) ทใชสำาหรบตดตงระบบบนทกการลาใชระบบปฏบตการวนโดวส
3) เจเอสพเซรฟเวอร (JSPServer) คอแอปพลเคชนเซรฟเวอรสำาหรบตดตงระบบบนทกการลาซงใชโปรแกรมทอมแคต (Tomcat) รน 6.0.29
4)คาตาลนาเซรฟเลทคอนเทนเนอร (Catalina Servlet Container) เปนสวนทใชในการประมวลผลระบบบนทกการลาทเปนลกษณะเวบแอปพลเคชนทพฒนาขนโดยกรอบงานจาวาเซรฟเวอรเฟซ (Java Server Face Framework: JSF) และกรอบงานไฮเบอรเนต (HibernateFramework)
5)ระบบจดการฐานขอมล (Database System) ใชเปนมายซเควล(MySQL) รน 5.1 โดยมฐานขอมลชอ อแอปส(EApps)
22
รปท 4.7 แผนภาพดพลอยเมนตของระบบบนทกการลา
4.1.2 ระบบองบรการ (Service-Based System)สำาหรบระบบองบรการทเลอกมาเปนหนวยทดลอง ผวจยไดจด
ทำาขนจากระบบบนทกการลาทไดกลาวมาในขางตน โดยทำาการเพมระดบชนในเชงสถาปตยกรรมขนมาอกหนงระดบคอ ระดบชนเซอรวซ (Service Layer) การพจารณาถงเซอรวซทจำาเปนสำาหรบระบบบนทกการลาวาควรจะมเซอรวซอะไรบางนน ผวจยไดใชแนวทางการออกแบบเซอรวซทคำานงถงเอนทตขอมลเปนหลก (Entity-centric Business Service Design)[9] ทเนนการพจารณาเซอรวซเอนทต (Entity Services) ซงเปนเซอรวซทเกยวของกบเอนทตของขอมลในระบบ รวมไปถงเซอรวซอรรถประโยชน (Utility Services) ทมแนวโนมของการนำากลบมาใชใหมสง ในสวนของเซอรวซเอนทตนนไดพจารณาจากเอนทตตาง ๆ ของระบบบนทกการลา ดงรปท 4.3 โดยไดจดทำาออกมาเปน 2 เซอรวซ ไดแก เซอรวซ
23พนกงาน (EmployeeService) และเซอรวซการลา (EleaveService) ในสวนของเซอรวซอรรถประโยชนนน จะเปนเซอรวซสำาหรบการแจงเตอน (NotificationService) ทใชในการสงอเมลแกพนกงานผททำาการลา และผททำาการอนมตการลา การออกแบบเซอรวซแสดงไดดงรปท 4.4 ในสวนของสถาปตยกรรมของระบบบนทกการลาแบบองบรการสามารถแสดงไดดงรปท 4.5 โดยเซอรวซทงสามจะอยในระดบชนเซอรวซ และถกเรยกใชโดยสวนของโปรแกรมในระดบชนโดเมน และมการเรยกใชสวนของโปรแกรมในระดบชนการเขาถงขอมล
class E-Leav e Class Diagram
Employee
- Employee Id: string- Employee Name: string- Email: string- Gender: int- DOB: date- Join Date: date
Leav e Record
- Leave Status: int- Leave StartTime: date- Leave EndTime: date
Leav e Type
- Leave Type Code: string- Leave Type Name: string- Entitlement: int- Include Holiday: boolean
Employee Type
- Employee Type: string- Detail: string
Leav e Adjustment
- Year: int- Adjustment: int
Leav e Category
- Leave Category: string- Year of Service: int- Entitlement: int
0..*1
0..* 1
0..*
1
0..*
1
0..*1
รปท 4.8 แผนภาพความสมพนธของคลาสของระบบบนทกการลา
24 class Serv ice Design
EleaveServ ice
+ selectAl lLeaveRecord() : ElLeaveRecord [ ]+ findLeaveRecordById(Integer) : ElLeaveRecord+ addLeaveRecord(ElLeaveRecord) : int+ updateLeaveRecord(ElLeaveRecord) : boolean+ updateLeaveAdjustment(ElLeaveAdjustment) : boolean
EmployeeServ ice
+ selectAllEmployee() : ElEmployee [ ]+ findEmployeeById(Integer) : ElEmployee+ findEmployeeByEmployeeId(String) : ElEmployee+ addEmployee(ElEmployee) : int+ updateEmployee(ElEmployee) : boolean
NotificationServ ice
+ sendEmailText() : boolean+ sendEMailHTML() : boolean
รปท 4.9 การออกแบบเซอรวซของระบบบนทกการลา
รปท 4.10 สถาปตยกรรมของระบบบนทกการลาแบบองบรการ
รปท 4.6 แสดงแผนภาพดพลอยเมนตของระบบบนทกการลาทเปนแบบองบรการ โดยสงทแตกตางจากรปท 4.2 คอมการเพมคอมโพเนนตของอาปาเชเอซส 2 (Apache Axis2) [10] ซงเปนเวบเซอรวซคอนเทนเนอรทใชสำาหรบตดตงเซอรวซเอนทต และเซอรวซอรรถประโยชนทสรางขน
25
รปท 4.11 แผนภาพดพลอยเมนตของระบบบนทกการลาแบบองบรการ
4.2 การเลอกรายการการเปลยนแปลงการเปลยนแปลงทเลอกใชในการทดลองกบระบบองบรการและ
ไมองบรการ ผวจยไดเลอกมาสองรายการ ซงเปนรายการทเกยวของในการขอเปลยนแปลงระบบบนทกการลา โดยมรายละเอยดของการเปลยนแปลงในแตละรายการดงน
1) รายการท 1 เนองจากทก ๆ ชวงสนปของบรษท ฝายทรพยากรบคคลจะทำาการรองขอใหผดแลระบบบนทกการลาดำาเนนการสรปวนลาคงเหลอของพนกงานแตละคนเปนแฟมขอมลไมโครซอฟทเอกซเซล (Microsoft Excel) เพอนำาไปคำานวณวนลาทจะยกยอดไปรวมกบวนลาในปถดไปของพนกงานแตละคน จากนนจงสงแฟมขอมลนนกลบไปใหกบทางผดแลระบบชวยนำาขอมลการยกยอดวนลาของพนกงานเขาระบบ ฝายทรพยากรบคคลจงมความตองการทจะใหระบบชวยทำาการยกยอดวนลาคงเหลอของพนกงานแตละคนใหโดยอตโนมต ซงเงอนไขในการคดยกยอดวนลานน จะคดจากวนลาคงเหลอ (Leave Balance) ของพนกงาน เทยบกบสทธ
26การลาทพนกงานสามารถลาไดในปนน (Leave Entitlement) โดยจะสามารถยกยอดวนลาไดสงสดคอครงหนงของสทธการลาในปนน แตถาหากวนลาคงเหลอของพนกงานนอยกวาครงหนงของสทธการลากจะยกยอดไปเทากบจำานวนวนลาทคงเหลอนน ยกตวอยาง ดงน
- กรณท 1 พนกงานชอนาย ก มวนลาคงเหลอเทากบ 10 วน มสทธการลาในปนนเทากบ 14 วน ดงนนจำานวนวนลาทสามารถยกยอดไดเทากบ 7 วน- กรณท 2 พนกงานชอนาย ข มวนลาคงเหลอเทากบ 5 วน มสทธการลาในปนนเทากบ 14 วน ดงนนจำานวนวนลาทสามารถยกยอดไดเทากบ 5 วน
2) รายการท 2 ระบบบนทกการลาในปจจบนจะรองรบกบพนกงานททำางานวนจนทรถงวนศกรเทานน แตเนองจากมแผนกหนงซงมลกษณะการทำางานเปนกะ (Shift) โดยพนกงานในแผนกนจะทำางานตามตารางทหวหนาแผนกไดจดไว ซงจะตองมการเขามาทำางานในวนหยดของสปดาหคอวนเสารและอาทตยดวย และถาพนกงานคนใดมความจำาเปนตองลางานในวนดงกลาว จะไมสามารถทำาการบนทกการลาของตนในระบบได เนองจากระบบจะไมนบรวมวนหยดของสปดาหมาคดเปนวนลาทพนกงานไดลาไป ดงนนฝายทรพยากรบคคลจงมความตองการทจะใหระบบทำาการรองรบการทำางานของพนกงานททำางานเปนกะ
274.3 การรวบรวมขอมลจากการทดลอง
ในการคำานวณหาคาความคลองตวจากการทดลองนนตองอาศยขอมลทถกรวบรวมในระหวางทำาการทดลอง โดยเครองมอทใชในการบนทกขอมลจากการทดลองทสำาคญมดงน
1)ตารางบนทกเวลาการทำางาน (Timesheet) นำามาใชเพอบนทกรายละเอยดการทำางานในชวงดำาเนนการกบการเปลยนแปลง ขอมลทบนทกประกอบดวย ลำาดบท ชอโครงการ งานททำา คำาอธบายรายละเอยดของงาน ตำาแหนงในการทำางานวนทบนทกการทำางาน จำานวนชวโมงการทำางาน หมายเหต และผลผลตหรอชนงานทไดจากการทำางาน แสดงตวอยางดงรปท 4.7
รปท 4.12 ตวอยางตารางบนทกเวลาการทำางาน
2)ตารางบนทกผลกระทบจากการเปลยนแปลงใชสำาหรบบนทกแฟมขอมล และมอดลทอยในระดบชนตาง ๆ ทถกผลกระทบจากการเปลยนแปลง แสดงตวอยางดงตารางท 4.1 และตารางท 4.2
28ตารางท 4.1 ตวอยางตารางบนทกผลกระทบจากการเปลยนแปลง (Non Service)Layer(Non-
Service)
Affected JSP Files/Packages/Java
ClassesPresentationApplicationDomainData Access
ตารางท 4.2 ตวอยางตารางบนทกผลกระทบจากการเปลยนแปลง (Service)Layer
(Service)
Affected JSP Files/Packages/
Java Classes/ServicesPresentationApplicationDomainServiceData Access
3)โปรแกรมลอคเมตรกส(LocMetrics)[11]เปนเครองมอทใชในการวดคาความซบซอนของโคด (McCabe VG complexity) ของมอดลทไดรบผลกระทบจากการเปลยนแปลงสวนตอประสานผใชงานของโปรแกรมลอคเมตรกสเปนดงรปท 4.8
29
รปท 4.13 โปรแกรมลอคเมตรกส
4.4 สภาพแวดลอมและเครองมอทใชในการพฒนาสภาพแวดลอม และเครองมอทใชในการทดลอง มดงตอไปน
ฮารดแวร4.4.1 หนวยประมวลผลอนเทลคอร 2 ดโอ 2.00 กกะ
เฮรต(CPU Intel Core 2 Duo 2.20GHz)
4.4.2 หนวยความจำา 4 กกะไบต (4 GB RAM)4.4.3 ฮารดด สก ความจ 500 ก กะไบต (500 GB Hard Disk)
ซอฟตแวร4.4.4 ระบบปฏบตการไมโครซอฟทวนโดวสเซเวนโปรเฟส
ชนนอล (Microsoft Windows 7 Professional) 4.4.5 เ ค ร อ ง ม อ พ ฒ น า โ ป ร แ ก ร ม เ น ต บ น ส ร น 6.5.1 (NetBeans 6.5.1)4.4.6 โปรแกรมสภาพแวดลอมประมวลผลจาวา 6 (Java Runtime Environment 6)
304.4.7 โ ป ร แ ก ร ม ช ด เ ค ร อ ง ม อ พ ฒ น า จ า ว า 6 (Java Development Kit 6)4.4.8 ระบบจดการฐานขอมลมายซเควล รน 5.1 (MySQL 5.1)4.4.9 โปรแกรมแอปพลเคชนเซรฟเวอรทอมแคต(Tomcat) รน 6.0.29(Apache Tomcat 6.0.29)4.4.10 โป รแ กรมเว บ เซ อ ร ว ซ คอ น เทน เ นอ ร อ า ป า เชอ าซส 2(Apache Axis 2)
5 บทท 5 การทดลองและการวเคราะหผลการทดลอง
ในบทนจะกลาวถงการดำาเนนการทดลองและการวเคราะหผลการทดลองซงประกอบดวย การดำาเนนการทดลอง ผลการทดลอง การคำานวณคาความคลองตว และการวเคราะหผลการทดลอง
5.1 การดำาเนนการทดลองการทดลองจะทำาโดยนำาการเปลยนแปลงสองรายการทเลอกมา
ดำาเนนการกบแตละระบบ กำาหนดใหชวงของการดำาเนนงานแบงออกเปนสามชวงประกอบดวย ชวงการวเคราะหออกแบบ ชวงการพฒนาระบบ และชวงการทดสอบระบบ โดยสมมตใหผวจยทำาหนาทในสามตำาแหนงไดแก นกวเคราะหระบบ ผพฒนาโปรแกรม และผทดสอบระบบ ทก ๆ กจกรรมของการดำาเนนงานจะมการบนทกเวลาการทำางาน (Timesheet) ทกครง โดยในการดำาเนนการของแตละระบบกบการเปลยนแปลงแตละรายการมรายละเอยดการดำาเนนงาน ดงน
5.1.1 การเปลยนแปลงรายการท 1เปนการเปลยนแปลงทตองการใหระบบทำาการคำานวณวนลาคง
เหลอในปทผานมาจะยกยอดไปในปถดไปใหโดยอตโนมต กจกรรมของการดำาเนนงานมดงน
5.1.1.1 การวเคราะหและออกแบบระบบแผนภาพทผวจยไดนำามาใชในการชวงของการวเคราะห
และออกแบบระบบไดแก แผนภาพยสเคส แผนภาพกจกรรม แผนภาพความสมพนธของคลาส และแผนภาพลำาดบการทำางานของระบบ รายละเอยดของการออกแบบของแตละแผนภาพมดงน
5.1.1.1.1แผนภาพยสเคสของการเปลยนแปลงรายการท 1 กำาหนดใหแอคเตอร (Actor) คอ พนกงานผทม
32ตำาแหนงเปนผดแลระบบฝายบคคล (HR Admin) กำาหนดยสเคสของการเปลยนแปลงน คอ การยกยอดวนลา (Brought Forward) ในสวนของแผนภาพยสเคสนของระบบทไมองบรการ และระบบทองบรการจะมการออกแบบทเหมอนกน สามารถแสดงดงรปท 5.1 และแสดงตารางคำาอธบายยสเคสไดดงตารางท 5.1
uc Use Case View
ELeave
HR Admin
Brought ForwardEmployee
รปท 5.14 แผนภาพยสเคสของการเปลยนแปลงรายการท 1
ตารางท 5.3 คำาอธบายยสเคสการยกยอดวนลาชอยสเคส: Brought Forward
รหส: UC01 ระดบความสำาคญ: สง
ผกระทำาหลก: HR Admin ชนดยสเคส: รายละเอยดและสาระสำาคญ
ผมสวนเกยวของ: HR Admin – ทำาการยกยอดวนลาคงเหลอของ
พนกงาน
รายละเอยดยสเคส:ยสเคสนอธบายถงขนตอนท HRAdmin ทำาการยกยอดวนลาคงเหลอของพนกงานในปทผานมาไปยงปปจจบน
สงกระตน: HR Admin ตองการยกยอดวนลาคงเหลอของพนกงาน
33ยสเคสทเกยวของ: -ภาวะกอนทำางาน:
พนกงานทกคนไดบนทกการลาของปทผานมาครบถวนแลวภาวะหลงทำางาน:
ขอมลจำานวนวนลาทยกยอดมาถกแสดงในหนาบนทกการลาของพนกงานแตละคน
สายงานปกต:1. ลอกอนเขาสระบบ2. ระบบแสดงเมนสวน HR Admin3. เลอกเมน “Year-End Brought Forward”
ตารางท 5.1 คำาอธบายยสเคสการยกยอดวนลา (ตอ)ชอยสเคส: Brought Forward
รหส: UC01 ระดบความสำาคญ: สง
ผกระทำาหลก: HR Admin ชนดยสเคส: รายละเอยดและสาระสำาคญ
สายงานปกต:4. ระบบแสดงขอมล รหสพนกงาน ชอพนกงาน จำานวนวนลา
ทงหมดในปปจจบน สทธการลาของพนกงาน และวนลาทยกยอดมาจากปทผานมาของพนกงานทงหมด
5. HR Admin ตรวจสอบความถกตองของวนลาทยกยอดมา6. HR Admin กดปม “Update All” เพอบนทกขอมลวน
ลาคงเหลอทยกยอดมาของพนกงาน7. ระบบแจงการบนทกขอมลเสรจเรยบรอย
สายงานยอย:5.1 HR Admin แกไขจำานวนวนลาคงเหลอหากพบวาวน
ของพนกงานทยอดมาไมถกตองอนเนองมาจากทผานมา
34พนกงานคนนนมการบนทกการลาทไมถกตอง เชน มการกรอกวนลาเกน หรอขาดจากจำานวนวนทไดลาไปจรง ๆ
สายงานทางเลอก / สายงานพเศษ:
5.1.1.1.2แผนภาพกจกรรมของการเปลยนแปลงรายการท 1 เปนแผนภาพทแสดงกจกรรมตาง ๆ ในการยกยอดวนลาคงเหลอของพนกงาน สามารถแสดงแผนภาพกจกรรมของระบบทไมองบรการ และแผนภาพกจกรรมของระบบองบรการในภาคผนวก ก
5.1.1.1.3แผนภาพความสมพนธของคลาสของการเปลยนแปลงรายการท 1 ประกอบดวยคลาสทเกยวของกบการเปลยนแปลงน 3 คลาส ไดแก คลาสพนกงาน (Employee) คลาสหมวดหมการลา (Leave Category) และคลาสการปรบยอดสทธการลา (Leave Adjustment) สามารถแสดงแผนภาพความสมพนธดงรปท 5.2
5.1.1.1.4แผนภาพลำาดบของการเปลยนแปลงรายการท 1 จะแสดงลำาดบขนตอนในการคำานวณวนลาคงเหลอทจะยกยอดของพนกงาน โดยแสดงแผนภาพลำาดบการทำางานของระบบไมองบรการ และแผนภาพลำาดบการทำางานของระบบองบรการในภาคผนวก ก class Brought Forward
Employee
- Employee Id: String- Employee Name: String- DOB: date- Join Date: date
Leav e Adjustment
- Year: int- Adjustment: int
Leav e Category
- Year of Service: int- Entitlement: int
1 0..*
0..*
1
35รปท 5.15 แผนภาพความสมพนธของคลาสของการเปลยนแปลง
รายการท 1
5.1.1.2 การพฒนาระบบในสวนนจะแสดงหนาจอในการใชงานโปรแกรมของการ
ยกยอดวนลา โดย HR Admin เมอลอกอนเขาสระบบแลวจะทำาการเลอกเมน Year-End Leave Bring Forward ดงรปท 5.3 จากนนระบบจะแสดงหนาจอการยกยอดวนลาคงเหลอของพนกงานดงรปท 5.4 โดยหนาจอจะแสดงขอมล รหสพนกงาน ชอพนกงาน สทธการลาคงเหลอของพนกงานในปปจจบน สทธการลาของพนกงานในปนน และจำานวนวนลาทยกยอดมาจากปทผานมา
รปท 5.16 หนาจอเมนสวนการยกยอดวนลา
36
รปท 5.17 หนาจอการยกยอดวนลา5.1.1.3 การทดสอบระบบการทดสอบระบบจะเปนการทดสอบตามฟงกชนการ
ทำางานของโปรแกรม ซงการทดสอบของการเปลยนแปลงรายการท 1 นจะเปนการทดสอบฟงกชนการยกยอดวนลาคงเหลอ โดยกรณทดสอบของระบบทไมองบรการแสดงดงตารางท 5.2 และกรณทดสอบของระบบองบรการแสดงดงตารางท 5.3
ตารางท 5.4 การทดสอบการยกยอดวนลาคงเหลอ (Non Service)หมายเลขกรณทดสอบ:
TC01 ชอกรณทดสอบ:
การยกยอดวนลาคงเหลอ
ระบบ: Eleave (Non Service)
ระบบยอย: Leave Brought Forward
ผจดทำา: คงสวสด โพธพนม
วนทจดทำา: 13 ธ.ค. 54
ผทำาการ คงสวสด โพธ วนททำาการ 13 ธ.ค. 54
37ทดสอบ: พนม ทดสอบ:
คำาอธบาย:ทำาการยกยอดวนลาคงเหลอของพนกงานในปทผานมาไปยงปปจจบน
ภาวะกอนการทดสอบ:1) ทำาการลอกอนเขาสระบบดวยชอผใชงานทเปนผดแลระบบ
2) ระบบแสดงหนาจอเมนหลก
ตารางท 5.2 การทดสอบการยกยอดวนลาคงเหล อ (Non Service) (ตอ)
ขนตอน
การทดสอบผลการทดสอบท
คาดหวง
ผาน/ไมผาน
หมายเหต
1 เลอกเมน Year-End Leave Bring Forward
ระบบแสดงขอมลการยกยอดวนลาของพนกงานทงหมดในหนาจอการยกยอดวนลาคงเหลอ
ผาน
2 กดปม "Update All"
ระบบแสดงขอความบนทกขอมลสำาเรจ
ผาน
3 ตรวจสอบ Post-conditions ผาน
ภาวะหลงการทดสอบ:1) ขอมลการยกยอดวนลาของพนกงานในปปจจบนถกเพมลงในตาราง "el_leave_adjustment"
ตารางท 5.5 การทดสอบการยกยอดวนลาคงเหลอ (Service)หมายเลข TC02 ชอกรณ การยกยอดวน
38กรณทดสอบ:
ทดสอบ: ลาคงเหลอ
ระบบ: Eleave (Service)
ระบบยอย: Leave Brought Forward
ผจดทำา: คงสวสด โพธพนม
วนทจดทำา: 18 ธ.ค. 54
ผทำาการทดสอบ:
คงสวสด โพธพนม
วนททำาการทดสอบ:
18 ธ.ค. 54
คำาอธบาย:ทำาการยกยอดวนลาคงเหลอของพนกงานในปทผานมาไปยงปปจจบน
ภาวะกอนการทดสอบ:1) ทำาการลอกอนเขาสระบบดวยชอผใชงานทเปนผดแลระบบ2) ระบบแสดงหนาจอเมนหลก
39ตารางท 5.3 การทดสอบการยกยอดวนลาคงเหลอ (Service) (ตอ)
ขนตอน
การทดสอบผลการทดสอบท
คาดหวง
ผาน/ไมผาน
หมายเหต
1 เลอกเมน Year-End Leave Bring Forward
ระบบแสดงขอมลการยกยอดวนลาของพนกงานทงหมดในหนาจอการยกยอดวนลาคงเหลอ
ผาน
2 กดปม "Update All"
ระบบแสดงขอความบนทกขอมลสำาเรจ
ผาน
3 ตรวจสอบ Post-conditions ผาน
ภาวะหลงการทดสอบ:1) ขอมลการยกยอดวนลาของพนกงานในปปจจบนถกเพมลงในตาราง "el_leave_adjustment"
5.1.2 การเปลยนแปลงรายการท 2เปนการเปลยนแปลงทตองการใหระบบสามารถสนบสนนการ
บนทกการลาของพนกงานททำางานเปนกะได กจกรรมของการดำาเนนงานมดงน
5.1.2.1 การวเคราะหและออกแบบระบบแผนภาพทผวจยไดนำามาใชในการชวงของการวเคราะห
และออกแบบระบบไดแก แผนภาพยสเคส แผนภาพกจกรรม แผนภาพความสมพนธของคลาส และแผนภาพลำาดบการทำางานของระบบ รายละเอยดของการออกแบบของแตละแผนภาพมดงน
405.1.2.1.1แผนภาพยสเคสของการเปลยนแปลง
รายการท 1 กำาหนดใหแอคเตอร (Actor) ประกอบดวย ผดแลระบบฝายบคคล (HR Admin) และพนกงานททำางานเปนกะ กำาหนดยสเคสของการเปลยนแปลงน คอ การปรบปรงขอมลประเภทการทำางานเปนกะเวลาของพนกงาน (Update Shift-Working Employee Info) และการบนทกการลาของพนกงานททำางานเปนกะ (Apply Leave) ในสวนของแผนภาพยสเคสนของระบบทไมองบรการ และระบบทองบรการจะมการออกแบบทเหมอนกน สามารถแสดงดงรปท 5.5 และแสดงตารางคำาอธบายยสเคสไดดงตารางท 5.4 uc Use Case View
ELeave
HR AdminEmployee (Shift Working)
Apply Leav e
Update Shift-Working Employee Info
«include»
รปท 5.18 แผนภาพยสเคสของการเปลยนแปลงรายการท 2
ตารางท 5.6 คำาอธบายยสเคสการปรบปรงขอมลประเภทการทำางานเปนกะเวลาของพนกงานชอยสเคส: Update Shift-Working Employee Info
รหส: UC02
ระดบความสำาคญ:สง
ผกระทำาหลก: HR Admin ชนดยสเคส:รายละเอยดและสาระสำาคญ
ผมสวนเกยวของ: HR Admin – แกไขขอมลประเภทการทำางานของ
พนกงาน
41รายละเอยดยสเคส:
ยสเคสนอธบายถงขนตอนท HRAdmin ทำาการปรบปรงประเภทการทำางานของพนกงานใหเปนแบบกะเวลา (Shift Working)
สงกระตน: HR Admin ตองการแกไขประเภทการทำางานของพนกงาน
ยสเคสทเกยวของ: -ภาวะกอนทำางาน:
ขอมลของพนกงานผทจะถกกำาหนดประเภทการทำางานเปนแบบกะเวลาตองมขอมลอยในระบบแลว
ภาวะหลงทำางาน:ประเภทการทำางานของพนกงานไดถกกำาหนดเปนแบบกะเวลา
สายงานปกต:1. ลอกอนเขาสระบบ2. ระบบแสดงเมนสวน HR Admin
ตารางท 5.4 คำาอธบายยสเคสการปรบปรงขอมลประเภทการทำางานเปนกะเวลาของพนกงาน (ตอ)ชอยสเคส: Update Shift-Working Employee Info
รหส: UC02
ระดบความสำาคญ:สง
ผกระทำาหลก: HR Admin ชนดยสเคส:รายละเอยดและสาระสำาคญ
สายงานปกต:3. เลอกเมน “Update Employee Info”4. ระบบแสดงรายชอของพนกงานทงหมดของบรษทในตาราง5. ทำาการกดปมแกไขขอมลของพนกงานทตองการแกไข
42ประเภทการทำางาน
6. ระบบแสดงหนาจอการปรบปรงขอมลพนกงาน7. กำาหนดประเภทการทำางานของพนกงานใหเปนแบบกะเวลา
ดวยเลอกเชคบอกซShift Working8. กดปม Submit เพอบนทกขอมลของพนกงาน9. ระบบบนทกขอมลพนกงาน10. ระบบแจงการบนทกขอมลเสรจเรยบรอย
สายงานยอย:สายงานทางเลอก / สายงานพเศษ:
ตารางท 5.7 คำาอธบายยสเคสการบนทกการลาของพนกงานททำางานเปนกะชอยสเคส: Apply Leave รหส:
UC03ระดบความสำาคญ:สง
ผกระทำาหลก: Employee (Shift Working)
ชนดยสเคส:รายละเอยดและสาระสำาคญ
ผมสวนเกยวของ: Employee (Shift Working) – ทำาการบนทกการลา
รายละเอยดยสเคส:ยสเคสนอธบายถงขนตอนทพนกงานทถกกำาหนดประเภทการทำางานเปนกะเวลาทำาการบนทกการลา
สงกระตน:Employee (Shift Working) ตองการบนทกการลา
ยสเคสทเกยวของ: -ภาวะกอนทำางาน:
พนกงานไดถกกำาหนดใหประเภทการทำางานเปนแบบกะเวลาแลว
43ตารางท 5.5 คำาอธบายยสเคสการบนทกการลาของพนกงานททำางานเปนกะ (ตอ)ชอยสเคส: Apply Leave รหส:
UC03ระดบความสำาคญ:สง
ผกระทำาหลก: Employee (Shift Working)
ชนดยสเคส:รายละเอยดและสาระสำาคญ
ภาวะหลงทำางาน:1. ขอมลการลาของพนกงานถกเพมลงในสวนตาราง
ประวตการลาในหนาจอบนทกการลา2. ขอมลการลาทตรงกบวนเสารอาทตย หรอตรงกบวนหยด
ททางบรษทประกาศเปนวนหยดจะถกนำามาคดเปนวนลาทใชไปดวย
สายงานปกต:1. พนกงานลอกอนเขาสระบบ2. ระบบแสดงเมนสวน Employee3. เลอกเมน “Apply Leave”4. ระบบแสดงหนาจอบนทกการลา5. พนกงานกรอกขอมลการลา6. พนกงานกดปม Apply7. ระบบทำาการบนทกขอมลการลา8. ระบบสงอเมลแจงเตอนไปยงผอนมตการลาของพนกงานผ
นน9. ระบบแจงการบนทกขอมลเสรจเรยบรอย
สายงานยอย:สายงานทางเลอก / สายงานพเศษ:
445.1.2.1.2แผนภาพกจกรรมของการ
เปลยนแปลงรายการท 2 แสดงกจกรรมการปรบปรงขอมลประเภทการทำางานเปนกะเวลาของพนกงาน และกจกรรมของการบนทกการลาของพนกงานทประเภทการทำางานเปนกะเวลา ซงสามารถแสดงแผนภาพกจกรรมของระบบทไมองบรการ และแผนภาพกจกรรมของระบบองบรการในภาคผนวก ข
5.1.2.1.3แผนภาพความสมพนธของคลาสของการเปลยนแปลงรายการท 2 ประกอบดวยคลาสทเกยวของกบการเปลยนแปลงน 3 คลาส ไดแก คลาสขอมลการลา (Leave Record) คลาสประเภทการลา (Leave Type) คลาสพนกงาน (Employee) และคลาสหมวดหมการลา (Leave Category) สามารถแสดงแผนภาพความสมพนธดงรปท 5.6 class Apply Leav e - Shift Working
Employee
- Employee Id: String- Employee Name: String- DOB: date- Join Date: date- Shift Working: boolean
Leav e Record
- Leave Status: int- Leave Start Date: date- Leave End Date: date- Include Holiday: boolean
Leav e Type
- Leave Type Name: String- Entitlement: int- Include Holiday: boolean
Leav e Category
- Year of Service: int- Entitlement: int
0..* 0..1
1
0..*
0..* 1
รปท 5.19 แผนภาพคลาสของการเปลยนแปลงรายการท 2
5.1.2.1.4แผนภาพลำาดบของการเปลยนแปลงรายการท 2 จะแสดงลำาดบขนตอนในการบนทกขอมลการลาของพนกงาน และลำาดบขนตอนในการคำานวณจำานวนวนลาทใช โดยแสดงแผนภาพลำาดบการทำางานของระบบไมองบรการ และแผนภาพลำาดบการทำางานของระบบองบรการในภาคผนวก ข
455.1.2.2 การพฒนาระบบในสวนนจะแสดงหนาจอโปรแกรมทเกยวของกบการ
เปลยนแปลงรายการท 2 ประกอบดวยหนาจอดงน5.1.2.2.1หนาจอการปรบปรงขอมลพนกงาน
หนาจอน HR Admin จะเขามาทำาการกำาหนดประเภทการทำางานของพนกงานใหเปนแบบกะเวลาโดยการเลอกเชคบอกซดงรปท 5.7
5.1.2.2.2หนาจอการบนทกการลาของพนกงาน ในหนาจอนพนกงานทประเภทการทำางานเปนกะเวลาเขามาบนทกขอมลการลาแสดงดงรปท 5.8 ในสวนขอมลประวตการลาของพนกงานจะแสดงดงรปท 5.9 ซงขอมลการลารายการใดทตรงกบวนเสาร-อาทตย หรอวนหยดททางบรษทประกาศ จะถกนบรวมเปนวนลาทใชไป
46
รปท 5.20 หนาจอการปรบปรงขอมลพนกงาน
47
รปท 5.21 หนาจอการบนทกการลา
รปท 5.22 ขอมลประวตการลาของพนกงาน
5.1.2.3 การทดสอบระบบการทดสอบระบบจะเปนการทดสอบตามฟงกชนการ
ทำางานของโปรแกรม ซงการทดสอบของการเปลยนแปลงรายการท 2 จะเปนการทดสอบฟงกชนการกำาหนดประเภทการทำางานของพนกงานเปนแบบกะฟงกชนการบนทกการลา โดยทกรณทดสอบการกำาหนดประเภทการทำางานของพนกงานเปนแบบกะของระบบทไมอง
48บรการแสดงดงตารางท 5.6 และของระบบองบรการแสดงดงตารางท 5.7 ในสวนกรณทดสอบของการบนทกการลาของระบบทไมองบรการแสดงดงตารางท 5.8 และกรณทดสอบของระบบองบรการแสดงดงตารางท 5.9
49
ตารางท 5.8 การทดสอบการกำาหนดประเภทการทำางานของพนกงานเปนแบบกะ(Non Service)หมายเลขกรณทดสอบ:
TC03 ชอกรณทดสอบ:
กำาหนดประเภทการทำางานของพ น ก ง า น เ ป นแบบกะ
ระบบ: Eleave (Non Service)
ระบบยอย: Update Employee Info.
ผจดทำา: คงสวสด โพธพนม
วนทจดทำา:5 ม.ค. 55
ผทำาการทดสอบ:
คงสวสด โพธพนม
วนททำาการทดสอบ: 5 ม.ค. 55
คำาอธบาย: ทำาการปรบปรงขอมลประเภทการทำางานของพนกงานเปนแบบกะ
Pre-conditions:1) ทำาการลอกอนเขาสระบบดวยชอผใชงานทเปนผดแลระบบ2) ผใชเขาสหนาจอ Update Employee Infoและเลอกแกไขขอมลพนกงานผทตองการกำาหนดประเภทการทำางานเปนแบบกะ3) ระบบแสดงหนาจอการแกไขขอมลพนกงาน
ขนตอน
การทดสอบผลการ
ทดสอบทคาดหวง
ผาน/ไมผาน
หมายเหต
1 เลอกเชคบอกซ "Shift Working" จากนนกดปม
ระบบแสดงขอความ
ผาน
50"Submit" ปรบปรง
ขอมลพนกงานสำาเรจ
2ตรวจสอบ Post-conditions
ผาน
Post-conditions:1) ฟลด shift_working ในตาราง “el_employee” มคาเปน 1
51ตารางท 5.9 การทดสอบการกำาหนดประเภทการทำางานของพนกงานเปนแบบกะ(Service)หมายเลขกรณทดสอบ:
TC04 ชอกรณทดสอบ:
กำาหนดประเภทการทำางานของพ น ก ง า น เ ป นแบบกะ
ระบบ: Eleave (Service)
ระบบยอย: Update Employee Info
ผจดทำา: คงสวสด โพธพนม
วนทจดทำา:10 ม.ค. 55
ผทำาการทดสอบ:
คงสวสด โพธพนม
วนททำาการทดสอบ: 10 ม.ค. 55
คำาอธบาย: ทำาการปรบปรงขอมลประเภทการทำางานของพนกงานเปนแบบกะ
Pre-conditions:1) ทำาการลอกอนเขาสระบบดวยชอผใชงานทเปนผดแลระบบ2) ผใชเขาสหนาจอ Update Employee Info. และเลอกแกไขขอมลพนกงานผทตองการกำาหนดประเภทการทำางานเปนแบบกะ3) ระบบแสดงหนาจอการแกไขขอมลพนกงาน
ขนตอน
การทดสอบผลการทดสอบท
คาดหวง
ผาน/ไมผาน
หมายเหต
1 เลอกเชคบอกซ "Shift Working" จากนนกดปม "Submit"
ระบบแสดงขอความปรบปรงขอมลพนกงานสำาเรจ
ผาน
2 ตรวจสอบ Post- ผาน
52conditions
Post-conditions:1) ฟลด shift_working ในตาราง “el_employee” มคาเปน 1
53ตารางท 5.10 การทดสอบการบนทกการลา(Non Service)หมายเลขกรณทดสอบ:
TC05 ชอกรณทดสอบ:
บนทกการลา
ระบบ: Eleave (Non Service)
ระบบยอย: Apply Leave
ผจดทำา: คงสวสด โพธพนม
วนทจดทำา: 5 ม.ค. 55
ผทำาการทดสอบ:
คงสวสด โพธพนม
วนททำาการทดสอบ:
5 ม.ค. 55
คำาอธบาย: พนกงานททำางานแบบกะทำาการบนทกการลาPre-conditions:1) พนกงานถกกำาหนดใหประเภทการทำางานเปนแบบกะโดยผดแลระบบฝายทรพยากรบคคล2) พนกงานลอกอนเขาสระบบ และเขาสหนาบนทกการลา
ขนตอน
การทดสอบผลการทดสอบท
คาดหวง
ผาน/ไมผาน
หมายเหต
1 กรอกขอมลการลาโดยเลอกวนททำาการลาเปนชวงวนเสารและอาทตยจากนนกดปม "Apply"
ระบบแสดงขอความบนทกการลาสำาเรจ
ผาน
2 ตรวจสอบ Post-conditions
ผาน
Post-conditions:1) ขอมลการลาถกเพมลงในตาราง "el_leave_record"2) ขอมลการลาถกเพมลงในสวนตารางประวตการลาในหนาจอบนทกการลา
543) ขอมลการลาทตรงกบวนเสารอาทตยหรอตรงกบวนหยดททางบรษทประกาศเปนวนหยดจะตองถกนำามาคดเปนวนลาทใชไปดวย
55ตารางท 5.11 การทดสอบการบนทกการลา(Service)หมายเลขกรณทดสอบ:
TC06 ชอกรณทดสอบ:
บนทกการลา
ระบบ: Eleave (Service)
ระบบยอย: Apply Leave
ผจดทำา: คงสวสด โพธพนม
วนทจดทำา: 10 ม.ค. 55
ผทำาการทดสอบ:
คงสวสด โพธพนม
วนททำาการทดสอบ:
10 ม.ค. 55
คำาอธบาย: พนกงานททำางานแบบกะทำาการบนทกการลาPre-conditions:1) พนกงานถกกำาหนดใหประเภทการทำางานเปนแบบกะโดยผดแลระบบฝายทรพยากรบคคล2) พนกงานลอกอนเขาสระบบ และเขาสหนาบนทกการลา
ขนตอน
การทดสอบผลการทดสอบท
คาดหวง
ผาน/ไมผาน
หมายเหต
1 กรอกขอมลการลาโดยเลอกวนททำาการลาเปนชวงวนเสารและอาทตยจากนนกดปม "Apply"
ระบบแสดงขอความบนทกการลาสำาเรจ
ผาน
2 ตรวจสอบ Post-conditions
ผาน
Post-conditions:1) ขอมลการลาถกเพมลงในตาราง "el_leave_record"2) ขอมลการลาถกเพมลงในสวนตารางประวตการลาในหนาจอบนทกการลา
563) ขอมลการลาทตรงกบวนเสารอาทตยหรอตรงกบวนหยดททางบรษทประกาศเปนวนหยดจะตองถกนำามาคดเปนวนลาทใชไปดวย
5.2 ผลการทดลองผลการทดลองทงหมดถกรวบรวมจากคาทบนทก และวดจาก
เครองมอตาง ๆ ไดแก ตารางบนทกเวลาการทำางาน ตารางบนทกผลกระทบจากการเปลยนแปลง และคาความซบซอนของโคดทวดไดจากโปรแกรมลอคเมตรกส โดยผลการทดลองในการดำาเนนการกบการเปลยนแปลงแตละรายการมรายละเอยด ดงน
5.2.1 ผลการทดลองการเปลยนแปลงรายการท 15.2.1.1 ตารางบนทกผลกระทบจากการเปลยนแปลงหลงจากทเสรจกจกรรมในสวนของการวเคราะหและ
ออกแบบการเปลยนแปลงรายการท 1 จะสามารถทราบถงผลกระทบของการเปลยนแปลงทมตอระบบ โดยผลกระทบทจะเกดกบระบบทไมองบรการแสดงดงตารางท 5.10 และผลกระทบทจะเกดกบระบบองบรการแสดงดงตารางท 5.11
57
ตารางท 5.12 ผลกระทบจากการเปลยนแปลงรายการท 1 (Non Service)Layer(Non-
Service)
Affected JSP Files/Packages/Java
ClassesPresentation
ELeaveBringForward.jsp
Application
com.aoth.eapps, ELeaveBringForward.java
Domain -Data Access
-
ตารางท 5.13 ผลกระทบจากการเปลยนแปลงรายการท 1 (Service)Layer
(Service)
Affected JSP Files/Packages/Java
Classes/ServicesPresentation
ELeaveBringForward.jsp
Application
com.aoth.eapps, ELeaveBringForward.java
Domain -Service EleaveServiceData Access
-
5.2.1.2 คาความซบซอนของโคดเมอทราบถงมอดลทไดรบผลกระทบจากการ
เปลยนแปลงรายการท 1 การหาความซบซอนของโคดของมอดลทไดรบผลกระทบทำาโดยการนำาแพคเกจของโคดมอดลนนทำาการวดโดยโปรแกรมลอคเมตรกส ซงไดคาความซบซอนของโคดของระบบ
58ทไมองบรการดงตารางท 5.12 และไดคาความซบซอนของโคดของระบบองบรการดงตารางท 5.13
ตารางท 5.14 คาความซบซอนของโคดของการเปลยนแปลงรายการท 1 (Non Service)สญลกษ
ณจำานวน คำาอธบาย
Source Files
37 จำานวนแฟมขอมลทงหมด
Directories
19 จำานวนสารบบทงหมด
LOC 25590 จำานวนบรรทดทงหมดของโคดBLOC 2950 จำานวนบรรทดวางทงหมดSLOC-P 18939 จำานวนบรรทดทงหมดของโคดทาง
กายภาพทสามารถประมวลผลไดSLOC-L 14567 จำานวนบรรทดทงหมดของโคดทาง
ตรรกะทสามารถประมวลผลไดMVG 2298 คาความซบซอนทงหมดของโคด
(McCabe VG Complexity)C&SLOC
55 จำานวนบรรทดทงหมดของโคดทมหมายเหต
CLOC 3701 จำานวนบรรทดทงหมดทมเฉพาะหมายเหต
CWORD 21079 จำานวนคำาทงหมดเปนหมายเหตHCLOC 148 จำานวนบรรทดทงหมดของหมายเหต
ทเปนสวนหวของฟงกชนHCWORD
666 จำานวนคำาทงหมดของหมายเหตทเปนสวนหวของฟงกชน
59
ตารางท 5.15 คาความซบซอนของโคดของการเปลยนแปลงรายการท 1 (Service)สญลกษ
ณจำานวน คำาอธบาย
Source Files
37จำานวนแฟมขอมลทงหมด
Directories
19จำานวนสารบบทงหมด
LOC 25645 จำานวนบรรทดทงหมดของโคดBLOC 2960 จำานวนบรรทดวางทงหมดSLOC-P 19030 จำานวนบรรทดทงหมดของโคดทาง
กายภาพทสามารถประมวลผลไดSLOC-L 14642 จำานวนบรรทดทงหมดของโคดทาง
ตรรกะทสามารถประมวลผลไดตารางท5.13 คาความซบซอนของโคดของการเปลยนแปลงรายการท 1 (Service) (ตอ)
60สญลกษ
ณจำานวน คำาอธบาย
MVG 2308 คาความซบซอนทงหมดของโคด(McCabe VG Complexity)
C&SLOC
55 จำานวนบรรทดทงหมดของโคดทมหมายเหต
CLOC 3655 จำานวนบรรทดทงหมดทมเฉพาะหมายเหต
CWORD 20904 จำานวนคำาทงหมดเปนหมายเหตHCLOC 148 จำานวนบรรทดทงหมดของหมายเหต
ทเปนสวนหวของฟงกชนHCWORD
666 จำานวนคำาทงหมดของหมายเหตทเปนสวนหวของฟงกชน
5.2.1.3 ตารางบนทกเวลาการทำางานรายละเอยดของการทำางานของการดำาเนนการกบการ
เปลยนแปลงรายการท 1 กบระบบทไมองบรการ และระบบองบรการสามารถแสดงดงรปในภาคผนวก ค
5.2.2 ผลการทดลองการเปลยนแปลงรายการท 25.2.2.1 ตารางบนทกผลกระทบจากการเปลยนแปลงหลงจากทเสรจกจกรรมในสวนของการวเคราะหและ
ออกแบบการเปลยนแปลงรายการท 2 จะสามารถทราบถงผลกระทบของการเปลยนแปลงทมตอระบบ โดยผลกระทบทจะเกดกบระบบทไมองบรการแสดงดงตารางท 5.14 และผลกระทบทจะเกดกบระบบองบรการแสดงดงตารางท 5.15
61ตารางท 5.16 ผลกระทบจากการเปลยนแปลงรายการท 2 (Non Service)Layer(Non-
Service)
Affected JSP Files/Packages/Java Classes
Presentation
EleaveNewUpdateEmployee.jsp
Application
com.aoth.eapps, EleaveNewUpdateEmployee.java, ELeaveApplyLeave.java
Domain
com.aoth.eapps.domain, ELeaveDomain.java,
Data Access
com.aoth.eapps.dto, ElEmployee.java, ElLeaveRecord.java
ตารางท 5.17 ผลกระทบจากการเปลยนแปลงรายการท 2 (Service)Layer(Servi
ce)Affected JSP Files/Packages/Java
Classes/ServicesPresentation
EleaveNewUpdateEmployee.jsp
Application
com.aoth.eapps, EleaveNewUpdateEmployee.java, ELeaveApplyLeave.java
Domain
com.aoth.eapps.domain, ELeaveDomain.java,
Service
EleaveService, EmployeeService
Data Access
com.aoth.eapps.dto, ElEmployee.java, ElLeaveRecord.java
5.2.2.2 คาความซบซอนของโคด
62เมอทราบถงมอดลทไดรบผลกระทบจากการ
เปลยนแปลงรายการท 2 การหาความซบซอนของโคดของมอดลทไดรบผลกระทบทำาโดยการนำาแพคเกจของโคดมอดลนนทำาการวดโดยโปรแกรมลอคเมตรกส ซงไดคาความซบซอนของโคดของระบบทไมองบรการดงตารางท 5.16 และไดคาความซบซอนของโคดของระบบองบรการดงตารางท 5.17
63ตารางท 5.18 คาความซบซอนของโคดของการเปลยนแปลงรายการท 2 (Non Service)สญลกษ
ณจำานวน คำาอธบาย
Source Files
68จำานวนแฟมขอมลทงหมด
Directories
21จำานวนสารบบทงหมด
LOC 30728 จำานวนบรรทดทงหมดของโคดBLOC 3847 จำานวนบรรทดวางทงหมดSLOC-P 22804 จำานวนบรรทดทงหมดของโคดทาง
กายภาพทสามารถประมวลผลไดSLOC-L 17434 จำานวนบรรทดทงหมดของโคดทาง
ตรรกะทสามารถประมวลผลไดMVG 2746 คาความซบซอนทงหมดของโคด
(McCabe VG Complexity)
C&SLOC
113 จำานวนบรรทดทงหมดของโคดทมหมายเหต
CLOC 4077 จำานวนบรรทดทงหมดทมเฉพาะหมายเหต
CWORD 22549 จำานวนคำาทงหมดเปนหมายเหตHCLOC 188 จำานวนบรรทดทงหมดของ
หมายเหตทเปนสวนหวของฟงกชนHCWORD
846 จำานวนคำาทงหมดของหมายเหตทเปนสวนหวของฟงกชน
64
ตารางท 5.19 คาความซบซอนของโคดของการเปลยนแปลงรายการท 2 (Service)สญลกษ
ณจำานวน คำาอธบาย
Source Files
68จำานวนแฟมขอมลทงหมด
Directories
30จำานวนสารบบทงหมด
LOC 30556 จำานวนบรรทดทงหมดของโคดBLOC 3841 จำานวนบรรทดวางทงหมดSLOC-P 22712 จำานวนบรรทดทงหมดของโคดทาง
กายภาพทสามารถประมวลผลไดSLOC-L 17385 จำานวนบรรทดทงหมดของโคดทาง
ตรรกะทสามารถประมวลผลไดตารางท5.17 คาความซบซอนของโคดของการเปลยนแปลงรายการท 2 (Service) (ตอ)สญลกษ
ณจำานวน คำาอธบาย
MVG 2728 คาความซบซอนทงหมดของโคด(McCabe VG Complexity)
C&SLOC
112 จำานวนบรรทดทงหมดของโคดทมหมายเหต
CLOC 4003 จำานวนบรรทดทงหมดทมเฉพาะหมายเหต
CWORD 22267 จำานวนคำาทงหมดเปนหมายเหตHCLOC 188 จำานวนบรรทดทงหมดของหมายเหตท
เปนสวนหวของฟงกชนHCWORD
846 จำานวนคำาทงหมดของหมายเหตทเปน
65สญลกษ
ณจำานวน คำาอธบาย
สวนหวของฟงกชน
5.2.2.3 ตารางบนทกเวลาการทำางานรายละเอยดของการทำางานของการดำาเนนการกบการ
เปลยนแปลงรายการท 2 กบระบบทไมองบรการ และระบบองบรการสามารถแสดงดงรปในภาคผนวก ค
5.3 การคำานวณคาความคลองตวจากผลการทดลองสามารถคำานวณหาคาความคลองตวของ
แตละระบบในการดำาเนนการกบการเปลยนแปลงแตละรายการดงน
5.3.1 การคำานวณคาความคลองตวจากการเปลยนแปลงรายการท 1
การคำานวณคาความคลองตวของระบบบนทกการลาแบบไมองบรการจากการเปลยนแปลงรายการท 1 สามารถแสดงไดดงตารางท 5.18 โดยทคาระดบชนในเชงสถาปตยกรรมไดจากจำานวนระดบชนทจะไดรบผลกระทบจากการเปลยนแปลงของตารางท 12 คาความซบซอนของโคดไดจากตารางท 5.10 สำาหรบคาของจำานวนตำาแหนงงานจะนบจากประเภทตำาแหนงงาน (Role) ทใชดำาเนนการ จำานวนการสงตองานระหวางตำาแหนงงานจะนบจากผลตภณฑงาน (Work Products) ทไดจากการทำางานในตำาแหนงตาง ๆ และเวลาทใชดำาเนนการเปลยนแปลงคำานวณจากเวลาการทำางาน (Working Hour) ทงหมดทใชในการดำาเนนการกบการเปลยนแปลงรายการท 1 โดยทงสามคานไดจากขอมลทถกบนทกลงในตารางการบนทกเวลาดงรปท ค.1 จากนนคำานวณหาคาความกวางของกระบวนการทำางานจากสมการ (6) คำานวณคาความซบซอนของการ
66เปลยนแปลงจากสมการ (5) และคำานวณคาความคลองตวจากสมการ (3)ตารางท 5.20 การคำานวณคาความคลองตวของการเปลยนแปลงรายการท 1 (Non Service)คาระดบชนในเชงสถาปตยกรรม 2จำานวนตำาแหนงงาน 3จำานวนการสงตองานระหวางตำาแหนงงาน
2
คาความกวางของกระบวนการทำางาน (6)
3 + 2 = 5
คาความซบซอนของโคด 2,298คาความซบซอนของการเปลยนแปลง (5)
2 * 5 * 2,298 = 22,980
เวลาทใชดำาเนนการเปลยนแปลง 29 ชวโมงคาความคลองตว (3) 22,980 / 29 = 792.41
การคำานวณคาความคลองตวของระบบบนทกการลาแบบองบรการจากการเปลยนแปลงรายการท 1 สามารถแสดงไดดงตารางท 5.19 โดยทคาระดบชนในเชงสถาปตยกรรมไดจากจำานวนระดบชนทจะไดรบผลกระทบจากการเปลยนแปลงของตารางท 5.11 คาความซบซอนของโคดไดจากตารางท 5.13 สำาหรบคาของจำานวนตำาแหนงงานจะนบจากประเภทตำาแหนงงาน (Role) ทใชดำาเนนการ จำานวนการสงตองานระหวางตำาแหนงงานจะนบจากผลตภณฑงาน (Work Products) ทไดจากการทำางานในตำาแหนงตาง ๆ และเวลาทใชดำาเนนการเปลยนแปลงคำานวณจากเวลาการทำางาน (Working Hour) ทงหมดทใชในการดำาเนนการกบการเปลยนแปลงรายการท 1 โดยทงสามคานไดจากขอมลทถกบนทกลงในตารางการบนทกเวลาดงรปท ค.2 จากนนคำานวณหาคาความกวางของกระบวณการ
67ทำางานจากสมการ (6) คำานวณคาความซบซอนของการเปลยนแปลงจากสมการ (5) และคำานวณคาความคลองตวจากสมการ (3)
ตารางท 5.21 การคำานวณคาความคลองตวของการเปลยนแปลงรายการท 1 (Service)คาระดบชนในเชงสถาปตยกรรม 3จำานวนตำาแหนงงาน 3จำานวนการสงตองานระหวางตำาแหนงงาน
3
คาความกวางของกระบวนการทำางาน (6)
3 + 3 = 6
คาความซบซอนของโคด 2,308คาความซบซอนของการเปลยนแปลง (5)
3 * 6 * 2,308 = 41,544
เวลาทใชดำาเนนการเปลยนแปลง 27 ชวโมงคาความคลองตว (3) 41,544 / 27 =
1,538.66จากการคำานวณความคลองตวจากการเปลยนแปลงรายการท
1 ของระบบบนทกการลาแบบไมองบรการและแบบองบรการสามารถสรปและเปรยบเทยบผลการคำานวณระหวางแบบจำาลองความคลองตวของ [4] และของโครงงานนไดดงตารางท 5.20
68ตารางท 5.22 ตารางสรปการคำานวณคาความคลองตวของการเปลยนแปลงรายการท 1
ระบบบนทกการลา
ระยะ
เวลา
จำา
นวนร
ะดบช
นใน
เชง
จำานว
นตำาแ
หนง
จำานว
นการ
สงคว
ามซบ
ซอน
ของ
ตว[4
] (4)
เพมข
น [4]
(%)
ความ
คลอง
ตวขอ
งโคร
งงาน
น คว
ามคล
องตว
ทเพ
มขนข
อง
แบบไมองบรการ 29 2 3 2
2,298
0.34 94.1
2792.4
1 94.17
แบบองบรการ 27 3 3 3
2,308
0.66
1,538.66
เมอพจารณาคาความคลองตวของสองระบบในการดำาเนนการกบการเปลยนแปลงรายการท 1 ซงเปนการเปลยนแปลงในลกษณะการเพมฟงกชนงานใหมและจากตารางท 5.20 พบวา ระยะเวลาทใชดำาเนนการของระบบองบรการนอยกวาระบบแบบไมองบรการ เนองจากระบบองบรการมการเรยกใชเซอรวซทำาใหการพฒนามความสะดวกมากกวาการทจะตองเขยนโปรแกรมทงในสวนของตรรกะโปรแกรมรวมถงการตดตอกบฐานขอมลเองทงหมด จำานวนระดบชนในเชงสถาปตยกรรมของระบบองบรการมคามากกวาเนองจากมการแกไขตวเซอรวซการลาโดยการเพม 2 เมทอดเพอรองรบการทำางานของโปรแกรมการยกยอดวนลาคงเหลอทตองกระทำากบขอมลมากกวาหนงรายการ และจากการทตองเพมเมทอดในสวนเซอรวซการลาทำาใหตองมการจดสราง (Build) และตดตง (Deploy) เซอรวซใหมเพอใหโปรแกรมสามารถเรยกใชไดอกครง สำาหรบคาความซบซอนของโคดของระบบองบรการมคามากกวาเนองจากโคดบางสวนเมอทำาใหอยในรปแบบการเรยกใชเซอรวซตองมการเขยนโคดเพมเตมเพอทำาใหสามารถตดตอกบเวบเซอรวซไดแสดงตวอยางโคด
69ดงรปท 5.10 จงสงผลใหมคาความซบซอนของโคดทมากกวาระบบทไมไดองบรการ เมอพจารณาคาความคลองตวทคำานวณไดจาก [4] และจากโครงงานนพบวาระบบองบรการมคาความคลองตวทสงกวาระบบทไมองบรการโดยมเปอรเซนตความคลองตวทเพมขนใกลเคยงกน(1) Non Service
(2) Service
รปท 5.23 ความแตกตางของโคดแบบไมเรยกใชเซอรวซกบแบบเรยกใชเซอรวซ
5.3.2 การคำานวณคาความคลองตวจากการเปลยนแปลงรายการท 2
การคำานวณคาความคลองตวของระบบบนทกการลาแบบไมองบรการจากการเปลยนแปลงรายการท 2 สามารถแสดงไดดงตารางท 5.21 โดยทคาระดบชนในเชงสถาปตยกรรมไดจากจำานวนระดบชนทจะไดรบผลกระทบจากการเปลยนแปลงของตารางท 5.14 คาความซบซอนของโคดไดจากตารางท 5.16 สำาหรบคาของจำานวนตำาแหนง
70งานจะนบจากประเภทตำาแหนงงาน (Role) ทใชดำาเนนการ จำานวนการสงตองานระหวางตำาแหนงงานจะนบจากผลตภณฑงาน (Work Products) ทไดจากการทำางานในตำาแหนงตาง ๆ และเวลาทใชดำาเนนการเปลยนแปลงคำานวณจากเวลาการทำางาน (Working Hour) ทงหมดทใชในการดำาเนนการกบการเปลยนแปลงรายการท 2 โดยทงสามคานไดจากขอมลทถกบนทกลงในตารางการบนทกเวลาดงรปท ค.3 จากนนคำานวณหาคาความกวางของกระบวณการทำางานจากสมการ (6) คำานวณคาความซบซอนของการเปลยนแปลงจากสมการ (5) และคำานวณคาความคลองตวจากสมการ (3)
71ตารางท 5.23 การคำานวณคาความคลองตวของการเปลยนแปลงรายการท 2 (Non Service)คาระดบชนในเชงสถาปตยกรรม 4จำานวนตำาแหนงงาน 3จำานวนการสงตองานระหวางตำาแหนงงาน
2
คาความกวางของกระบวนการทำางาน (6)
3 + 2 = 5
คาความซบซอนของโคด 2,746คาความซบซอนของการเปลยนแปลง (5)
4 * 5 * 2,746 = 54,920
เวลาทใชดำาเนนการเปลยนแปลง 25 ชวโมงคาความคลองตว (3) 54,920 / 25 =
2,196.80
การคำานวณคาความคลองตวของระบบบนทกการลาแบบองบรการจากการเปลยนแปลงรายการท 2 สามารถแสดงไดดงตารางท 5.22 โดยทคาระดบชนในเชงสถาปตยกรรมไดจากจำานวนระดบชนทจะไดรบผลกระทบจากการเปลยนแปลงของตารางท 5.15 คาความซบซอนของโคดไดจากตารางท 5.17 สำาหรบคาของจำานวนตำาแหนงงานจะนบจากประเภทตำาแหนงงาน (Role) ทใชดำาเนนการ จำานวนการสงตองานระหวางตำาแหนงงานจะนบจากผลตภณฑงาน (Work Products) ทไดจากการทำางานในตำาแหนงตาง ๆ และเวลาทใชดำาเนนการเปลยนแปลงคำานวณจากเวลาการทำางาน (Working Hour) ทงหมดทใชในการดำาเนนการกบการเปลยนแปลงรายการท 2 โดยทงสามคานไดจากขอมลทถกบนทกลงในตารางการบนทกเวลาดงรปท ค.4 จากนนคำานวณหาคาความกวางของกระบวณการทำางานจากสมการ (6) คำานวณคาความซบซอนของการ
72เปลยนแปลงจากสมการ (5) และคำานวณคาความคลองตวจากสมการ (3)
ตารางท 5.24 การคำานวณคาความคลองตวของการเปลยนแปลงรายการท 2 (Service)คาระดบชนในเชงสถาปตยกรรม 5จำานวนตำาแหนงงาน 3จำานวนการสงตองานระหวางตำาแหนงงาน
4
คาความกวางของกระบวนการทำางาน (6)
3 + 4 = 7
คาความซบซอนของโคด 2,728คาความซบซอนของการเปลยนแปลง (5)
5 * 7 * 2,728= 95,480
เวลาทใชดำาเนนการเปลยนแปลง 28 ชวโมงคาความคลองตว (3) 95,480 / 28 = 3,410
จากการคำานวณความคลองตวจากการเปลยนแปลงรายการท 2 ของระบบบนทกการลาแบบไมองบรการและแบบองบรการสามารถสรปและเปรยบเทยบผลการคำานวณระหวางแบบจำาลองความคลองตวของ [4] และของโครงงานนไดดงตารางท 5.23
ตารางท 5.25 ตารางสรปการคำานวณคาความคลองตวของการเปลยนแปลงรายการท 2
ระบบบนทกการลา
ระยะ
เวลา
จำา
นวนร
ะดบช
นใน
เชง
จำานว
นตำาแ
หนง
จำานว
นการ
สงคว
ามซบ
ซอน
ของโ
คด(M
VG)
ตว[4
] (4)
เพมข
น [4]
(%)
ความ
คลอง
ตวขอ
งโคร
งงาน
น คว
ามคล
องตว
ทเพ
มขนข
อง
แบบไม 25 4 3 2 2,746 0.8 56.2 2,19 55.2
73องบรการ
56.80
3แบบองบรการ 28 5 3 4 2,728
1.25
3,410.00
เมอพจารณาคาความคลองตวของสองระบบในการดำาเนนการกบการเปลยนแปลงรายการท 2 ซงเปนการเปลยนแปลงในลกษณะการแกไขระบบเดมใหสนบสนนการทำางานของผใชและจากตารางท 5.23 พบวาการเปลยนแปลงนสงผลกระทบหลายระดบชนของสถาปตยกรรม โดยเฉพาะในสวนของระบบองบรการซงมการแกในสวนของการพฒนาของเซอรวซการลาและเซอรวซพนกงาน ทำาใหเวลาถกใชไปกบการจดสราง (Build) ตดตง (Deploy) และทดสอบเซอรวซสงผลใหมคาระยะเวลาทใช คาของจำานวนระดบชนในเชงสถาปตยกรรมทถกกระทบ และจำานวนการสงตองานมากกวาระบบแบบไมองบรการ สำาหรบคาความซบซอนของโคดของระบบองบรการมคานอยกวาระบบไมองบรการเนองจากการเรยกใชเซอรวซของเมทอดทำาใหมจำานวนโคดทนอยกวาและทำาใหคาความซบซอนของโคดนอยลงตามไปดวย ถงแมวาระบบแบบองบรการใชเวลามากกวาระบบแบบไมองบรการแลว เมอพจารณาคาความคลองตวทคำานวณไดจาก [4] และจากโครงงานนพบวาระบบองบรการยงมคาความคลองตวทสงกวาระบบแบบไมองบรการเนองมาจากระยะเวลาทใชของระบบองบรการเปนการดำาเนนการกบคาความซบซอนของการเปลยนแปลงทสงกวามากเมอดขอมลจากตารางท 5.22 เทยบกบตารางท 5.21
5.4 สรปผลการทดลอง จากผลการทดลองของการดำาเนนการกบการ
เปลยนแปลง 2 รายการสามารถสรปไดเปนประเดนตาง ๆ ดงน
745.4.1 ระดบชนเซอรวซทเพมเขามาในระบบทำาใหระบบม
ความซบซอนมากขน เมอมการเปลยนแปลงทเกดขนกบระดบเซอรวซไมวาจะเปนการเพมฟงกชนหรอมการแกไขในสวนการพฒนาของเซอรวซ จะเหนไดจากคาความซบซอนของการเปลยนแปลงของระบบองบรการในตารางท 5.20 และตารางท 5.23 มคาทสงกวาระบบแบบไมองบรการ
5.4.2 การเปลยนแปลงทเกดขนกบระดบชนเซอรวซอาจบงบอกวาการออกแบบเซอรวซของระบบนนยงไมดพอ การออกแบบเซอรวซทดควรจะออกแบบใหสามารถนำากลบมาใชใหมและครอบคลมการทำางานในบรบทตาง ๆ ของโดเมนทางธรกจนน ๆ
5.4.3 คาความคลองตวทวดจากแบบจำาลองการวดความคลองตวทเสนอจากโครงงานนและจาก [4] ใหผลลพธทเปนไปในทางเดยวกน คอระบบองบรการมความคลองตวกวาระบบแบบไมองบรการซงจะเหนไดจากเปอรเซนตความคลองตวทเพมขนในตารางท 5.20 และตารางท 5.23 มคาทใกลเคยงกน
5.4.4 ปจจยความซบซอนของโคดทเพมเขาในการพจารณาความซบซอนของการเปลยนแปลงชวยทำาใหเราเขาใจระบบมากขน จะเหนไดจากคาความซบซอนของโคดจากตารางท 5.20 มคานอยกวาในตารางท 5.23 เนองมาจากการเปลยนแปลงรายการท 1 มมอดลของโปรแกรมทจะถกกระทบนอยกวาการเปลยนแปลงรายการท 2 ทจะกระทบกบหลายมอดลของโปรแกรม
755.4.5 ระบบองบรการมความเหมาะสมและคมคากบการ
พฒนา เมอพจารณาจากระยะเวลาทใชในการดำาเนนการจากตารางท 5.20 ระบบองบรการใชเวลานอยกวาแบบไมองบรการและแมวาในตารางท 5.23 ระยะเวลาทใชของระบบองบรการจะมคามากกวาแตเมอพจารณาเทยบกบคาความซบซอนของการเปลยนแปลงแลวยงใหคาความคลองตวทมากกวาระบบแบบไมองบรการ
6 บทท 6บทสรปโครงงาน อภปรายผล และขอเสนอแนะ
6.1 สรปผลโครงงานมหาบณฑตโครงงานมหาบณฑตนไดนำาเสนอการวดความคลองตวของ
ระบบทไมไดองบรการเทยบกบระบบองบรการทมฟงกชนการทำางานเหมอนกน โดยการวดจะขนกบความเรวในการดำาเนนการกบการเปลยนแปลง และความซบซอนของการเปลยนแปลง จากผลการทดลองพบวาคาความคลองตวทไดจากการแบบจำาลองการวดความคลองตวของ [4] และแบบจำาลองการวดความคลองตวของโครงงานนทไดเพมการพจารณาความซบซอนของโคดเขาไปดวยนนไดใหผลทเปนไปในทศทางเดยวกนคอระบบทองบรการนนมความคลองตวมากกวา นอกจากนยงพบวาความคลองตวสามารถถกปรบปรงใหดขนกวาเดมถาหากมการออกแบบเซอรวซทดใหสามารถนำากลบมาใชงานใหมได และครอบคลมการทำางานในบรบทตาง ๆ ของโดเมนทางธรกจนน ๆ จะสงผลใหเมอมการเปลยนแปลงเกดขน ระบบจะสามารถยดหยนปรบเขากบการเปลยนแปลงนน ๆ ไดอยางรวดเรว
6.2 ปญหาและขอจำากดในการทำาโครงงานจากการดำาเนนงานโครงงานน พบปญหาและขอจำากดของ
ระบบ ดงตอไปน6.1.1 เนองจากไมมหนวยทดลองทเปนตวแทนของระบบ
องบรการ ผวจยจำาเปนตองจดทำาขนใหมโดยใชระบบบนทกการลาทนำามาเปนหนวยทดลองตวแทนของระบบทไมองบรการมาเปนตวตงตนในการจดทำา จงเสยเวลาไปกบขนตอนนอยพอสมควรเพอทำาใหระบบองบรการทจดทำาขนสามารถใชงานไดจรง
6.1.2 เนองดวยเวลาในการดำาเนนโครงงานมจำากดทำาใหสวนของการออกแบบเซอรวซของระบบบนทกการลานนอาจจะไมดพอตามหลกการออกแบบเซอรวซ [2]
6.1.3 ในสวนของการทดสอบผวจยทำาหนาทในสามบทบาทคอเปนทง นกวเคราะหระบบ ผพฒนาโปรแกรม และผทดสอบระบบ ซงโดยหลกปฏบตแลวในการทำางานจรงผทดสอบระบบจะเปนคนละคนกบผพฒนาโปรแกรม เพราะถาหากผพฒนาเปนผทดสอบระบบเองอาจจะมองขามการทดสอบและการหาขอบกพรองของระบบในบางกรณ ทำาใหเวลาทใชกบการทดสอบไมมากพอ อาจจะสงผลตอระยะเวลารวมทใชในการดำาเนนการกบการเปลยนแปลงของการทดลองคลาดเคลอน
786.3 ขอเสนอแนะ
การทดลองในโครงงานมหาบณฑตนเปนเพยงตวอยางประโยชนของแนวคดสถาปตยกรรมเชงบรการในแงของความคลองตว และปจจยตาง ๆ ทสงผลตอคาความคลองตวในแบบจำาลองการวดความคลองตว ผวจยเหนวาแนวทางการทดลองยงสามารถปรบปรงไดเชนการนำาหลกการทางสถตมาใชรวมดวย กลาวคอการทดลองควรจะกระทำากบระบบแอปพลเคชนหลายระบบ และมประเภทของการเปลยนแปลงทหลากหลาย ซงจะชวยใหสามารถทดสอบความสมพนธระหวางความคลองตว กบปจจยตาง ๆ และการเปลยนแปลงลกษณะตาง ๆ อกทงควรทำาการตรวจสอบดวยวาคาความซบซอนของโคดนนมนยสำาคญทางสถตตอแบบจำาลองการวดความคลองตวหรอไม นอกจากนผวจยพบวาในสวนการออกแบบระบบองบรการยงสามารถปรบปรงการออกแบบใหดขนกวาเดมได และจะทำาใหความคลองตวของระบบมการปรบปรงขนดวยเชนกน
79
7 รายการอางอง
[1] Gabhart, K., and Bhattacharaya, B. Service Oriented Architecture Field Guide for Executives. Hoboken, New Jersey: John Wiley & Sons, Inc., 2008.
[2] Erl, T. SOA Principles of Service Design. Prentice Hall, 2008.
[3] McCabe, T.J. A Complexity Measure. Software Engineering, IEEE Transactions, pp. 308-320. IEEE, 1976.
[4] Malik, N. Measuring the agility of a SOA approach [Online]. 2007. Available from: http://blogs.msdn.com/b/nickmalik/archive/2007/12/14/measuring-the-agility-of-a-soa-approach.aspx [2012, March 12].
[5] Shawky, D.M., and Ali A.F. A Practical Measurement for the Agility of Software Development Processes. Computer Technology and Development (ICCTD), 2010 2nd International Conference, pp. 230-234. IEEE, 2010.
[6] Arteta, B.M., and Giachetti, R.E. A measure of agility as the complexity of the enterprise system. Robotics and Computer-Integrated Manufacturing 20, pp. 495-503. Science Direct, 2004.
[7] Datta, S. Agility Measurment Index – A Metric for the Crossroads of Software Development Methodologies. ACM-SE 44 Proceedings of the 44th annual Southeast regional conference, pp. 271-273. New York: ACM, 2006.
[8] Mansouri, M., Ganguly, A., and Mostashari, A. Evaluating Agility in Extended Enterprise Systems: A Transportation Network case.
80American J. of Engineering and Applied Sciences, pp. 142-152. Science Publications, 2011.
[9] Erl, T. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall, 2005.
[10] The Apache Software Foundation. Apache Axis2 [Online]. 2011. Available from: http://axis.apache.org/axis2/java/core/index.html [2012, March 13].
[11] LocMetrics [Online]. 2007. Available from: http://www.locmetrics.com [2012, March 13].
8 ภาคผนวก
82
ก. ภาคผนวก กแผนภาพการออกแบบระบบการเปลยนแปลง
รายการท 1 act Brought Forward - Activ ity Diagram - CR01
ELeave SystemHR Admin
1. Log-in to the system 2. Display ELeave Menu Page
3. Select Menu Year-End Brought
Forward
4. Get All Active Employees
6. Get Last Year Leave Entitlement and Last Year
Leave Balance
leave balance >=leave entitle / 2
7. Set Leave Brought Forward = Leave
Entitlement / 2
8. Set Leave Brought Forward = Leave
Balance
9. Display Employees Leave Brought
Forward
10. Check / Edit Employees Leave Brought Forward
11. Click Update Button
12. Save Employees Brought Forward
5. Get Employee Current Year Leave Brought
Forward
brought forwardis null
Final
Initial
[Yes]
[No][Yes] [No]
83
รปท ก.24 แผนภาพกจกรรมของการเปลยนแปลงรายการท 1 (Non Service)
act Brought Forward - Activ ity Diagram - CR01
EmployeeServiceEleaveServiceEleave SystemHR Admin
1. Log-in to the system 2. Display ELeave Menu Page
3. Select Menu Year-End Brought
Forward
4. Get All Active Employees
6. Get Last Year Leave Entitlement and Last Year
Leave Balanceleave balance >= leaveentitle / 2
7. Set Leave Brought Forward = Leave
Entitlement / 2
8. Set Leave Brought Forward = Leave Balance
9. Display Employees Leave Brought Forward
10. Check / Edit Employees Leave Brought Forward
11. Click Update Button
12. Save Employees Brought Forward
5. Get Employee Current Year Leave
Brought Forward
brought forward isempty
Final
Initial
[Yes] [No]
[No][Yes]
รปท ก.25 แผนภาพกจกรรมของการเปลยนแปลงรายการท 1 (Service)
84 sd Retrieve Brought Forward
HR Admin
ELeaveBringForward ELeaveDomain ElLeaveAdjustmentDAO ElEmployeeDAOElLeaveRecordDAO
loop employee list
[employee list size > 0]
loop leave record list
[leave record list size > 0]
retrieveBroughtForward()
selectAllActiveEmployee()<<employee list>>
getEntitleAnnualLeave()
<<lastYearEntitleLeave>>
getAnnualLeaveBalance()
getEntitleAnnualLeave()
getBroughtForwardAnnualLeave()
findAdjust()
<<leave adjustment>>
getConsumedAnnualLeave()
findLeaveRecordByLeaveType()
<<annual leave record list>>
getSpendingLeave()
(entitle + adjust) - consumed<<lastYearLeaveBalance>>
findAdjust()
<<leave adjustment>>
[leave adjustment is null]
[lastYearLeaveBalance < (lastYearEntitleLeave / 2)]
<<leave adjustment = lastYearLeaveBalance>>
lastYearLeaveBalance >= (lastYearEntitleLeave / 2)
<<leave adjustment = (lastYearEntitleLeave / 2)>>
[leave adjustment is not null]
leave adjustment = current leave adjustment
<<display employees brought forward>>
รปท ก.3 แผนภาพลำาดบของการเปลยนแปลงรายการท 1 (Non Service)
85 sd Retrieve Brought Forward
HR Admin
ELeaveBringForward ELeaveDomain EleaveService EmployeeService
loop employee list
[employee list size > 0]
loop leave record list
[leave record list size > 0]
retrieveBroughtForward()
selectAllActiveEmployee()
<< employee list >>
getEntitleAnnualLeave()
<< lastYearEntitleLeave >>
getAnnualLeaveBalance()getEntitleAnnualLeave()
getBroughtForwardAnnualLeave()
findLeaveAdjustByYear()
<< leave adjustment >>
getConsumedAnnualLeave()
findLeaveRecordByLeaveType()
<< annual leave record list >>
getSpendingLeave()
<< (entitle + adjust) - consumed >><< lastYearLeaveBalance >>
findLeaveAdjustByYear()
<< leave adjustment >>
[ leave adjustment is null ]
[ lastYearLeaveBalance < (lastYearEntitleLeave / 2) ]
<< leave adjustment = lastYearLeaveBalance >>
[ lastYearLeaveBalance >= (lastYearEntitleLeave / 2) ]
<< leave adjustment = (lastYearEntitleLeave / 2) >>
[ leave adjustment is not null ]
<< leave adjustment = current leave adjustment >><< display employees brought forward >>
รปท ก.26 แผนภาพลำาดบของการเปลยนแปลงรายการท 1 (Service)
86
ข.ภาคผนวก ขแผนภาพการออกแบบระบบการเปลยนแปลง
รายการท 2 act Set Employee Shift Working - Activ ity Diagrams - CR02
HR Admin ELeav e System
Initial
3. Select Menu Update Employee Info
1. Log-in to the system 2. Display ELeav e Menu Page
4. Display List of Employee
5. Select Employee to Update Info
6. Display Employee Info
7. Set Employee to be Shift Working
8. Click Update Button 9. Update Employee Info
Final
รปท ข.27 แผนภาพกจกรรมการปรบปรงประเภทการทำางานของพนกงาน (Non Service)
87
act Set Employee Shift Working - Activ ity Diagrams - CR02
EmployeeServ iceHR Admin ELeave System
Initial
3. Select Menu Update Employee Info
1. Log-in to the system 2. Display ELeave Menu Page
5. Display List of Employee
6. Select Employee to Update Info
7. Display Employee Info8. Set Employee to be Shift Working
9. Click Update Button 10. Update Employee Info
Final
4. Retrieve All Employee
รปท ข.28 แผนภาพกจกรรมการปรบปรงประเภทการทำางานของพนกงาน (Service)
88 act Employee Shift Working Apply Leave - Activ ity Diagram - CR02
Employee (Shift Working) ELeave System
Initial
3. Select Apply Leave Menu
1. Log-in to the system 2. Display ELeav e Menu Page
4. Display Apply Leave Page
5. Input Leave Info
7. Click Apply Leave Button
8. Save Leave Record
9. Send Notify Email to Approver
Final
รปท ข.29 แผนภาพกจกรรมการบนทกการลา (Non Service)
89 act Employee Shift Working Apply Leave - Activ ity Diagram - CR02
NotificationServiceEleaveService
Employee (Shift W
orking)ELeave System
Initial3. Select Apply Leave
Menu1. Log-in to the system
2. Display ELeave Menu Page
4. Display Apply Leave Page
5. Input Leave Info 7. Click Apply Leave Button
8. Save Leave Record
9. Send Notify Email to Approver
Final
รปท ข.30 แผนภาพกจกรรมการบนทกการลา (Service) sd Apply Leav e - CR02
Employee (Shift Working)
ELeaveApplyLeave ElLeaveRecordDAO ELeaveDomain
applyLeaveApplication()
<< set leave record info >>
[ if employee is shift working ]
<< set leave record include holiday >>
insert()
sendEmailSubmitLeave()
รปท ข.31 แผนภาพลำาดบของการบนทกการลา (Non Service)
90 sd Apply Leave - CR02
Employee (Shift Working)
ELeaveApplyLeave EleaveServiceELeaveDomain NotificationService
applyLeaveApplication()
<< set leave record info >>
[ if employee is shift working ]
<< set leave record include holiday >>
addLeaveRecord()
sendEmailSubmitLeave()
sendEMailHTML()
รปท ข.32 แผนภาพลำาดบของการบนทกการลา (Service) sd Calculate Spending Leav e - CR02
ELeaveDomainELeaveApplyLeave
getLeaveWorkingDay()
getSpendingLeave()
[ Is Shift Working or Is Not Holiday Date ]
<< leave consumed = leave consumed + 1 >>
<< leave spending >>
รปท ข.33 แผนภาพลำาดบของการคำานวณวนลาทใช
64
ค. ภาคผนวก คตารางบนทกเวลาการทำางาน
รปท ค.34 การบนทกเวลาการทำางานการเปลยนแปลงรายการท 1 (Non Service)
65
รปท ค.35 การบนทกเวลาการทำางานการเปลยนแปลงรายการท 1 (Service)
66
รปท ค.36 การบนทกเวลาการทำางานการเปลยนแปลงรายการท 2 (Non Service)
67
รปท ค.37 การบนทกเวลาการทำางานการเปลยนแปลงรายการท 2 (Service)
95
ง.ประวตผเขยนโครงงานมหาบณฑต
นายคงสวสด โพธพนม เกดเมอวนท 29 มนาคม พ.ศ. 2525 ทจงหวดเชยงใหมสำาเรจการศกษาหลกสตรปรญญาวทยาศาสตรบณฑต (วท.บ.) สาขาวชาวทยาการคอมพวเตอร คณะวทยาศาสตร มหาวทยาลยเชยงใหม ในปการศกษา 2547 และเขาศกษาตอในหลกสตรวทยาศาสตรมหาบณฑต สาขาวชาวศวกรรมซอฟตแวร ทภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตรจฬาลงกรณมหาวทยาลย ในปการศกษา 2553
Top Related