คุณลักษณะของซอฟต์แวร์ที่มีคุณภาพวัดจากผู้เกี่ยวข้อง 3 กลุ่ม คือ
1. ผู้ใช้ ซอฟต์แวร์ที่มีคุณภาพ คือ ซอฟต์แวร์ ที่สามารถทำงานตามที่ผู้ใช้ต้องการได้อย่างถูกต้อง ง่ายต่อการเรียนรู้และใช้งาน
2. ผู้บำรุงรักษาระดับ วัดคุณภาพจากการอัพเกรด และการเปลี่ยนแปลงระบบ
3. โปรแกรมเมอร์ ซึ่งมีหน้าที่ปรับเปลี่ยนระบบตามที่ลูกค้าต้องการ
ผู้ใช้ทั้งสามกลุ่มมีความหวัง เหมือนกันว่า ระบบต้องมีความน่าเชื่อถือ และมีประสิทธิภาพ ความน่าเชื่อถือวัดได้จากระดับความถูกต้องของผลลัพธ์จากการทำงานของระบบ ซอฟต์แวร์ ที่มีคุณภาพต้องมีระดับความถูกต้องอยู่ในเกณฑ์สูง
ทีมงานในการพัฒนาระบบ
ผู้พัฒนาซอฟต์แวร์ทำหน้าที่สร้างระบบโดยทำงานเป็นทีมงานประกอบด้วยบุคคลต่างๆ ที่มีความเชี่ยวชาญที่แตกต่างกัน ในขั้นตอนแรกของการพัฒนาต้องมีการพบปะพูดคุยกับลูกค้าและผู้ใช้ระบบ เพื่อวิเคราะห์และกำหนดระบบ โดยทำความเข้าใจถึงหน้าที่ทั้งหมดที่ระบบกระทำได้ เขียนเป็นเอกสารระบุความต้องการเพื่อใช้ในการอ้างอิงในการพัฒนาระบบในขั้นตอนต่อไป ผู้ที่ทำหน้าที่นี้เรียกว่านักวิเคราะห์ระบบ (analyst)
ต่อจากนั้นนักวิเคราะห์ระบบจะทำงานร่วมกับผู้ออกแบบระบบ (designers) เพื่อสร้างรายละเอียดในระดับย่อย ๆ ที่ระบบสามารถกระทำได้ ต่อจากนั้นผู้ออกแบบระบบจากทำงานร่วมกับโปรแกรมเมอร์ (programmers) เพื่อให้ผู้เขียนโปรแกรมสามารถเขียนคำสั่งโปรแกรมตามความต้องการได้อย่างถูกต้อง
หลังจากนั้นเป็นหน้าที่ของผู้ทดสอบระบบ (tester) ทำหน้าที่หาข้อผิดพลาดที่อาจเกิดขึ้นในโปรแกรม การทำงานของผู้ทดสอบระบบจะทำงานร่วมกับลูกค้าเพื่อพิสูจน์ว่าระบบสามารถทำงานตามที่ลูกค้าต้องการได้ เมื่อลูกค้ายอมรับจะมีการฝึกฝนการใช้โปรแกรมให้กับผู้ใช้ระบบ โดยผู้ฝึก (trainers) ถึงแม้จะมีการส่งมอบระบบให้ลูกค้าแล้ว ไม่ใช่ว่างานในการพัฒนาจะจบ ถ้ามีข้อผิดพลาดเกิดขึ้นในระบบหรือความต้องการของระบบเปลี่ยนไป ทีมงานบำรุงรักษา (maintenance team) จะเป็นกลุ่มที่ทำหน้าที่รับผิดชอบแก้ไข ปรับปรุง เปลี่ยนแปลงตามความต้องการซึ่งอาจเป็นการแก้ไขการออกแบบ แก้ไขคำสั่งโปรแกรม มีการทดสอบระบบใหม่ และเมื่อมีการปรับเปลี่ยนเกิดขึ้นผู้ฝึกจะต้องสอนหน้าที่ใหม่ที่เพิ่มเติมขึ้นมาให้กับผู้ใช้ระบบเพื่อให้สามารถทำงานได้ตามปกติ
ประเภทของผู้ใช้ระบบ
แบ่งตามความรู้และประสบการณ์
1. ผู้ใช้หน้าใหม่ด้อยประสบการณ์ (Novice User) ผู้ใช้กลุ่มนี้อาจเป็นผู้ที่มีความรู้น้อยมากในด้านคอมพิวเตอร์และระบบงาน และยังอาจจะหวาดวิตกเกี่ยวกับการใช้คอมพิวเตอร์หรือการใช้ระบบงาน
2. ผู้ใช้ที่มีประสบการณ์และความรู้ระดับกลาง (Knowledgeable intermittent user) บางคนมีความรู้ดีในงานและวิธีการใช้คอมพิวเตอร์ แต่จำคำสั่งต่าง ๆ ไม่ค่อยได้ เพราะไม่ได้ใช้บ่อยนัก ว
3. ผู้ใช้ที่ใช้งานประจำหรือผู้เชี่ยวชาญ (Frequent User / Expert) ผู้ใช้กลุ่มนี้เป็นผู้ที่มีความรู้ความเข้าใจในระบบงานอย่างถ่องแท้ สิ่งที่ผู้ใช้กลุ่มนี้ต้องการคือ ความสามารถในการทำงาน การประมวลผล และการตอบสนองกลับเป็นไปอย่างรวดเร็ว
กระบวนการวิเคราะห์ความต้องการ
การบวนการวิเคราะห์ความต้องการมีขั้นตอนดังต่อไปนี้
- เก็บรวบรวมข้อมูลที่เป็นข้อเท็จจริงต่าง ๆ (Data gathering)
- วิเคราะห์เพื่อระบุถึงความต้องการต่าง ๆ (Requirement Identification)
- คัดเลือกส่วนที่เป็นสาระสำคัญและอยู่ในขอบเขตการพัฒนา (Requirement selection)
- จัดจำแนกและจัดโครงสร้างของความต้องการ (Requirement classification and structuring)
- จัดลำดับความสำคัญและตกลงเจรจา (Prioritization and negotiation)
- ตรวจสอบความถูกต้อง (Requirement validation)
- จัดทำ Requirement specification
การพัฒนาระบบจะทำการวิเคราะห์ความต้องการ ผู้เกี่ยวข้อง 2 กลุ่ม คือ ลูกค้าและผู้พัฒนา
1. Requirement Definition Document เป็นเอกสารที่เขียนสำหรับลูกค้า โดยเขียนด้วยภาษาที่ลูกค้าเข้าใจง่าย มีการอธิบายถึงปัญหาและสิ่งที่ลูกค้าต้องการ เป็นภาพรวมของระบบใหม่ที่สามารถกระทำได้ กำหนดไว้ในเอกสารอย่างชัดเจน เพื่อใช้เป็นหลักฐานแสดงข้อตกลงระหว่างลูกค้าและผู้พัฒนา
2. Requirement Specification Document เป็นเอกสารที่บรรยายคุณลักษณะของระบบทางด้านเทคนิค เป็นเอกสารที่ใช้สำหรับนักออกแบบระบบ เพื่อให้สามารถเข้าใจระบบได้ง่าย
