วันอังคารที่ 31 มกราคม พ.ศ. 2555

การประมาณการซอฟตแ์แวร (Software Estimation)

การประมาณการซอฟตแ์แวร (Software Estimation)
 การประมาณการซอฟต์แวร์ เป็นส่วนที่สำคัญในการวางแผนงาน เนื่องจาก
แผนงานนั้นจะอยู่บนพื้นฐานของสิ่งที่ต้องการทำการจัดสร้างหรือพัฒนา โดย
ในสว่วนของซอฟตแ์แวรน์นั้นมุมมองหลักที่มองถึง คือเรื่องของขนาด (Size)
ค่าใช้จ่าย (Cost) บุคลากรที่ใช้ในการพัฒนา (Effort)
 Size Estimation
สิ่งแรกที่จะต้องทำก่อนการเริ่มต้น
การประมาณการ คือ การวัด แยก
 ลักษณะการวัดออกเปน็น 2 เชิง คือ
การวัดในเชิงปริมาณ (Software
Quantitative) และการวัดเชิงคุณภาพ
(Software Qualitative)
 Size Estimation
กรรมวิธีที่ใช้ในการวัดขนาดของซอฟตแ์แวร  มี 2 ลักษณะ คือ
Line of Code (LOC) Count
Function Point (FP)
Line of Code (LOC) Count
 นับเฉพาะบรรทัดที่มีการจัดสง่งเปน็น Source Code ไม่นับรวมสว่วนของการ
ทดสอบ (Test Driver) หรือส่วนงานที่รองรับการทำงานอื่นๆ
นับเฉพาะบรรทัดที่พัฒนาโดยบุคลากร ไม่นับรวมสิ่งที่ระบบงานสามารถ
Generate ได้อัตโนมัติ
ถือว่าหนึ่งคำสั่ง คือ หนึึ่ง Line of Code <LOC>
นับส่วนของการประกาศค่า (Declaration) เป็นส่วนของ Instruction
ไม่นับส่วนของการขยายความ หรือ Comment
 Function Point (FP)
ปัจจุบันการนับขนาดของโปรแกรมด้วยการนับบรรทัดนั้น ไม่สามารถให้ผล
การวัดในเชิงผลสัมฤทธิ์ของโปรแกรมได้อย่างชัดเจน การนำวิธีการนับด้วย
ฟังก์ชั่นพอยต์เข้ามาใช้นั้น จึงได้รับความสนใจ
การวัดด้วยฟังก์ชันพอยต์ จะมุ่งเน้นที่การวัดด้วยฟังก์ชัน หรือการวัดโดย
ผ่านมุมมองความต้องการของซอฟต์แวร์
Allan Albrecht [1] John Gaffney, Jr [2] ได้ออกแบบ FPs ที่ใช้วัดฟังก์ชั่น
พอยต์ FPs เป็นผลรวมของขนาด ข้อมูลเขา้ , ข้อมูลออก, ข้อมูลความ
ต้องการ, แฟ้มข้อมูล และส่วนของโปรแกรมที่ใช้ในการติดต่อกับลูกค้า
 Function Point (FP)
กระบวนการนับฟังก์ชันพอยต์ มีลักษณะดังนี้
ขั้นที่ 1 นำ Requirement ที่เก็บรวบรวมไว้มาทำการแบ่งฟังก์ชันพอยต์
ขั้นที่ 2 ประเมินความซับซอ้อนของฟงังกช์ชัน
ขั้นที่ 3 เปรียบเทียบความซับซ้อน เพื่อให้ได้ระดับความซับซ้อน เพื่อคำนวณฟังก์ชัน
พอยตท์ที่ยังไม่ไดป้ปรับคา่า (Unadjusted Function Point : UFP)
ขั้นที่ 4 คำนวณค่าตัวแปรปรับค่า (Value Adjustment Factor) ตามลักษณะของโครงการ
ขั้นที่ 5 คำานวณจำานวนฟงังกช์ชันพอยตท์ ี่ผา่านการปรับคา่ (Adjusted Function Point : AFP)
ขั้นที่ 6 ฟังก์ชันพอยต์ที่ผ่านการปรับค่า สามารถนำไปคำนวณเป็น LOC ได้
 Function Point (FP)
ประเภทของฟังก์ชันพอยต์ สามารถแบ่งได้ 5 ลักษณะหลัก คือ
External Input (EI)
External Output (EO)
External Inquiry (EQ)
Internal Logical Files (ILF)
External Interface Files (EIF)
 Function Point (FP)
แตล่ ะฟังก์ชันพอยต์นั้น มีองค์ประกอบตา่ งๆ ในฟังก์ชันแตล่ ะประเภท
ซึ่งจะแตกต่างกันได้ เช่น
การเกี่ยวขอ้องกับองคป์ประกอบขอ้อมูล (Data Element : DET)
เป็นข้อมูล เปรียบเสมือนฟิลด์ข้อมูลที่สนใจในแต่ละฟิลด์
เรคคอรค์ ขอ้ มูล (Record Element : RET)
กลุ่มของข้อมูล หรือกลุ่มย่อยของ DET หรือการนับประเภทของเรคคอร์ดข้อมูล
ที่เกี่ยวขอ้องสัมพันธก์กับฟงังกช์ชันที่สนใจ
 ประเภทไฟล์ (File Type of Record : FTR)

การบริหารโครงการผลิตซอฟต์แวร์

การบริหารโครงการผลิตซอฟต์แวร์
การบริหารโครงการผลิตซอฟต์แวร์
1 การบริหารโครงการผลิตซอฟต์แวร์
        โครงการ (Project) หมายถึง การดำเนินกิจกรรมตามแผนงานที่ได้จัดทำขึ้น โดยแต่ละกิจกรรมมีวันที่เริ่มต้นและวันสิ้นสุด เพื่อบรรลุวัตถุประสงค์หรือเป้ามายที่ได้กำหนดไว้ ภายใต้ระยะเวลา ทรัพยากร และงบประมาณที่ได้กำหนดไว้
        การบริหารโครงการ (Project Management) หมายถึง การประยุกต์ใช้องค์ความรู้ ทักษะ เครื่องมือ และเทคนิค เพื่อดำเนินกิจกรรมตามความต้องการของโครงการให้บรรลุวัตถุประสงค์ที่กำหนดไว้
        1.1 จงจรชีวิตของซอฟแวร์
                โครงการทุกประเภท เป็นสิ่งที่จัดตั้งขึ้นเพียงชั่วคราวเท่านั้น ตลอดช่วงอายุของโครงการจะมี 4 ระยะ ได้แก่
                1. ระยะเริ่มโครงการ (Project Initiation)
                หลังจากที่องค์กรได้คัดเลือกโครงการที่เหมาะสมที่สุดแล้ว ทีมงานที่รับผิดชอบต้องเริ่มต้นโครงการด้วยการกำหนดขอบเขต ขนาด รวมทั้งกำหนดกิจกรรม แต่ละขั้นตอนด้วย
                2. ระยะวางแผนโครงการ (Project Planning)
                ผู้บริหารโครงการต้องกำหนดกิจกรรมในแต่ละขั้นตอนอย่างชัดเจน รวมถึงการใช้ทรัพยากรต่างๆ และต้องประเมินความเสี่ยงด้วย
