ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การวิเคราะห์ความต้องการ (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 ) เป็นผู้ที่ทำหน้าที่ในการวิเคราะห์ระบบ การออกแบบ หรือบางครั้งก็เขียนโปรแกรม สำหรับนักวิเคราะห์ระบบควรมีความรู้ในด้าน เทคนิค มีทักษะด้านการวิเคราะห์ ด้านการจัดการ และการสื่อสารระหว่างบุคคล

 

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

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามครับ เชื่อมฐานข้อมูล Wordpress ไม่ได้ครับ
โดย chatee supasand ส 19 ต.ค. 2019 4:07 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
4
92
อ 20 ต.ค. 2019 1:38 pm โดย vmuser
วิธีการสร้าง logfile ในภาษา Python ด้วย logging
โดย jirawoot ศ 18 ต.ค. 2019 1:21 pm บอร์ด Python Knowledge
1
190
ส 19 ต.ค. 2019 4:25 am โดย mindphp
เปิดโพย รวมมิตรไอโฟนตกรุ่น เริ่ม 900.-
โดย promotion ศ 18 ต.ค. 2019 11:42 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
24
ศ 18 ต.ค. 2019 11:42 am โดย promotion
ทำยังไงถึงจะ upload file เข้าไปอยู่ในโฟร์เดอร์ได้ครับ
โดย jamepiyawat พฤ 17 ต.ค. 2019 6:27 pm บอร์ด Programming - PHP
1
63
พฤ 17 ต.ค. 2019 6:30 pm โดย tsukasaz
สร้างไฟล์ PDF ด้วยภาษา PHP
โดย kkk_k พฤ 17 ต.ค. 2019 1:08 am บอร์ด Programming - PHP
1
82
พฤ 17 ต.ค. 2019 1:23 am โดย mindphp
ถามเรื่องเช็คตัวเลขว่ามีเลขที่มากกว่า 10 เเต่น้อยกว่า 20 กี่ตัวยังไงครับ
โดย Golff Sinlapachai พ 16 ต.ค. 2019 6:19 pm บอร์ด Programming - PHP
1
57
พ 16 ต.ค. 2019 6:25 pm โดย mindphp
ฐานข้อมูลค่ะ
โดย sopida พ 16 ต.ค. 2019 3:37 pm บอร์ด Programming - PHP
1
49
พ 16 ต.ค. 2019 3:53 pm โดย thatsawan
replace หลายจุด และหลาย pattern พร้อมกันจบในการรันคำสั่งครั้งเดียว
โดย jataz2 พ 16 ต.ค. 2019 3:17 pm บอร์ด Programming - C/C++ & java & Python
0
46
พ 16 ต.ค. 2019 3:17 pm โดย jataz2
อัพเดพตัว Build Windows 10 แอพ Your Phone รับสายเรียกเข้า-โทรออกจาก สมาร์ทโฟนได้แล้ว
โดย chatee supasand อ 15 ต.ค. 2019 12:18 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
56
อ 15 ต.ค. 2019 12:18 pm โดย chatee supasand
ตัวอย่างการสร้าง Service odoo13 บน Ubuntu 16.04
โดย mindphp ส 12 ต.ค. 2019 1:35 am บอร์ด Linux - Web Server
0
99
ส 12 ต.ค. 2019 1:35 am โดย mindphp
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 3:30 pm บอร์ด Joomla Development
3
85
ศ 11 ต.ค. 2019 5:14 pm โดย เห็ด อินโมชั่น
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 4:59 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
7
2241
ส 12 ต.ค. 2019 3:35 am โดย mindphp
อยากทราบวิธีนับจำนวน id ที่ซ้ำกัน ครับ
โดย jamepiyawat ศ 11 ต.ค. 2019 5:06 pm บอร์ด SQL - Database
3
181
ศ 11 ต.ค. 2019 6:20 pm โดย jamepiyawat
การ Search ค้นหาข้อมูลของบอร์ด phpBB
โดย aninthana พฤ 10 ต.ค. 2019 6:46 pm บอร์ด Wordpress user Guide Knowledge
0
134
พฤ 10 ต.ค. 2019 6:46 pm โดย aninthana
ทำป้าย PopUp ด้วย Modal ใน Bootstrap เวอร์ชั่น 4
โดย jamepiyawat พฤ 10 ต.ค. 2019 5:20 pm บอร์ด Booststap Knowledge
0
141
พฤ 10 ต.ค. 2019 5:20 pm โดย jamepiyawat
ทำยังไงถึงจะไม่ให้แสดงเลข ID หน้า Alias ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 4:03 pm บอร์ด Joomla Development
1
61
พฤ 10 ต.ค. 2019 6:02 pm โดย tsukasaz
ทำไมผมถึงดึงข้อมูลชื่อหมวดหมู่ออกมาแสดงหน้าตั้งค่า module ไม่ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 3:47 pm บอร์ด Joomla Development
2
66
พฤ 10 ต.ค. 2019 6:36 pm โดย jamepiyawat
ตัวเลขด้านหน้าข้อความที่เราตั้ง Alias คืออะไรครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 11:36 am บอร์ด Joomla Development
5
145
พฤ 10 ต.ค. 2019 2:46 pm โดย mindphp
แก้ปัญหา Error Ignoring file '50unattended-upgrades.ucf-old' in directory บน Ubunto 16.04 ติดตั้ง apt-get
โดย mindphp พฤ 10 ต.ค. 2019 5:42 am บอร์ด Linux - Web Server
0
112
พฤ 10 ต.ค. 2019 5:42 am โดย mindphp
Q - สอบถามวิธี Upload file html ไปยัง web service โดยใช้คำสั่ง curl ใน PHP
โดย birdkritsna พ 09 ต.ค. 2019 3:42 pm บอร์ด Programming - PHP
6
166
พฤ 10 ต.ค. 2019 2:07 pm โดย birdkritsna