ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

การวิเคราะห์ความต้องการ (Requirement Analysis)

การวิเคราะห์ความต้องการ เป็นการศึกษาแนวทางวิถีทางหรือแนวทางการดำเนินการเพื่อนำไปใช้ในการออกแบบและพัฒนาซอฟต์แวร์ โดยมีนักวิเคราะห์ระบบ (SA) เป็นผู้ทำหน้าที่ในการวิเคราะห์ ออกแบบ และบางครั้งก็เขียนโปรแกรม นักวิเคราะห์ระบบควรมีความรู้ด้านเทคนิค มีทักษะด้านการวิเคราะห์ ด้านการจัดการ และการสื่อสารระหว่างบุคคล

 

ความต้องการ (Requirement) แบ่งออกเป็น 2 ส่วน ได้แก่

  • ความต้องการของผู้ใช้ (User Requirement)
  • ความต้องการของระบบ (System Requirement)

 

ปัญหาที่สำคัญเกี่ยวกับความต้องการ ก็คือความไม่ชัดเจนในระหว่างการจัดเก็บข้อมูล

 

 ความต้องการของผู้ใช้ (User Requirement) เป็นสิ่งที่ผู้ใช้งานได้ให้สัมภาษณ์ หรือบอกกล่าวเพื่อให้ทราบถึงสิ่งที่เขาต้องการ ซึ่งมักเป็นเงื่อนไข (Constraint) ในการปฏิบัติงาน และมักจะอยู่ในรูปของนามธรรม (Abstract) เช่น

  • ต้องการระบบลงทะเบียนเรียน ที่สามารถตรวจสอบเบื่องต้นว่านักศึกษาได้เรียนผ่านวิชาก่อนหน้า (Pre-Required) มาแล้ว
  • ต้องการระบบที่สามารถตรวจสอบการสำเร็จการศึกษา (ดูว่าลงทะเบียนครบตามโครงสร้างหลักสูตรหรือไม่)

ผู้ใช้มีส่วนในการกำหนดความต้องการของระบบ สามารถจำแนกได้ ดังนี้

  • เจ้าของระบบ (System Owners/Sponsors) มีส่วนได้ส่วนเสียจากการลงทุนสร้างซอฟต์แวร์
  • ผู้ใช้ภายใน (Internal User) ประกอบด้วย
    • End User ได้แก่ ผู้ใช้ที่ป้อนข้อมูลเข้าสู่ระบบโดยตรง ไม่จำเป็นต้องมีทักษะหรือความรู้มาก เน้นความถูกต้องและรวดเร็วของการป้อนข้อมูลเข้าสู่ระบบ
    • Power User หมายถึง ผู้ใช้ที่มีความรู้ความชำนาญเฉพาะด้านสามารถใช้งานฟังก์ชันของระบบในส่วนที่มีความซับซ้อนได้
    • Administrators เป็นผู้ที่ดูแลและควบคุมให้ระบบสามารถดำเนินการได้อย่างราบรื่นตามวัตถุประสงค์ที่ตั้งไว้
    • Executive User ได้แก่ ผู้ใช้ที่ต้องการสารสนเทศมาเพื่อการตัดสินใจและบริหารองค์กร แต่สามารถเข้าถึงบริการของระบบหรือซอฟต์แวร์ในองค์กรณ์ได้
  • ผู้ใช้ภายนอก (External User) เป็นบุคคลภายนอกองค์กร แต่สามารถเข้าถึงบริการของระบบซอฟต์แวร์ในองค์กรได้
Requirement Specification
Requirement Specification

Requirement Specification คือข้อมูลท่าสร้างขึ้นมาระหว่างการสืบเสาะข้อเท็จจริงด้วยการวิเคราะห์ความต้องการเพื่อให้ได้มา ซึ่งข้อกำหนดความต้องการที่ใช้อธิบายคุณสมบัติของระบบ/ซอฟต์แวร์

ความต้องการของระบบ (System Requirement) เป็นสิ่งที่ระบบต้องการเพื่อตอบสนองกับความต้องการของผู้ใช้ ประกอบด้วย ฟังก์ชันการทำงานของระบบ (System Functional) การใช้บริการ (Services) และเงื่อนไขในการดำเนินการ (Operational Constraint)

  • เอกสารที่จัดเก็บความต้องการของระบบต้องมีความถูกต้องแม่นยำ (Precise) และต้องมีการอธิบายขั้นตอนการทำงานอย่างละเอียด ซึ่งเราอาจนำมาใช้เป็นส่วนหนึ่งในการจัดทำสัญญาระหว่างผู้ว่าจ้างได้

 

ความต้องการของระบบซอฟต์แวร์ แบ่งได้เป็นออกเป็น 3 ประเภท คือ

  • Functional Requirements
  • Non-Functional Requirements
  • Domain Requirements

 