3. ระยะดำเนินโครงการ (Project Execution)
ทีมงานต้องดำเนินกิจกรรมผลิตซอฟต์แวร์ตาม Schedule ที่จัดไว้ โดยผู้บริหารต้องติดตามการทำงาน ดูแล สั่งการ และควบคุมการทำงาน ของลูกทีมให้ดำเนินตามแผนที่กำหนดไว้
4. ระยะปิดโครงการ (Project Closing)
เป็นการดำเนินงานหลังจากติดตั้งซอฟต์แวร์เพื่อใช้งานเสร็จสิ้นแล้ว การปิดโครงการมี 2 ลักษณะคือ การปิดโครงการด้วยความสำเร็จ และการปิดโครงการเนื่องจากความล้มเหลว
รูป 1 แสดงวงจรชีวิตโครงงาน
        1.2 ความยากของการบริหารโครงการผลิตซอฟต์แวร์
                โครงการผลิตซอฟแวร์จะเป็นงานที่ยากกว่าการบริหารโครงการประเภทอื่น เนื่องจากสาเหตุต่างๆ ดังนี้
        1. ซอฟต์แวร์เป็นผลิตภัณฑ์ที่จับต้องไม่ได้         เนื่องจากไม่สามารถเห็นผลลัพธ์ที่ชัดเจน
        2. กระบวนการผลิตซอฟต์แวร์ไม่มีมาตรฐานที่แน่นอน ขึ้นอยู่กับสภาพแวดล้อมในการพัฒนา
        3. โครงการผลิตซอฟต์แวร์ขนาดใหญ่ย่อมมีลักษณะพิเศษแตกต่างกัน ขึ้นอยู่กับเทคโนโลยีใน
ขณะนั้น
4. ความต้องการในการผลิตซอฟแวร์เป็นวัตถุดิบที่ไม่สามารถจัดต้องได้ และความต้องการของลูกค้ามักเปลี่ยนแปลงอยู่เสมอ
2 กิจกรรมในการบริหารโครงการ
        1. การเขียนข้อเสนอโครงการ (Proposal Writing) ยื่นต่อเจ้าของโครงการเพื่อขออนุมัติดำเนินโครงการ เป็นขั้นตอนที่ค่อนข้างสำคัญ ซึ่งจะอนุมัติหรือไม่ก็ขึ้นอยู่กับขั้นตอนนี้ โดยประกอบไปด้วยวัตถุประสงค์ การประมาณการต้นทุนและตารางงาน วิธีการดำเนินงาน และประโยชน์ที่จะได้รับจากโครงการ
        2. การวางแผนและจัดตารางงานโครงการ (Project Planning and Scheduling) เป็นการกำหนดกิจกรรมหลัก กิจกรรมย่อย และเป้าหมายของแต่ละกิจกรรม (Milestone) การส่งมอบงาน และจัดตารางงาน โดยกำหนดเวลาเริ่มต้นและส่งมอบงาน
        3. งบประมาณการต้นทุนโครงการ (Cost Estimation) การประมาณการต้นทุน จะเกี่ยวข้องกับการประมาณการทรัพยากรส่วนอื่นร่วมด้วย
        4. การติดตามและทบทวนโครงการ (Project Monitoring and Review) ผู้บริหารโครงการจะติดตามความคืบหน้าของงาน พร้อมกับพิจารณาระยะเวลาและต้นทุนที่ใช้จริงเปรียบเทียบกับแผนที่วางไว้ ทบทวนการทำงานและปัญหาที่เกิดขึ้น
        5. การคัดเลือกและประเมินบุคลากร ผู้บริหารจะต้องคัดเลือกบุคลากรเพื่อเข้าไปทำหน้าที่ต่างๆ ซึ่งบุคลากรจะต้องมีความสามารถที่พอจะรับผิดชอบงานที่ได้รับมอบหมายได้
        6. การเขียนและนำเสนอรายงาน การเขียนและนำเสนอรายงานเป็นอีกหน้าที่หนึ่งของผู้บริหารโครงการ เพื่อนำเสนอต่อลูกค้าและผู้รับเหมาช่วง (ถ้ามี) การเขียนรายงานจะต้องใช้ข้อความที่กระชับ เข้าใจง่าย และสอดคล้องกัน
3 การวางแผนโครงการ
        การบริหารโครงการจะมีประสิทธิภาพหรือไม่ขึ้นอยู่กับการวางแผนของผู้บริหารโครงการ ซึ่งไม่ใช่เพียงการวางแผนการดำเนินงานต่างๆ ให้มีความคืบหน้าเท่านั้น แต่ยังรวมถึงการวางแผนรับมือและป้องกันปัญหา ที่จะเกิดขึ้นอีกด้วย จึงทำให้ผู้บริหารโครงการต้องจัดทำแผนงานชนิดอื่นที่เกี่ยวข้องด้วย เช่น
        1. แผนงานคุณภาพ (Quality Plan) แสดงรายละเอียดกระบวนการจัดการคุณภาพและมาตรฐานคุณภาพที่เลือกใช้
        2. แผนงานการทวนสอบ (Validation Plan) แสดงแนวทาง ทรัพยากรที่ต้องใช้ และตารางการทวนสอบระบบ
        3. แผนการจัดการโครงแบบระบบ (Configuration Management Plan) แสดงกระบวนการจัดการโครงแบบของระบบและโครงสร้างที่ใช้
        4. แผนงานบำรุงรักษาระบบ (Maintenance Plan) คาดการความต้องการบำรุงรักษาระบบในอนาคต พร้อมทั้งประมาณการด้นทุนและแรงงานที่ต้องใช้
