วันอาทิตย์ที่ 29 มิถุนายน พ.ศ. 2557

เฉลยคำถามเกี่ยวกับคุณภาพซอฟแวร์

คำถามเกี่ยวกับคุณภาพซอฟแวร์



1. คุณภาพซอฟแวร์ หมายถึง
                     คุณภาพของซอฟแวร์ (Software Quality) หมายถึง ระดับที่ผลิตภัณฑ์ซอฟแวร์สามารถตอบสนองความต้องการของผู้ใช้ซอฟแวร์ได้ โดยจะต้องมีคุณลักษณะที่ซอฟแวร์ใดๆ ควรจะมี หากซอฟแวร์มีคุณสมบัติครบถ้วนตามเงื่อนไข ก็จะเรียกว่าเป็น ซอฟแวร์ที่มีคุณภาพ



2. การจัดการคุณภาพซอฟแวร์ มีอะไรบ้าง

           การจัดการคุณภาพของซอฟแวร์ (Software Quality Management) คือ การ
ระบุวิธีการกำหนดคุณลักษณะของซอฟแวร์ที่มีคุณภาพ วิธีการวัดคุณภาพ และปรับปรุง
คุณภาพของกระบวนการพัฒนาซอฟแวร์ โดยมีต้นทุนของคุณภาพ ประกอบไปด้วย
         1. ต้นทุนการป้องกัน (Prevention Cost) เป็นค่าใช้จ่ายที่ใช้ป้องกันเพื่อไม่ให้เกิดความ
บกพร่องในการควบคุมคุณภาพ
         2. ต้นทุนในการประเมิน (Appraisal Cost) เป็นค่าใช้จ่ายที่เกิดจากการตรวจสอบ หรือ
วัดเพื่อประเมินคุณภาพซอฟแวร์
         3. ต้นทุนของความผิดพลาดภายใน (Internal Failure Cost) เป็นค่าใช้จ่ายที่เกิดจาก
การผิดพลาดทางการผลิต
         4. ต้นทุนของความผิดพลาดภายนอก (External Failure Cost) เป็นค่าใช้จ่ายที่เกิดจาก
ความผิดพลาดหลังส่งมอบสินค้าให้กับลูกค้า เช่น บริการหลังการขาย 



3. การทดสอบซอฟแวร์มีกี่ประเภท อะไรบ้าง จงอธิบาย
       การทดสอบซอฟแวร์แบบ Dynamic (Dynamic Testing) หมายถึง การทดสอบโค้ดของ
โปรแกรม โดยการนำข้อมูลเข้าทดสอบจริงและเปรียบเทียบผลลัพธ์กับผลการทดสอบที่
คาดหวัง โดยการทดสอบซอฟแวร์แบบ Dynamic มี ประเภท คือ
         1. การทดสอบแบบกล่องดำ (Black-box Testing) โดยเป็นการทดสอบผลการทำงาน
ของซอฟแวร์ในแต่ละหน้าที่ตามข้อกำหนดความต้องการเท่านั้น เพื่อดูว่าซอฟแวร์ทำงาน
ได้ถูกต้องตามที่กำหนดไว้หรือไม่ โดยไม่ต้องคำนึงถึงคำสั่งภายในโปรแกรม และยังทดสอบ
ประสิทธิภาพและเงื่อนไขของขอบเขตข้อมูลที่จะนำเข้าด้วย
         2. การทดสอบแบบกล่องขาว (White-box Testing) เป็นการทดสอบตรงข้ามกับ
Black-box Testing โดยจะทดสอบเส้นทางการควบคุมการทำงาน และโครงสร้างควบคุม
ภายในโปรแกรมว่าถูกต้องตามที่ควรเป็นหรือไม่
                    
สำหรับการทดสอบซอฟแวร์ในรูปแบบอื่น ๆ ซึ่งไม่ใช่ Dynamic Testing มีดังนี้
         1. การทดสอบซอฟแวร์แบบ Static Testing เป็นการทดสอบโดยใช้โปรแกรมพิเศษ ที่