Functional Requirements เป็นสิ่งที่ระบบควรที่จะทำ (Should Do) ซึ่งจะขึ้นอยู่กับประเภท ของซอฟต์แวร์ที่ต้องการพัฒนา เพื่อตอบสนองความต้องการของผู้ใช้

  • ความต้องการจากผู้ใช้อยู่ในลักษณะนามธรรม (Abstract) >> ต้องแปลงออกมาให้อยู่ในรูปของรายละเอียดฟังก์ชันการทำงานระบบ ประกอบด้วย ข้อมูลเข้า ข้อมูลออก ข้อยกเว้นต่าง ๆ และอื่น ๆ เช่น
    • ผู้ใช้ต้องสามารถค้นหารายละเอียดของหนังสือได้ (ISBN,ชื่อหนังสือ,ผู้แต่ง)
    • ผู้ใช้ต้องสามารถยืม – คืนหนังสือได้ด้วยตนเอง โดยไม่ต้องมีบรรณารักษ์ (RFID)
    • ต้องมีระบบป้องกันการนำหนังสือออกจากห้องสมุดโดยไม่ได้รับอนุญาต

 

Non-Functional Requirements

เป็นความต้องการที่ไม่ได้มาจากความต้องการของผู้ใช้โดยตรง แต่เป็นสิ่งที่เกี่ยวข้องกับความต้องการของผู้ใช้ เช่น ความน่าเชื่อถือ ความปลอดภัย ความรวดเร็วในการตอบสนองกับผู้ใช้ ความสามารถในการจัดเก็บข้อมูลในปริมาณมาก Non-Functional Requirements โดยส่วนใหญ่จะเกี่ยวข้องกับภาพรวมของระบบ ประกอบด้วย

  • Product Requirements
  • Organizational Requirements
  • External Requirements

 

Product Requirements จะต้องสามารถใช้งานได้อย่างสะดวก (Usability Requirements) มีประสิทธิภาพดี (Efficiency Requirements) และมีความนั่นคงสูง (Reliability Requirements) สามารถใช้งานได้ในสภาพแวดล้อมที่ต่างกันได้ (Portability Requirements)

 

Organizational Requirements จะสามารถส่งมอบได้ในเวลาที่กำหนด (Delivery Requirements) ต้องสร้างด้วยวิธีการและเทคโนโลยีที่กำหนด (Implementation Requirements) และต้องพัฒนาโดยยึดตามมาตรฐานของการพัฒนาที่กำหนด (Standard Requirements)

 

External Requirements จะต้องรองรับการเชื่อมต่อจากภายนอกได้ (Interoperability Requirements) จะต้องไม่ผิดศีลธรรม (Ethical Requirements) และจะต้องไม่ผิดกฎหมาย (Legislative Requirements)

 

Domain Requirements เป็นความต้องการของ Application ในระบบมากกว่าความต้องการเฉพาะที่ได้มากจากผู้ใช้เท่านั้น โดยอาจเป็นฟังก์ชัน หรือไม่ใช่ฟังก์ชันของระบบ เช่น

  • ต้องสามารถเชื่อมต่อกับฐานข้อมูลได้มากกว่า แหล่งข้อมูล (Web Services )
  • การ Download เอกสารต้องมีการระบุสิทธิ การเข้าถึงก่อน เนื่องจากมีระดับของความสำคัญของเอกสาร สำหรับผู้ใช้แต่ละคน
  • ในการสร้างเอกสาร PDF ต้องมีการ Generate รหัสผ่านสำหรับเปิดเอกสาร

 

