SlideShare a Scribd company logo
1 of 151
Download to read offline
สำนักงำนเลขำธิกำรสภำผู้แทนรำษฎร
The Secretariat of The House of Representatives
ระบบวิเครำะห์โครงกำรพัฒนำบุคคลำกรด้ำนเทคโนโลยีสำรสนเทศและกำรสื่อสำร
System Of Analysis Human Resource Development Project Of Information
Technology
ระบบวิเครำะห์โครงกำรพัฒนำบุคลำกรด้ำนเทคโนโลยีสำรสนเทศและกำรสื่อสำร
กลุ่มงำนวิทยำกำรคอมพิวเตอร์ สำนักสำรสนเทศ
สำนักงำนเลขำธิกำรสภำผู้แทนรำษฎร
โดย
นักศึกษำฝึกงำน ระดับปริญญำตรี ชั้นปีที่สอง
คณะวิศวกรรมศำสตร์ สำขำวิศวกรรมซอฟต์แวร์ หลักสูตรนำนำชำติ สถำบันเทคโนโลยีพระจอมเกล้ำเจ้ำคุณทหำรลำดกระบัง
นำยปุณยวีร์ โพธิ์ศรี
นำยจำรุกิตต์ พัฒนพรกุล
รำยงำนฉบับสมบูรณ์
สารบัญ
หัวข้อ หน้า
หลักการเหตุและผล 1
วัตถุประสงค์ 1
ผู้ใช้งานที่เกี่ยวข้อง 1
กิจกรรมและแผนการดาเนินการ 2
ระยะเวลาการดาเนินงาน 2
เอกสารแนบ 2
การติดตาม และ ประเมินผล 3
ผู้รับผิดชอบโครงการ 3
คณะกรรมการประเมินโครงการ 3
วงจรการพัฒนาระบบ (System Development Life Cycle :SDLC) 4
การประยุกต์ใช้ Agile กับโครงการพัฒนาระบบ 11
ความต้องการของระบบ (System Requirement) 14
การวิเคราะห์และออกแบบระบบ ( System Analysis And Design ) 17
โครงสร้างระบบ (System Architecture) 17
แผนภาพแสดงความสัมพันธ์ของผู้ใช้ระบบ (Use Case Diagram) 18
แผนภาพกิจกรรม ( Activity Diagram ) 22
การออกแบบฐานข้อมูล 23
พจนานุกรมข้อมูล ( Data Dictionary ) 24
ภาคผนวก
คู่มือการใช้งานโปรแกรม 29
Source code 44
รายชื่อคณะกรรมการ 147
ข้อมูลผู้จัดทาโครงการ 147
1
ระบบวิเคราะห์โครงการพัฒนาบุคลากรด้านเทคโนโลยีสารสนเทศและการสื่อสาร
System Of Analysis Human Resource Development Project Of Information Technology
===================================
1. หลักการและเหตุผล
กลุ่มงานวิทยาการคอมพิวเตอร์ สานักสารสนเทศ สานักงานเลขาธิการสภาผู้แทนราษฎร มีหน้าที่หลักใน
การจัดการฝึกอบรมทางด้านเทคโนโลยีสารสนเทศ ให้แก่บุคลากรของสานักงานเลขาธิการสภาผู้แทนราษฎร ให้มี
ความรู้และทักษะความสามารถทางด้านไอที ซึ่งในแต่ละปีงบประมาณ ทางกลุ่มงานวิทยาการคอมพิวเตอร์ได้
จัดทาโครงการพัฒนาบุคลากรด้านเทคโนโลยีสารสนเทศและการสื่อสาร ขึ้นเป็นจานวนหลายโครงการและได้มีการ
นาโปรแกรม Microsoft Excel มาจัดเก็บข้อมูลของโครงการต่าง ๆ ซึ่งประกอบไปด้วย ชื่อโครงการ จานวนเงิน
งบประมาณ ค่าใช้จ่ายที่เกิดขึ้นจริง ผู้รับผิดชอบโครงการและข้อมูลวิทยากร
ซึ่งปัญหาจากการนา Microsoft Excel มาจัดเก็บข้อมูลนั้นเป็นการเก็บข้อมูลในรูปแบบไฟล์ ทาให้เกิด
ความผิดพลาดได้ง่าย และลักษณะของการทางานเป็นทีมนั้น ทาให้เกิดมีข้อมูลโครงการของแต่ละคนไม่ตรงกัน ทา
ให้ข้อมูลที่นาเสนอผู้บริหาร หรือข้อมูลที่นามาใช้ในการวิเคราะห์โครงการเกิดความผิดพลาดขึ้น เพื่อแก้ปัญหา
ดังกล่าว จึงได้จัดทาระบบวิเคราะห์โครงการพัฒนาบุคลากรด้านเทคโนโลยีสารสนเทศและการสื่อสาร ให้เป็น
รูปแบบโปรแกรมบริหารจัดการ มีการเก็บข้อมูลทั้งหมดไว้ในฐานข้อมูลที่เดียวกัน และง่ายต่อการบริหารจัดการ
ข้อมูลดังกล่าว
2. วัตถุประสงค์
1. เพื่อใช้ในการบันทึกข้อมูลของโครงการต่างๆเข้าไปไว้ในระบบฐานข้อมูล
2. เพื่อวิเคราะห์และจัดเก็บข้อมูลในการบริหารงานโครงการให้มีประสิทธิภาพ
3. เพื่อนาข้อมูลจากการวิเคราะห์ไปดาเนินการตัดสินใจในการพิจารณาโครงการพัฒนาบุคลากรด้าน
เทคโนโลยีสารสนเทศ ในปีงบประมาณต่อไป
3. ผู้ใช้งานที่เกี่ยวข้อง
1. เจ้าหน้าที่กลุ่มงานวิทยาการคอมพิวเตอร์ สานักสารสนเทศ
2. ผู้ดูแลระบบ (System Administrator)
2
4. กิจกรรม และ แผนการดาเนินการ
รายการ
เดือน/2558
มิ.ย. ก.ค.
การวางแผนงานโครงการ ๑ ๒ ๓ ๔ ๑ ๒ ๓ ๔
1.วางแผนการจัดการ เอกสาร ประกอบโครงการ
2.จัดทาเอกสาร ประกอบโครงการ
3.ประชุม เพื่อปรับปรุง เพิ่มเติม และ แก้ไข เอกสาร
4.วางแผน และ ปรับแก้ เพิ่มเติมเอกสาร
5.สรุป และ นาเสนอเอกสาร
6.วางแผนการเขียนโปรแกรม
7.เริ่มทาการเขียนโปรแกรม
8.เริ่มนาเสนอ โปรแกรมที่ยังไม่สมบูรณ์ เพื่อรอรับการ
ปรับปรุง หรือ เพิ่มเติม
9.ปรับปรุง และ พัฒนาโปรแกรมต่อจากเดิม
10.นาเสนอโปรแกรมสาเร็จรูป พร้อมเอกสาร และ สื่อการ
นาเสนอ
5. ระยะเวลาการดาเนินงาน
ระยะดาเนินการ 46 วัน (2 มิ.ย. – 17 ก.ค.)
6. เอกสารแนบ : เพื่อใช้ประกอบการพิจารณา
1.แผนภาพ Visual Concept ของระบบงาน
2.แผนภาพ System Architecture
3.แผนภาพ Use Case Diagram
4.แผนภาพ ER Diagram
5.แผนภาพ Activity Diagram
6.รายละเอียด Requirement
3
7. การติดตามและประเมินผล
ใช้แบบสอบถามประเมิน Formative และ ประเมินผลโดยคณะกรรมการประเมินงาน
8. ผู้รับผิดชอบโครงการ
ที่ปรึกษาโครงการ :
1. นายไชยยศ สันสังวร ผู้บังคับบัญชากลุ่มงานวิทยาการคอมพิวเตอร์
2. นายชัยวัฒน์ ปันต่า นักวิชาการคอมพิวเตอร์ปฏิบัติการ
ผู้รับผิดชอบโครงการ :
1. นายปุณยวีร์ โพธิ์ศรี
2. นายจารุกิตต์ พัฒนพรกุล
9. คณะกรรมการประเมินโครงการ
1. นายไชยยศ สันต์สังวร ผู้บังคับบัญชากลุ่มงานวิทยาการคอมพิวเตอร์
2. นางณีรนุช จุลประภา นักวิชาการคอมพิวเตอร์ชานาญการพิเศษ
3. นางยุพิน พ่วงเสมา นักวิชาการคอมพิวเตอร์ชานาญการ
4. นางสุธาวี อนุญาหงษ์ นักวิชาการคอมพิวเตอร์ชานาญการ
5. นายชัยวัฒน์ ปันต่า นักวิชาการคอมพิวเตอร์ปฏิบัติการ
4
การทบทวนวรรณกรรม/การตรวจสอบเอกสาร
ในการพัฒนาระบบสารสนเทศในองค์กรจะต้องมีการวิเคราะห์กระบวนการทางานขององค์กร เราเรียกว่า
System development Life Cycle (SDLC) การ พัฒนาระบบในองค์กรเป็นหน้าที่ของนักวิเคราะห์ระบบที่
จะต้องทาการติดต่อกับ หน่วยงานที่ต้องการพัฒนาระบบสารสนเทศ ว่าการทางานมีองค์ประกอบอะไรบ้าง เช่น
ขนาดขององค์กร รายละเอียดการทางานถ้าเป็นบริษัทขนาดใหญ่นักวิเคราะห์จะต้องเข้าใจให้ชัดเจนเกี่ยวกับ
มาตรฐาน กระบวนการทางานการพัฒนาระบบงาน (System development Life Cycle : SDLC) หมายถึง
ขั้นตอนหรือกระบวนการในการพัฒนาระบบงาน ซึ่งมีจุดเริ่มต้นในการทางานและจุดสิ้นสุดของการปฏิบัติงานการ
การพัฒนาซอฟต์แวร์ ตามปกติแล้วจะประกอบไปด้วยกลุ่มกิจกรรม 3 ส่วนหลักๆ ด้วยกัน คือ การวิเคราะห์
(Analysis), การออกแบบ (Design) และการนาไปใช้ (Implementation) ซึ่ง กิจกรรมทั้งสามนี้สามารถใช้งานได้ดี
กับโครงการซอฟต์แวร์ขนาดเล็ก ในขณะที่โครงการซอฟต์แวร์ขนาดใหญ่ มักจาเป็นต้องใช้แบบแผนการพัฒนา
ซอฟต์แวร์ตามแนวทางของ SDLC จนครบทุกกิจกรรม
1. วงจรการพัฒนาระบบ (System Development Life Cycle :SDLC)
ระบบ สารสนเทศทั้งหลายมีวงจรชีวิตที่เหมือนกันตั้งแต่เกิดจนตายวงจรนี้จะเป็นขั้น ตอน ที่เป็นลาดับ
ตั้งแต่ต้นจนเสร็จเรียบร้อย เป็นระบบที่ใช้งานได้ ซึ่งนักวิเคราะห์ระบบต้องทาความเข้าใจให้ดีว่าในแต่ละขั้นตอน
จะต้องทาอะไร และทาอย่างไร ขั้นตอนการพัฒนาระบบมีอยู่ด้วยกัน 7 ขั้น ด้วยกัน คือ
1. เข้าใจปัญหา (Problem Recognition)
2. ศึกษาความเป็นไปได้ (Feasibility Study)
3. วิเคราะห์ (Analysis)
4. ออกแบบ (Design)
5. สร้างหรือพัฒนาระบบ (Construction)
6. การปรับเปลี่ยน (Conversion)
7. บารุงรักษา (Maintenance)
ขั้นที่ 1 : เข้าใจปัญหา (Problem Recognition)
ระบบ สารสนเทศจะเกิดขึ้นได้ก็ต่อเมื่อผู้บริหารหรือผู้ใช้ตระหนักว่า ต้องการระบบสารสนเทศหรือระบบ
จัดการเดิม ได้แก่ระบบเอกสารในตู้เอกสาร ไม่มีประสิทธิภาพเพียงพอที่ตอบสนองความต้องการในปัจจุบัน ซึ่ง
ผู้บริหารตื่นตัวกันมากที่จะให้มีการพัฒนาระบบสารสนเทศมาใช้ในหน่วยงานของตน ในงานธุรกิจ อุตสาหกรรม
หรือใช้ในการผลิต ตัวอย่างเช่น บริษัทของเรา จากัด ติดต่อซื้อสินค้าจากผู้ขายหลายบริษัท ซึ่งบริษัทของเราจะมี
ระบบ MIS ที่เก็บข้อมูลเกี่ยวกับหนี้สินที่บริษัทขอเราติดค้างผู้ขายอยู่ แต่ระบบเก็บข้อมูลผู้ขายได้เพียง 1,000 ราย
เท่านั้น แต่ปัจจุบันผู้ขายมีระบบเก็บข้อมูลถึง 900 ราย และอนาคตอันใกล้นี้จะเกิน 1,000 ราย ดังนั้นฝ่ายบริหาร
จึงเรียกนักวิเคราะห์ระบบเข้ามาศึกษา แก้ไขระบบงาน ปัญหา ที่สาคัญของระบบสารสนเทศในปัจจุบัน คือ ระบบ
เขียนมานานแล้ว ส่วนใหญ่เขียนมาเพื่อติดตามเรื่องการเงิน ไม่ได้มีจุดประสงค์เพื่อให้ข้อมูลข่าวสารในการตัดสินใจ
แต่ปัจจุบันฝ่าย บริหารต้องการดูสถิติการขายเพื่อใช้ในการคาดคะเนในอนาคต หรือความต้องการอื่นๆ เช่น สินค้า
5
ที่มียอดขายสูง หรือสินค้าที่ลูกค้าต้องการสูง หรือการแยกประเภทสินค้าต่างๆที่ทาได้ไม่ง่ายนัก การที่จะแก้ไข
ระบบเดิมที่มีอยู่แล้วไม่ใช่เรื่องที่ง่ายนัก หรือแม้แต่การสร้างระบบใหม่ ดังนั้นควรจะมีการศึกษาเสียก่อนว่า ความ
ต้องการของเราเพียงพอที่เป็นไปได้หรือไม่ ได้แก่ "การศึกษาความเป็นไปได้" (Feasibility Study)
สรุป ขั้นตอนที่ 1: เข้าใจปัญหา
หน้าที่ : ตระหนักว่ามีปัญหาในระบบ
ผลลัพธ์ : อนุมัติการศึกษาความเป็นไปได้
เครื่องมือ : ไม่มี
บุคลากรและหน้าที่ความรับผิดชอบ : ผู้ใช้หรือผู้บริหารชี้แจงปัญหาต่อนักวิเคราะห์ระบบ
ขั้นตอนที่ 2 : ศึกษาความเป็นไปได้ (Feasibility Study)
จุดประสงค์ของการศึกษาความเป็นไปได้ก็คือ การกาหนดว่าปัญหาคืออะไรและตัดสินใจว่าการพัฒนา
สร้างระบบสารสนเทศ หรือการแก้ไขระบบสารสนเทศเดิมมีความเป็นไปได้หรือไม่โดยเสียค่าใช้จ่ายและ เวลาน้อย
ที่สุด และได้ผลเป็นที่น่าพอใจ ปัญหา ต่อไปคือ นักวิเคราะห์ระบบจะต้องกาหนดให้ได้ว่าการแก้ไขปัญหาดังกล่าวมี
ความเป็นไปได้ ทางเทคนิคและบุคลากร ปัญหาทางเทคนิคก็จะเกี่ยวข้องกับเรื่องคอมพิวเตอร์ และเครื่องมือเก่าๆ
ถ้ามี รวมทั้งเครื่องคอมพิวเตอร์ซอฟต์แวร์ด้วย ตัวอย่างคือ คอมพิวเตอร์ที่ใช้อยู่ในบริษัทเพียงพอหรือไม่
คอมพิวเตอร์อาจจะมีเนื้อที่ของฮาร์ดดิสก์ไม่เพียงพอ รวมทั้งซอฟต์แวร์ ว่าอาจจะต้องซื้อใหม่ หรือพัฒนาขึ้นใหม่
เป็นต้น ความเป็นไปได้ทางด้านบุคลากร คือ บริษัทมีบุคคลที่เหมาะสมที่จะพัฒนาและติดตั้งระบบเพียงพอหรือไม่
ถ้าไม่มีจะหาได้หรือไม่ จากที่ใด เป็นต้น นอกจากนั้นควรจะให้ความสนใจว่าผู้ใช้ระบบมีความคิดเห็นอย่างไรกับ
การ เปลี่ยนแปลง รวมทั้งความเห็นของผู้บริหารด้วย
หน้าที่ : กาหนดปัญหา และศึกษาว่าเป็นไปได้หรือไม่ที่จะเปลี่ยนแปลงระบบ
ผลลัพธ์ : รายงานความเป็นไปได้
เครื่องมือ : เก็บรวบรวมข้อมูลของระบบและคาดคะเนความต้องการของระบบ
บุคลากรและหน้าที่ความรับผิดชอบ : ผู้ใช้จะมีบทบาทสาคัญในการศึกษา
1. นักวิเคราะห์ระบบจะเก็บรวบรวมข้อมูลทั้งหมดที่จาเป็นทั้งหมดเกี่ยวกับปัญหา
2. นักวิเคราะห์ระบบคาดคะเนความต้องการของระบบและแนวทางการแก้ปัญหา
3. นักวิเคราะห์ระบบ กาหนดความต้องการที่แน่ชัดซึ่งจะใช้สาหรับขั้นตอนการวิเคราะห์ต่อไป
4. ผู้บริหารตัดสินใจว่าจะดาเนินโครงการต่อไปหรือไม่
6
ขั้นตอนที่ 3 การวิเคราะห์ (Analysis)
เริ่มเข้าสู่การวิเคราะห์ระบบ การวิเคราะห์ระบบเริ่มตั้งแต่การศึกษาระบบการทางานของธุรกิจนั้น ในกรณี
ที่ระบบเราศึกษานั้นเป็นระบบสารสนเทศอยู่แล้วจะต้องศึกษาว่าทางาน อย่างไร เพราะเป็นการยากที่จะออกแบบ
ระบบใหม่โดยที่ไม่ทราบว่าระบบเดิมทางานอย่างไร หรือธุรกิจดาเนินการอย่างไร หลังจากนั้นกาหนดความ
ต้องการของระบบใหม่ ซึ่งนักวิเคราะห์ระบบจะต้องใช้เทคนิคในการเก็บข้อมูล (Fact-Gathering Techniques)
ดังรูป ได้แก่ ศึกษาเอกสารที่มีอยู่ ตรวจสอบวิธีการทางานในปัจจุบัน สัมภาษณ์ผู้ใช้และผู้จัดการที่มีส่วนเกี่ยวข้อง
กับระบบ เอกสารที่มีอยู่ได้แก่ คู่มือการใช้งาน แผนผังใช้งานขององค์กร รายงานต่างๆที่หมุนเวียนใน ระบบ
การศึกษาวิธีการทางานในปัจจุบันจะทาให้นักวิเคราะห์ระบบรู้ว่าระบบจริงๆ ทางานอย่างไร ซึ่งบางครั้งค้นพบ
ข้อผิดพลาดได้ ตัวอย่าง เช่น เมื่อบริษัทได้รับใบเรียกเก็บเงินจะมีขั้นตอนอย่างไรในการจ่ายเงิน ขั้นตอนที่เสมียน
ป้อนใบเรียกเก็บเงินอย่างไร เฝ้าสังเกตการทางานของผู้เกี่ยวข้อง เพื่อให้เข้าใจและเห็นจริงๆ ว่าขั้นตอนการทางาน
เป็นอย่างไร ซึ่งจะทาให้นักวิเคราะห์ระบบค้นพบจุดสาคัญของระบบว่าอยู่ที่ใด การสัมภาษณ์เป็นศิลปะอย่างหนึ่งที่
นักวิเคราะห์ระบบควรจะต้องมีเพื่อเข้ากับผู้ ใช้ได้ง่าย และสามารถดึงสิ่งที่ต้องการจากผู้ใช้ได้ เพราะว่าความ
ต้องการของระบบคือ สิ่งสาคัญที่จะใช้ในการออกแบบต่อไป ถ้าเราสามารถกาหนดความต้องการได้ถูกต้อง การ
พัฒนาระบบในขั้นตอนต่อไปก็จะง่ายขึ้น เมื่อเก็บรวบรวมข้อมูลแล้วจะนามาเขียนรวมเป็นรายงานการทางานของ
ระบบซึ่งควรแสดงหรือเขียนออกมาเป็นรูปแทนที่จะร่ายยาวออกมาเป็นตัวหนังสือ การแสดงแผนภาพจะทาให้เรา
เข้าใจได้ดีและง่ายขึ้น หลังจากนั้นนักวิเคราะห์ระบบ อาจจะนาข้อมูลที่รวบรวมได้นามาเขียนเป็น "แบบทดลอง"
(Prototype) หรือตัวต้นแบบ แบบทดลองจะเขียนขึ้นด้วยภาษาคอมพิวเตอร์ต่างๆ และที่ช่วยให้ง่ายขึ้นได้แก่
ภาษายุคที่ 4 (Fourth Generation Language) เป็นการสร้างโปรแกรมคอมพิวเตอร์ขึ้นมาเพื่อใช้งานตามที่เรา
ต้องการได้ ดังนั้นแบบทดลองจึงช่วยลดข้อผิดพลาดที่อาจจะเกิดขึ้นได้ เมื่อจบขั้นตอนการวิเคราะห์แล้ว
นักวิเคราะห์ระบบจะต้องเขียนรายงานสรุปออกมาเป็น ข้อมูลเฉพาะของปัญหา (Problem Specification) ซึ่งมี
รายละเอียดดังนี้
รายละเอียดของระบบเดิม ซึ่งควรจะเขียนมาเป็นรูปภาพแสดงการทางานของระบบ พร้อมคาบรรยาย
กาหนดความต้องการของระบบใหม่รวมทั้งรูปภาพแสดงการทางานพร้อมคาบรรยาย, ข้อมูลและไฟล์ที่จาเป็น
คาอธิบายวิธีการทางาน และสิ่งที่จะต้องแก้ไข. รายงานข้อมูลเฉพาะของปัญหาของระบบขนาดกลางควรจะมีขนาด
ไม่เกิน 100-200 หน้ากระดาษ
สรุป ขั้นตอนที่ 3 : การวิเคราะห์ (Analysis)
หน้าที่ : กาหนดความต้องการของระบบใหม่ (ระบบใหม่ทั้งหมดหรือแก้ไขระบบเดิม)
ผลลัพธ์ : รายงานข้อมูลเฉพาะของปัญหา
เครื่องมือ : เทคนิคการเก็บรวบรวมข้อมูล, Data Dictionary, Data Flow Diagram, Process Specification,
Data Model, System Model, Prototype, system Flowcharts
7
บุคลากรและหน้าที่รับผิดชอบ : ผู้ใช้จะต้องให้ความร่วมมือเป็นอย่างดี
1. วิเคราะห์ระบบ ศึกษาเอกสารที่มีอยู่ และศึกษาระบบเดิมเพื่อให้เข้าใจถึงขั้นตอนการทางานและทราบ
ว่าจุดสาคัญของระบบอยู่ที่ไหน
2. นักวิเคราะห์ระบบ เตรียมรายงานความต้องการของระบบใหม่
3. นักวิเคราะห์ระบบ เขียนแผนภาพการทางาน (Diagram) ของระบบใหม่โดยไม่ต้องบอกว่าหน้าที่ใหม่
ในระบบจะพัฒนาขึ้นมาได้อย่างไร
4. นักวิเคราะห์ระบบ เขียนสรุปรายงานข้อมูลเฉพาะของปัญหา
5. ถ้าเป็นไปได้นักวิเคราะห์ระบบอาจจะเตรียมแบบทดลองด้วย
ขั้นตอนที่ 4 : การออกแบบ (Design)
ในระยะแรกของการออกแบบ นักวิเคราะห์ระบบจะนาการตัดสินใจ ของฝ่ายบริหารที่ได้จากขั้นตอนการ
วิเคราะห์การเลือกซื้อคอมพิวเตอร์ ฮาร์ดแวร์และซอฟต์แวร์ด้วย (ถ้ามีหรือเป็นไปได้) หลังจากนั้นนักวิเคราะห์
ระบบจะนาแผนภาพต่างๆ ที่เขียนขึ้นในขั้นตอนการวิเคราะห์มาแปลงเป็นแผนภาพลาดับขั้น (แบบต้นไม้) ดังรูป
ข้างล่าง เพื่อให้มองเห็นภาพลักษณ์ที่แน่นอนของโปรแกรมว่ามีความสัมพันธ์กันอย่างไร และโปรแกรมอะไรบ้างที่
จะต้องเขียนในระบบ หลังจากนั้นก็เริ่มตัดสินใจว่าควรจะจัดโครงสร้างจากโปรแกรมอย่างไร การเชื่อมระหว่าง
โปรแกรมควรจะทาอย่างไร ในขั้นตอนการวิเคราะห์นักวิเคราะห์ระบบต้องหาว่า "จะต้องทาอะไร (What)" แต่ใน
ขั้นตอนการออกแบบต้องรู้ว่า " จะต้องทาอย่างไร(How)" ในการออกแบบโปรแกรมต้องคานึงถึงความปลอดภัย
(Security) ของระบบด้วย เพื่อป้องกันการผิดพลาดที่อาจจะเกิดขึ้น เช่น "รหัส" สาหรับผู้ใช้ที่มีสิทธิ์สารอง
ไฟล์ข้อมูลทั้งหมด เป็นต้นนักวิเคราะห์ระบบจะต้องออกแบบฟอร์มสาหรับข้อมูลขาเข้า (Input Format) ออกแบบ
รายงาน (Report Format) และการแสดงผลบนจอภาพ (Screen Format) หลักการการออกแบบฟอร์มข้อมูลขา
เข้าคือ ง่ายต่อการใช้งาน และป้องกันข้อผิดพลาดที่อาจจะเกิดขึ้น ถัดมาระบบจะต้องออกแบบวิธีการใช้งาน เช่น
กาหนดว่าการป้อนข้อมูลจะต้องทาอย่างไร จานวนบุคลากรที่ต้องการในหน้าที่ต่างๆ แต่ถ้านักวิเคราะห์ระบบ
ตัดสินใจว่าการซื้อซอฟต์แวร์ดีกว่าการเขียนโปรแกรม ขั้นตอนการออกแบบก็ไม่จาเป็นเลย เพราะสามารถนา
ซอฟต์แวร์สาเร็จรูปมาใช้งานได้ทันที สิ่งที่นักวิเคราะห์ระบบออกแบบมาทั้งหมดในขั้นตอนที่กล่าวมาทั้งหมดจะ
นามา เขียนรวมเป็นเอกสารชุดหนึ่งเรียกว่า "ข้อมูลเฉพาะของการออกแบบระบบ " (System Design
Specification) เมื่อสาเร็จแล้วโปรแกรมเมอร์สามารถใช้เป็นแบบในการเขียนโปรแกรม ได้ทันที่สาคัญก่อนที่จะส่ง
ถึงมือโปรแกรมเมอร์เราควรจะตรวจสอบกับผู้ใช้ว่า พอใจหรือไม่ และตรวจสอบกับทุกคนในทีมว่าถูกต้องสมบูรณ์
หรือไม่ และแน่นอนที่สุดต้องส่งให้ฝ่ายบริหารเพื่อตัดสินใจว่าจะดาเนินการ ต่อไปหรือไม่ ถ้าอนุมัติก็ผ่านเข้าสู่
ขั้นตอนการสร้างหรือพัฒนาระบบ (Construction)
8
สรุปขั้นตอนที่ 4 : การออกแบบ (Design)
หน้าที : ออกแบบระบบใหม่เพื่อให้สอดคล้องกับความต้องการของผู้ใช้และฝ่ายบริหาร
ผลลัพธ์ : ข้อมูลเฉพาะของการออกแบบ(System Design Specification)
เครื่องมือ : พจนานุกรมข้อมูล Data Dictionary, แผนภาพการไหลของข้อมูล (Data Flow Diagram), ข้อมูล
เฉพาะการประมวลผล (Process Specification ), รูปแบบข้อมูล (Data Model), รูปแบบระบบ (System
Model), ผังงานระบบ (System Flow Charts), ผังงานโครงสร้าง (Structure Charts), ผังงาน HIPO (HIPO
Chart), แบบฟอร์มข้อมูลขาเข้าและรายงาน
บุคลากรและหน้าที่ :
1. นักวิเคราะห์ระบบ ตัดสินใจเลือกคอมพิวเตอร์ฮาร์ดแวร์และซอฟต์แวร์ (ถ้าใช้)
2. นักวิเคราะห์ระบบ เปลี่ยนแผนภาพทั้งหลายที่ได้จากขั้นตอนการวิเคราะห์มาเป็นแผนภาพลาดับขั้น
3. นักวิเคราะห์ระบบ ออกแบบความปลอดภัยของระบบ
4. นักวิเคราะห์ระบบ ออกแบบฟอร์มข้อมูลขาเข้า รายงาน และการแสดงภาพบนจอ
5. นักวิเคราะห์ระบบ กาหนดจานวนบุคลากรในหน้าที่ต่างๆและการทางานของระบบ
6. ผู้ใช้ ฝ่ายบริหาร และนักวิเคราะห์ระบบ ทบทวน เอกสารข้อมูลเฉพาะของการออกแบบเพื่อความ
ถูกต้องและสมบูรณ์แบบของระบบ
ขั้นตอนที่ 5 : การพัฒนาระบบ (Construction)
ขั้นตอนนี้โปรแกรมเมอร์จะเริ่มเขียนและทดสอบโปรแกรมว่า ทางานถูกต้องหรือไม่ ต้องมีการทดสอบกับ
ข้อมูลจริงที่เลือกแล้ว ถ้าทุกอย่างเรียบร้อย เราจะได้โปรแกรมที่พร้อมที่จะนาไปใช้งานจริงต่อไป หลังจากนั้นต้อง
เตรียมคู่มือการใช้และการฝึกอบรมผู้ใช้งานจริงของระบบ ระยะแรกในขั้นตอนนี้นักวิเคราะห์ระบบต้องเตรียม
สถานที่สาหรับ เครื่องคอมพิวเตอร์แล้วจะต้องตรวจสอบว่าคอมพิวเตอร์ทางานเรียบร้อยดี โปรแกรมเมอร์เขียน
โปรแกรมตามข้อมูลที่ได้จากเอกสารข้อมูลเฉพาะของการออกแบบ (Design Specification) ปกติแล้วนักวิเคราะห์
ระบบไม่มีหน้าที่เกี่ยวข้องในการเขียนโปรแกรม แต่ถ้าโปรแกรมเมอร์คิดว่าการเขียนอย่างอื่นดีกว่าจะต้องปรึกษา
นักวิเคราะห์ ระบบเสียก่อน เพื่อที่ว่านักวิเคราะห์จะบอกได้ว่าโปรแกรมที่จะแก้ไขนั้นมีผลกระทบกับระบบ ทั้งหมด
หรือไม่ โปรแกรมเมอร์เขียนเสร็จแล้วต้องมีการทบทวนกับนักวิเคราะห์ระบบและผู้ใช้งาน เพื่อค้นหาข้อผิดพลาด
วิธีการนี้เรียกว่า "Structure Walkthrough " การทดสอบโปรแกรมจะต้องทดสอบกับข้อมูลที่เลือกแล้วชุดหนึ่ง ซึ่ง
อาจจะเลือกโดยผู้ใช้ การทดสอบเป็นหน้าที่ของโปรแกรมเมอร์ แต่นักวิเคราะห์ระบบต้องแน่ใจว่า โปรแกรม
ทั้งหมดจะต้องไม่มีข้อผิดพลาด หลังจากนั้นต้องควบคุมดูแลการเขียนคู่มือซึ่งประกอบด้วยข้อมูลการใช้งานสารบัญ
การอ้างอิง "Help" บนจอภาพ เป็นต้น นอกจากข้อมูลการใช้งานแล้ว ต้องมีการฝึกอบรมพนักงานที่จะเป็นผู้ใช้งาน
จริงของระบบเพื่อให้เข้าใจ และทางานได้โดยไม่มีปัญหาอาจจะอบรมตัวต่อตัวหรือเป็นกลุ่มก็ได้
สรุปขั้นตอนที่ 5 : การพัฒนาระบบ (Construction)
หน้าที่ : เขียนและทดสอบโปรแกรม
ผลลัพธ์ : โปรแกรมที่ทดสอบเรียบร้อยแล้ว เอกสารคู่มือการใช้ และการฝึกอบรม
เครื่องมือ : เครื่องมือของโปรแกรมเมอร์ทั้งหลาย Editor, compiler,Structure Walkthrough, วิธีการทดสอบ
โปรแกรม การเขียนเอกสารประกอบการใช้งาน
9
บุคลากรและหน้าที่ :
1. นักวิเคราะห์ระบบ ดูแลการเตรียมสถานที่และติดตั้งเครื่องคอมพิวเตอร์ (ถ้าซื้อใหม่)
2. นักวิเคราะห์ระบบ วางแผนและดูแลการเขียนโปรแกรม ทดสอบโปรแกรม
3. โปรแกรมเมอร์เขียนและทดสอบโปรแกรม หรือแก้ไขโปรแกรม ถ้าซื้อโปรแกรมสาเร็จรูป
4. นักวิเคราะห์ระบบ วางแผนทดสอบโปรแกรม
5. ทีมที่ทางานร่วมกันทดสอบโปรแกรม
6. ผู้ใช้ตรวจสอบให้แน่ใจว่า โปรแกรมทางานตามต้องการ
7. นักวิเคราะห์ระบบ ดูแลการเขียนคู่มือการใช้งานและการฝึกอบรม
ขั้นตอนที่ 6 : การปรับเปลี่ยน (Construction)
ขั้นตอนนี้บริษัทนาระบบใหม่มาใช้แทนของเก่าภายใต้การดูแลของนักวิเคราะห์ระบบ การป้อนข้อมูลต้อง
ทาให้เรียบร้อย และในที่สุดบริษัทเริ่มต้นใช้งานระบบใหม่นี้ได้การนาระบบเข้ามาควรจะทาอย่างค่อยเป็นค่อยไปที
ละน้อย ที่ดีที่สุดคือ ใช้ระบบใหม่ควบคู่ไปกับระบบเก่าไปสักระยะหนึ่ง โดยใช้ข้อมูลชุดเดียวกันแล้วเปรียบเทียบ
ผลลัพธ์ว่าตรงกันหรือไม่ ถ้าเรียบร้อยก็เอาระบบเก่าออกได้ แล้วใช้ระบบใหม่ต่อไป
ขั้นตอนที่ 7 : บารุงรักษา (Maintenance)
การบารุงรักษาได้แก่ การแก้ไขโปรแกรมหลังจากการใช้งานแล้ว สาเหตุที่ต้องแก้ไขโปรแกรมหลังจากใช้
งานแล้ว สาเหตุที่ต้องแก้ไขระบบส่วนใหญ่มี 2 ข้อ คือ 1. มีปัญหาในโปรแกรม (Bug) และ 2. การดาเนินงานใน
องค์กรหรือธุรกิจเปลี่ยนไป จากสถิติของระบบที่พัฒนาแล้วทั้งหมดประมาณ 40% ของค่าใช้จ่ายในการแก้ไข
โปรแกรม เนื่องจากมี "Bug" ดังนั้นนักวิเคราะห์ระบบควรให้ความสาคัญกับการบารุงรักษา ซึ่งปกติจะคิดว่าไม่มี
ความสาคัญมากนักเมื่อธุรกิจขยายตัวมากขึ้น ความต้องการของระบบอาจจะเพิ่มมากขึ้น เช่น ต้องการรายงาน
เพิ่มขึ้น ระบบที่ดีควรจะแก้ไขเพิ่มเติมสิ่งที่ต้องการได้การบารุงรักษาระบบ ควรจะอยู่ภายใต้การดูแลของ
นักวิเคราะห์ระบบ เมื่อผู้บริหารต้องการแก้ไขส่วนใดนักวิเคราะห์ระบบต้องเตรียมแผนภาพต่าง ๆ และศึกษา
ผลกระทบต่อระบบ และให้ผู้บริหารตัดสินใจต่อไปว่าควรจะแก้ไขหรือไม่
ในโครงงานพัฒนาระบบนี้ ที่ได้ทาการพัฒนาได้เลือกวิธีการของ Agile มาเพื่อเป็นขั้นตอนในการลดความเสี่ยง
ในปัญหาของโปรแกรม และ เพิ่มประสิทธิภาพในการพัฒนาโปรแกรมให้ดียิ่งๆขึ้นไป
10
2. การพัฒนาซอฟท์แวร์แบบ Agile
การพัฒนาซอฟท์แวร์แบบ Agile เป็นแนวคิดใหม่สาหรับการพัฒนาซอฟต์แวร์ที่พยายามจะแทรกตัวเข้าไป
ในวิธีการ แบบเดิม เพื่อให้งานสั้นลง ประหยัดเวลา และประหยัดงบประมาณการพัฒนาซอฟต์แวร์แบบ Agile มี
หลายวิธีซึ่งส่วนใหญ่แล้วจะเป็นการพัฒนาในช่วงเวลาสั้น ๆ ซึ่งอาจจะใช้เวลาประมาณ 1 - 4 สัปดาห์ โดย
โครงงานทั้งหมดจะประกอบด้วย กิจกรรมการระบุความต้องการ การวิเคราะห์ การออกแบบ การทดสอบ และ
การทาเอกสารเป็นต้น วิธีการพัฒนาซอฟท์แวร์แบบ Agile จะเน้นเรื่องการสื่อสารแบบตัวต่อตัว มากกว่าการใช้
เอกสาร ทีมงานอย่างน้อยต้องประกอบด้วยโปรแกรมเมอร์และลูกค้าที่จะกาหนดขอบเขตของ ระบบงาน
นอกจากนี้วิธีการแบบ Agile ยังเน้นให้การพัฒนาซอฟต์แวร์มีความก้าวหน้าและเป็นไปตามมาตรฐานที่ได้วางไว้
ร่วมกันกับการสื่อสารกับลูกค้า ซึ่งจะมีเอกสารที่เกี่ยวข้องไม่มากนัก
โดยภาพรวมแล้ว Agile Method มีหลักการและลักษณะที่สาคัญที่สาคัญดังนี้
1. ต้องทาให้ลูกค้าพึงพอใจกับการส่งมอบงานที่มีคุณภาพอย่างรวดเร็ว และต่อเนื่อง
2. พร้อมรับความต้องการของลูกค้าที่เปลี่ยนแปลงอยู่ตลอดเวลา ถึงแม้ว่าจะเป็นช่วงท้ายๆของการพัฒนา
ก็ตาม ทั้งนี้เพื่อให้ลูกค้ามีความได้เปรียบทางการแข่งขันมากที่สุด
3. ส่งมอบงานที่ใช้งานได้อย่างต่อเนื่องตั้งแต่ทุกๆสัปดาห์ ไปจนถึงทุกๆเดือน ทั้งนี้เวลาโดยรวมจะต้องไม่
ยาวนานเกินไป
4. บุคลากรที่เป็นผู้ใช้และบุคลากรที่พัฒนาระบบจะต้องทางานร่วมกันอย่างใกล้ชิดและต่อเนื่องจนเสร็จ
สิ้นโครงการ
5. สร้างแรงกระตุ้นให้กับบุคลากรที่เกี่ยวข้องกับโครงการ โดยสร้างสภาพแวดล้อมที่ดี และคอยสนับสนุน
ความต้องการ รวมถึงต้องเชื่อใจในตัวบุคคลว่าจะสามารถทางานที่ได้รับมอบหมายให้เสร็จ สิ้นได้โดยใช้
ศักยภาพสูงสุด
6. วิธีการแลกเปลี่ยนข้อมูลกันในทีมพัฒนาระบบที่มีประสิทธิภาพมากที่สุดคือ การ พูด คุย พบปะ และ
สนทนากันทั้งที่เป็นทางการและไม่เป็นทางการ
7. ชิ้นงาน (ซอฟท์แวร์) ที่ใช้งานได้เป็นตัววัดตัวแรกของความก้าวหน้าของโครงการ
8. เน้นการพัฒนาแบบค่อยเป็นค่อยไป ทั้งผู้สนับสนุนโครงการ ผู้พัฒนา และผู้ใช้จะ ต้องทางานร่วมกัน
ด้วยความก้าวหน้าแบบคงที่ได้โดยมีข้อจากัดน้อยที่สุดหรือ ไม่มีเลย
9. การใส่ใจและการติดตามเทคนิคที่ทันสมัยและการออกแบบที่ดีอย่างต่อเนื่องจะช่วยส่งเสริม
ประสิทธิภาพการพัฒนาระบบให้ดียิ่งขึ้น
11
Agile Method เป็นวิธีในการพัฒนาซอฟท์แวร์ โดยมีหลักการในการพัฒนาระบบที่เน้นการทางานที่
รวดเร็ว มีการเตรียมพร้อมที่จะตอบสนองต่อความเปลี่ยนแปลงที่อาจเกิดขึ้นได้ตลอดเวลา โดยเฉพาะความ
ต้องการของผู้ใช้ วิธีพัฒนาแบบนี้ถือเป็นการพัฒนาแบบทาซ้า ที่จะต้องมีการพบปะสนทนากับผู้ใช้อยู่ตลอดเวลา
และในขณะที่พบปะกันนั้นก็จะถือเป็นช่วงระยะเวลาของการส่งงานไปในตัวด้วย การส่งงานแต่ละครั้งของวิธีการ
พัฒนาแบบนี้ โดยส่วนใหญ่จะเป็นการพัฒนาเฉพาะส่วนย่อย ๆ แล้วค่อยทยอยส่งให้กับผู้ใช้ เมื่อผู้ใช้ได้ทดสอบหรือ
ประเมินระบบแล้ว ถ้าต้องการปรับเปลี่ยนตรงส่วนใดก็สามารถทาได้โดยที่ไม่ต้องรื้อระบบใหม่ทั้ง หมด ดังนั้น
นอกจากความ สามารถทางด้านพัฒนาระบบของทีมพัฒนาแล้ว สมาชิกในทีมจาเป็นที่จะต้องมีทักษะเรื่องการ
ปฏิสัมพันธ์ระหว่างบุคคลที่ดี นอกจากนั้นผู้ใช้จาเป็นต้องไว้เนื้อเชื่อใจทีมที่ทาการพัฒนาระบบในระดับ หนึ่งด้วย
การพัฒนาแบบ Agile ยังคงเป็นวิธีที่ใช้กันอยู่อย่างแพร่หลาย วิธีพัฒนาแบบนี้ไม่ได้นามาใช้กันแบบ
ทดแทนวิธีการพัฒนาแบบเก่า ๆ แต่มีอยู่เพื่อเป็นทางเลือกอีกทางเลือกหนึ่งให้กับนักพัฒนาระบบ สุดท้ายแล้วการ
เลือกวิธีหรือขั้นตอนการพัฒนาระบบสาหรับโครงงานหนึ่ง ๆ นั้น ทีมพัฒนาจะต้องมีความระมัดระวัง ต้องตระหนัก
ถึงปัจจัยต่าง ๆ กันรวมไปถึงขนาดของโครงงานและผู้ร่วมทางาน ในบางครั้งทีมพัฒนาอาจจาเป็นต้องผสมผสาน
วิธีการพัฒนาแบบ Agile กับวิธีการอื่น ๆ ในการทางาน การใช้วิธีแบบ Agile ผสมผสานกับวิธีอื่นนั้นทาได้ยากและ
ต้องการทีมพัฒนาที่มีประสบการณ์และคุณภาพ สูง ถึงแม้ว่าจะมีความเสี่ยงสูงแต่เมื่อสาเร็จ ก็ได้รับผลตอบแทนที่
คุ้มค่า
12
2.1 การประยุกต์ใช้ Agile กับโครงการพัฒนาระบบ
ในโครงการนี้ ได้ใช้ขั้นตอนกระบวนการ ของ Agile มาประยุกต์ใช้เป็นหลัก โดยได้ใช้ไปทั้งสิ้น 4 ขั้นตอน
หลัก ซึ่งแต่ละขั้นตอน ได้ดาเนินไปอย่างเป็นระบบ และ เป็นขั้นตอน อย่างต่อเนื่อง และ ซ้าไปเรื่อยๆ เพื่อลดการ
เกิดปัญหาเนื่องมาจากการพัฒนาระบบ ซึ่งเป็นไปตามวัตถุประสงค์ของ Agile นั่นเอง
1. การสร้าง(Build)
ในขั้นตอนการสร้างนี้ ได้เลือกใช้ภาษา Visual Basic เพื่อใช้ในการสร้าง และ พัฒนาโปรแกรม เนื่องจาก
เป็นภาษาที่เหมาะสมกับความต้องการ และ วัตถุประสงค์ของโปรแกรมที่ได้รับมอบหมาย อีกทั้งเป็นภาษา
ที่ตอบโจทย์กับตัวโปรแกรม และ ตัวโปรแกรมก็สอดคล้องกับความต้องการของลูกค้า อีกทั้งผู้ใช้โปรแกรม
อีกด้วย นอกจากนี้ ในกระบวนการสร้าง ก็ได้มีการแบ่ง ส่วนของงานชัดเจน ระหว่างสมาชิกในทีมพัฒนา
ระบบ รวมถึงการแบ่งส่วนของโปรแกรม หน้าต่าง ฟังก์ชัน และ อื่นๆ อย่างชัดเจน เพื่อไม่ให้เกิดความ
สับสน และ ง่ายต่อการดู และ กลับมาแก้ไขปรับปรุงในครั้งต่อๆไป
2. การกาหนดค่า และ การตั้งค่า(Configure)
ในขั้นตอนนี้ เป็นขั้นตอนของการกาหนดค่า และ ตั้งค่าต่างๆให้โปรแกรม ไม่ว่าจะเป็นค่าเริ่มต้น หรือ
ค่าตัวแปรต่างๆ ที่ต้องกาหนดเพื่อใช้ในการทางานของโปรแกรม แต่ไม่ใช่เพียงการเริ่มทางานของ
โปรแกรมเท่านั้น แต่ตลอดช่วงการทางานของโปรแกรม ก็ต้องมีการกาหนดค่าต่างๆไว้เช่นกัน เช่น ค่าการ
ทางานปกติ ว่าในสภาวะปกติ ตัวแปรใด มีค่าเป็นเท่าไหร่ สถานะของหน้าต่าง หรือ ข้อมูลนั้น มีค่า
เท่าไหร่ เป็นต้น เพื่อกาหนดการทางานของโปรแกรม ให้เป็นขั้นตอน ความชัดเจนของโปรแกรม ความ
สะดวกสบายของผู้ใช้ และ เพื่อให้ไม่มีปัญหาตามมาในภายหลัง หรือ ขณะที่โปรแกรมกาลังดาเนินงาน
13
3. การทดสอบระบบ(Test)
ขั้นตอนของการทดสอบนี้ เป็นขั้นตอนของการทดสอบว่า โค้ดที่ใช้ในการเขียน มีปัญหาอะไรหรือไม่ เป็น
เพียงการทดสอบระบบเบื้องต้นก่อนว่า การทางานของโปรแกรม ถูกต้องตรงกับความต้องการหรือเปล่า
แล้วหากโปรแกรมเป็นไปในทิศทางนี้ จะตอบโจทย์ผู้ใช้งานได้หรือยัง หากมีส่วนไหนให้ปรับปรุง เพื่อให้
ตรงความต้องการผู้ใช้งานมากขึ้น ก็สามารถติดต่อกับทีมพัฒนาได้โดยตรง เพื่อทาการปรับปรุงแก้ไข
ก่อนที่จะปล่อยให้ทดสอบระบบจริง ในข้อนี้จะใช้การประชุม และ การนาเสนอ ในที่ประชุม และ ทดสอบ
ให้เห็นโดยทั่วกันเลย และ บันทึกข้อเสนอแนะ และ สิ่งที่ควรปรับปรุงมาดาเนินการทันที
4. การปล่อยโปรแกรมให้ทดลองใช้งาน(Release)
ขั้นตอนของการปล่อยระบบ หรือ โปรแกรม ให้ได้ทาการทดสอบจริง ในขั้นตอนนี้ ถือเป็นขั้นตอนที่ มี
ประสิทธิภาพในการตรวจสอบข้อผิดพลาดของโปรแกรมสูงที่สุด เนื่องจาก เป็นการปล่อยให้ผู้ใช้งานได้ใช้
งานจริง เพื่อจะได้ทดสอบว่า หากใช้จริง โปรแกรมที่ได้ทาการพัฒนาจะมีปัญหาอยู่ส่วนใดบ้าง เพื่อทาการ
แก้ไขต่อไป หากจานวนผู้ใช้งานมีจานวนมาก จะยิ่งทาให้พบข้อผิดพลาดเร็วยิ่งขึ้น ก็จะเป็นการ
ประหยัดเวลาในการปรับปรุงโปรแกรมได้มากขึ้นไปอีก ซึ่งในช่วงแรกๆนั้น หน้าตาโปรแกรม อาจยังไม่ได้
ทาการออกแบบ แต่เป็นเพียงการทดสอบการทางานของโค้ด และ กระบวนการของโปรแกรม แต่ในช่วง
ถัดไป การออกแบบจะเริ่มขึ้น และ มีการปล่อยทั้งโปรแกรม ที่ประกอบด้วยส่วนของการออกแบบให้ได้
ทดสอบ และ หาข้อบกพร่องเพื่อใช้ในการปรับปรุงด้วย ในข้อนี้ ใช้วิธีการเขียน Formative เพื่อให้
ผู้ใช้งานได้ให้คะแนน และ เขียนข้อเสนอแนะ และ สิ่งที่ควรปรับปรุง เพื่อที่จะนารายการเหล่านั้นมาแก้ไข
ปรับปรุงต่อไป
14
5. การออกแบบ(Design)
ส่วนของการออกแบบนี้ จะเป็นการออกแบบหน้าตาโปรแกรม เป็นหลัก เพื่อให้ตอบโจทย์การใช้งานของ
ผู้ใช้ เช่น การออกแบบที่เห็นแล้วสบายตา ใช้งานได้ระยะยาว สีสันไม่แสบตาเกินไป ตัวอักษรชัดเจน เป็น
ต้น ส่วนการออกแบบอื่น ในโครงการนี้จะมีอีกส่วนคือ การออกแบบฐานข้อมูล ว่าจะต้องมีตารางใดบ้าง
ส่งเข้าส่งออกเป็นรูปแบบใด
ขั้นตอนในห้าขั้นตอนข้างต้น เป็นขั้นตอนที่ดาเนินการโดยการวนซ้า เพื่อลดปัญหาในการพัฒนาโปรแกรมให้ลดลง
ในแต่ละรอบ ตามหลักการของ Agile
15
ความต้องการของระบบ (System Requirement)
ความต้องการของระบบ จากเก็บความต้องการของผู้ใช้งานในกลุ่มงานวิทยาการคอมพิวเตอร์ และจาก
การศึกษาขั้นตอนการทางานเดิม ทาให้สามารถนามาวิเคราะห์เป็นฟังค์ชั่นการทางานของระบบใหม่ ได้ดังนี้
1 ระบบการจัดเก็บข้อมูล
Item Function Description
1.1 ผู้เข้ารับการอบรม
1.1.1 สามารถระบุตาแหน่งประเภทของผู้เข้า
รับการอบรมได้
- ตาแหน่งเบื้องต้นมีอยู่
4 ตาแหน่ง
1. ผู้บริหาร
2. อานวยการ
3. วิชาการ
4.ทั่วไป
1.1.2 สามารถแยกจานวนเป้าหมายของผู้เข้า
รับการอบรมแต่ละประเภทได้
1.1.3 สามารถแยกจานวนผู้มาอบรมจริงของผู้
เข้ารับการอบรมแต่ละประเภทได้
1.1.4 สามารถเพิ่มตาแหน่งประเภทของผู้เข้า
รับการอบรมได้
1.2 งบประมาณ
1.2.1 สามารถระบุงบประมาณโครงการที่
ได้รับของแต่ละโครงการได้
1.2.2 สามารถระบุงบประมาณโครงการที่ใช้
จริงของแต่ละโครงการได้
1.3 ภาพรวมตัวชี้วัด
1.3.1 สามารถระบุตัวชี้วัดต่างๆ ของแต่ละ
โครงการได้ ตามอัตราส่วน 100 %
- ตัวชี้วัดเบื้องต้นมีอยู่ 5ตัว
1. วิทยากร
2.สถานที่
3. บริการ
4. ความเข้าใจ
5. การนาไปใช้
1.3.2 สามารถสรุปผลรวมตัวชี้วัดของแต่ละ
โครงการได้ตามอัตราส่วน100 %
1.4 จานวนวิทยากร
1.4.1 สามารถระบุจานวนวิทยากรหลัก
ของแต่ละโครงการได้
1.4.2 สามารถระบุจานวนผู้ช่วยวิทยาการของ
แต่ละโครงการได้
1.5 จานวนผู้รับผิดชอบ
โครงการ
1.5.1 สามารถระบุหัวหน้าของแต่ละโครงการ
ได้
-สามารถแยกแยะได้ว่าบุค-
ลากรคนใดเป็นหัวหน้าของ
หน่วยงานใด1.5.2 สามารถระบุบุคลากรในหน่วยงานของ
หัวหน้าแต่ละโครงการได้
16
2 ระบบการจัดการข้อมูลผู้ใช้และจัดการโปรแกรม
Item Function Description
2.1 ผู้ดูแลระบบ
2.1.1 ผู้ดูแลระบบสามารถเพิ่มชื่อผู้ใช้
เข้าสู่ระบบได้
2.1.2 ผู้ดูแลระบบสามารถลบผู้ใช้ออก
จากระบบได้
2.1.3 ผู้ดูแลระบบสามารถเพิ่ม
ตาแหน่งประเภทของผู้เข้ารับ
การอบรมของแต่ละโครงการได้
2.1.4 ผู้ดูแลระบบสามารถมอบหมายให้
บุคคลใดบุคคลหนึ่ง
หรือบุคคลหลายคนเป็นผู้แก้ไข
โครงการได้
2.2 ผู้แก้ไขโครงการ
2.2.1 ผู้แก้ไขโครงการสามารถเพิ่ม
โครงการใหม่เข้าไปในระบบได้
2.2.2 ผู้แก้ไขโครงการสามารถลบ
โครงการออกจากระบบได้
2.2.3 ผู้แก้ไขโครงการสามารถแก้ไข
โครงการที่อยู่ในระบบได้
2.3 ผู้ใช้งาน
2.3.1 ผู้ใช้งานสามารถตรวจสอบข้อมูล
ในโครงการแต่ละโครงการได้
2.3.2 ผู้ใช้งานสามารถพิมพ์ข้อมูลของ
แต่ละโครงการได้
17
3 การทางานของโปรแกรม
Item Function Description
3.1 การเข้าสู่ระบบ
3.1.1 โปรแกรมต้องการผู้ใช้ให้ทาการ
เข้าสู่ระบบก่อนที่จะใช้
งานโปรแกรมได้
3.1.2 โปรแกรมสามารถแยกแยะ
ประเภทของแต่ละบัญชีผู้ใช้ได้
3.1.3 โปรแกรมสามารถจากัดการใช้งาน
ของแต่ละบัญชีผู้ใช้ได้
3.2 การเปลี่ยนแปลงฐานข้อมูล
3.2.1 โปรแกรมสามารถเปลี่ยนแปลง
ฐานข้อมูลที่ใช้ในการเชื่อมต่อ
ฐานข้อมูลได้
3.2.2 โปรแกรมสามารถรองรับ
ข้อผิดพลาดจากการเชื่อมต่อฐานข้อมูล
ได้
18
ทาการวิเคราะห์และออกแบบระบบ ( System Analysis And Design )
จากการการวิเคราะห์ และออกแบบว่าระบบ จะต้องทางานอย่างไร เป็นขั้นตอนกระบวนการอย่างไร โดย
สามารถเขียนเป็นรูปแบบของแผนภาพได้ การวิเคราะห์และออกแบบระบบ สาหรับโครงการนี้ ประกอบด้วย 4
องค์ประกอบ ดังนี้
1. โครงสร้างระบบ (System Architecture)
2. แผนภาพแสดงความสัมพันธ์ของผู้ใช้ระบบ
3. แผนภาพกิจกรรม (Activity Diagram)
4. การออกแบบฐานข้อมูล
5. แบบจาลองความสัมพันธ์ระหว่างข้อมูล (ER-Diagram)
6. พจนานุกรมข้อมูล (Data Dictionary)
1. โครงสร้างระบบ (System Architecture)
19
2. แผนภาพแสดงความสัมพันธ์ของผู้ใช้ระบบ (Use Case Diagram)
2.1 Use Case Diagram ระบบข้อมูลผู้ใช้งาน ประกอบด้วย
- แสดงข้อมูลสมาชิก
- ค้นหาข้อมูลสมาชิก
- เพิ่มข้อมูลสมาชิก
- แก้ไขข้อมูลสมาชิก
- เพิ่มตาแหน่งผู้มาอบรม
20
2.2 Use Case Diagram บันทึกข้อมูลโครงการ ประกอบด้วย
- เพิ่มข้อมูลโครงการ
- แก้ไขข้อมูลโครงการ
- แสดงข้อมูลโครงการ
- สั่งพิมพ์ข้อมูลโครงการ ซึ่งจะเชื่อมโยงมาจากการแสดงข้อมูลโครงการ
21
2.3 Use Case Description ของระบบข้อมูลผู้ใช้งาน
ชื่อยูสเคส ระบบข้อมูลผู้ใช้งาน
รายละเอียดโดยสังเขป ใช้สาหรับจัดการข้อมูล จัดการสิทธิ์การเข้าใช้งานของผู้ใช้งาน
แอคเตอร์ ผู้ดูแลระบบ
เงื่อนไขก่อนหน้า -
ผู้เกี่ยวข้อง ผู้ดูแลระบบ
ขั้นตอนการทางานหลัก
แอคเตอร์ ระบบ
1. แสดงข้อมูลสมาชิก
2. ค้นหาข้อมูลสมาชิก
3. เพิ่มข้อมูลสมาชิก
4. แก้ไขข้อมูลสมาชิก
5. เพิ่มตาแหน่งผู้มาอบรม
1.1 แสดงข้อมูลสมาชิกของสมาชิกทั้งหมด โดยย่อ
2.1 ระบบจะทาการเคลื่อนตารางไปหาตาแหน่งที่ข้อมูล
สมาชิกตามเงื่อนไขที่แอคเตอร์ส่งมา
3.1 เพิ่มข้อมูลสมาชิก และสิทธิ์การใช้งาน ลงในฐานข้อมูล
ในระบบ
4.1 แก้ไขข้อมูลสมาชิกของสมาชิกที่เลือก
5.1 ตาแหน่งผู้มาอบรม ใช้ในการเพิ่มข้อมูลโครงการลงใน
ฐานข้อมูลในระบบ
ขั้นตอนการทางาน
ทางเลือก
1. เมื่อค้นหาข้อมูลสมาชิกไม่พบตามเงื่อนไข สามารถเลือกที่จะเพิ่มผู้ใช้งานสมาชิกได้
2. เมื่อค้นหาข้อมูลสมาชิกพบและข้อมูลถูกต้องตามเงื่อนไข สามารถจบการทางานได้
3. เมื่อเพิ่มข้อมูลสมาชิกที่มีอยู่แล้ว จะแจ้งให้ผู้ใช้งานทราบและให้กรอกรายละเอียดอีกครั้ง
22
2.4 Use Case Description ของระบบบันทึกข้อมูลโครงการ
ชื่อยูสเคส ระบบบันทึกข้อมูลโรงการ
รายละเอียดโดยสังเขป ใช้สาหรับการบันทึกข้อมูล และแก้ไขโครงการต่างๆ
แอคเตอร์ ผู้แก้ไขโครงการ และผู้ใช้งานทั่วไป
เงื่อนไขก่อนหน้า -
ผู้เกี่ยวข้อง ผู้แก้ไขโครงการ และผู้ใช้งานทั่วไป
ขั้นตอนการทางานหลัก
แอคเตอร์ ระบบ
1. แสดงข้อมูลโครงการ
2. เพิ่มข้อมูลโครงการ
3. แก้ไขข้อมูลโครงการ
4. สั่งพิมพ์ข้อมูลโครงการ
1.1 ระบบจะแสดงข้อมูลโครงการทั้งหมด และผู้ใช้สามารถ
เจาะจงเลือกโครงการที่ต้องการได้
2.1 ระบบจะเพิ่มข้อมูลโครงการต่างๆ ตามเงื่อนไขลงใน
ฐานข้อมูลในระบบ
3.1 แก้ไขข้อมูลโครงการของโครงการที่เลือกได้
4.1 สามารถสั่งพิมพ์โครงการที่เลือกได้
ขั้นตอนการทางาน
ทางเลือก
1. เมื่อค้นหาข้อมูลโครงการไม่พบตามเงื่อนไข สามารถเลือกที่จะเพิ่มโครงการใหม่ได้
2. เมื่อค้นหาข้อมูลโครงการพบและข้อมูลถูกต้องตามเงื่อนไข สามารถจบการทางานได้
3. เมื่อเพิ่มโครงการที่มีอยู่แล้ว จะแจ้งให้ผู้ใช้งานทราบและให้กรอกรายละเอียดอีกครั้ง
23
3. แผนภาพกิจกรรม (Activity Diagram)
แผนภาพกิจกรรม ( Activity Diagram ) คือขั้นตอนการทางานของระบบ โดยจะแสดงให้เห็นถึงทางเลือก
และการตัดสินใจตามเงื่อนไขโปรแกรม เพื่อให้ได้ผลลัพธ์ที่ต้องการในขั้นตอนนั้น
24
4. แบบจาลองความสัมพันธ์ของข้อมูล (ER-Diagram)
25
5. พจนานุกรมข้อมูล (Data Dictionary)
Table Name: Account_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์
ประเภท
ข้อมูล
คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 uid int(11) ลาดับรายการ PK NO
2 username varchar(255) ชื่อผู้ใช้งาน NO
3 password varchar(255) รหัสผ่านผู้ใช้งาน NO
4 status int(11) สิทธิ์การเข้าถึง NO
5 name varchar(255) ชื่อภาษาไทย NO
6 surname varchar(255) นามสกุลภาษาไทย NO
7 idcard int(11) รหัสประจาตัว NO
Table Name: Rank_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์
ประเภท
ข้อมูล
คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 rid int(11) ลาดับรายการ PK NO
2 positionName varchar(255) ชื่อตาแหน่ง Trainee_tb FK NO
Table Name: Project_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์
ประเภท
ข้อมูล
คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 pid int(11) ลาดับรายการ
ProjectOwner_tb
Indication_tb
Fund_tb
Lecturer_tb
Trainee_tb
PK,FK NO
2 pname varchar(255) ชื่อโครงการ NO
26
Table Name: Trainee_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์
ประเภท
ข้อมูล
คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 Project_tb.pid int(11) ลาดับรายการ PK NO
2 Rank_tb.rid int(11) รหัสตาแหน่ง NO
3 expectation int(11) เป้าหมายผู้มาอบรม NO
4 reality int(11) ผู้มาอบรมจริง NO
Table Name: Fund_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์
ประเภท
ข้อมูล
คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 Project_tb.pid int(11) ลาดับรายการ PK NO
2 pfund int(11) งบประมาณ NO
3 ppayment int(11) ใช้งานจริง NO
Table Name: Indication_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์
ประเภท
ข้อมูล
คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 Project_tb.pid int(11) ลาดับรายการ PK NO
2 lecturer int(11) ดัชนีของวิทยากร NO
3 place int(11) ดัชนีของสถานที่ NO
4 service int(11) ดัชนีของการบริการ NO
5 understand int(11) ดัชนีของความเข้าใจ NO
6 usage int(11) ดัชนีของการนาไปใช้ NO
27
Table Name: Lecturer_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์
ประเภท
ข้อมูล
คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 Project_tb.pid int(11) ลาดับรายการ PK NO
2 LectureInfo.lid int(11) รหัสของวิทยากร NO
3 HelperInfo.hid int(11) รหัสของผู้ช่วยวิทยากร NO
Table Name: LecturerInfo_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์ ประเภทข้อมูล คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 lid int(11) ลาดับรายการ Lecture_tb PK,FK NO
2 lname varchar(255) ชื่อของวิทยากร NO
3 lsurname varchar(255) นามสกุลของวิทยากร NO
4 lfrom varchar(255) สถาบันของวิทยากร NO
Table Name: HelperInfo_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์ ประเภทข้อมูล คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 hid int(11) ลาดับรายการ Lecture_tb PK,FK NO
2 hname varchar(255) ชื่อของผู้ช่วยวิทยากร NO
3 hsurname varchar(255) นามสกุลของผู้ช่วยวิทยากร NO
4 hfrom varchar(255) สถาบันของผู้ช่วยวิทยากร NO
Table Name: ProjectOwner_tb มีโครงสร้างดังนี้
ลาดับที่ คอลัมน์
ประเภท
ข้อมูล
คาอธิบาย อ้างอิงตาราง คีย์
ค่าว่าง
NULL
1 Project_tb.pid int(11) ลาดับรายการ PK NO
2 leader int(11) จานวนของวิทยากรหลัก NO
3 helper int(11) จานวนของผู้ช่วยวิทยากร NO
28
ภาคผนวก
29
1.คู่มือการใช้งานโปรแกรม
ในส่วนของการใช้งานโปรแกรม จะแบ่งออกเป็นสามส่วนหลัก
-User
-Editor
-Admin
1.เมื่อเปิดโปรแกรม จะพบเจอหน้าตาโปรแกรมแบบนี้ ให้สังเกตสถานะด้านล่าง หากสถานะที่พบเห็น
ด้านล่าง คือ Not Connect ให้ทาตามในข้อสอง แต่หากขึ้นว่า Connected ให้ใส่บัญชีเข้าใช้งานได้เลย
2. เมื่อสถานะคือ not connected ให้คลิกไปที่ ฐานข้อมูล และกรอกให้ครบ จากนั้น คลิก บันทึกข้อมูล
30
3. เมื่อเข้าใช้งานได้แล้ว จะพบเจอหน้าตานี้ (แต่ส่วนการทางาน จะแตกต่างกัน หากสิทธิการเข้าถึง
ต่างกัน)
User mode
Editor mode
Admin mode
31
4. ส่วนสร้างโครงการ
32
4.1 เมื่อกดเพิ่มผู้เข้ารับการอบรมแล้ว คลิกเข้าไป เพื่อใส่จานวนคาดหวัง และ อบรมจริง
33
4.2 กรอกข้อมูลให้ครบ ส่วนปฏิทิน สามารถคลิกเพื่อกดเลือกวันที่ได้ หากไม่ต้องการพิมพ์
34
5.ส่วนแก้ไขโครงการ
5.1 คลิกที่โครงการที่ต้องการจะแก้ แล้วข้อมูลเดิมจะขึ้นมา จากนั้น ปรับแก้ได้ทันที แล้วกดบันทึก
35
6.ส่วนการเปรียบเทียบข้อมูล
36
6.1 คลิกเลือก โครงการที่ต้องการเปรียบเทียบฝั่งซ้าย และ ฝั่งขวา จากนั้นเลือกชนิดที่ต้องการเทียบ
ด้านล่าง แล้วกด Compare แต่หากต้องการดูกราฟวงกลม สามารถคลิกที่ ดูกราฟวงกลม ได้เลย
37
7.ส่วนของภาพรวม
38
7.1 หากกดเข้าไปที่ ภาพรวมโครงการทั้งหมด ให้เลือกว่าอยากดูรายการย้อนหลังกี่เดือน และ รายการใด
จากนั้น กด ดูกราฟแนวโน้ม
39
7.2 หากกดเข้าไปที่ ภาพรวมแต่ละโครงการ
40
7.3 ถ้าต้องการดูรายละเอียดของกราฟ ดูได้สามกราฟด้านบน เพียงแค่คลิกไปที่กราฟ
41
8.ส่วนผู้ดูแลระบบ
8.1 ส่วนการจัดการบัญชี
42
8.1.1 หากต้องการสร้างบัญชี สามารถสร้างได้ทันที
8.1.2 หากต้องการแก้ไขข้อมูลบัญชี เพียงกดที่บัญชีที่ต้องการ และ แก้ไขได้ทันที
8.2 ส่วนการจัดการรายชื่อ เป็นการเพิ่มรายชื่อวิทยากร และ บุคลากร เพียงป้อนชื่อ จากนั้น กดเพิ่มได้
เลย
43
8.3 ส่วนการจัดการตาแหน่ง โดยการเพิ่มชื่อตาแหน่ง
44
2. Source Code
45
addProject_Panel
Imports MySql.Data.MySqlClient
Public Class addProject_Panel
Public dbconn = Login_Form.dbconn
Public sql = Login_Form.sql
Public dbcomm = Login_Form.dbcomm
Public dbread = Login_Form.dbread
Public notadd As Boolean = False
Dim positionlist As New List(Of String)
Public x, mon As New ArrayList
Public a, months As String
Public calendarFlag As Integer = 0
Public Sub back_tile_item_Click(sender As Object, e As EventArgs) Handles
back_tile_item.Click
If Me.IsOpen Then
Me.IsOpen = False
End If
clearAll()
End Sub
Private Sub trainee_list_ColumnWidthChanging(sender As Object, e As
ColumnWidthChangingEventArgs) Handles trainee_list.ColumnWidthChanging
e.Cancel = True
e.NewWidth = trainee_list.Columns(e.ColumnIndex).Width
End Sub
Private Sub team_list_ColumnWidthChanging(sender As Object, e As
ColumnWidthChangingEventArgs) Handles team_list.ColumnWidthChanging
e.Cancel = True
e.NewWidth = team_list.Columns(e.ColumnIndex).Width
End Sub
Private Sub helper_list_ColumnWidthChanging(sender As Object, e As
ColumnWidthChangingEventArgs) Handles helper_list.ColumnWidthChanging
e.Cancel = True
e.NewWidth = helper_list.Columns(e.ColumnIndex).Width
End Sub
Private Sub add_position_button_Click(sender As Object, e As EventArgs) Handles
add_position_button.Click
Dim combotext As String = position_combobox.SelectedItem.ToString
Dim item1 As ListViewItem = trainee_list.FindItemWithText(combotext)
If (item1 IsNot Nothing) Then
Else
trainee_list.Items.Add(CreateTraineetRow(combotext))
End If
End Sub
Private Sub trainee_list_MouseClick(sender As Object, e As MouseEventArgs) Handles
trainee_list.MouseClick
' show panel list and load all information
Dim index As Integer = trainee_list.SelectedIndices(0)
Dim myValue As String = InputBox("ใส่จำนวนที่คำดหวัง", "กรุณำใส่ข้อมูล",
trainee_list.Items(index).SubItems(1).Text)
Dim myValue2 As String = InputBox("ใส่จำนวนที่มำอบรมจริง", "กรุณำใส่ข้อมูล",
trainee_list.Items(index).SubItems(2).Text)
trainee_list.Items(index).SubItems(1).Text = myValue
trainee_list.Items(index).SubItems(2).Text = myValue2
End Sub
46
Private Function CreateTraineetRow(ByVal name As String) As
System.Windows.Forms.ListViewItem
'create row in this function and return row and add to project_list
Dim row As System.Windows.Forms.ListViewItem = New
System.Windows.Forms.ListViewItem(New String() {name, "0", "0"})
Return row
End Function
Private Sub checkTextbox(sender As Object, e As KeyPressEventArgs) Handles
fund_textbox.KeyPress
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
Private Sub checkTextbox2(sender As Object, e As KeyPressEventArgs) Handles
used_textbox.KeyPress
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
Private Sub addProject_Panel_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
addData()
End Sub
Public Sub addData()
calendarFlag = 0
CalendarView1.Hide()
mon.Clear()
mon.Add("มกรำคม")
mon.Add("กุมภำพันธ์")
mon.Add("มีนำคม")
mon.Add("เมษำยน")
mon.Add("พฤษภำคม")
mon.Add("มิถุนำยน")
mon.Add("กรกฎำคม")
mon.Add("สิงหำคม")
mon.Add("กันยำยน")
mon.Add("ตุลำคม")
mon.Add("พฤษจิกำยน")
mon.Add("ธันวำคม")
'add data to position combobox
sql = "SELECT * FROM `position`"
dbcomm = New MySqlCommand(sql, dbconn)
dbread = dbcomm.ExecuteReader()
While dbread.Read()
If Not (position_combobox.Items.Contains(dbread("uname"))) Then
position_combobox.Items.Add(dbread("uname"))
End If
End While
dbread.Close()
' end add data
47
'add data to main_lecturer and helper combobox
sql = "SELECT * FROM `lecturerinfo`"
dbcomm = New MySqlCommand(sql, dbconn)
dbread = dbcomm.ExecuteReader()
While dbread.Read()
If Not (main_lecturer_combobox.Items.Contains(dbread("lname"))) Then
main_lecturer_combobox.Items.Add(dbread("lname"))
End If
If Not (helper_lecturer_combobox.Items.Contains(dbread("lname"))) Then
helper_lecturer_combobox.Items.Add(dbread("lname"))
End If
End While
dbread.Close()
' end add data
'add data to leader and team combobox
sql = "SELECT * FROM `leaderinfo`"
dbcomm = New MySqlCommand(sql, dbconn)
dbread = dbcomm.ExecuteReader()
While dbread.Read()
If Not (leader_combobox.Items.Contains(dbread("leadname"))) Then
leader_combobox.Items.Add(dbread("leadname"))
End If
If Not (team_combobox.Items.Contains(dbread("leadname"))) Then
team_combobox.Items.Add(dbread("leadname"))
End If
End While
dbread.Close()
' end add data
End Sub
Private Sub add_helper_button_Click(sender As Object, e As EventArgs) Handles
add_helper_button.Click
If helper_lecturer_combobox.SelectedIndex = -1 Then
Else
Dim combotext As String = helper_lecturer_combobox.SelectedItem.ToString
Dim item1 As ListViewItem = helper_list.FindItemWithText(combotext)
If (item1 IsNot Nothing) Then
Else
If main_lecturer_combobox.SelectedIndex = -1 Then
helper_list.Items.Add(CreateTraineetRow(combotext))
ElseIf combotext <> main_lecturer_combobox.SelectedItem.ToString Then
helper_list.Items.Add(CreateTraineetRow(combotext))
End If
End If
End If
End Sub
Private Sub selected_index_changed(sender As Object, e As EventArgs) Handles
main_lecturer_combobox.SelectedIndexChanged
Dim combotext As String = main_lecturer_combobox.SelectedItem.ToString
Dim item1 As ListViewItem = helper_list.FindItemWithText(combotext)
If (item1 IsNot Nothing) Then
helper_list.Items.Remove(item1)
End If
End Sub
Private Sub add_team_button_Click(sender As Object, e As EventArgs) Handles
add_team_button.Click
If team_combobox.SelectedIndex = -1 Then
48
Else
Dim combotext As String = team_combobox.SelectedItem.ToString
Dim item1 As ListViewItem = team_list.FindItemWithText(combotext)
If (item1 IsNot Nothing) Then
Else
If leader_combobox.SelectedIndex = -1 Then
team_list.Items.Add(CreateTraineetRow(combotext))
ElseIf combotext <> leader_combobox.SelectedItem.ToString Then
team_list.Items.Add(CreateTraineetRow(combotext))
End If
End If
End If
End Sub
Private Sub select_index_change(sender As Object, e As EventArgs) Handles
leader_combobox.SelectedIndexChanged
Dim combotext As String = leader_combobox.SelectedItem.ToString
Dim item1 As ListViewItem = team_list.FindItemWithText(combotext)
If (item1 IsNot Nothing) Then
team_list.Items.Remove(item1)
End If
End Sub
Private Sub checkTextBoxi1(sender As Object, e As KeyPressEventArgs) Handles
TextBoxX1.KeyPress
Dim FullStop As Char
FullStop = "."
If e.KeyChar = FullStop And TextBoxX1.Text.IndexOf(FullStop) <> -1 Then
e.Handled = True
Return
End If
If Not Char.IsDigit(e.KeyChar) Then
If (e.KeyChar <> FullStop) And
(e.KeyChar <> Convert.ToChar(Keys.Back)) Then
e.Handled = True
Return
End If
End If
End Sub
Private Sub checkTextBoxi2(sender As Object, e As KeyPressEventArgs) Handles
TextBoxX2.KeyPress
Dim FullStop As Char
FullStop = "."
If e.KeyChar = FullStop And TextBoxX2.Text.IndexOf(FullStop) <> -1 Then
e.Handled = True
Return
End If
If Not Char.IsDigit(e.KeyChar) Then
If (e.KeyChar <> FullStop) And
(e.KeyChar <> Convert.ToChar(Keys.Back)) Then
e.Handled = True
Return
End If
End If
End Sub
Private Sub checkTextBoxi3(sender As Object, e As KeyPressEventArgs) Handles
TextBoxX3.KeyPress
Dim FullStop As Char
FullStop = "."
If e.KeyChar = FullStop And TextBoxX3.Text.IndexOf(FullStop) <> -1 Then
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop
Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at  parliament-dev)elop