5. แผนงานพัฒนาบุคลากร (Staff Development) แสดงรายละเอียดทักษะ และประสบการณ์ที่ทีมงานต้องปรับปรุง
รูป 2 แสดงขั้นตอนการจัดทำแผนงานโครงการ
สิ่งที่ได้จากกาวางแผนโครงการคือ แผนงานโครงการ ซึ่งส่วนใหญ่จะประกอบไปด้วย
        1. บทนำ (Instruction)
        2. โครงสร้างของโครงการ (Project Organization)
        3. การวิเคราะห์ความเสี่ยง (Risk Analysis)
        4. ความต้องการฮาร์ดแวร์และซอฟต์แวร์ (Hardware and Software Resource)
        5. โครงสร้างงาน (Work Breakdown)
        6. ตารางงาน (Project Schedule)
        7. การติดตามผลและรายงานผล (Monitoring and Reporting)
        เป้าหมายของกิจกรรมและส่งมอบงาน  (Milestone and Deliverable)
        Milestone คือ เป้าหมาย หรือหลักชัยของกิจกรรม มีระโยชน์ต่อการติดตามความคืบหน้าของงานที่ทำ เมื่อดำเนินกิจกรรมเสร็จสิ้นตามเป้าหมาย
รูปที่ 3 แสดงตัวอย่าง Milestone
        Deliverable คือ ผลลัพธ์ที่จะส่งมอบให้แก่ลูกค้าซึ่งได้จาการดำเนินโครงการ โดยทั่วไปจะส่งมอบงานเมื่อเสร็จสิ้นงานในแต่ละระยะของโครงการ
        สิ่งที่เหมือนกันของ Milestone กับ Deliverable คือ ได้เมื่อเสร็จสิ้นกิจกรรม ที่ต่างกันคือ Milestone ได้จากการดำเนินกิจกรรมที่ดำเนินภายในโครงการ และต้องทำรายงานเสนอผู้บังคับบัญชา ส่วน Deliverable ได้จากการดำเนินกิจกรรมซึ่งต้องส่งมอบให้ลูกค้า
4 การจัดตารางงานโครงการ
        เป็นกิจกรรมที่ผู้บริหารโครงการต้องเริ่มจากการนำกิกรรมมาแบ่งเป็นกิจกรรมย่อย แล้วกำหนดเวลาแล้วเสร็จให้แต่ละกิจกรรม โดยจะต้องทราบว่ากรรมใดมาก่อนมาหลัง โดยต้องสรรหาบุคลากรให้เหมาะสมกับกิจกรรมเหล่านี้ โดยไม่ทำให้กิจกรรมล่าช้า หรือใช้งบประมาณเกินจากที่กำหนด ซึ่งจะทำให้กิจกรรมกลายเป็น กิจกรรมวิกฤติ (Critical Task) ได้
        1 Gantt Chart
        ใช้จัดตารางการทำงานในโครงการ เป็นกราฟแท่งในแนวนอน แสดงระยะเวลาของกิจกรรมแต่ละขั้นตอน ชื่อจะถูกแสดงทางด้านซ้ายมือ ระยะเวลาจะถูกแสดงในแนวนอนของแผนภาพ
จึงทำให้เห็นลำดับของแต่ละกิจกรรมที่ต่อเนื่องกัน ทำให้ทราบว่ากิจกรรมใดมาก่อนมาหลัง หรือต้องดำเนินไปพร้อมๆ กัน
รูปที่ 4 แสดงตัวอย่าง Gantt Chart

        2.2 PERT/CPM
PERT (Project Evaluation Review Technique)
แสดงเป็นแผนภาพกิจกรรมของโครงการที่เชื่อมต่อกันในลักษณะเครือข่าย ทำให้ทราบว่าจะต้องดำเนินกิจกรรมใดให้เสร็จสิ้นก่อนกิจกรรมถัดไป ตลอกจนกิจกรรมวิกฤติ โดยแต่ละกิจกรรมแทนด้วยเส้นลูกศร ที่เชื่อมโยงกันด้วยวงกลม หรือ Node
        CPM (Critical Path Method) เป็นเทคนิคในการวิเคราะห์เส้นทางหรือกิจกรรมวิกฤติ โดยแสดงเป็นแผนภาพเครือข่ายเหมือน PERT