เรียกว่า “Static Analyzer” เพื่อรันโค้ดโปรแกรม เพื่อต้องการดูรูปแบบของโค้ดที่ผิดปกติ
ซึ่งอาจทำให้การทำงานผิดพลาดได้
         2. การทดสอบแบบรวมหน่วย (Integration Testing) เป็นการทดสอบการทำงานของ
กลุ่มโปรแกรม หรือส่วนประกอบย่อย โดยทำงานหน้าที่ใดหน้าที่หนึ่งร่วมกัน เพื่อค้นหา
ข้อผิดพลาดที่อาจเกิดขึ้นได้
         3. การทดสอบระบบ (System Testing) เป็นการทดสอบระบบเมื่อรวมเข้ากับ
องค์ประกอบอื่นๆ เช่น อุปกรณ์ บุคลากร และข้อมูล เพื่อทดสอบระบบว่าทำงานตรงตาม
ข้อกำหนดและความต้องการผู้ใช้หรือไม่
         4. การทดสอบระบบนั้นหรือไม่ การทดสอบการยอมรับของผู้ใช้จะเริ่มขึ้นก็ต่อเมื่อผ่าน
การทดสอบในระดับอื่นๆ มาแล้วทั้งหมดทดสอบการยอมรับของผู้ใช้ 
(User AcceptanceTesting) เป็นการทดสอบระบบในสภาพแวดล้อมจริง โดยมีผู้ใช้เป็นผู้
ทดสอบ และตัดสินว่าจะยอมรับใช้



4.อนุกรมมาตรฐาน ISO 9000 ประกอบด้วยอะไรบ้าง จงอธิบาย
         อนุกรมมาตรฐาน ISO 9000 เป็นมาตรฐานสำหรับระบบการบริหารจัดการขององค์กร
ที่มีการประกับคุณภาพของสินค้า หรือบริการที่ลูกค้าได้รับ ในการรับรองคุณภาพจะมี
หลักเกณฑ์การประเมินโดยองค์กรสากลเพื่อมาตรฐาน หากตรงตามหลักเกณฑ์ที่กำหนดไว้
สินค้าหรือบริการนั้นจะได้รับรองคุณภาพจาก ISO โดยอนุกรมมาตรฐานของ ISO
9000 ประกอบด้วย
•ISO 9001 คือ มาตรฐานระบบคุณภาพ ซึ่งกำกับดูแล ทั้งการออกแบบและพัฒนา การผลิต
การติดตั้ง และการบริการ
•ISO 9002 คือ มาตรฐานระบบคุณภาพ ซึ่งกำกับดูแลเฉพาะการผลิต และการบริการ
•ISO 9003 คือ มาตรฐานระบบคุณภาพ ซึ่งกำกับดูแลทั้งการตรวจสอบ และทดสอบชั้น
สุดท้าย ก่อนการส่งมอบ



5. บอกขั้นตอนการปฏิบัติตามมาตรฐาน ISO 9001

          สำหรับการผลิตซอฟแวร์ มาตรฐานที่เหมาะสมและนิยมคือ ISO 9001 โดยมีการ
กำหนดหลักการปฏิบัติทั่วไปที่สามารถนำมาใช้กับการผลิตซอฟแวร์ได้ โดยมีขั้นตอนการ
ปฏิบัติ ตามมาตรฐาน ISO 9001 ดังนี้
1. คุณภาพจะต้องได้รับความเห็นชอบจากทุกๆ ฝ่ายที่เกี่ยวข้อง โดยเฉพาะผู้บริหาร
ระดับสูงขององค์กร ที่จะต้องจัดการทรัพยากรต่างๆ ให้เหมาะสมและคุ้มค่าในการลงทุน
2. ระเบียบการจะต้องกำหนดถึงรายละเอียดของขั้นตอนการพัฒนาและทดสอบซอฟแวร์
ไม่ว่าผลลัพธ์นั้นจะสอดคล้องกับความต้องการของลูกค้าในช่วงเวลานั้นหรือไม่ก็ตาม
3. ซอฟแวร์จะต้องได้รับการยอมรับจากลูกค้าอย่างโปร่งใส
4. ซอฟแวร์จะต้องมีการส่งมอบและติดตั้งการใช้งานได้อย่างถูกต้อง และเหมาะสม
5. ซอฟแวร์จะต้องได้รับการบำรุงรักษาอย่างถูกวิธี
6. ซอฟแวร์จะต้องได้รับการบริการหลังการขาย โดยมีคู่มือ ประวัติลูกค้า เอกสารกำกับดูแล
การฝึกอบรม และข้อบันทึกการบำรุงรักษา เป็นต้น
7. ซอฟแวร์จะต้องได้รับการแก้ไขได้ทันท่วงที หากเกิดข้อผิดพลาด หรือเบี่ยงเบนไปจาก
มาตรฐานที่กำหนดไว้  