More Related Content

What's hot

โครงงานคอม 60435
โครงงานคอม 60435โครงงานคอม 60435
โครงงานคอม 60435Praw Vanitt
 
โครงสร้างรายวิชา เทคโนโลยีสารสนเทศ ม.2
โครงสร้างรายวิชา เทคโนโลยีสารสนเทศ ม.2โครงสร้างรายวิชา เทคโนโลยีสารสนเทศ ม.2
โครงสร้างรายวิชา เทคโนโลยีสารสนเทศ ม.2Meaw Sukee
 
แผนคอมฯ ม.2 1
แผนคอมฯ ม.2 1แผนคอมฯ ม.2 1
แผนคอมฯ ม.2 1Surapong Jakang
 
โครงงานวิชาคอมพิวเตอร์
โครงงานวิชาคอมพิวเตอร์โครงงานวิชาคอมพิวเตอร์
โครงงานวิชาคอมพิวเตอร์believegg
 
Pptแหล่งเรียนรู้
Pptแหล่งเรียนรู้Pptแหล่งเรียนรู้
Pptแหล่งเรียนรู้phoom_man
 
โครงงานคอมพ วเตอร
โครงงานคอมพ วเตอร โครงงานคอมพ วเตอร
โครงงานคอมพ วเตอร Jp Eternally
 