รูป 5 แสดงตัวอย่าง PERT/CPM
5 กุญแจสู่ความสำเร็จในการบริหารโครงการ
        สถาบัน PMI (Project Management Institute: PMI) ได้กำหนดงานบริหารที่จะนำไปสู่ความสำเร็จของโครงการไว้ทั้งหมด 9 ส่วนโดยอาศัยเครื่องมือและเทคนิคต่างๆ เป็นตัวสนับสนุน ดังนี้
        1. การบริหารโครงการโดยรวม (Project Integration Management) เป็นงานบริหารที่ทำให้มั่นใจว่าการประสานงานการทำงานกันของทุกๆ ฝ่ายมีความเหมาะสมและเป็นที่พอใจของทุกฝ่าย โดยผู้บริหารโครงการมีหน้าที่ในการระบุข้อดีข้อเสีย ของวัตถุประสงค์ต่างๆ เพื่อเลือกเฉพาะวัตถุประสงค์ที่ตอบสนองความต้องการของผู้บริหารระดับสูงสุดได้อย่างแท้จริง
        2. การบริหารขอบเขตของโครงการ (Project Scope Management) เป็นงานบริหารเพื่อให้ขอบเขตุของงานทั้งหมดในโครงการมีเฉพาะงานที่จำเป็นต่อการดำเนินโครงการให้สำเร็จลุล่วงเท่านั้น
        3. การบริหารโครงการเวลา (Project Time Management) เป็นงานบริหารเพื่อปิดโครงการใช้ทันเวลาที่กำหนดไว้ในแผนงาน
        4. การบริหารต้นทุนโครงการ (Project Cost Management) เป็นงานบริหารเพื่อให้โครงการใช้ต้นทุนไม่เกินงบประมาณที่ได้รับอนุมัติ
        5. การบริหารคุณภาพโครงการ (Project Quality Management) เป็นงานบริหารเพื่อให้ทุกๆ กิจกรรม ที่ดำเนินในโครงการมีคุณภาพที่สุด ผู้บริหารจะต้องจัดทำระบบคุณภาพ ซึ่งประกอบด้วย 4 ประการคือ การวางแผนคุณภาพ (Quality Planning) การรับประกันคุณภาพ (Quality Assurance) การควบคุมคุณภาพ (Quality Control) และการปรับปรุงคุณภาพ  (Quality Improvement)
        6. การบริหารทรัพยากรบุคลากรของโครงการ (Project Human Resource Management) เป็นงานบริหารการใช้ทรัพยากรบุคคลของโครงการให้มีประสิทธิภาพและคุ้มค่ามากที่สุด
        7. การบริหารการสื่อสารภายในโครงการ (Project Communication Management) เป็นงานบริหารที่มีวัตถุประสงค์เพื่อให้การจัดทำรายงาน การเก็บรวบรวมข้อมูล การเผยแพร่ การจัดเก็บ และการส่งข้อมูลข่าวสารไปยังปลายทางถูกต้อง แม่นยำ และเหมาะสม
        8. การบริหารความเสี่ยงของโครงการ (Project Risk Management) เป็นงานที่เกี่ยวกับการกำหนดปัจจัยเสี่ยง การวิเคราะห์ความเสี่ยง การวางแผนความเสี่ยง การติดตามความเสี่ยง และการแก้ปัญหาความเสี่ยง
        9. การบริหารการจัดซื้อของโครงการ (Project Procurement Management) การบริหารการจัดซื้อจัดจ้าง เป็นกระบวนการจัดซื้อฮาร์ดแวร์ ซอฟต์แวร์ และว่าจ้างให้บุคคลภายนอกผลิตซอฟต์แวร์ให้ กระบวนการจัดซื้อแบ่งออกเป็น 4 ขั้นตอน ได้แก่ การวางแผนจัดซื้อจัดจ้าง (Procurement Planning) การดำเนินการจัดซื้อจัดจ้าง (Procurement Execution) การทำสัญญา (Contracting Procurement) การยุติสัญญา (Closing Contract)

วิศวกรรมระบบ(System Engineering)

วิศวกรรมระบบ(System Engineering)
วิศวกรรมระบบ
        ระบบ
        ระบบ ( System) หมายถึง กลุ่มขององค์ประกอบต่างๆ ที่สัมพันธ์กัน พึ่งพาอาศัยกัน และต้องปฏิสัมพันธ์กันเพื่อให้บรรลุวัตถุประสงค์ร่วมกัน
        ระบบในแวดวงพัฒนาสสารสนเทศเป็นระบบที่ประกอบไปด้วยฮาร์ดแวร์ ซอฟต์แวร์ และบุคลากร เพื่อประมวลผลข้อมูลให้ได้เป็นสารสนเทศที่ต้องการ ซึ่งก็คือ ระบบที่นำคอมพิวเตอร์มาสนับสนุนการทำงาน หรือ Computer-base System มีส่วนประกอบหลักๆ ดังนี้
1. ซอฟต์แวร์ (Software) คือโปรแกรมคอมพิวเตอร์
2. ฮาร์ดแวร์ (Hardware) ได้แก่ อุปกรณ์อิเล็กทรอนิกส์ที่ใช้ประมวลผล อุปกรณ์เชื่อมต่อ
3. บุคลากร (People) ได้แก่ ผู้ใช้ และผู้ควบคุมการทดงาน ของฮาร์ดแวร์และซอฟต์แวร์
4. ฐานข้อมูล (Database) คือส่วนจัดเก็บข้อมูลและสารสมเทศของระบบ
5. เอกสาร (Documentation) คือ เอกสารรายละเอียดทั้งหมดของระบบ
6. กระบวนการ (Procedure) ได้แก่ขั้นตอนการทำงานของระบบ
นอกจากองค์ประกอบข้างต้นและวัตถุประสงค์หลักขององค์กรแล้ว Computer-base System ยังต้องใช้องค์ความรู้อีกหลายด้านเพิ่มเติม เพื่อกำหนดวิธีการทำงานของระบบให้สามารถบรรลุวัตถุประสงค์อื่นๆ อีกด้วย บางครั้งจึงเรียกระบบลักษณะดังกล่าวว่า Socio-technical System ซึ่งมีคุณสมบัติ 3 ประการได้แก่
1. เป็นระบบที่มีคุณลักษณะ Emergent Properties คือ คุณลักษณะที่ไม่สามารถวัดได้จากระบบย่อยใดระบบหนึ่ง แต่จะต้องวัดจากการทำงานโดยรวมของระบบ
2. พฤติกรรมของระบบไม่แน่นอน บางครั้งระบบอาจแสดงผลลัพธ์ที่แตกต่างออกไปจากเดิม เนื่องจากข้อมูลนำเข้าที่มีลักษณะเฉพาะ หรือบางครั้งระบบอาจมีการตอบสนองในลักษณะอื่นขึ้นอยู่กับผู้ใช้ระบบ
3. เป็นระบบที่ถูกเพิ่มความสามารถให้บรรลุวัตถุประสงค์อื่นๆ นอกเหนือจากวัตถุประสงค์หลัก ทำให้ต้องมีการปรับปรุงระบบให้เข้ากับวัตถุประสงค์อื่นๆ เหล่านั้น ซึ่งอาจส่งผลให้การทำงานของระบบเกิดล้มเหลวได้
3.2 วิศวกรรมระบบ
        โดยส่วนใหญ่ เมื่อระบบทำงานผิดพลาดและไม่สามารถแก้ไขที่กระบวนการของระบบได้โดยตรง จึงต้องแก้ไขที่ซอฟต์แวร์ด้วยการเพิ่มประสิทธิภาพ หรือดัดแปลงการทำงานให้เข้ากับสภาพแวดล้อมที่เป็นสาเหตุในขณะนั้น บางครั้งอาจทำให้ประสิทธิภาพของซอฟต์แวร์ลดลง และส่งผลให้ลูกค้าไม่พอใจในที่สุด ในสถานการณ์ดังกล่าวอาจมองว่าปัญหาเกิดจากซอฟต์แวร์ไม่มีประสิทธิภาพ แต่แท้จริงแล้ว ปัญหาเกิดจากการออกแบบระบบ ที่ไม่ได้คำนึงถึงส่วนประกอบอื่นของระบบโดยเฉพาะสภาพแวดล้อมที่มีอิทธิพลต่อ ระบบ
        วิศวกรมระบบ (System Engineering) หมายถึง กระบวนการศึกษาและวิเคราะห์ของระบบที่มีความสลับซับซ้อน เพื่อสนับสนุนการทำงานในส่วนของวิศวกรรซอฟต์แวร์ กิจกรรมของวิศวกรรมระบบ จะถูกดำเนินไปพร้อมๆ กัน มีดังนี้
        1. กำหนดวัตถุประสงค์ของระบบ
        2. กำหนดขอบเขตระบบ
        3. แบ่งระบบออกเป็นส่วนๆ ตามฟังก์ชันการทำงานหรือคุณสมบัติของระบบ
        4. พิจารณาความสัมพันธ์ของส่วนประกอบต่างๆ ที่เกี่ยวข้องทั้งหมด
        5. กำหนดความสัมพันธ์ของปัจจัยนำเข้า ประมวลผล และผลลัพธ์
        6. พิจารณาปัจจัยที่มีส่วนเกี่ยวข้องในระบบ ไม่ว่าจะเป็นฮาร์ดแวร์ ซอฟต์แวร์ ฐานข้อมูล หรือแม้แต่ผลิตภัณฑ์ซอฟต์แวร์อื่นๆ เป็นต้อ
        7. กำหนดความต้องการในส่วนของการดำเนินการและฟังก์ชันทั้งระบบ
        8. สร้างแบบจำลองระบบ เพื่อใช้วิเคราะห์และพัฒนาให้สอดคล้องกับแบบจำลองซอฟต์แวร์ที่สร้างขึ้น
        9. นำเสนอและแลกเปลี่ยนข้อคิดเห็นกับผู้ที่เกี่ยวข้องกับระบบ ไม่ว่าจะเป็นผู้ใช้ระบบ เจ้าของระบบ หรือแม้แต่ผู้ที่เกี่ยวข้องกับผลประโยชน์ที่มีต่อระบบ