6 . ระบบวิกฤติ  หมายถึง  และ มีคุณลักษณะอย่างไร

       ระบบวิกฤติ(Critical System) หมายถึง ระบบที่มนุษย์หรือธุรกิจต้องพึ่งพาอาศัยการ
ทำงานของระบบเป็นหลัก หากระบบวิกฤติล้มเหลว จะทำให้เกิดปัญหาร้ายแรงและความ
เสียหายอย่างมาก ยกตัวอย่างระบบวิกฤติ เช่น ระบบควบคุมการบิน ระบบเตือน
เมื่อเกิดไฟไหม้ ระบบถุงลมนิรภัย ระบบควบคุมจราจรทางอากาศ ระบบเตือนภัยพิบัติทาง
ธรรมชาติ เป็นต้น การทำงานของระบบเหล่านี้เกี่ยวข้องสัมพันธ์กับผู้ใช้ และธุรกิจการค้า
อย่างมาก ต้นทุนที่ใช้พัฒนาสูง หากเกิดการผิดพลาดกับระบบวิกฤติ จึงนับว่ามีความ
ร้ายแรงตามไปด้วย
         สาเหตุที่ทำให้ระบบวิกฤติทำงานล้มเหลวมีดังนี้
1. ความล้มเหลวของฮาร์ดแวร์ระบบ (System Hardware)
2. ความล้มเหลวของซอฟแวร์ระบบ (System Software)
3. ความล้มเหลวของผู้ควบคุมระบบ (Human Operator)
         มีการกำหนดคุณลักษณะของระบบวิกฤติ 5 ประการคือ
                     1. พึ่งพาได้ (Dependability)
                     2. เชื่อถือได้ (Reliability)
                     3. พร้อมใช้งานเสมอ (Availability)
                     4. ปลอดภัย (Safety)
                     5. มีการรักษาความมั่นคงปลอดภัย (Security)



7. ระบบวิกฤติ แบ่งออกเป็นกี่ประเภท อะไรบ้าง
         1. Safety Critical System เป็นระบบวิกฤติที่มีความปลอดภัยเป็นคุณสมบัติหลัก
ระบบวิกฤติประเภทนี้ หากเกิดความล้มเหลว อาจทำให้เกิดอันตรายกับมนุษย์ หรือสร้าง
ความเสียหายแก่สภาพแวดล้อมอื่นของระบบ
         2. Mission Critical System เป็นระบบวิกฤติที่เมื่อเกิดความเสียหายขึ้นแล้ว อาจทำให้
เป้าหมายการดำเนินธุรกิจในระยะยาวล้มเหลวไปด้วย เช่น ระบบพยากรณ์ ระบบจัดการ
ทรัพยากร เป็นต้น
         3. Business Critical System เป็นระบบวิกฤติที่เมื่อเกิดความเสียหายขึ้นแล้ว อาจ
ทำให้เป้าหมายการดำเนินธุรกิจในระยะสั้นล้มเหลวไปด้วย  โดยอาจทำให้ธุรกิจต้องสูญเสีย
ค่าใช้จ่ายจำนวนมาก เช่น ระบบธนาคารรายย่อย ระบบลูกค้าสัมพันธ์ เป็นต้น




ไม่มีความคิดเห็น:

แสดงความคิดเห็น