รายงานโครงงานคอมพิวเตอร์
รายงานโครงงานคอมพิวเตอร์รายงานโครงงานคอมพิวเตอร์
รายงานโครงงานคอมพิวเตอร์Chuthamani Phromduangdi
 
แผนคอมฯ ม.3 ใหม่
แผนคอมฯ ม.3 ใหม่แผนคอมฯ ม.3 ใหม่
แผนคอมฯ ม.3 ใหม่Surapong Jakang
 
ความหมายของโครงงานคอมพิวเตอร์
ความหมายของโครงงานคอมพิวเตอร์ความหมายของโครงงานคอมพิวเตอร์
ความหมายของโครงงานคอมพิวเตอร์kanlayaann
 
โครงงานคอมพิวเตอร์_604_0226
โครงงานคอมพิวเตอร์_604_0226โครงงานคอมพิวเตอร์_604_0226
โครงงานคอมพิวเตอร์_604_0226Me'e Mildd
 
โครงงานCai เรื่องการบำรุงรักษาเครื่องคอมพิวเตอร์
โครงงานCai เรื่องการบำรุงรักษาเครื่องคอมพิวเตอร์โครงงานCai เรื่องการบำรุงรักษาเครื่องคอมพิวเตอร์
โครงงานCai เรื่องการบำรุงรักษาเครื่องคอมพิวเตอร์Yok Sarinee
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .jamiezaa123
 