3.3 กระบวนการวิศวกรรมระบบ
        กระบวนการวิศวกรรมระบบ ประกอบไปด้วยขั้นตอนการทำงานทั้งหมด 7 เฟส ได้แก่
รูปที่ 3.1 แสดงกระบวนการวิศวกรรมระบบ (System Engineering Process)
        1. การกำหนดความต้องการ (Requirement Definition)
กระบวนการของวิศวกรรมระบบ เริ่มต้นด้วยการวิเคราะห์ภาพรวมของทั้งองค์กร เพื่อกำหนดนิยามความต้องการของระบบให้ชัดเจน ด้วยการกำหนดหน้าที่ว่าระบบควรทำอะไรได้บ้าง
2. การออกแบบระบบ (System Design)
เป็นการกำหนดรายละเอียดของฟังก์ชั่นในแต่ละส่วนประกอบของระบบ โดยมีกระบวนการย่อยดังนี้
1. แบ่งส่วนความต้องการ (Partition Requirement) วิเคราะห์ความต้องการและจัดโครงสร้างด้วยการแบ่งกลุ่มความต้องการด้วยวิธีที่เหมาะสม
2. กำหนดระบบย่อย (Identify Sub-System) นำระบบใหญ่มาแบ่งส่วนออกเป็นระบบย่อย ด้วยวิธีการหรือแนวทางที่เหมาะสม
3. กำหนดความต้องการในแต่ละระบบย่อย (Assign Requirement) กำหนดความต้องการของแต่ละระบบย่อย ซึ่งต้องสอดคล้องกับความต้องการทั้งหมดของระบบ และจะซับซ้อนขึ้นเมื่อความต้องการมีการเปลี่ยนแปลง
4. กำหนดฟังก์ชันของแต่ละระบบย่อย (Specify Sub-system Functionality) ซึ่งต้องสอดคล้องกับความต้องการของแต่ละระบบย่อยด้วย
5. กำหนดส่วนประสานของระบบย่อย แต่ละระบบย่อยจะต้องเตรียมส่วนประสานไว้บริการระบบย่อยอื่นๆ เพื่อการผนวกรวมระบบ

รูป 3.2 แสดงกระบวนการออกแบบระบบ
        3. การพัฒนาระบบย่อย (Sub-system Development)
เป็นการนำระบบย่อยที่ถูกกำหนดรายละเอียดไว้แล้วในระยะการออกแบบ มาสร้างตามรายละเอียดที่กำหนดไว้ ตามกระบวนการที่เหมาะสม การพัฒนาระบบย่อยโดยทั่วไปจะดำเนินการแบบขนาน เมื่อพบปัญหาจะต้องย้อนกลับไปแก้ไขทันที เนื่องจากการแก้ไขระบบหลังจากการผลิตเสร็จเรียบร้อยแล้วนั้น จะทำให้เกิดต้นทุนที่สูงมาก จึงต้องหันมาแก้ไขที่ซอฟต์แวร์เอง ซึ่งความซับซ้อนของซอฟต์แวร์นั้นมีลักษณะเป็นลูกโซ่ คือ ต้องเริ่มแก้ตั้งแต่ข้อกำหนดความต้องการ งานออกแบบ มาจนถึงโค้ดโปรแกรม จึงทำให้การแก้ไขซอฟต์แวร์นั้นเป็นเรื่องยาก
        4. การผนวกรวมระบบ (System Integration)
ระบบย่อยใดที่พัฒนาเสร็จสิ้นแล้ว จะถูกผนวกรวมเข้าด้วยกันจนกลายเป็นระบบที่เสร็จสิ้นสมบูรณ์ โดยใช้แนวทางที่เรียกว่า Big Bang ซึ่งเป็นการผนวกรวมระบบย่อยทั้งหมดในคราวเดียวกัน ซึ่งมองเห็นข้อผิดพลาดได้ยาก Incremental Integration Process เป็นการผนวกรวมระบบย่อยที่ละระบบ ทำให้มองเห็นความผิดพลาดของระบบได้ง่าย เมื่อผนวกรวมระบบแล้วต้องมีการทดสอบระบบอีกครั้ง
        5. การติดตั้งระบบ (System Installation)