สรุป การวิเคราะห์ความต้องการ เป็นการศึกษาแนวทางหรือการดำเนินงานเพื่อนำไปใช้ในการออกแบบและพัฒนาซอฟต์แวร์ โดยมีนักวิเคราะห์ระบบ หรือ (System Analysis ) เป็นผู้ที่ทำหน้าที่ในการวิเคราะห์ระบบ การออกแบบ หรือบางครั้งก็เขียนโปรแกรม สำหรับนักวิเคราะห์ระบบควรมีความรู้ในด้าน เทคนิค มีทักษะด้านการวิเคราะห์ ด้านการจัดการ และการสื่อสารระหว่างบุคคล

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เรียนรู้การยื่นภาษีเงินได้บุคคลธรรมดา เพื่อให้ยื่นภาษีได้ถูกต้อง
โดย nutchasn ศ 31 ม.ค. 2020 2:42 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
49
ศ 31 ม.ค. 2020 2:42 pm โดย nutchasn
การหักลดหย่อนภาษี สิทธิประโยชน์ที่ทำให้เสียภาษีน้อยลง
โดย nutchasn ศ 31 ม.ค. 2020 2:07 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
106
ศ 31 ม.ค. 2020 2:07 pm โดย nutchasn
Refactor ไหมหละ
โดย noppadonsk ศ 31 ม.ค. 2020 9:38 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
135
ศ 31 ม.ค. 2020 9:38 am โดย noppadonsk
วิธีการตรวจสอบกระทูู้นี้มีการอ่านหรือยัง ในเว็บบอร์ด phpbb
โดย Ittichai_chupol พฤ 30 ม.ค. 2020 7:02 pm บอร์ด PHP Knowledge
0
68
พฤ 30 ม.ค. 2020 7:02 pm โดย Ittichai_chupol
Python GUI (Tkinter) : การกำหนดให้ช่อง entry สามารถกรอกได้แค่ตัวเลขเท่านั้น
โดย benzas00123 พฤ 30 ม.ค. 2020 6:43 pm บอร์ด Python Knowledge
0
57
พฤ 30 ม.ค. 2020 6:43 pm โดย benzas00123
การแยกประเภทในโปรแกรม open erp เพื่อสะดวกในการจัดทำงบการเงิน
โดย nutchasn พฤ 30 ม.ค. 2020 6:25 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
61
พฤ 30 ม.ค. 2020 6:25 pm โดย nutchasn
Python GUI (Tkinter) : การกำหนดนามสกุล File ที่ต้องการจะหาใน Browse file
โดย benzas00123 พฤ 30 ม.ค. 2020 6:04 pm บอร์ด Python Knowledge
0
70
พฤ 30 ม.ค. 2020 6:04 pm โดย benzas00123
วิธีการนำเลขเวอร์ชั่นของ component joomla ออกมาแสดงที่หน้าเว็บไซต์
โดย jamepiyawat พฤ 30 ม.ค. 2020 5:47 pm บอร์ด Joomla Developing Knowledge
0
45
พฤ 30 ม.ค. 2020 5:47 pm โดย jamepiyawat
Python GUI (Tkinter) : การ Browse file แบบ multiple file จากการกดปุ่ม Button
โดย benzas00123 พฤ 30 ม.ค. 2020 5:46 pm บอร์ด Python Knowledge
0
55
พฤ 30 ม.ค. 2020 5:46 pm โดย benzas00123
ทำความรู้การปิดบัญชี เพื่อให้ทราบผลการดำเนินไปประกอบในการตัดสินใจวางแผนธุรกิจ
โดย nutchasn พฤ 30 ม.ค. 2020 5:06 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
55
พฤ 30 ม.ค. 2020 5:06 pm โดย nutchasn
ทำความเข้าใจในการปิดงบบัญชี เพิ่อให้เป็นการปิดงบที่สมบูรณ์
โดย nutchasn พฤ 30 ม.ค. 2020 4:36 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
39
พฤ 30 ม.ค. 2020 4:36 pm โดย nutchasn
อยากทราบวิธีการดึงค่าเลขเวอร์ชั่นในไฟล์ XML ของ components joomla
โดย jamepiyawat พฤ 30 ม.ค. 2020 3:28 pm บอร์ด Joomla Development
3
102
พฤ 30 ม.ค. 2020 5:34 pm โดย tsukasaz
อัพเดทกันหรือยัง! Joomla 3.9.15 ปรับปรุงความปลอดภัยและแก้ไขข้อผิดพลาดต่างๆ
โดย tsukasaz พฤ 30 ม.ค. 2020 11:37 am บอร์ด MindPHP News & Feedback
0
33
พฤ 30 ม.ค. 2020 11:37 am โดย tsukasaz
วิธีการนำข้อความที่ผู้ใช้กรอกให้เข้าไปอยู่ในไฟล์ pdf ด้วยภาษา php
โดย jamepiyawat พ 29 ม.ค. 2020 6:53 pm บอร์ด PHP Knowledge
0
54
พ 29 ม.ค. 2020 6:53 pm โดย jamepiyawat
ติดตั้ง module flaskwebgui ไม่ได้ครับ
โดย benzas00123 พ 29 ม.ค. 2020 6:53 pm บอร์ด Programming - C/C++ & java & Python
2
64
พฤ 30 ม.ค. 2020 11:52 am โดย jirawoot
ความรู้พื้นฐานเกี่ยวกับบัญชีแยกประเภท
โดย nutchasn พ 29 ม.ค. 2020 6:32 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
35
พ 29 ม.ค. 2020 6:32 pm โดย nutchasn
Pillow library ฟังก์ชั่น Image.new() ฟังก์ชั่นที่ใช้สำหรับการสร้างไฟล์รูปภาพ
โดย benzas00123 พ 29 ม.ค. 2020 6:21 pm บอร์ด Python Knowledge
0
31
พ 29 ม.ค. 2020 6:21 pm โดย benzas00123
ความรู้พื้นฐานเกี่ยวกับงบทดลอง (Taial Balance)
โดย nutchasn พ 29 ม.ค. 2020 6:00 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
34
พ 29 ม.ค. 2020 6:00 pm โดย nutchasn
Pillow library ฟังก์ชั่น ImageDraw() ฟังก์ชั่นสำหรับการเพิ่มตัวอักษรเข้าไปในภาพ
โดย benzas00123 พ 29 ม.ค. 2020 5:52 pm บอร์ด Python Knowledge
0
43
พ 29 ม.ค. 2020 5:52 pm โดย benzas00123
การปรับปรุงค่าใช้จ่ายจ่ายล่วงหน้า (Prepaid expenses)
โดย nutchasn พ 29 ม.ค. 2020 5:29 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
32
พ 29 ม.ค. 2020 5:29 pm โดย nutchasn