เครือข่ายคอมพิวเตอร์เบื้องต้น
เครือข่ายคอมพิวเตอร์เบื้องต้นเครือข่ายคอมพิวเตอร์เบื้องต้น
เครือข่ายคอมพิวเตอร์เบื้องต้นพัน พัน
 
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์chayanon Atoon
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์Rattarida Thatid
 

What's hot (17)

โครงงานคอม 60435
โครงงานคอม 60435โครงงานคอม 60435
โครงงานคอม 60435
 
โครงสร้างรายวิชา เทคโนโลยีสารสนเทศ ม.2
โครงสร้างรายวิชา เทคโนโลยีสารสนเทศ ม.2โครงสร้างรายวิชา เทคโนโลยีสารสนเทศ ม.2
โครงสร้างรายวิชา เทคโนโลยีสารสนเทศ ม.2
 
แผนคอมฯ ม.2 1
แผนคอมฯ ม.2 1แผนคอมฯ ม.2 1
แผนคอมฯ ม.2 1
 
โครงงานวิชาคอมพิวเตอร์
โครงงานวิชาคอมพิวเตอร์โครงงานวิชาคอมพิวเตอร์
โครงงานวิชาคอมพิวเตอร์
 
Pptแหล่งเรียนรู้
Pptแหล่งเรียนรู้Pptแหล่งเรียนรู้
Pptแหล่งเรียนรู้
 