เมื่อตรวจสอบประสิทธิภาพของระบบจนมั่นใจว่าระบบสมารถติดตั้งได้แล้ว ก็ทำการติดตั้งระบบให้ผู้ใช้ ใช้งาน และต้องทำการติดตามประสิทธิภาพการทำงานของระบบหลังการติดตั้งด้วย เมื่อพบข้อผิดพลาดก็ดำเนินการแก้ไขให้ถูกต้อง
        6. การเปลี่ยนแปลงระบบ (System Evolution)
ในช่วงระยะเวลาของการใช้งานระบบ  อาจเกิดการเปลี่ยนแปลงของสิ่งต่างๆ ทั้งในส่วนของระบบเองและสิ่งแวดล้อมระบบ โดยเจ้าระบบอาจต้องการแก้ไขข้อผิดพลาด รวมทั้งแก้ไขความต้องการของระบบเดิมให้เป็นไปตามความต้องการใหม่ เมื่อทุกฝ่ายที่เกี่ยวข้องกันตัดสินใจเปลี่ยนแปลงระบบ จะต้องวางแผนอย่างรอบคอบ เนื่องจาการเปลี่ยนแปลงระบบต้องใช้ต้นทุนค่อนข้างสูง
        7. การปลดระวางระบบ (System Decommission)
การปลดระวางระวางระบบ หมายถึง การเลิกใช้ระบบหลังพบว่าระบบไม่สามารถใช้งานได้อีกต่อไป
ข้อแตกต่างและความสัมพันธ์ระหว่างกระบวนการวิศวกรรมระบบกับกระบวนการวิศวกรรมซอฟต์แวร์ มีดังนี้
        1. ขอบเขตของการแก้ไขงานในระหว่างการพัฒนาระบบ
        เมื่อทีมงานสามารถกำหนดระบบที่จะพัฒนาได้แล้วหากในระหว่างการดำเนินงานอยู่ นั้นมีการเปลี่ยนแปลงความต้องการบางอย่างละการเปลี่ยนแปลงได้รับการอนุมัติ การแก้ไขจึงเป็นเรื่องยาก จึงต้องแก้ไขที่ตัวซอฟต์แวร์ของระบบซึ่งง่ายกว่า
        2. ความสัมพันธ์ของงานด้านวิศวกรรม
        ระบบหนึ่งระบบอาจต้องประยุกต์ใช้งานวิศวกรรมลายด้าน ทั้งนี้เพื่อให้ส่วนประกอบต่างๆของระบบ ทั้งฮาร์ดแวร์ ซอฟต์แวร์ บุคลากร และข้อมูลส่วนอื่นๆ มีความสัมพันธ์สอดคล้องกันเป็นอย่างดี เพื่อป้องกันการเกิดข้อผิดพลาดที่ไม่อาจคาดการณ์ได้ จึงต้องอาศัยวิศวกรหลายคนเพื่อรับผิดชอบงานแต่ละด้าน
3.4 ระบบกับองค์กร
        หากต้องการพัฒนาระบบงานใดระบบงานหนึ่งให้มีประสิทธิภาพและประสิทธิผล ทีมงานจะต้องทำความเข้าใจในองค์กรที่เป็นเจ้าของระบบนั้นด้วย
        วิธีที่จะทราบว่า เทคโนโลยีที่จะนำมาใช้ในองค์กรจะส่งผลกระทบต่อส่วนอื่นขององค์กรอย่างไร ทำได้โดยการศึกษาถึงความสัมพันธ์ระว่างองค์ประกอบทั้ง 5 ส่วนได้แก่
รูป 3.3 แบบจำลองของ H.J. Leavitt แสดงความสัมพันธ์เมื่อนำเทคโนโลยีไปใช้ในองค์กร
        1. บุคลากร (People) ศึกษาคุณสมบัติด้านกำลังความสามารถ และวุฒิภาวะ
        2. วัฒนธรรม (Culture) ศึกษาคุณสมบัติด้านทัศนคติ พฤติกรรม ทักษะการปรับตัว และการเรียนรู้
        3. เทคโนโลยี (Technology) ศึกษาเทคโนโลยีปัจจุบันและผลกระทบที่เกี่ยวข้องกับเทคโนโลยีใหม่ ระดับการใช้งานเครื่องมือ มาตรฐาน และระเบียบวิธีปฏิบัติ
        4. โครงสร้าง (Structure) ศึกษาโครงสร้างบุคลากร โครงสร้างองค์กร
        5. ภาระหน้าที่ (Task) ศึกษาด้านภาระหน้าที่ปัจจุบัน ความซับซ้อนของงานที่ได้รับมอบหมาย และวิธีการทำงาน

วันอาทิตย์ที่ 8 มกราคม พ.ศ. 2555

Dan&Cros:ADVENGER BIGPROJECT

 

ตอนที่ 2 ความจริงเริ่มปรากฎ

