05530381 | Software Engineering | ||
วิศวกรรมซอฟต์แวร์ | |||
สังกัด | บริหารธุรกิจ, บริหารธุรกิจ | ||
หน่วยกิต | 3 (3-0-3) | ||
อาจารย์ | จันทิมา เอกวงษ์ | ||
เนื้อหาที่เกี่ยวข้อง
์ |
|
การพัฒนาซอฟต์แวร์ คุณภาพของซอฟต์แวร์สามารถแบ่งประเภทได้เป็น 5 ประเภท คือ
1.คุณภาพด้านการใช้งาน หรือ Usability
2.คุณภาพด้านประสิทธิภาพ หรือ Efficiency
3.คุณภาพด้านความคงทน หรือ Reliability
4.คุณภาพด้านการบำรุงรักษา หรือ Maintainability
5.คุณภาพด้านการนำมาใช้ใหม่ หรือ Reusability
คุณลักษณะของซอฟต์แวร์ที่มีคุณภาพวัดจากผู้เกี่ยวข้อง 3 กลุ่ม คือ
1. ผู้ใช้ ซอฟต์แวร์ที่มีคุณภาพ คือ ซอฟต์แวร์ ที่สามารถทำงานตามที่ผู้ใช้ต้องการได้อย่างถูกต้อง ง่ายต่อการเรียนรู้และใช้งาน
2. ผู้บำรุงรักษาระดับ วัดคุณภาพจากการอัพเกรด และการเปลี่ยนแปลงระบบ เช่น ผู้ใช้ต้องการใช้ระบบจะสถานที่อื่น หรือจากคอมพิวเตอร์เครื่องอื่น ที่แตกต่างกัน ผู้บำรุงรักษาระบบต้องจัดการโดยง่าย สามารถติดตั้ง ซอฟต์แวร์ได้ง่าย การทำงานของซอฟต์แวร์สามารถทำได้ถูกต้องและต้องไม่ลดประสิทธิภาพลงจากเดิม
3. โปรแกรมเมอร์ ซึ่งมีหน้าที่ปรับเปลี่ยนระบบตามที่ลูกค้าต้องการ ซอฟต์แวร์ที่มีคุณภาพต้องเอื้อประโยชน์ให้สามารถทราบตำแหน่งของคำสั่งที่ผิดพลาดได้ง่าย สามารถเข้าใจและแก้ไขความผิดพลาดได้ง่าย
ผู้ใช้ทั้งสามกลุ่มมีความหวัง เหมือนกันว่า ระบบต้องมีความน่าเชื่อถือ และมีประสิทธิภาพ ความน่าเชื่อถือวัดได้จากระดับความถูกต้องของผลลัพธ์จากการทำงานของระบบ ซอฟต์แวร์ ที่มีคุณภาพต้องมีระดับความถูกต้องอยู่ในเกณฑ์สูง นอกจากนี้ต้องใช้เวลาในการปฏิบัติงาน หรือการตอบสนองกับผู้ใช้อย่างรวดเร็ว ในระยะเวลาที่ผู้ใช้ยอมรับได้ รวมทั้งต้องสามารถเข้าใจและเรียนรู้ได้ง่าย
การผลิต ซอฟต์แวร์ ที่มีคุณภาพ ถึงแม้ว่าจะทราบหลักการในการสร้างหรือมีความเชี่ยวชาญภาษาโปรแกรมที่ใช้ในการพัฒนา ซอฟต์แวร์ เป็นอย่างดี เท่านั้นไม่เพียงพอ ต้องมีความรู้เรื่องอื่น ๆ ด้วย เช่น ต้องเรียนรู้แนวคิดทางเทคนิค และเครื่องมือต่าง ๆ ที่ช่วยในการออกแบบและพัฒนาโปรแกรม จึงจะสามารถสร้างซอฟต์แวร์ที่มีคุณภาพได้
ทีมงานในการพัฒนาระบบ
ผู้พัฒนาซอฟต์แวร์ทำหน้าที่สร้างระบบโดยทำงานเป็นทีมงานประกอบด้วยบุคคลต่างๆ ที่มีความเชี่ยวชาญที่แตกต่างกัน ในขั้นตอนแรกของการพัฒนาต้องมีการพบปะพูดคุยกับลูกค้าและผู้ใช้ระบบ เพื่อวิเคราะห์และกำหนดระบบ โดยทำความเข้าใจถึงหน้าที่ทั้งหมดที่ระบบกระทำได้ เขียนเป็นเอกสารระบุความต้องการเพื่อใช้ในการอ้างอิงในการพัฒนาระบบในขั้นตอนต่อไป ผู้ที่ทำหน้าที่นี้เรียกว่านักวิเคราะห์ระบบ (analyst)
ต่อจากนั้นนักวิเคราะห์ระบบจะทำงานร่วมกับผู้ออกแบบระบบ (designers) เพื่อสร้างรายละเอียดในระดับย่อย ๆ ที่ระบบสามารถกระทำได้ ต่อจากนั้นผู้ออกแบบระบบจากทำงานร่วมกับโปรแกรมเมอร์ (programmers) เพื่อให้ผู้เขียนโปรแกรมสามารถเขียนคำสั่งโปรแกรมตามความต้องการได้อย่างถูกต้อง
หลังจากนั้นเป็นหน้าที่ของผู้ทดสอบระบบ (tester) ทำหน้าที่หาข้อผิดพลาดที่อาจเกิดขึ้นในโปรแกรม การทำงานของผู้ทดสอบระบบจะทำงานร่วมกับลูกค้าเพื่อพิสูจน์ว่าระบบสามารถทำงานตามที่ลูกค้าต้องการได้ เมื่อลูกค้ายอมรับจะมีการฝึกฝนการใช้โปรแกรมให้กับผู้ใช้ระบบ โดยผู้ฝึก (trainers) ถึงแม้จะมีการส่งมอบระบบให้ลูกค้าแล้ว ไม่ใช่ว่างานในการพัฒนาจะจบ ถ้ามีข้อผิดพลาดเกิดขึ้นในระบบหรือความต้องการของระบบเปลี่ยนไป ทีมงานบำรุงรักษา (maintenance team) จะเป็นกลุ่มที่ทำหน้าที่รับผิดชอบแก้ไข ปรับปรุง เปลี่ยนแปลงตามความต้องการซึ่งอาจเป็นการแก้ไขการออกแบบ แก้ไขคำสั่งโปรแกรม มีการทดสอบระบบใหม่ และเมื่อมีการปรับเปลี่ยนเกิดขึ้นผู้ฝึกจะต้องสอนหน้าที่ใหม่ที่เพิ่มเติมขึ้นมาให้กับผู้ใช้ระบบเพื่อให้สามารถทำงานได้ตามปกติ
ผู้ใช้ระบบ
ผู้ใช้ระบบหมายถึง ผู้ที่เข้ามามีส่วนเกี่ยวข้องกับระบบงานที่ต้องใช้คอมพิวเตอร์ไม่ว่าโดยทางตรงหรือทางอ้อม
ประเภทของผู้ใช้ระบบ
แบ่งตามความรู้และประสบการณ์
1. ผู้ใช้หน้าใหม่ด้อยประสบการณ์ (Novice User) ผู้ใช้กลุ่มนี้อาจเป็นผู้ที่มีความรู้น้อยมากในด้านคอมพิวเตอร์และระบบงาน และยังอาจจะหวาดวิตกเกี่ยวกับการใช้คอมพิวเตอร์หรือการใช้ระบบงาน การออกแบบสำหรับผู้ใช้กลุ่มนี้คือพยายามที่จะทำให้ผู้ใช้สามารถเรียนรู้และใช้ระบบได้ การใช้นิยามคำศัพท์หรือคำสั่ง ควรเป็นคำที่ผู้ใช้คุ้นเคย หลีกเลี่ยงระบบงานที่ซ้ำซ้อน การแสดงผลตอบกลับต้องสื่อความหมายชัดเจน การให้คำอธิบายเมื่อผู้ใช้ดำเนินการผิดพลาด มีคู่มือ และระบบมีการให้ความช่วยเหลือโดยแนะเสนออย่างเป็นขั้นตอน
2. ผู้ใช้ที่มีประสบการณ์และความรู้ระดับกลาง (Knowledgeable intermittent user) บางคนมีความรู้ดีในงานและวิธีการใช้คอมพิวเตอร์ แต่จำคำสั่งต่าง ๆ ไม่ค่อยได้ เพราะไม่ได้ใช้บ่อยนัก วิธีออกแบบเพื่อช่วยให้ผู้ใช้กลุ่มนี้จดจำคำสั่ง หรือโครงสร้างระบบงานได้ดี คือ กำหนดใช้คำสั่งอย่างเป็นระบบ มีความคงที่ไม่เปลี่ยนรูปแบบไปมา อาจใช้เป็นเมนูหรือ นำเสนอเป็นสัญลักษณ์ (icon) ต่าง ๆ และต้องมีระบบการป้องกันอันตรายอันเกิดจาการที่ผู้ใช้บังเอิญใช้คำสั่งผิด เพราะจำไม่ได้หรือหลงลืมหรือสับสน การมีหน้าจอที่ผู้ใช้สามารถเรียกใช้เมื่อต้องการความช่วยเหลือ และคู่มือที่เขียนอย่างเป็นระบบ
3. ผู้ใช้ที่ใช้งานประจำหรือผู้เชี่ยวชาญ (Frequent User / Expert) ผู้ใช้กลุ่มนี้เป็นผู้ที่มีความรู้ความเข้าใจในระบบงานอย่างถ่องแท้ สิ่งที่ผู้ใช้กลุ่มนี้ต้องการคือ ความสามารถในการทำงาน การประมวลผล และการตอบสนองกลับเป็นไปอย่างรวดเร็ว ข้อความตอบกลับที่สั้นได้ใจความและไม่ทำให้เสียเวลา ถ้ากิจกรรมใดผู้ใช้ต้องใช้คำสั่ง มากกว่า 4 ขั้นจึงจะบรรลุจุดมุ่งหมายผู้ใช้กลุ่มนี้ต้องการให้ตนเองสามารถสร้าง Macro หรือวิธีการที่สามารถลดขั้นตอนการดำเนินงานลง
การวิเคราะห์ความต้องการ
คือคุณลักษณะหรือรายละเอียดต่าง ๆ ที่กำหนดให้ระบบสามารถทำได้ โดยทั่วไปการพัฒนาระบบใหม่ขึ้นมาแทนระบบเก่านั้นมักจะเกิดจากปัญหาของระบบเดิม หรือความไม่พอใจการทำงานของระบบเดิม เช่น ความผิดพลาดในการทำงาน ต้องการเพิ่มประสิทธิภาพในการทำงาน ต้องการนำเทคโนโลยีใหม่ ๆ มาช่วยเพื่อสร้างความได้เปรียบในการแข่งขันทางธุรกิจ เป็นต้น ดังนั้นการวิเคราะห์ความต้องการจึงเป็นการกำหนดปัญหาของระบบ ค้นหาปัญหาและความต้องการของลูกค้า ในการพัฒนาระบบถ้าทราบถึงปัญหาที่ชัดเจน ทราบถึงจุดมุ่งหมายที่ต้องกระทำ จะทำให้การคิดค้นหาทางแก้ปัญหาได้ง่ายขึ้น
กระบวนการวิเคราะห์ความต้องการ
การบวนการวิเคราะห์ความต้องการมีขั้นตอนดังต่อไปนี้
การพัฒนาระบบจะทำการวิเคราะห์ความต้องการ โดยจัดทำเป็นเอกสารสำหรับผู้เกี่ยวข้อง 2 กลุ่ม คือ ลูกค้าและผู้พัฒนา
1.Requirement Definition Document เป็นเอกสารที่เขียนสำหรับลูกค้า โดยเขียนด้วยภาษาที่ลูกค้าเข้าใจง่าย มีการอธิบายถึงปัญหาและสิ่งที่ลูกค้าต้องการ เป็นภาพรวมของระบบใหม่ที่สามารถกระทำได้ กำหนดไว้ในเอกสารอย่างชัดเจน เพื่อใช้เป็นหลักฐานแสดงข้อตกลงระหว่างลูกค้าและผู้พัฒนา
2.Requirement Specification Document เป็นเอกสารที่บรรยายคุณลักษณะของระบบทางด้านเทคนิค เป็นเอกสารที่ใช้สำหรับนักออกแบบระบบ เพื่อให้สามารถเข้าใจระบบได้ง่าย
|