โครงงานคอมพ วเตอร
โครงงานคอมพ วเตอร โครงงานคอมพ วเตอร
โครงงานคอมพ วเตอร
 
รายงานโครงงานคอมพิวเตอร์
รายงานโครงงานคอมพิวเตอร์รายงานโครงงานคอมพิวเตอร์
รายงานโครงงานคอมพิวเตอร์
 
แผนคอมฯ ม.3 ใหม่
แผนคอมฯ ม.3 ใหม่แผนคอมฯ ม.3 ใหม่
แผนคอมฯ ม.3 ใหม่
 
ความหมายของโครงงานคอมพิวเตอร์
ความหมายของโครงงานคอมพิวเตอร์ความหมายของโครงงานคอมพิวเตอร์
ความหมายของโครงงานคอมพิวเตอร์
 
โครงงานคอมพิวเตอร์_604_0226
โครงงานคอมพิวเตอร์_604_0226โครงงานคอมพิวเตอร์_604_0226
โครงงานคอมพิวเตอร์_604_0226
 
โครงงานCai เรื่องการบำรุงรักษาเครื่องคอมพิวเตอร์
โครงงานCai เรื่องการบำรุงรักษาเครื่องคอมพิวเตอร์โครงงานCai เรื่องการบำรุงรักษาเครื่องคอมพิวเตอร์
โครงงานCai เรื่องการบำรุงรักษาเครื่องคอมพิวเตอร์
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
 
คำอธิบายรายวิชา ง 32101 เทคโนโลยี 2
คำอธิบายรายวิชา ง 32101 เทคโนโลยี 2คำอธิบายรายวิชา ง 32101 เทคโนโลยี 2
คำอธิบายรายวิชา ง 32101 เทคโนโลยี 2
 
เครือข่ายคอมพิวเตอร์เบื้องต้น
เครือข่ายคอมพิวเตอร์เบื้องต้นเครือข่ายคอมพิวเตอร์เบื้องต้น
เครือข่ายคอมพิวเตอร์เบื้องต้น
 
คอม
คอมคอม
คอม
 
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 

Similar to Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at parliament-dev)elop (20)

Ch8
Ch8Ch8
Ch8
 
Ch8
Ch8Ch8
Ch8
 
Activity4
Activity4Activity4
Activity4
 
ระบบสารสนเทศ
ระบบสารสนเทศระบบสารสนเทศ
ระบบสารสนเทศ
 
Sdlc
SdlcSdlc
Sdlc
 
วงจรพัฒนาระบบ
วงจรพัฒนาระบบวงจรพัฒนาระบบ
วงจรพัฒนาระบบ
 
Activity4
Activity4Activity4
Activity4
 
Activity4_naka
Activity4_nakaActivity4_naka
Activity4_naka
 
Activity4
Activity4Activity4
Activity4
 
ระบบสารสนเทศ
ระบบสารสนเทศระบบสารสนเทศ
ระบบสารสนเทศ
 
Present 270155
Present 270155Present 270155
Present 270155
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)
Lesson 4 (misson)Lesson 4 (misson)
Lesson 4 (misson)
 
The system-analysis-and-design
The system-analysis-and-designThe system-analysis-and-design
The system-analysis-and-design
 
Chapter 4 ERP and related technologies
Chapter 4 ERP and related technologiesChapter 4 ERP and related technologies
Chapter 4 ERP and related technologies
 
Chapter 02
Chapter 02Chapter 02
Chapter 02
 
Amonrat
AmonratAmonrat
Amonrat
 
จรรยพร
จรรยพรจรรยพร
จรรยพร
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ 11
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์  11โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์  11
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ 11
 