หลังจากที่DanและCrosถูกจับตัวไปโดยDr.CHE-NOMข่าวการหายตัวของพวกเขาถูกปิดเงียบราวกับว่าเรื่องนี้ไม่ได้เกิดขึ้น มีเพียงเจ้าสำนักRIDER SOFTอาจารย์ของพวกเขาที่รู้ความเป็นไปของเหตุการณ์ทั้งหมด “หากว่าพวกเขาถูกDr.CHE-NOMจับตัวอยู่การตามหา BIG PROJECTคงต้องหยุดชงักเป็นแน่”อาจารย์ของพวกเขานึกคิด พลันภาพเหตุการณ์ก่อนหน้าที่พวกเขาจะมาตามหาBIG PROJECTก็พุดขึ้นมาในนิมิตของเจ้าสำนักRIDER SOFT เหตุการณ์ที่เป็นเหมือนชนวนที่ทำให้เรื่องทั้งหมดนี้เกิดขึ้นก็คือ......
ราวสามเดือนที่แล้ว ณ ดินแดนแห่งหนึ่งนามว่า ERAWTFOS ดินแดนอันสงบเป็นสำนักฝึกผู้กล้าในนาม RIDER SOFT ผู้คนอยู่กันอย่างสงบและรักใคร่ปรองดองกันสิ่งหนึ่งที่เป็นเสมือนเครื่องยึดเหนี่ยวจิตใจของผู้คนคือ BIG PROJECTถูกเก็บไว้ในเจดีย์บนยอดเขาสูง
สิ่งศักดิ์สิทธิ์ที่ผู้คนในที่นี้เชื่อว่าช่วยบรรดารให้พวกเขาอยู่กันอย่างปลอดภัย....
กลางดึกคืนนั้นเอง ค่ำคืนที่ผู้คนกำลังหลับกันอย่างมีความสุข เบื้องหลังหลังเจดีย์บนยอดเขามีผู้ไม่หวังดีกลุ่มหนึ่งกำลังพยายามเข้าไปในเจดีย์เพื่อหวังจะขโมยBIG PROJECTทว่าโจรชั่วพวกนั้นหาได้รู้ว่าภายในเจดีย์แห่งนั้นมีเจ้าสำนักRIDER SOFTนั่งสมาธิอยู่ภายในเจดีย์ซึ่งรู้เห็นการกระทำของพวกกลุ่มโจรนี้อยู่ ปรึ้ม....พระเจ้าช่วยอยู่ดีๆประตูที่แข็งแกร่งกับถูกทำลายลงทำให้เจ้าสำนักRIDER SOFTตกใจลืมตาขึ้นทันที เบื้องหน้าของท่านเจ้าสำนักคือ ปีศาษพ่อมดCHILจอมเวทที่หน้ากลัว ทุกคนต่างรู้ถึงพลังเวทอันน่ากลัวนี้เป็นอย่างดี แต่ทว่าค่ำคืนนี้ผู้คนมิได้รู้เลยว่าสิ่งที่พวกเขาหวาดกลัว บัดนี้อยู่ตรงหน้าพวกเขาแล้ว.....เจ้าสำนักRIDER SOFTเห็นท่าไม่ดีแล้วจึงใช้คฑาวิเศษที่อยู่ในมือปล่อยเวทในคฑาเพื่อหวังจะขับไล่กลุ่มผู้ไม่หวังดี อนิจจาเวทมนต์ของสำนักRIDER SOFTมิอาจทำให้พ่อมดCHILละคายเคืองแต่อย่างใดมีเพียงสมุนของพ่อมดCHILเท่านั้นที่กระเด็นออกไปนอกเจดีย์ พ่อมดCHILหาได้โต้ตอบกลับมายังคงยืนนิ่งสงบราวกับรู้ว่าเจ้าสำนักRIDER SOFTมิใช่คู่ปรับของตน พ่อมดCHILมองไปรอบๆจากนั้นก็เดินไปที่เก็บBIG PROJECTพ่อมดCHILชูคฑาขึ้นเพื่อจะทำลายกล่องที่บรรจุBIG PROJECTวินาทีนั้นเจ้าสำนักRIDER SOFTผู้อยู่ในเหตุกาณ์จึงพูดขึ้น...

เจ้าสำนักRIDER SOFT: หยุดนะเจ้าปีศาษตราบใดที่ข้ายังมีชีวิตอยู่ข้าไม่มีวันยอมให้แก เอาBIG PROJECTไปแน่ ข้ามศพข้าไปก่อนเถอะ

เจ้าสำนักRIDER SOFTพุ้งเข้าจู่โจมพ่อมดCHILทันทีพ่อมดCHILหาได้หลบการโจมตีของเจ้าสำนักRIDER SOFTเพียงแค่ตวัดมือเบาๆเท่านั้นทำเอาเจ้าสำนักRIDER SOFTกระเด็นไปไกลเจ้าสำนักRIDER SOFTยังไม่ลดละความพยายามใช้คฑาวิเศษที่อยู่ในมือร่ายเวทมนต์ใส่พ่อมดCHILอีกครั้งในขณะนั้นเองพ่อมดCHILจึงพูดขึ้นว่า”ท่านไม่ใช่คู่ปรับของข้าหรอก ท่านก็รู้มิใช่หรือ หลีกทางไปซะดีกว่า ข้าไม่อยากทำร้ายใคร”ประโยคนี้เล่นเอาทางเจ้าสำนักRIDER SOFTชุกคิดทันที”หากเราปล่อยให้พ่อมดCHILเอาBIG PROJECTไปเท่ากับว่าเราเอาความพิบัติสู่ที่นี้ ...หากสู้กันต่อไปก็มีแต่เราที่จะเสียเปรียบ”วินาทีนั้นเองในขณะที่เจ้าสำนักRIDER SOFTกำลังนึกคิดอยู่นั้นเองเสียงหนึ่งคล้ายเสียงการแตกของแก้วดังขึ้น ...ใช่แล้วมันคือเสียงของกล่องBIG PROJECTที่แตก
เจ้าสำนักRIDER SOFT: เจ้ามารร้ายรู้ไหมแกทำอะไรลงไป..มันจะนำสิ่งชั่วร้ายมาสู่ที่นี้ แกรู้หรือไม่
พ่อมดCHIL: นั้นมันเป็นปัญญาของพวกเจ้า
เจ้าสำนักRIDER SOFT: วันนี้หากข้าไม่ตายก็อย่าหวังเลยว่า แกจะได้เอาBIG
PROJECTไป ข้าขอสู้ตาย.....ย๊ากก....
พ่อมดCHIL: ข้าเตือนเจ้าแล้ว หากไม่ฟังอยากตายนักก็เข้ามา ข้าจะสงเคาะห์ให้

พูดจบทั้งสองคนก็เข้าห้ำหั่นกันทันทีทั้งสองคนพลัดกันรุกพลัดกันรับทว่าฝีมือของ เจ้าสำนักRIDER SOFTยังด้อยกว่า พ่อมดCHILมากนักจึงพลาดท่าเสียที เป็นผลให้เจ้าสำนักRIDER SOFTได้รับปาดเจ็บสาหัสเขาไม่มีแรงแม้แต่จะลุกด้วยซ้ำเขาพยายามอื้มมือไปจับคฑาแต่น่าเสียดาย...วินาทีนั้นพ่อมดCHILร่ายเวทมนต์ทำให้ เจ้าสำนักRIDER SOFTร่างกายขยับไม่ได้เสียแล้ว “จะฆ่าเจ้ามันง่ายแสนง่าย จริงอยู่ข้าต้องการอำนาจพลังจากBIG PROJECT แต่ข้าก็ยังอยากให้ตาแก่อย่างเจ้าเห็นความสำเร็จของข้า..เฮ่อๆๆท่านอาจารย์” พ่อมดCHILพูดจบหายไปพร้อมกับBIG PROJECT ภาพที่เห็นตอนนี้ก็คือเจ้าสำนักRIDER SOFTพูดหรือขยับตัวไม่ได้ แววตาของเขาดูเศร้าส้อยอย่างเห็นได้ชัด รึว่าที่พ่อมดCHILพูดเมื่อครู่จะทำให้เขามีอาการเบบนี้