Punyawee Pos Internship 2015 (Software Engineering JAVA DEV at parliament-dev)elop

  • 1. สำนักงำนเลขำธิกำรสภำผู้แทนรำษฎร The Secretariat of The House of Representatives ระบบวิเครำะห์โครงกำรพัฒนำบุคคลำกรด้ำนเทคโนโลยีสำรสนเทศและกำรสื่อสำร System Of Analysis Human Resource Development Project Of Information Technology ระบบวิเครำะห์โครงกำรพัฒนำบุคลำกรด้ำนเทคโนโลยีสำรสนเทศและกำรสื่อสำร กลุ่มงำนวิทยำกำรคอมพิวเตอร์ สำนักสำรสนเทศ สำนักงำนเลขำธิกำรสภำผู้แทนรำษฎร โดย นักศึกษำฝึกงำน ระดับปริญญำตรี ชั้นปีที่สอง คณะวิศวกรรมศำสตร์ สำขำวิศวกรรมซอฟต์แวร์ หลักสูตรนำนำชำติ สถำบันเทคโนโลยีพระจอมเกล้ำเจ้ำคุณทหำรลำดกระบัง นำยปุณยวีร์ โพธิ์ศรี นำยจำรุกิตต์ พัฒนพรกุล รำยงำนฉบับสมบูรณ์
  • 2. สารบัญ หัวข้อ หน้า หลักการเหตุและผล 1 วัตถุประสงค์ 1 ผู้ใช้งานที่เกี่ยวข้อง 1 กิจกรรมและแผนการดาเนินการ 2 ระยะเวลาการดาเนินงาน 2 เอกสารแนบ 2 การติดตาม และ ประเมินผล 3 ผู้รับผิดชอบโครงการ 3 คณะกรรมการประเมินโครงการ 3 วงจรการพัฒนาระบบ (System Development Life Cycle :SDLC) 4 การประยุกต์ใช้ Agile กับโครงการพัฒนาระบบ 11 ความต้องการของระบบ (System Requirement) 14 การวิเคราะห์และออกแบบระบบ ( System Analysis And Design ) 17 โครงสร้างระบบ (System Architecture) 17 แผนภาพแสดงความสัมพันธ์ของผู้ใช้ระบบ (Use Case Diagram) 18 แผนภาพกิจกรรม ( Activity Diagram ) 22 การออกแบบฐานข้อมูล 23 พจนานุกรมข้อมูล ( Data Dictionary ) 24 ภาคผนวก คู่มือการใช้งานโปรแกรม 29 Source code 44 รายชื่อคณะกรรมการ 147 ข้อมูลผู้จัดทาโครงการ 147
  • 3. 1 ระบบวิเคราะห์โครงการพัฒนาบุคลากรด้านเทคโนโลยีสารสนเทศและการสื่อสาร System Of Analysis Human Resource Development Project Of Information Technology =================================== 1. หลักการและเหตุผล กลุ่มงานวิทยาการคอมพิวเตอร์ สานักสารสนเทศ สานักงานเลขาธิการสภาผู้แทนราษฎร มีหน้าที่หลักใน การจัดการฝึกอบรมทางด้านเทคโนโลยีสารสนเทศ ให้แก่บุคลากรของสานักงานเลขาธิการสภาผู้แทนราษฎร ให้มี ความรู้และทักษะความสามารถทางด้านไอที ซึ่งในแต่ละปีงบประมาณ ทางกลุ่มงานวิทยาการคอมพิวเตอร์ได้ จัดทาโครงการพัฒนาบุคลากรด้านเทคโนโลยีสารสนเทศและการสื่อสาร ขึ้นเป็นจานวนหลายโครงการและได้มีการ นาโปรแกรม Microsoft Excel มาจัดเก็บข้อมูลของโครงการต่าง ๆ ซึ่งประกอบไปด้วย ชื่อโครงการ จานวนเงิน งบประมาณ ค่าใช้จ่ายที่เกิดขึ้นจริง ผู้รับผิดชอบโครงการและข้อมูลวิทยากร ซึ่งปัญหาจากการนา Microsoft Excel มาจัดเก็บข้อมูลนั้นเป็นการเก็บข้อมูลในรูปแบบไฟล์ ทาให้เกิด ความผิดพลาดได้ง่าย และลักษณะของการทางานเป็นทีมนั้น ทาให้เกิดมีข้อมูลโครงการของแต่ละคนไม่ตรงกัน ทา ให้ข้อมูลที่นาเสนอผู้บริหาร หรือข้อมูลที่นามาใช้ในการวิเคราะห์โครงการเกิดความผิดพลาดขึ้น เพื่อแก้ปัญหา ดังกล่าว จึงได้จัดทาระบบวิเคราะห์โครงการพัฒนาบุคลากรด้านเทคโนโลยีสารสนเทศและการสื่อสาร ให้เป็น รูปแบบโปรแกรมบริหารจัดการ มีการเก็บข้อมูลทั้งหมดไว้ในฐานข้อมูลที่เดียวกัน และง่ายต่อการบริหารจัดการ ข้อมูลดังกล่าว 2. วัตถุประสงค์ 1. เพื่อใช้ในการบันทึกข้อมูลของโครงการต่างๆเข้าไปไว้ในระบบฐานข้อมูล 2. เพื่อวิเคราะห์และจัดเก็บข้อมูลในการบริหารงานโครงการให้มีประสิทธิภาพ 3. เพื่อนาข้อมูลจากการวิเคราะห์ไปดาเนินการตัดสินใจในการพิจารณาโครงการพัฒนาบุคลากรด้าน เทคโนโลยีสารสนเทศ ในปีงบประมาณต่อไป 3. ผู้ใช้งานที่เกี่ยวข้อง 1. เจ้าหน้าที่กลุ่มงานวิทยาการคอมพิวเตอร์ สานักสารสนเทศ 2. ผู้ดูแลระบบ (System Administrator)
  • 4. 2 4. กิจกรรม และ แผนการดาเนินการ รายการ เดือน/2558 มิ.ย. ก.ค. การวางแผนงานโครงการ ๑ ๒ ๓ ๔ ๑ ๒ ๓ ๔ 1.วางแผนการจัดการ เอกสาร ประกอบโครงการ 2.จัดทาเอกสาร ประกอบโครงการ 3.ประชุม เพื่อปรับปรุง เพิ่มเติม และ แก้ไข เอกสาร 4.วางแผน และ ปรับแก้ เพิ่มเติมเอกสาร 5.สรุป และ นาเสนอเอกสาร 6.วางแผนการเขียนโปรแกรม 7.เริ่มทาการเขียนโปรแกรม 8.เริ่มนาเสนอ โปรแกรมที่ยังไม่สมบูรณ์ เพื่อรอรับการ ปรับปรุง หรือ เพิ่มเติม 9.ปรับปรุง และ พัฒนาโปรแกรมต่อจากเดิม 10.นาเสนอโปรแกรมสาเร็จรูป พร้อมเอกสาร และ สื่อการ นาเสนอ 5. ระยะเวลาการดาเนินงาน ระยะดาเนินการ 46 วัน (2 มิ.ย. – 17 ก.ค.) 6. เอกสารแนบ : เพื่อใช้ประกอบการพิจารณา 1.แผนภาพ Visual Concept ของระบบงาน 2.แผนภาพ System Architecture 3.แผนภาพ Use Case Diagram 4.แผนภาพ ER Diagram 5.แผนภาพ Activity Diagram 6.รายละเอียด Requirement
  • 5. 3 7. การติดตามและประเมินผล ใช้แบบสอบถามประเมิน Formative และ ประเมินผลโดยคณะกรรมการประเมินงาน 8. ผู้รับผิดชอบโครงการ ที่ปรึกษาโครงการ : 1. นายไชยยศ สันสังวร ผู้บังคับบัญชากลุ่มงานวิทยาการคอมพิวเตอร์ 2. นายชัยวัฒน์ ปันต่า นักวิชาการคอมพิวเตอร์ปฏิบัติการ ผู้รับผิดชอบโครงการ : 1. นายปุณยวีร์ โพธิ์ศรี 2. นายจารุกิตต์ พัฒนพรกุล 9. คณะกรรมการประเมินโครงการ 1. นายไชยยศ สันต์สังวร ผู้บังคับบัญชากลุ่มงานวิทยาการคอมพิวเตอร์ 2. นางณีรนุช จุลประภา นักวิชาการคอมพิวเตอร์ชานาญการพิเศษ 3. นางยุพิน พ่วงเสมา นักวิชาการคอมพิวเตอร์ชานาญการ 4. นางสุธาวี อนุญาหงษ์ นักวิชาการคอมพิวเตอร์ชานาญการ 5. นายชัยวัฒน์ ปันต่า นักวิชาการคอมพิวเตอร์ปฏิบัติการ
  • 6. 4 การทบทวนวรรณกรรม/การตรวจสอบเอกสาร ในการพัฒนาระบบสารสนเทศในองค์กรจะต้องมีการวิเคราะห์กระบวนการทางานขององค์กร เราเรียกว่า System development Life Cycle (SDLC) การ พัฒนาระบบในองค์กรเป็นหน้าที่ของนักวิเคราะห์ระบบที่ จะต้องทาการติดต่อกับ หน่วยงานที่ต้องการพัฒนาระบบสารสนเทศ ว่าการทางานมีองค์ประกอบอะไรบ้าง เช่น ขนาดขององค์กร รายละเอียดการทางานถ้าเป็นบริษัทขนาดใหญ่นักวิเคราะห์จะต้องเข้าใจให้ชัดเจนเกี่ยวกับ มาตรฐาน กระบวนการทางานการพัฒนาระบบงาน (System development Life Cycle : SDLC) หมายถึง ขั้นตอนหรือกระบวนการในการพัฒนาระบบงาน ซึ่งมีจุดเริ่มต้นในการทางานและจุดสิ้นสุดของการปฏิบัติงานการ การพัฒนาซอฟต์แวร์ ตามปกติแล้วจะประกอบไปด้วยกลุ่มกิจกรรม 3 ส่วนหลักๆ ด้วยกัน คือ การวิเคราะห์ (Analysis), การออกแบบ (Design) และการนาไปใช้ (Implementation) ซึ่ง กิจกรรมทั้งสามนี้สามารถใช้งานได้ดี กับโครงการซอฟต์แวร์ขนาดเล็ก ในขณะที่โครงการซอฟต์แวร์ขนาดใหญ่ มักจาเป็นต้องใช้แบบแผนการพัฒนา ซอฟต์แวร์ตามแนวทางของ SDLC จนครบทุกกิจกรรม 1. วงจรการพัฒนาระบบ (System Development Life Cycle :SDLC) ระบบ สารสนเทศทั้งหลายมีวงจรชีวิตที่เหมือนกันตั้งแต่เกิดจนตายวงจรนี้จะเป็นขั้น ตอน ที่เป็นลาดับ ตั้งแต่ต้นจนเสร็จเรียบร้อย เป็นระบบที่ใช้งานได้ ซึ่งนักวิเคราะห์ระบบต้องทาความเข้าใจให้ดีว่าในแต่ละขั้นตอน จะต้องทาอะไร และทาอย่างไร ขั้นตอนการพัฒนาระบบมีอยู่ด้วยกัน 7 ขั้น ด้วยกัน คือ 1. เข้าใจปัญหา (Problem Recognition) 2. ศึกษาความเป็นไปได้ (Feasibility Study) 3. วิเคราะห์ (Analysis) 4. ออกแบบ (Design) 5. สร้างหรือพัฒนาระบบ (Construction) 6. การปรับเปลี่ยน (Conversion) 7. บารุงรักษา (Maintenance) ขั้นที่ 1 : เข้าใจปัญหา (Problem Recognition) ระบบ สารสนเทศจะเกิดขึ้นได้ก็ต่อเมื่อผู้บริหารหรือผู้ใช้ตระหนักว่า ต้องการระบบสารสนเทศหรือระบบ จัดการเดิม ได้แก่ระบบเอกสารในตู้เอกสาร ไม่มีประสิทธิภาพเพียงพอที่ตอบสนองความต้องการในปัจจุบัน ซึ่ง ผู้บริหารตื่นตัวกันมากที่จะให้มีการพัฒนาระบบสารสนเทศมาใช้ในหน่วยงานของตน ในงานธุรกิจ อุตสาหกรรม หรือใช้ในการผลิต ตัวอย่างเช่น บริษัทของเรา จากัด ติดต่อซื้อสินค้าจากผู้ขายหลายบริษัท ซึ่งบริษัทของเราจะมี ระบบ MIS ที่เก็บข้อมูลเกี่ยวกับหนี้สินที่บริษัทขอเราติดค้างผู้ขายอยู่ แต่ระบบเก็บข้อมูลผู้ขายได้เพียง 1,000 ราย เท่านั้น แต่ปัจจุบันผู้ขายมีระบบเก็บข้อมูลถึง 900 ราย และอนาคตอันใกล้นี้จะเกิน 1,000 ราย ดังนั้นฝ่ายบริหาร จึงเรียกนักวิเคราะห์ระบบเข้ามาศึกษา แก้ไขระบบงาน ปัญหา ที่สาคัญของระบบสารสนเทศในปัจจุบัน คือ ระบบ เขียนมานานแล้ว ส่วนใหญ่เขียนมาเพื่อติดตามเรื่องการเงิน ไม่ได้มีจุดประสงค์เพื่อให้ข้อมูลข่าวสารในการตัดสินใจ แต่ปัจจุบันฝ่าย บริหารต้องการดูสถิติการขายเพื่อใช้ในการคาดคะเนในอนาคต หรือความต้องการอื่นๆ เช่น สินค้า
  • 7. 5 ที่มียอดขายสูง หรือสินค้าที่ลูกค้าต้องการสูง หรือการแยกประเภทสินค้าต่างๆที่ทาได้ไม่ง่ายนัก การที่จะแก้ไข ระบบเดิมที่มีอยู่แล้วไม่ใช่เรื่องที่ง่ายนัก หรือแม้แต่การสร้างระบบใหม่ ดังนั้นควรจะมีการศึกษาเสียก่อนว่า ความ ต้องการของเราเพียงพอที่เป็นไปได้หรือไม่ ได้แก่ "การศึกษาความเป็นไปได้" (Feasibility Study) สรุป ขั้นตอนที่ 1: เข้าใจปัญหา หน้าที่ : ตระหนักว่ามีปัญหาในระบบ ผลลัพธ์ : อนุมัติการศึกษาความเป็นไปได้ เครื่องมือ : ไม่มี บุคลากรและหน้าที่ความรับผิดชอบ : ผู้ใช้หรือผู้บริหารชี้แจงปัญหาต่อนักวิเคราะห์ระบบ ขั้นตอนที่ 2 : ศึกษาความเป็นไปได้ (Feasibility Study) จุดประสงค์ของการศึกษาความเป็นไปได้ก็คือ การกาหนดว่าปัญหาคืออะไรและตัดสินใจว่าการพัฒนา สร้างระบบสารสนเทศ หรือการแก้ไขระบบสารสนเทศเดิมมีความเป็นไปได้หรือไม่โดยเสียค่าใช้จ่ายและ เวลาน้อย ที่สุด และได้ผลเป็นที่น่าพอใจ ปัญหา ต่อไปคือ นักวิเคราะห์ระบบจะต้องกาหนดให้ได้ว่าการแก้ไขปัญหาดังกล่าวมี ความเป็นไปได้ ทางเทคนิคและบุคลากร ปัญหาทางเทคนิคก็จะเกี่ยวข้องกับเรื่องคอมพิวเตอร์ และเครื่องมือเก่าๆ ถ้ามี รวมทั้งเครื่องคอมพิวเตอร์ซอฟต์แวร์ด้วย ตัวอย่างคือ คอมพิวเตอร์ที่ใช้อยู่ในบริษัทเพียงพอหรือไม่ คอมพิวเตอร์อาจจะมีเนื้อที่ของฮาร์ดดิสก์ไม่เพียงพอ รวมทั้งซอฟต์แวร์ ว่าอาจจะต้องซื้อใหม่ หรือพัฒนาขึ้นใหม่ เป็นต้น ความเป็นไปได้ทางด้านบุคลากร คือ บริษัทมีบุคคลที่เหมาะสมที่จะพัฒนาและติดตั้งระบบเพียงพอหรือไม่ ถ้าไม่มีจะหาได้หรือไม่ จากที่ใด เป็นต้น นอกจากนั้นควรจะให้ความสนใจว่าผู้ใช้ระบบมีความคิดเห็นอย่างไรกับ การ เปลี่ยนแปลง รวมทั้งความเห็นของผู้บริหารด้วย หน้าที่ : กาหนดปัญหา และศึกษาว่าเป็นไปได้หรือไม่ที่จะเปลี่ยนแปลงระบบ ผลลัพธ์ : รายงานความเป็นไปได้ เครื่องมือ : เก็บรวบรวมข้อมูลของระบบและคาดคะเนความต้องการของระบบ บุคลากรและหน้าที่ความรับผิดชอบ : ผู้ใช้จะมีบทบาทสาคัญในการศึกษา 1. นักวิเคราะห์ระบบจะเก็บรวบรวมข้อมูลทั้งหมดที่จาเป็นทั้งหมดเกี่ยวกับปัญหา 2. นักวิเคราะห์ระบบคาดคะเนความต้องการของระบบและแนวทางการแก้ปัญหา 3. นักวิเคราะห์ระบบ กาหนดความต้องการที่แน่ชัดซึ่งจะใช้สาหรับขั้นตอนการวิเคราะห์ต่อไป 4. ผู้บริหารตัดสินใจว่าจะดาเนินโครงการต่อไปหรือไม่
  • 8. 6 ขั้นตอนที่ 3 การวิเคราะห์ (Analysis) เริ่มเข้าสู่การวิเคราะห์ระบบ การวิเคราะห์ระบบเริ่มตั้งแต่การศึกษาระบบการทางานของธุรกิจนั้น ในกรณี ที่ระบบเราศึกษานั้นเป็นระบบสารสนเทศอยู่แล้วจะต้องศึกษาว่าทางาน อย่างไร เพราะเป็นการยากที่จะออกแบบ ระบบใหม่โดยที่ไม่ทราบว่าระบบเดิมทางานอย่างไร หรือธุรกิจดาเนินการอย่างไร หลังจากนั้นกาหนดความ ต้องการของระบบใหม่ ซึ่งนักวิเคราะห์ระบบจะต้องใช้เทคนิคในการเก็บข้อมูล (Fact-Gathering Techniques) ดังรูป ได้แก่ ศึกษาเอกสารที่มีอยู่ ตรวจสอบวิธีการทางานในปัจจุบัน สัมภาษณ์ผู้ใช้และผู้จัดการที่มีส่วนเกี่ยวข้อง กับระบบ เอกสารที่มีอยู่ได้แก่ คู่มือการใช้งาน แผนผังใช้งานขององค์กร รายงานต่างๆที่หมุนเวียนใน ระบบ การศึกษาวิธีการทางานในปัจจุบันจะทาให้นักวิเคราะห์ระบบรู้ว่าระบบจริงๆ ทางานอย่างไร ซึ่งบางครั้งค้นพบ ข้อผิดพลาดได้ ตัวอย่าง เช่น เมื่อบริษัทได้รับใบเรียกเก็บเงินจะมีขั้นตอนอย่างไรในการจ่ายเงิน ขั้นตอนที่เสมียน ป้อนใบเรียกเก็บเงินอย่างไร เฝ้าสังเกตการทางานของผู้เกี่ยวข้อง เพื่อให้เข้าใจและเห็นจริงๆ ว่าขั้นตอนการทางาน เป็นอย่างไร ซึ่งจะทาให้นักวิเคราะห์ระบบค้นพบจุดสาคัญของระบบว่าอยู่ที่ใด การสัมภาษณ์เป็นศิลปะอย่างหนึ่งที่ นักวิเคราะห์ระบบควรจะต้องมีเพื่อเข้ากับผู้ ใช้ได้ง่าย และสามารถดึงสิ่งที่ต้องการจากผู้ใช้ได้ เพราะว่าความ ต้องการของระบบคือ สิ่งสาคัญที่จะใช้ในการออกแบบต่อไป ถ้าเราสามารถกาหนดความต้องการได้ถูกต้อง การ พัฒนาระบบในขั้นตอนต่อไปก็จะง่ายขึ้น เมื่อเก็บรวบรวมข้อมูลแล้วจะนามาเขียนรวมเป็นรายงานการทางานของ ระบบซึ่งควรแสดงหรือเขียนออกมาเป็นรูปแทนที่จะร่ายยาวออกมาเป็นตัวหนังสือ การแสดงแผนภาพจะทาให้เรา เข้าใจได้ดีและง่ายขึ้น หลังจากนั้นนักวิเคราะห์ระบบ อาจจะนาข้อมูลที่รวบรวมได้นามาเขียนเป็น "แบบทดลอง" (Prototype) หรือตัวต้นแบบ แบบทดลองจะเขียนขึ้นด้วยภาษาคอมพิวเตอร์ต่างๆ และที่ช่วยให้ง่ายขึ้นได้แก่ ภาษายุคที่ 4 (Fourth Generation Language) เป็นการสร้างโปรแกรมคอมพิวเตอร์ขึ้นมาเพื่อใช้งานตามที่เรา ต้องการได้ ดังนั้นแบบทดลองจึงช่วยลดข้อผิดพลาดที่อาจจะเกิดขึ้นได้ เมื่อจบขั้นตอนการวิเคราะห์แล้ว นักวิเคราะห์ระบบจะต้องเขียนรายงานสรุปออกมาเป็น ข้อมูลเฉพาะของปัญหา (Problem Specification) ซึ่งมี รายละเอียดดังนี้ รายละเอียดของระบบเดิม ซึ่งควรจะเขียนมาเป็นรูปภาพแสดงการทางานของระบบ พร้อมคาบรรยาย กาหนดความต้องการของระบบใหม่รวมทั้งรูปภาพแสดงการทางานพร้อมคาบรรยาย, ข้อมูลและไฟล์ที่จาเป็น คาอธิบายวิธีการทางาน และสิ่งที่จะต้องแก้ไข. รายงานข้อมูลเฉพาะของปัญหาของระบบขนาดกลางควรจะมีขนาด ไม่เกิน 100-200 หน้ากระดาษ สรุป ขั้นตอนที่ 3 : การวิเคราะห์ (Analysis) หน้าที่ : กาหนดความต้องการของระบบใหม่ (ระบบใหม่ทั้งหมดหรือแก้ไขระบบเดิม) ผลลัพธ์ : รายงานข้อมูลเฉพาะของปัญหา เครื่องมือ : เทคนิคการเก็บรวบรวมข้อมูล, Data Dictionary, Data Flow Diagram, Process Specification, Data Model, System Model, Prototype, system Flowcharts
  • 9. 7 บุคลากรและหน้าที่รับผิดชอบ : ผู้ใช้จะต้องให้ความร่วมมือเป็นอย่างดี 1. วิเคราะห์ระบบ ศึกษาเอกสารที่มีอยู่ และศึกษาระบบเดิมเพื่อให้เข้าใจถึงขั้นตอนการทางานและทราบ ว่าจุดสาคัญของระบบอยู่ที่ไหน 2. นักวิเคราะห์ระบบ เตรียมรายงานความต้องการของระบบใหม่ 3. นักวิเคราะห์ระบบ เขียนแผนภาพการทางาน (Diagram) ของระบบใหม่โดยไม่ต้องบอกว่าหน้าที่ใหม่ ในระบบจะพัฒนาขึ้นมาได้อย่างไร 4. นักวิเคราะห์ระบบ เขียนสรุปรายงานข้อมูลเฉพาะของปัญหา 5. ถ้าเป็นไปได้นักวิเคราะห์ระบบอาจจะเตรียมแบบทดลองด้วย ขั้นตอนที่ 4 : การออกแบบ (Design) ในระยะแรกของการออกแบบ นักวิเคราะห์ระบบจะนาการตัดสินใจ ของฝ่ายบริหารที่ได้จากขั้นตอนการ วิเคราะห์การเลือกซื้อคอมพิวเตอร์ ฮาร์ดแวร์และซอฟต์แวร์ด้วย (ถ้ามีหรือเป็นไปได้) หลังจากนั้นนักวิเคราะห์ ระบบจะนาแผนภาพต่างๆ ที่เขียนขึ้นในขั้นตอนการวิเคราะห์มาแปลงเป็นแผนภาพลาดับขั้น (แบบต้นไม้) ดังรูป ข้างล่าง เพื่อให้มองเห็นภาพลักษณ์ที่แน่นอนของโปรแกรมว่ามีความสัมพันธ์กันอย่างไร และโปรแกรมอะไรบ้างที่ จะต้องเขียนในระบบ หลังจากนั้นก็เริ่มตัดสินใจว่าควรจะจัดโครงสร้างจากโปรแกรมอย่างไร การเชื่อมระหว่าง โปรแกรมควรจะทาอย่างไร ในขั้นตอนการวิเคราะห์นักวิเคราะห์ระบบต้องหาว่า "จะต้องทาอะไร (What)" แต่ใน ขั้นตอนการออกแบบต้องรู้ว่า " จะต้องทาอย่างไร(How)" ในการออกแบบโปรแกรมต้องคานึงถึงความปลอดภัย (Security) ของระบบด้วย เพื่อป้องกันการผิดพลาดที่อาจจะเกิดขึ้น เช่น "รหัส" สาหรับผู้ใช้ที่มีสิทธิ์สารอง ไฟล์ข้อมูลทั้งหมด เป็นต้นนักวิเคราะห์ระบบจะต้องออกแบบฟอร์มสาหรับข้อมูลขาเข้า (Input Format) ออกแบบ รายงาน (Report Format) และการแสดงผลบนจอภาพ (Screen Format) หลักการการออกแบบฟอร์มข้อมูลขา เข้าคือ ง่ายต่อการใช้งาน และป้องกันข้อผิดพลาดที่อาจจะเกิดขึ้น ถัดมาระบบจะต้องออกแบบวิธีการใช้งาน เช่น กาหนดว่าการป้อนข้อมูลจะต้องทาอย่างไร จานวนบุคลากรที่ต้องการในหน้าที่ต่างๆ แต่ถ้านักวิเคราะห์ระบบ ตัดสินใจว่าการซื้อซอฟต์แวร์ดีกว่าการเขียนโปรแกรม ขั้นตอนการออกแบบก็ไม่จาเป็นเลย เพราะสามารถนา ซอฟต์แวร์สาเร็จรูปมาใช้งานได้ทันที สิ่งที่นักวิเคราะห์ระบบออกแบบมาทั้งหมดในขั้นตอนที่กล่าวมาทั้งหมดจะ นามา เขียนรวมเป็นเอกสารชุดหนึ่งเรียกว่า "ข้อมูลเฉพาะของการออกแบบระบบ " (System Design Specification) เมื่อสาเร็จแล้วโปรแกรมเมอร์สามารถใช้เป็นแบบในการเขียนโปรแกรม ได้ทันที่สาคัญก่อนที่จะส่ง ถึงมือโปรแกรมเมอร์เราควรจะตรวจสอบกับผู้ใช้ว่า พอใจหรือไม่ และตรวจสอบกับทุกคนในทีมว่าถูกต้องสมบูรณ์ หรือไม่ และแน่นอนที่สุดต้องส่งให้ฝ่ายบริหารเพื่อตัดสินใจว่าจะดาเนินการ ต่อไปหรือไม่ ถ้าอนุมัติก็ผ่านเข้าสู่ ขั้นตอนการสร้างหรือพัฒนาระบบ (Construction)
  • 10. 8 สรุปขั้นตอนที่ 4 : การออกแบบ (Design) หน้าที : ออกแบบระบบใหม่เพื่อให้สอดคล้องกับความต้องการของผู้ใช้และฝ่ายบริหาร ผลลัพธ์ : ข้อมูลเฉพาะของการออกแบบ(System Design Specification) เครื่องมือ : พจนานุกรมข้อมูล Data Dictionary, แผนภาพการไหลของข้อมูล (Data Flow Diagram), ข้อมูล เฉพาะการประมวลผล (Process Specification ), รูปแบบข้อมูล (Data Model), รูปแบบระบบ (System Model), ผังงานระบบ (System Flow Charts), ผังงานโครงสร้าง (Structure Charts), ผังงาน HIPO (HIPO Chart), แบบฟอร์มข้อมูลขาเข้าและรายงาน บุคลากรและหน้าที่ : 1. นักวิเคราะห์ระบบ ตัดสินใจเลือกคอมพิวเตอร์ฮาร์ดแวร์และซอฟต์แวร์ (ถ้าใช้) 2. นักวิเคราะห์ระบบ เปลี่ยนแผนภาพทั้งหลายที่ได้จากขั้นตอนการวิเคราะห์มาเป็นแผนภาพลาดับขั้น 3. นักวิเคราะห์ระบบ ออกแบบความปลอดภัยของระบบ 4. นักวิเคราะห์ระบบ ออกแบบฟอร์มข้อมูลขาเข้า รายงาน และการแสดงภาพบนจอ 5. นักวิเคราะห์ระบบ กาหนดจานวนบุคลากรในหน้าที่ต่างๆและการทางานของระบบ 6. ผู้ใช้ ฝ่ายบริหาร และนักวิเคราะห์ระบบ ทบทวน เอกสารข้อมูลเฉพาะของการออกแบบเพื่อความ ถูกต้องและสมบูรณ์แบบของระบบ ขั้นตอนที่ 5 : การพัฒนาระบบ (Construction) ขั้นตอนนี้โปรแกรมเมอร์จะเริ่มเขียนและทดสอบโปรแกรมว่า ทางานถูกต้องหรือไม่ ต้องมีการทดสอบกับ ข้อมูลจริงที่เลือกแล้ว ถ้าทุกอย่างเรียบร้อย เราจะได้โปรแกรมที่พร้อมที่จะนาไปใช้งานจริงต่อไป หลังจากนั้นต้อง เตรียมคู่มือการใช้และการฝึกอบรมผู้ใช้งานจริงของระบบ ระยะแรกในขั้นตอนนี้นักวิเคราะห์ระบบต้องเตรียม สถานที่สาหรับ เครื่องคอมพิวเตอร์แล้วจะต้องตรวจสอบว่าคอมพิวเตอร์ทางานเรียบร้อยดี โปรแกรมเมอร์เขียน โปรแกรมตามข้อมูลที่ได้จากเอกสารข้อมูลเฉพาะของการออกแบบ (Design Specification) ปกติแล้วนักวิเคราะห์ ระบบไม่มีหน้าที่เกี่ยวข้องในการเขียนโปรแกรม แต่ถ้าโปรแกรมเมอร์คิดว่าการเขียนอย่างอื่นดีกว่าจะต้องปรึกษา นักวิเคราะห์ ระบบเสียก่อน เพื่อที่ว่านักวิเคราะห์จะบอกได้ว่าโปรแกรมที่จะแก้ไขนั้นมีผลกระทบกับระบบ ทั้งหมด หรือไม่ โปรแกรมเมอร์เขียนเสร็จแล้วต้องมีการทบทวนกับนักวิเคราะห์ระบบและผู้ใช้งาน เพื่อค้นหาข้อผิดพลาด วิธีการนี้เรียกว่า "Structure Walkthrough " การทดสอบโปรแกรมจะต้องทดสอบกับข้อมูลที่เลือกแล้วชุดหนึ่ง ซึ่ง อาจจะเลือกโดยผู้ใช้ การทดสอบเป็นหน้าที่ของโปรแกรมเมอร์ แต่นักวิเคราะห์ระบบต้องแน่ใจว่า โปรแกรม ทั้งหมดจะต้องไม่มีข้อผิดพลาด หลังจากนั้นต้องควบคุมดูแลการเขียนคู่มือซึ่งประกอบด้วยข้อมูลการใช้งานสารบัญ การอ้างอิง "Help" บนจอภาพ เป็นต้น นอกจากข้อมูลการใช้งานแล้ว ต้องมีการฝึกอบรมพนักงานที่จะเป็นผู้ใช้งาน จริงของระบบเพื่อให้เข้าใจ และทางานได้โดยไม่มีปัญหาอาจจะอบรมตัวต่อตัวหรือเป็นกลุ่มก็ได้ สรุปขั้นตอนที่ 5 : การพัฒนาระบบ (Construction) หน้าที่ : เขียนและทดสอบโปรแกรม ผลลัพธ์ : โปรแกรมที่ทดสอบเรียบร้อยแล้ว เอกสารคู่มือการใช้ และการฝึกอบรม เครื่องมือ : เครื่องมือของโปรแกรมเมอร์ทั้งหลาย Editor, compiler,Structure Walkthrough, วิธีการทดสอบ โปรแกรม การเขียนเอกสารประกอบการใช้งาน
  • 11. 9 บุคลากรและหน้าที่ : 1. นักวิเคราะห์ระบบ ดูแลการเตรียมสถานที่และติดตั้งเครื่องคอมพิวเตอร์ (ถ้าซื้อใหม่) 2. นักวิเคราะห์ระบบ วางแผนและดูแลการเขียนโปรแกรม ทดสอบโปรแกรม 3. โปรแกรมเมอร์เขียนและทดสอบโปรแกรม หรือแก้ไขโปรแกรม ถ้าซื้อโปรแกรมสาเร็จรูป 4. นักวิเคราะห์ระบบ วางแผนทดสอบโปรแกรม 5. ทีมที่ทางานร่วมกันทดสอบโปรแกรม 6. ผู้ใช้ตรวจสอบให้แน่ใจว่า โปรแกรมทางานตามต้องการ 7. นักวิเคราะห์ระบบ ดูแลการเขียนคู่มือการใช้งานและการฝึกอบรม ขั้นตอนที่ 6 : การปรับเปลี่ยน (Construction) ขั้นตอนนี้บริษัทนาระบบใหม่มาใช้แทนของเก่าภายใต้การดูแลของนักวิเคราะห์ระบบ การป้อนข้อมูลต้อง ทาให้เรียบร้อย และในที่สุดบริษัทเริ่มต้นใช้งานระบบใหม่นี้ได้การนาระบบเข้ามาควรจะทาอย่างค่อยเป็นค่อยไปที ละน้อย ที่ดีที่สุดคือ ใช้ระบบใหม่ควบคู่ไปกับระบบเก่าไปสักระยะหนึ่ง โดยใช้ข้อมูลชุดเดียวกันแล้วเปรียบเทียบ ผลลัพธ์ว่าตรงกันหรือไม่ ถ้าเรียบร้อยก็เอาระบบเก่าออกได้ แล้วใช้ระบบใหม่ต่อไป ขั้นตอนที่ 7 : บารุงรักษา (Maintenance) การบารุงรักษาได้แก่ การแก้ไขโปรแกรมหลังจากการใช้งานแล้ว สาเหตุที่ต้องแก้ไขโปรแกรมหลังจากใช้ งานแล้ว สาเหตุที่ต้องแก้ไขระบบส่วนใหญ่มี 2 ข้อ คือ 1. มีปัญหาในโปรแกรม (Bug) และ 2. การดาเนินงานใน องค์กรหรือธุรกิจเปลี่ยนไป จากสถิติของระบบที่พัฒนาแล้วทั้งหมดประมาณ 40% ของค่าใช้จ่ายในการแก้ไข โปรแกรม เนื่องจากมี "Bug" ดังนั้นนักวิเคราะห์ระบบควรให้ความสาคัญกับการบารุงรักษา ซึ่งปกติจะคิดว่าไม่มี ความสาคัญมากนักเมื่อธุรกิจขยายตัวมากขึ้น ความต้องการของระบบอาจจะเพิ่มมากขึ้น เช่น ต้องการรายงาน เพิ่มขึ้น ระบบที่ดีควรจะแก้ไขเพิ่มเติมสิ่งที่ต้องการได้การบารุงรักษาระบบ ควรจะอยู่ภายใต้การดูแลของ นักวิเคราะห์ระบบ เมื่อผู้บริหารต้องการแก้ไขส่วนใดนักวิเคราะห์ระบบต้องเตรียมแผนภาพต่าง ๆ และศึกษา ผลกระทบต่อระบบ และให้ผู้บริหารตัดสินใจต่อไปว่าควรจะแก้ไขหรือไม่ ในโครงงานพัฒนาระบบนี้ ที่ได้ทาการพัฒนาได้เลือกวิธีการของ Agile มาเพื่อเป็นขั้นตอนในการลดความเสี่ยง ในปัญหาของโปรแกรม และ เพิ่มประสิทธิภาพในการพัฒนาโปรแกรมให้ดียิ่งๆขึ้นไป
  • 12. 10 2. การพัฒนาซอฟท์แวร์แบบ Agile การพัฒนาซอฟท์แวร์แบบ Agile เป็นแนวคิดใหม่สาหรับการพัฒนาซอฟต์แวร์ที่พยายามจะแทรกตัวเข้าไป ในวิธีการ แบบเดิม เพื่อให้งานสั้นลง ประหยัดเวลา และประหยัดงบประมาณการพัฒนาซอฟต์แวร์แบบ Agile มี หลายวิธีซึ่งส่วนใหญ่แล้วจะเป็นการพัฒนาในช่วงเวลาสั้น ๆ ซึ่งอาจจะใช้เวลาประมาณ 1 - 4 สัปดาห์ โดย โครงงานทั้งหมดจะประกอบด้วย กิจกรรมการระบุความต้องการ การวิเคราะห์ การออกแบบ การทดสอบ และ การทาเอกสารเป็นต้น วิธีการพัฒนาซอฟท์แวร์แบบ Agile จะเน้นเรื่องการสื่อสารแบบตัวต่อตัว มากกว่าการใช้ เอกสาร ทีมงานอย่างน้อยต้องประกอบด้วยโปรแกรมเมอร์และลูกค้าที่จะกาหนดขอบเขตของ ระบบงาน นอกจากนี้วิธีการแบบ Agile ยังเน้นให้การพัฒนาซอฟต์แวร์มีความก้าวหน้าและเป็นไปตามมาตรฐานที่ได้วางไว้ ร่วมกันกับการสื่อสารกับลูกค้า ซึ่งจะมีเอกสารที่เกี่ยวข้องไม่มากนัก โดยภาพรวมแล้ว Agile Method มีหลักการและลักษณะที่สาคัญที่สาคัญดังนี้ 1. ต้องทาให้ลูกค้าพึงพอใจกับการส่งมอบงานที่มีคุณภาพอย่างรวดเร็ว และต่อเนื่อง 2. พร้อมรับความต้องการของลูกค้าที่เปลี่ยนแปลงอยู่ตลอดเวลา ถึงแม้ว่าจะเป็นช่วงท้ายๆของการพัฒนา ก็ตาม ทั้งนี้เพื่อให้ลูกค้ามีความได้เปรียบทางการแข่งขันมากที่สุด 3. ส่งมอบงานที่ใช้งานได้อย่างต่อเนื่องตั้งแต่ทุกๆสัปดาห์ ไปจนถึงทุกๆเดือน ทั้งนี้เวลาโดยรวมจะต้องไม่ ยาวนานเกินไป 4. บุคลากรที่เป็นผู้ใช้และบุคลากรที่พัฒนาระบบจะต้องทางานร่วมกันอย่างใกล้ชิดและต่อเนื่องจนเสร็จ สิ้นโครงการ 5. สร้างแรงกระตุ้นให้กับบุคลากรที่เกี่ยวข้องกับโครงการ โดยสร้างสภาพแวดล้อมที่ดี และคอยสนับสนุน ความต้องการ รวมถึงต้องเชื่อใจในตัวบุคคลว่าจะสามารถทางานที่ได้รับมอบหมายให้เสร็จ สิ้นได้โดยใช้ ศักยภาพสูงสุด 6. วิธีการแลกเปลี่ยนข้อมูลกันในทีมพัฒนาระบบที่มีประสิทธิภาพมากที่สุดคือ การ พูด คุย พบปะ และ สนทนากันทั้งที่เป็นทางการและไม่เป็นทางการ 7. ชิ้นงาน (ซอฟท์แวร์) ที่ใช้งานได้เป็นตัววัดตัวแรกของความก้าวหน้าของโครงการ 8. เน้นการพัฒนาแบบค่อยเป็นค่อยไป ทั้งผู้สนับสนุนโครงการ ผู้พัฒนา และผู้ใช้จะ ต้องทางานร่วมกัน ด้วยความก้าวหน้าแบบคงที่ได้โดยมีข้อจากัดน้อยที่สุดหรือ ไม่มีเลย 9. การใส่ใจและการติดตามเทคนิคที่ทันสมัยและการออกแบบที่ดีอย่างต่อเนื่องจะช่วยส่งเสริม ประสิทธิภาพการพัฒนาระบบให้ดียิ่งขึ้น
  • 13. 11 Agile Method เป็นวิธีในการพัฒนาซอฟท์แวร์ โดยมีหลักการในการพัฒนาระบบที่เน้นการทางานที่ รวดเร็ว มีการเตรียมพร้อมที่จะตอบสนองต่อความเปลี่ยนแปลงที่อาจเกิดขึ้นได้ตลอดเวลา โดยเฉพาะความ ต้องการของผู้ใช้ วิธีพัฒนาแบบนี้ถือเป็นการพัฒนาแบบทาซ้า ที่จะต้องมีการพบปะสนทนากับผู้ใช้อยู่ตลอดเวลา และในขณะที่พบปะกันนั้นก็จะถือเป็นช่วงระยะเวลาของการส่งงานไปในตัวด้วย การส่งงานแต่ละครั้งของวิธีการ พัฒนาแบบนี้ โดยส่วนใหญ่จะเป็นการพัฒนาเฉพาะส่วนย่อย ๆ แล้วค่อยทยอยส่งให้กับผู้ใช้ เมื่อผู้ใช้ได้ทดสอบหรือ ประเมินระบบแล้ว ถ้าต้องการปรับเปลี่ยนตรงส่วนใดก็สามารถทาได้โดยที่ไม่ต้องรื้อระบบใหม่ทั้ง หมด ดังนั้น นอกจากความ สามารถทางด้านพัฒนาระบบของทีมพัฒนาแล้ว สมาชิกในทีมจาเป็นที่จะต้องมีทักษะเรื่องการ ปฏิสัมพันธ์ระหว่างบุคคลที่ดี นอกจากนั้นผู้ใช้จาเป็นต้องไว้เนื้อเชื่อใจทีมที่ทาการพัฒนาระบบในระดับ หนึ่งด้วย การพัฒนาแบบ Agile ยังคงเป็นวิธีที่ใช้กันอยู่อย่างแพร่หลาย วิธีพัฒนาแบบนี้ไม่ได้นามาใช้กันแบบ ทดแทนวิธีการพัฒนาแบบเก่า ๆ แต่มีอยู่เพื่อเป็นทางเลือกอีกทางเลือกหนึ่งให้กับนักพัฒนาระบบ สุดท้ายแล้วการ เลือกวิธีหรือขั้นตอนการพัฒนาระบบสาหรับโครงงานหนึ่ง ๆ นั้น ทีมพัฒนาจะต้องมีความระมัดระวัง ต้องตระหนัก ถึงปัจจัยต่าง ๆ กันรวมไปถึงขนาดของโครงงานและผู้ร่วมทางาน ในบางครั้งทีมพัฒนาอาจจาเป็นต้องผสมผสาน วิธีการพัฒนาแบบ Agile กับวิธีการอื่น ๆ ในการทางาน การใช้วิธีแบบ Agile ผสมผสานกับวิธีอื่นนั้นทาได้ยากและ ต้องการทีมพัฒนาที่มีประสบการณ์และคุณภาพ สูง ถึงแม้ว่าจะมีความเสี่ยงสูงแต่เมื่อสาเร็จ ก็ได้รับผลตอบแทนที่ คุ้มค่า
  • 14. 12 2.1 การประยุกต์ใช้ Agile กับโครงการพัฒนาระบบ ในโครงการนี้ ได้ใช้ขั้นตอนกระบวนการ ของ Agile มาประยุกต์ใช้เป็นหลัก โดยได้ใช้ไปทั้งสิ้น 4 ขั้นตอน หลัก ซึ่งแต่ละขั้นตอน ได้ดาเนินไปอย่างเป็นระบบ และ เป็นขั้นตอน อย่างต่อเนื่อง และ ซ้าไปเรื่อยๆ เพื่อลดการ เกิดปัญหาเนื่องมาจากการพัฒนาระบบ ซึ่งเป็นไปตามวัตถุประสงค์ของ Agile นั่นเอง 1. การสร้าง(Build) ในขั้นตอนการสร้างนี้ ได้เลือกใช้ภาษา Visual Basic เพื่อใช้ในการสร้าง และ พัฒนาโปรแกรม เนื่องจาก เป็นภาษาที่เหมาะสมกับความต้องการ และ วัตถุประสงค์ของโปรแกรมที่ได้รับมอบหมาย อีกทั้งเป็นภาษา ที่ตอบโจทย์กับตัวโปรแกรม และ ตัวโปรแกรมก็สอดคล้องกับความต้องการของลูกค้า อีกทั้งผู้ใช้โปรแกรม อีกด้วย นอกจากนี้ ในกระบวนการสร้าง ก็ได้มีการแบ่ง ส่วนของงานชัดเจน ระหว่างสมาชิกในทีมพัฒนา ระบบ รวมถึงการแบ่งส่วนของโปรแกรม หน้าต่าง ฟังก์ชัน และ อื่นๆ อย่างชัดเจน เพื่อไม่ให้เกิดความ สับสน และ ง่ายต่อการดู และ กลับมาแก้ไขปรับปรุงในครั้งต่อๆไป 2. การกาหนดค่า และ การตั้งค่า(Configure) ในขั้นตอนนี้ เป็นขั้นตอนของการกาหนดค่า และ ตั้งค่าต่างๆให้โปรแกรม ไม่ว่าจะเป็นค่าเริ่มต้น หรือ ค่าตัวแปรต่างๆ ที่ต้องกาหนดเพื่อใช้ในการทางานของโปรแกรม แต่ไม่ใช่เพียงการเริ่มทางานของ โปรแกรมเท่านั้น แต่ตลอดช่วงการทางานของโปรแกรม ก็ต้องมีการกาหนดค่าต่างๆไว้เช่นกัน เช่น ค่าการ ทางานปกติ ว่าในสภาวะปกติ ตัวแปรใด มีค่าเป็นเท่าไหร่ สถานะของหน้าต่าง หรือ ข้อมูลนั้น มีค่า เท่าไหร่ เป็นต้น เพื่อกาหนดการทางานของโปรแกรม ให้เป็นขั้นตอน ความชัดเจนของโปรแกรม ความ สะดวกสบายของผู้ใช้ และ เพื่อให้ไม่มีปัญหาตามมาในภายหลัง หรือ ขณะที่โปรแกรมกาลังดาเนินงาน
  • 15. 13 3. การทดสอบระบบ(Test) ขั้นตอนของการทดสอบนี้ เป็นขั้นตอนของการทดสอบว่า โค้ดที่ใช้ในการเขียน มีปัญหาอะไรหรือไม่ เป็น เพียงการทดสอบระบบเบื้องต้นก่อนว่า การทางานของโปรแกรม ถูกต้องตรงกับความต้องการหรือเปล่า แล้วหากโปรแกรมเป็นไปในทิศทางนี้ จะตอบโจทย์ผู้ใช้งานได้หรือยัง หากมีส่วนไหนให้ปรับปรุง เพื่อให้ ตรงความต้องการผู้ใช้งานมากขึ้น ก็สามารถติดต่อกับทีมพัฒนาได้โดยตรง เพื่อทาการปรับปรุงแก้ไข ก่อนที่จะปล่อยให้ทดสอบระบบจริง ในข้อนี้จะใช้การประชุม และ การนาเสนอ ในที่ประชุม และ ทดสอบ ให้เห็นโดยทั่วกันเลย และ บันทึกข้อเสนอแนะ และ สิ่งที่ควรปรับปรุงมาดาเนินการทันที 4. การปล่อยโปรแกรมให้ทดลองใช้งาน(Release) ขั้นตอนของการปล่อยระบบ หรือ โปรแกรม ให้ได้ทาการทดสอบจริง ในขั้นตอนนี้ ถือเป็นขั้นตอนที่ มี ประสิทธิภาพในการตรวจสอบข้อผิดพลาดของโปรแกรมสูงที่สุด เนื่องจาก เป็นการปล่อยให้ผู้ใช้งานได้ใช้ งานจริง เพื่อจะได้ทดสอบว่า หากใช้จริง โปรแกรมที่ได้ทาการพัฒนาจะมีปัญหาอยู่ส่วนใดบ้าง เพื่อทาการ แก้ไขต่อไป หากจานวนผู้ใช้งานมีจานวนมาก จะยิ่งทาให้พบข้อผิดพลาดเร็วยิ่งขึ้น ก็จะเป็นการ ประหยัดเวลาในการปรับปรุงโปรแกรมได้มากขึ้นไปอีก ซึ่งในช่วงแรกๆนั้น หน้าตาโปรแกรม อาจยังไม่ได้ ทาการออกแบบ แต่เป็นเพียงการทดสอบการทางานของโค้ด และ กระบวนการของโปรแกรม แต่ในช่วง ถัดไป การออกแบบจะเริ่มขึ้น และ มีการปล่อยทั้งโปรแกรม ที่ประกอบด้วยส่วนของการออกแบบให้ได้ ทดสอบ และ หาข้อบกพร่องเพื่อใช้ในการปรับปรุงด้วย ในข้อนี้ ใช้วิธีการเขียน Formative เพื่อให้ ผู้ใช้งานได้ให้คะแนน และ เขียนข้อเสนอแนะ และ สิ่งที่ควรปรับปรุง เพื่อที่จะนารายการเหล่านั้นมาแก้ไข ปรับปรุงต่อไป
  • 16. 14 5. การออกแบบ(Design) ส่วนของการออกแบบนี้ จะเป็นการออกแบบหน้าตาโปรแกรม เป็นหลัก เพื่อให้ตอบโจทย์การใช้งานของ ผู้ใช้ เช่น การออกแบบที่เห็นแล้วสบายตา ใช้งานได้ระยะยาว สีสันไม่แสบตาเกินไป ตัวอักษรชัดเจน เป็น ต้น ส่วนการออกแบบอื่น ในโครงการนี้จะมีอีกส่วนคือ การออกแบบฐานข้อมูล ว่าจะต้องมีตารางใดบ้าง ส่งเข้าส่งออกเป็นรูปแบบใด ขั้นตอนในห้าขั้นตอนข้างต้น เป็นขั้นตอนที่ดาเนินการโดยการวนซ้า เพื่อลดปัญหาในการพัฒนาโปรแกรมให้ลดลง ในแต่ละรอบ ตามหลักการของ Agile
  • 17. 15 ความต้องการของระบบ (System Requirement) ความต้องการของระบบ จากเก็บความต้องการของผู้ใช้งานในกลุ่มงานวิทยาการคอมพิวเตอร์ และจาก การศึกษาขั้นตอนการทางานเดิม ทาให้สามารถนามาวิเคราะห์เป็นฟังค์ชั่นการทางานของระบบใหม่ ได้ดังนี้ 1 ระบบการจัดเก็บข้อมูล Item Function Description 1.1 ผู้เข้ารับการอบรม 1.1.1 สามารถระบุตาแหน่งประเภทของผู้เข้า รับการอบรมได้ - ตาแหน่งเบื้องต้นมีอยู่ 4 ตาแหน่ง 1. ผู้บริหาร 2. อานวยการ 3. วิชาการ 4.ทั่วไป 1.1.2 สามารถแยกจานวนเป้าหมายของผู้เข้า รับการอบรมแต่ละประเภทได้ 1.1.3 สามารถแยกจานวนผู้มาอบรมจริงของผู้ เข้ารับการอบรมแต่ละประเภทได้ 1.1.4 สามารถเพิ่มตาแหน่งประเภทของผู้เข้า รับการอบรมได้ 1.2 งบประมาณ 1.2.1 สามารถระบุงบประมาณโครงการที่ ได้รับของแต่ละโครงการได้ 1.2.2 สามารถระบุงบประมาณโครงการที่ใช้ จริงของแต่ละโครงการได้ 1.3 ภาพรวมตัวชี้วัด 1.3.1 สามารถระบุตัวชี้วัดต่างๆ ของแต่ละ โครงการได้ ตามอัตราส่วน 100 % - ตัวชี้วัดเบื้องต้นมีอยู่ 5ตัว 1. วิทยากร 2.สถานที่ 3. บริการ 4. ความเข้าใจ 5. การนาไปใช้ 1.3.2 สามารถสรุปผลรวมตัวชี้วัดของแต่ละ โครงการได้ตามอัตราส่วน100 % 1.4 จานวนวิทยากร 1.4.1 สามารถระบุจานวนวิทยากรหลัก ของแต่ละโครงการได้ 1.4.2 สามารถระบุจานวนผู้ช่วยวิทยาการของ แต่ละโครงการได้ 1.5 จานวนผู้รับผิดชอบ โครงการ 1.5.1 สามารถระบุหัวหน้าของแต่ละโครงการ ได้ -สามารถแยกแยะได้ว่าบุค- ลากรคนใดเป็นหัวหน้าของ หน่วยงานใด1.5.2 สามารถระบุบุคลากรในหน่วยงานของ หัวหน้าแต่ละโครงการได้
  • 18. 16 2 ระบบการจัดการข้อมูลผู้ใช้และจัดการโปรแกรม Item Function Description 2.1 ผู้ดูแลระบบ 2.1.1 ผู้ดูแลระบบสามารถเพิ่มชื่อผู้ใช้ เข้าสู่ระบบได้ 2.1.2 ผู้ดูแลระบบสามารถลบผู้ใช้ออก จากระบบได้ 2.1.3 ผู้ดูแลระบบสามารถเพิ่ม ตาแหน่งประเภทของผู้เข้ารับ การอบรมของแต่ละโครงการได้ 2.1.4 ผู้ดูแลระบบสามารถมอบหมายให้ บุคคลใดบุคคลหนึ่ง หรือบุคคลหลายคนเป็นผู้แก้ไข โครงการได้ 2.2 ผู้แก้ไขโครงการ 2.2.1 ผู้แก้ไขโครงการสามารถเพิ่ม โครงการใหม่เข้าไปในระบบได้ 2.2.2 ผู้แก้ไขโครงการสามารถลบ โครงการออกจากระบบได้ 2.2.3 ผู้แก้ไขโครงการสามารถแก้ไข โครงการที่อยู่ในระบบได้ 2.3 ผู้ใช้งาน 2.3.1 ผู้ใช้งานสามารถตรวจสอบข้อมูล ในโครงการแต่ละโครงการได้ 2.3.2 ผู้ใช้งานสามารถพิมพ์ข้อมูลของ แต่ละโครงการได้
  • 19. 17 3 การทางานของโปรแกรม Item Function Description 3.1 การเข้าสู่ระบบ 3.1.1 โปรแกรมต้องการผู้ใช้ให้ทาการ เข้าสู่ระบบก่อนที่จะใช้ งานโปรแกรมได้ 3.1.2 โปรแกรมสามารถแยกแยะ ประเภทของแต่ละบัญชีผู้ใช้ได้ 3.1.3 โปรแกรมสามารถจากัดการใช้งาน ของแต่ละบัญชีผู้ใช้ได้ 3.2 การเปลี่ยนแปลงฐานข้อมูล 3.2.1 โปรแกรมสามารถเปลี่ยนแปลง ฐานข้อมูลที่ใช้ในการเชื่อมต่อ ฐานข้อมูลได้ 3.2.2 โปรแกรมสามารถรองรับ ข้อผิดพลาดจากการเชื่อมต่อฐานข้อมูล ได้
  • 20. 18 ทาการวิเคราะห์และออกแบบระบบ ( System Analysis And Design ) จากการการวิเคราะห์ และออกแบบว่าระบบ จะต้องทางานอย่างไร เป็นขั้นตอนกระบวนการอย่างไร โดย สามารถเขียนเป็นรูปแบบของแผนภาพได้ การวิเคราะห์และออกแบบระบบ สาหรับโครงการนี้ ประกอบด้วย 4 องค์ประกอบ ดังนี้ 1. โครงสร้างระบบ (System Architecture) 2. แผนภาพแสดงความสัมพันธ์ของผู้ใช้ระบบ 3. แผนภาพกิจกรรม (Activity Diagram) 4. การออกแบบฐานข้อมูล 5. แบบจาลองความสัมพันธ์ระหว่างข้อมูล (ER-Diagram) 6. พจนานุกรมข้อมูล (Data Dictionary) 1. โครงสร้างระบบ (System Architecture)
  • 21. 19 2. แผนภาพแสดงความสัมพันธ์ของผู้ใช้ระบบ (Use Case Diagram) 2.1 Use Case Diagram ระบบข้อมูลผู้ใช้งาน ประกอบด้วย - แสดงข้อมูลสมาชิก - ค้นหาข้อมูลสมาชิก - เพิ่มข้อมูลสมาชิก - แก้ไขข้อมูลสมาชิก - เพิ่มตาแหน่งผู้มาอบรม
  • 22. 20 2.2 Use Case Diagram บันทึกข้อมูลโครงการ ประกอบด้วย - เพิ่มข้อมูลโครงการ - แก้ไขข้อมูลโครงการ - แสดงข้อมูลโครงการ - สั่งพิมพ์ข้อมูลโครงการ ซึ่งจะเชื่อมโยงมาจากการแสดงข้อมูลโครงการ
  • 23. 21 2.3 Use Case Description ของระบบข้อมูลผู้ใช้งาน ชื่อยูสเคส ระบบข้อมูลผู้ใช้งาน รายละเอียดโดยสังเขป ใช้สาหรับจัดการข้อมูล จัดการสิทธิ์การเข้าใช้งานของผู้ใช้งาน แอคเตอร์ ผู้ดูแลระบบ เงื่อนไขก่อนหน้า - ผู้เกี่ยวข้อง ผู้ดูแลระบบ ขั้นตอนการทางานหลัก แอคเตอร์ ระบบ 1. แสดงข้อมูลสมาชิก 2. ค้นหาข้อมูลสมาชิก 3. เพิ่มข้อมูลสมาชิก 4. แก้ไขข้อมูลสมาชิก 5. เพิ่มตาแหน่งผู้มาอบรม 1.1 แสดงข้อมูลสมาชิกของสมาชิกทั้งหมด โดยย่อ 2.1 ระบบจะทาการเคลื่อนตารางไปหาตาแหน่งที่ข้อมูล สมาชิกตามเงื่อนไขที่แอคเตอร์ส่งมา 3.1 เพิ่มข้อมูลสมาชิก และสิทธิ์การใช้งาน ลงในฐานข้อมูล ในระบบ 4.1 แก้ไขข้อมูลสมาชิกของสมาชิกที่เลือก 5.1 ตาแหน่งผู้มาอบรม ใช้ในการเพิ่มข้อมูลโครงการลงใน ฐานข้อมูลในระบบ ขั้นตอนการทางาน ทางเลือก 1. เมื่อค้นหาข้อมูลสมาชิกไม่พบตามเงื่อนไข สามารถเลือกที่จะเพิ่มผู้ใช้งานสมาชิกได้ 2. เมื่อค้นหาข้อมูลสมาชิกพบและข้อมูลถูกต้องตามเงื่อนไข สามารถจบการทางานได้ 3. เมื่อเพิ่มข้อมูลสมาชิกที่มีอยู่แล้ว จะแจ้งให้ผู้ใช้งานทราบและให้กรอกรายละเอียดอีกครั้ง
  • 24. 22 2.4 Use Case Description ของระบบบันทึกข้อมูลโครงการ ชื่อยูสเคส ระบบบันทึกข้อมูลโรงการ รายละเอียดโดยสังเขป ใช้สาหรับการบันทึกข้อมูล และแก้ไขโครงการต่างๆ แอคเตอร์ ผู้แก้ไขโครงการ และผู้ใช้งานทั่วไป เงื่อนไขก่อนหน้า - ผู้เกี่ยวข้อง ผู้แก้ไขโครงการ และผู้ใช้งานทั่วไป ขั้นตอนการทางานหลัก แอคเตอร์ ระบบ 1. แสดงข้อมูลโครงการ 2. เพิ่มข้อมูลโครงการ 3. แก้ไขข้อมูลโครงการ 4. สั่งพิมพ์ข้อมูลโครงการ 1.1 ระบบจะแสดงข้อมูลโครงการทั้งหมด และผู้ใช้สามารถ เจาะจงเลือกโครงการที่ต้องการได้ 2.1 ระบบจะเพิ่มข้อมูลโครงการต่างๆ ตามเงื่อนไขลงใน ฐานข้อมูลในระบบ 3.1 แก้ไขข้อมูลโครงการของโครงการที่เลือกได้ 4.1 สามารถสั่งพิมพ์โครงการที่เลือกได้ ขั้นตอนการทางาน ทางเลือก 1. เมื่อค้นหาข้อมูลโครงการไม่พบตามเงื่อนไข สามารถเลือกที่จะเพิ่มโครงการใหม่ได้ 2. เมื่อค้นหาข้อมูลโครงการพบและข้อมูลถูกต้องตามเงื่อนไข สามารถจบการทางานได้ 3. เมื่อเพิ่มโครงการที่มีอยู่แล้ว จะแจ้งให้ผู้ใช้งานทราบและให้กรอกรายละเอียดอีกครั้ง
  • 25. 23 3. แผนภาพกิจกรรม (Activity Diagram) แผนภาพกิจกรรม ( Activity Diagram ) คือขั้นตอนการทางานของระบบ โดยจะแสดงให้เห็นถึงทางเลือก และการตัดสินใจตามเงื่อนไขโปรแกรม เพื่อให้ได้ผลลัพธ์ที่ต้องการในขั้นตอนนั้น
  • 27. 25 5. พจนานุกรมข้อมูล (Data Dictionary) Table Name: Account_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภท ข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 uid int(11) ลาดับรายการ PK NO 2 username varchar(255) ชื่อผู้ใช้งาน NO 3 password varchar(255) รหัสผ่านผู้ใช้งาน NO 4 status int(11) สิทธิ์การเข้าถึง NO 5 name varchar(255) ชื่อภาษาไทย NO 6 surname varchar(255) นามสกุลภาษาไทย NO 7 idcard int(11) รหัสประจาตัว NO Table Name: Rank_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภท ข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 rid int(11) ลาดับรายการ PK NO 2 positionName varchar(255) ชื่อตาแหน่ง Trainee_tb FK NO Table Name: Project_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภท ข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 pid int(11) ลาดับรายการ ProjectOwner_tb Indication_tb Fund_tb Lecturer_tb Trainee_tb PK,FK NO 2 pname varchar(255) ชื่อโครงการ NO
  • 28. 26 Table Name: Trainee_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภท ข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 Project_tb.pid int(11) ลาดับรายการ PK NO 2 Rank_tb.rid int(11) รหัสตาแหน่ง NO 3 expectation int(11) เป้าหมายผู้มาอบรม NO 4 reality int(11) ผู้มาอบรมจริง NO Table Name: Fund_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภท ข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 Project_tb.pid int(11) ลาดับรายการ PK NO 2 pfund int(11) งบประมาณ NO 3 ppayment int(11) ใช้งานจริง NO Table Name: Indication_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภท ข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 Project_tb.pid int(11) ลาดับรายการ PK NO 2 lecturer int(11) ดัชนีของวิทยากร NO 3 place int(11) ดัชนีของสถานที่ NO 4 service int(11) ดัชนีของการบริการ NO 5 understand int(11) ดัชนีของความเข้าใจ NO 6 usage int(11) ดัชนีของการนาไปใช้ NO
  • 29. 27 Table Name: Lecturer_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภท ข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 Project_tb.pid int(11) ลาดับรายการ PK NO 2 LectureInfo.lid int(11) รหัสของวิทยากร NO 3 HelperInfo.hid int(11) รหัสของผู้ช่วยวิทยากร NO Table Name: LecturerInfo_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภทข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 lid int(11) ลาดับรายการ Lecture_tb PK,FK NO 2 lname varchar(255) ชื่อของวิทยากร NO 3 lsurname varchar(255) นามสกุลของวิทยากร NO 4 lfrom varchar(255) สถาบันของวิทยากร NO Table Name: HelperInfo_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภทข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 hid int(11) ลาดับรายการ Lecture_tb PK,FK NO 2 hname varchar(255) ชื่อของผู้ช่วยวิทยากร NO 3 hsurname varchar(255) นามสกุลของผู้ช่วยวิทยากร NO 4 hfrom varchar(255) สถาบันของผู้ช่วยวิทยากร NO Table Name: ProjectOwner_tb มีโครงสร้างดังนี้ ลาดับที่ คอลัมน์ ประเภท ข้อมูล คาอธิบาย อ้างอิงตาราง คีย์ ค่าว่าง NULL 1 Project_tb.pid int(11) ลาดับรายการ PK NO 2 leader int(11) จานวนของวิทยากรหลัก NO 3 helper int(11) จานวนของผู้ช่วยวิทยากร NO
  • 31. 29 1.คู่มือการใช้งานโปรแกรม ในส่วนของการใช้งานโปรแกรม จะแบ่งออกเป็นสามส่วนหลัก -User -Editor -Admin 1.เมื่อเปิดโปรแกรม จะพบเจอหน้าตาโปรแกรมแบบนี้ ให้สังเกตสถานะด้านล่าง หากสถานะที่พบเห็น ด้านล่าง คือ Not Connect ให้ทาตามในข้อสอง แต่หากขึ้นว่า Connected ให้ใส่บัญชีเข้าใช้งานได้เลย 2. เมื่อสถานะคือ not connected ให้คลิกไปที่ ฐานข้อมูล และกรอกให้ครบ จากนั้น คลิก บันทึกข้อมูล
  • 32. 30 3. เมื่อเข้าใช้งานได้แล้ว จะพบเจอหน้าตานี้ (แต่ส่วนการทางาน จะแตกต่างกัน หากสิทธิการเข้าถึง ต่างกัน) User mode Editor mode Admin mode
  • 34. 32 4.1 เมื่อกดเพิ่มผู้เข้ารับการอบรมแล้ว คลิกเข้าไป เพื่อใส่จานวนคาดหวัง และ อบรมจริง
  • 35. 33 4.2 กรอกข้อมูลให้ครบ ส่วนปฏิทิน สามารถคลิกเพื่อกดเลือกวันที่ได้ หากไม่ต้องการพิมพ์
  • 38. 36 6.1 คลิกเลือก โครงการที่ต้องการเปรียบเทียบฝั่งซ้าย และ ฝั่งขวา จากนั้นเลือกชนิดที่ต้องการเทียบ ด้านล่าง แล้วกด Compare แต่หากต้องการดูกราฟวงกลม สามารถคลิกที่ ดูกราฟวงกลม ได้เลย
  • 40. 38 7.1 หากกดเข้าไปที่ ภาพรวมโครงการทั้งหมด ให้เลือกว่าอยากดูรายการย้อนหลังกี่เดือน และ รายการใด จากนั้น กด ดูกราฟแนวโน้ม
  • 44. 42 8.1.1 หากต้องการสร้างบัญชี สามารถสร้างได้ทันที 8.1.2 หากต้องการแก้ไขข้อมูลบัญชี เพียงกดที่บัญชีที่ต้องการ และ แก้ไขได้ทันที 8.2 ส่วนการจัดการรายชื่อ เป็นการเพิ่มรายชื่อวิทยากร และ บุคลากร เพียงป้อนชื่อ จากนั้น กดเพิ่มได้ เลย
  • 47. 45 addProject_Panel Imports MySql.Data.MySqlClient Public Class addProject_Panel Public dbconn = Login_Form.dbconn Public sql = Login_Form.sql Public dbcomm = Login_Form.dbcomm Public dbread = Login_Form.dbread Public notadd As Boolean = False Dim positionlist As New List(Of String) Public x, mon As New ArrayList Public a, months As String Public calendarFlag As Integer = 0 Public Sub back_tile_item_Click(sender As Object, e As EventArgs) Handles back_tile_item.Click If Me.IsOpen Then Me.IsOpen = False End If clearAll() End Sub Private Sub trainee_list_ColumnWidthChanging(sender As Object, e As ColumnWidthChangingEventArgs) Handles trainee_list.ColumnWidthChanging e.Cancel = True e.NewWidth = trainee_list.Columns(e.ColumnIndex).Width End Sub Private Sub team_list_ColumnWidthChanging(sender As Object, e As ColumnWidthChangingEventArgs) Handles team_list.ColumnWidthChanging e.Cancel = True e.NewWidth = team_list.Columns(e.ColumnIndex).Width End Sub Private Sub helper_list_ColumnWidthChanging(sender As Object, e As ColumnWidthChangingEventArgs) Handles helper_list.ColumnWidthChanging e.Cancel = True e.NewWidth = helper_list.Columns(e.ColumnIndex).Width End Sub Private Sub add_position_button_Click(sender As Object, e As EventArgs) Handles add_position_button.Click Dim combotext As String = position_combobox.SelectedItem.ToString Dim item1 As ListViewItem = trainee_list.FindItemWithText(combotext) If (item1 IsNot Nothing) Then Else trainee_list.Items.Add(CreateTraineetRow(combotext)) End If End Sub Private Sub trainee_list_MouseClick(sender As Object, e As MouseEventArgs) Handles trainee_list.MouseClick ' show panel list and load all information Dim index As Integer = trainee_list.SelectedIndices(0) Dim myValue As String = InputBox("ใส่จำนวนที่คำดหวัง", "กรุณำใส่ข้อมูล", trainee_list.Items(index).SubItems(1).Text) Dim myValue2 As String = InputBox("ใส่จำนวนที่มำอบรมจริง", "กรุณำใส่ข้อมูล", trainee_list.Items(index).SubItems(2).Text) trainee_list.Items(index).SubItems(1).Text = myValue trainee_list.Items(index).SubItems(2).Text = myValue2 End Sub
  • 48. 46 Private Function CreateTraineetRow(ByVal name As String) As System.Windows.Forms.ListViewItem 'create row in this function and return row and add to project_list Dim row As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New String() {name, "0", "0"}) Return row End Function Private Sub checkTextbox(sender As Object, e As KeyPressEventArgs) Handles fund_textbox.KeyPress If Asc(e.KeyChar) <> 8 Then If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then e.Handled = True End If End If End Sub Private Sub checkTextbox2(sender As Object, e As KeyPressEventArgs) Handles used_textbox.KeyPress If Asc(e.KeyChar) <> 8 Then If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then e.Handled = True End If End If End Sub Private Sub addProject_Panel_Load(sender As Object, e As EventArgs) Handles MyBase.Load addData() End Sub Public Sub addData() calendarFlag = 0 CalendarView1.Hide() mon.Clear() mon.Add("มกรำคม") mon.Add("กุมภำพันธ์") mon.Add("มีนำคม") mon.Add("เมษำยน") mon.Add("พฤษภำคม") mon.Add("มิถุนำยน") mon.Add("กรกฎำคม") mon.Add("สิงหำคม") mon.Add("กันยำยน") mon.Add("ตุลำคม") mon.Add("พฤษจิกำยน") mon.Add("ธันวำคม") 'add data to position combobox sql = "SELECT * FROM `position`" dbcomm = New MySqlCommand(sql, dbconn) dbread = dbcomm.ExecuteReader() While dbread.Read() If Not (position_combobox.Items.Contains(dbread("uname"))) Then position_combobox.Items.Add(dbread("uname")) End If End While dbread.Close() ' end add data
  • 49. 47 'add data to main_lecturer and helper combobox sql = "SELECT * FROM `lecturerinfo`" dbcomm = New MySqlCommand(sql, dbconn) dbread = dbcomm.ExecuteReader() While dbread.Read() If Not (main_lecturer_combobox.Items.Contains(dbread("lname"))) Then main_lecturer_combobox.Items.Add(dbread("lname")) End If If Not (helper_lecturer_combobox.Items.Contains(dbread("lname"))) Then helper_lecturer_combobox.Items.Add(dbread("lname")) End If End While dbread.Close() ' end add data 'add data to leader and team combobox sql = "SELECT * FROM `leaderinfo`" dbcomm = New MySqlCommand(sql, dbconn) dbread = dbcomm.ExecuteReader() While dbread.Read() If Not (leader_combobox.Items.Contains(dbread("leadname"))) Then leader_combobox.Items.Add(dbread("leadname")) End If If Not (team_combobox.Items.Contains(dbread("leadname"))) Then team_combobox.Items.Add(dbread("leadname")) End If End While dbread.Close() ' end add data End Sub Private Sub add_helper_button_Click(sender As Object, e As EventArgs) Handles add_helper_button.Click If helper_lecturer_combobox.SelectedIndex = -1 Then Else Dim combotext As String = helper_lecturer_combobox.SelectedItem.ToString Dim item1 As ListViewItem = helper_list.FindItemWithText(combotext) If (item1 IsNot Nothing) Then Else If main_lecturer_combobox.SelectedIndex = -1 Then helper_list.Items.Add(CreateTraineetRow(combotext)) ElseIf combotext <> main_lecturer_combobox.SelectedItem.ToString Then helper_list.Items.Add(CreateTraineetRow(combotext)) End If End If End If End Sub Private Sub selected_index_changed(sender As Object, e As EventArgs) Handles main_lecturer_combobox.SelectedIndexChanged Dim combotext As String = main_lecturer_combobox.SelectedItem.ToString Dim item1 As ListViewItem = helper_list.FindItemWithText(combotext) If (item1 IsNot Nothing) Then helper_list.Items.Remove(item1) End If End Sub Private Sub add_team_button_Click(sender As Object, e As EventArgs) Handles add_team_button.Click If team_combobox.SelectedIndex = -1 Then
  • 50. 48 Else Dim combotext As String = team_combobox.SelectedItem.ToString Dim item1 As ListViewItem = team_list.FindItemWithText(combotext) If (item1 IsNot Nothing) Then Else If leader_combobox.SelectedIndex = -1 Then team_list.Items.Add(CreateTraineetRow(combotext)) ElseIf combotext <> leader_combobox.SelectedItem.ToString Then team_list.Items.Add(CreateTraineetRow(combotext)) End If End If End If End Sub Private Sub select_index_change(sender As Object, e As EventArgs) Handles leader_combobox.SelectedIndexChanged Dim combotext As String = leader_combobox.SelectedItem.ToString Dim item1 As ListViewItem = team_list.FindItemWithText(combotext) If (item1 IsNot Nothing) Then team_list.Items.Remove(item1) End If End Sub Private Sub checkTextBoxi1(sender As Object, e As KeyPressEventArgs) Handles TextBoxX1.KeyPress Dim FullStop As Char FullStop = "." If e.KeyChar = FullStop And TextBoxX1.Text.IndexOf(FullStop) <> -1 Then e.Handled = True Return End If If Not Char.IsDigit(e.KeyChar) Then If (e.KeyChar <> FullStop) And (e.KeyChar <> Convert.ToChar(Keys.Back)) Then e.Handled = True Return End If End If End Sub Private Sub checkTextBoxi2(sender As Object, e As KeyPressEventArgs) Handles TextBoxX2.KeyPress Dim FullStop As Char FullStop = "." If e.KeyChar = FullStop And TextBoxX2.Text.IndexOf(FullStop) <> -1 Then e.Handled = True Return End If If Not Char.IsDigit(e.KeyChar) Then If (e.KeyChar <> FullStop) And (e.KeyChar <> Convert.ToChar(Keys.Back)) Then e.Handled = True Return End If End If End Sub Private Sub checkTextBoxi3(sender As Object, e As KeyPressEventArgs) Handles TextBoxX3.KeyPress Dim FullStop As Char FullStop = "." If e.KeyChar = FullStop And TextBoxX3.Text.IndexOf(FullStop) <> -1 Then