เสียงระฆังเตือนภัยดังขึ้น..บรรดาลูกศิษย์ของเจ้าสำนักRIDER SOFTพากันแห่มาที่เจดีย์ แต่น่าเสียดาย...BIG PROJECTได้ถูกเอาไปแล้วมีเพียงอาจารย์ของพวกเขาที่นอนนิ่งอยู่ภายในเจดีย์
(มีต่อครับ)

Dan&Cros:ADVENGER BIGPROJECT

ตอนที่ 3 กลอุบาย
ตอนที่ 3 กลอุบาย
กลับมาที่ถ้ำของ ดร.cHENoM เหล่าผู้กล้าทั้ง4ถูกจับกุมตัวมาขังไว้ในคุกมืดใต้ดิน ซึ่งไม่ว่าจะมีเวทมนต์หรือพลังขนาดไหนก็ไม่มีใครสามารถออกไปได้ เบื้องหลังคุกนี้คือสนามแม่เหล็กอันทรงพลังทำให้อาวุธทุกชนิดใช้การไม่ได้ เมื่อหาทางออกไปจากคุกนี้ไม่ได้ Danชายหนุ่มผู้มีพลังคลื่นไฟฟ้าจึงออกอุบายแกล้งทำเป็นยอมสวามิพรรคต่อดร.cHENoMเมื่อเป็นอย่างนั้นแล้วพวกเขาจึงถูกปล่อยตัวออกมา แต่ทว่าพวกเขาต้องอยู่ในฐานะของสมุนของดร.cHENoM
ณ ปากถ้ำดร.cHENoMมอบหมายหน้าที่ให้พวกเขาไปหาสิ่งของ3อย่าง หิน electronic 2 ก้อนและBigprojectซึ่งเป็นความต้องการของดร.cHENoMตั้งแต่แรกอยู่แล้ว งานหนักของพวกเขาก็คือต้องต่อกรกับผู้ที่ครอบBigprojectซึ่งเป็นใครที่ไหนไม่ได้นอกจากพ่อมดChin แม้พวกเขาจะรู้ว่าไม่ใช่คู่ต่อสู้ของพ่อมดChinแต่พวกเขาก็ต้องนำBigprojectกลับมาให้ได้รวมทั้งหิน electronic 2 ก้อนที่เป็นเหมือนส่วนประกอบสำคัญ ในการสร้างขุมพลังแห่งพิภพ ที่ดร.cHENoMและพ่อมดChinตามหา
พวกเขาออกเดินทางไปยังทิศตะวันตกตามแผนที่ ที่ดร.cHENoMให้มาระหว่างทางพวกเขาได้เห็นซากโครงกระดูกของมนุษย์อยู่ตลอดทางเป็นเหมือนคำเตือนว่าพวกเขาไม่ควรมาที่นี้ ชายหนุ่มทั้ง4หาได้หวาดกลัวต่อภาพที่เห็นแต่อย่างใดพวกเขายังคงเดินทางต่อไป จนกระทั้งถึงชายแดนอาถรรพ์ดินแดนที่ไม่มีมนุษย์หรือแม้แต่สัตว์ย่างกรายเข้าไป
Dan: ที่นี้ช่างเงียบพิลึก เหลือเกิน
Cros: ใช่เงียบผิดปรกติจริงๆเหมือนมีอะไรบางอย่างจ้องมองพวกเราอยู่ ข้ารู้สึกได้ตั้งแต่มาถึงที่นี้แล้ว
ผู้ร่วมทางอีก2คน
: ........!
ในขณะที่พวกเขากำลังเดินจะผ่านเข้าประตูชายแดนอาถรรพ์นั้นเองพวกเข้าก็ต้องตกใจทันทีเมื่อได้ยินเสียงอันดุดัน
เจ้าพวกเด็กไม่สิ้นกลิ่น น้ำนมพวกแก่คิดว่าพวกแก่กำลังทำอะไรอยู่ ...หากรักชีวิตอยู่ก็จงหันหลังกลับไปซะ..!”
พอเสียงนั้นจบลงก็ปรากฏเงาของชายผู้หนึ่งชายผู้นั้นคือคนเฝ้าประตูชายแดนอาถรรพ์ ใบหน้าของเขาดูเคร่งขึมอย่างเห็นได้ชัดราวกับว่าโกรธแค้นอะไรพวกเขา

Cros: ใจเย็นท่านผู้ทรงพลังข้าไม่ได้มีเจตนารบหลู่ทันแต่อย่างใด พวกข้าเพียงแต่จะขอผ่านประตูเท่านั้นเอง
ผู้เฝ้าประตู
: โอหัง..นักเจ้ามีสิทธิ์อะไรมาสั่งข้า..
Cros: หามิได้ข้าได้สั่งท่าน เพียงแต่ข้าขอให้ท่านโปรดสงสารข้าให้ผ่านประตูเข้าไป
ผู้เฝ้าประตู
: อะไรที่ข้าจะสงสารเจ้าล่ะ..เจ้าเด็กน้อย
Dan: อาจารย์ข้าถูกพ่อมดChinทำร้ายได้รับบาดเจ็บ แถมยังถูกขโมยของล้ำค่าBigprojectท่านยามสุดหล่อ
ช่วยกรุณาให้พวกเราผ่านเข้าไปเถอะ
ผู้เฝ้าประตู
: หา..นี้ข่าวการหายไปของ Bigprojectที่เขาลือกันเป็นเรื่องจริงหรือนี้ ..หรือว่าพวกเจ้าก็คือศิษย์เอก
ทั้ง4ของเจ้าสำนัก
Rider Soft ..แม๊ะ..ข้าต้องขออภัยด้วยที่มิได้ถามพวกเจ้าก่อน
Dan: ไม่เป็นไรครับ..พี่ยามแค่ไม่รู้
Cros: ตอนนี้พวกเราก็คงจะผ่านไปได้แล้วสินะครับ..
ผู้เฝ้าประตู
: อ๋อ ได้ๆ ได้สิเชิญเลยๆ ขอให้พวกเจ้าเดินทางปลอดภัย หวังว่าเราคงได้พบกันอีก
ชายหนุ่มทั้ง4
: ครับ...แล้วเจอกันครับ