1 / 22

ความต้องการด้าน ซอฟต์แวร์ (Software Requirement)

ความต้องการด้าน ซอฟต์แวร์ (Software Requirement). วัตถุประสงค์. เพื่อ อธิบายถึงความ ต้องการด้าน ซอฟต์แวร์ เพื่อ อธิบายถึงระดับของ ความต้องการด้านซอฟต์แวร์ เพื่ออธิบายถึง ประเภท ความต้องการด้านซอฟต์แวร์ เพื่ออธิบายถึง การ วิเคราะห์ความ ต้องการ. ความต้องการ ( Requirement).

chongr
Download Presentation

ความต้องการด้าน ซอฟต์แวร์ (Software Requirement)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ความต้องการด้านซอฟต์แวร์(Software Requirement)

  2. วัตถุประสงค์ • เพื่ออธิบายถึงความต้องการด้านซอฟต์แวร์ • เพื่ออธิบายถึงระดับของความต้องการด้านซอฟต์แวร์ • เพื่ออธิบายถึงประเภทความต้องการด้านซอฟต์แวร์ • เพื่ออธิบายถึงการวิเคราะห์ความต้องการ

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

  4. ระดับ (Level) ของความต้องการด้านซอฟต์แวร์ • ความต้องการของลูกค้าหรือผู้ใช้เป็นตัวกำหนดฟังก์ชันการทำงาน รูปลักษณ์ ความสามารถ และรายละเอียดอื่น ๆ ของระบบหรือซอฟต์แวร์ จำแนกเป็น 2 ระดับดังนี้ • ความต้องการของลูกค้า (User Requirement) • ความต้องการด้านระบบ (System Requirement)

  5. ความต้องการของลูกค้า (User Requirement) • เป็นความต้องการที่มีต่อระบบซึ่งระบุโดยผู้ใช้ระบบ โดยจะอธิบายทั้งส่วนที่เป็นหน้าที่หลัก และส่วนที่ไม่ใช้หน้าที่หลักของระบบ โดยแสดงออกมาในรูปแบบเอกสารที่ใช้ภาษาธรรมชาติที่เข้าใจง่าย ที่แสดงถึงความคาดหวังในการบริการ หรือการทางานที่จะได้รับจากระบบและเงื่อนไขที่ต้องทำตาม

  6. ความต้องการด้านระบบ (System Requirement) • เป็นการกำหนดความต้องการการทำงาน ฟังก์ชัน และบริการต่างๆ ที่ระบบจะต้องมี ความต้องการด้านระบบเป็นความต้องการที่ได้จากการวิเคราะห์ข้อมูลความต้องการของผู้ใช้มาแล้ว เป็นข้อมูลที่มีความสำคัญ การเขียนข้อกำหนดความต้องการด้านระบบ ควรใช้ภาษาธรรมชาติหรือภาษาที่เข้าใจง่าย

  7. ตัวอย่าง: ระบบห้องสมุดมหาวิทยาลัย • นิยามความต้องการของผู้ใช้ (User requirements definition) • ระบบต้องเตรียมวิธีการนำเสนอและการเข้าถึงแฟ้มข้อมูลภายนอกที่สร้างโดยเครื่องมืออื่นๆ • ข้อกำหนดความต้องการของระบบ (System requirements specification) • ควรมีการอำนวยความสะดวกในการกำหนดประเภทของแฟ้มข้อมูลภายนอกให้แก่ลูกค้า • แฟ้มข้อมูลภายนอกแต่ละประเภทอาจมีเครื่องมือที่เกี่ยวข้องซึ่งอาจถูกประยุกต์ใช้กับแฟ้มข้อมูลได้ • แฟ้มข้อมูลภายนอกแต่ละประเภทอาจถูกนำเสนอเป็นรูปไอคอนเฉพาะบนส่วนแสดงผลของผู้ใช้ • การอำนวยความสะดวกควรถูกจัดเตรียมเอาไว้เป็นไอคอนการนำเสนอประเภทแฟ้มข้อมูลภายนอกให้กำหนดโดยผู้ใช้ • เมื่อผู้ใช้เลือกไอคอนแฟ้มข้อมูลภายนอก ผลของการเลือกจะเป็นการใช้เครื่องมือที่เกี่ยวข้องกับประเภทของแฟ้มข้อมูล

  8. ประเภท (Category) ของความต้องการด้านซอฟต์แวร์ ความต้องการด้านซอฟต์แวร์ แบ่งออกเป็น 3 ประเภท คือ • ความต้องการที่เป็นหน้าที่หลัก (Functional Requirement) • ความต้องการที่ไม่ใช่หน้าที่หลัก (Non-Functional Requirement) • ความต้องการจากปัจจัยภายนอก (External Requirement)

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

  10. ความต้องการที่เป็นหน้าที่หลัก (Functional Requirement) • เป็นการบ่งบอกว่าระบบควรทำอะไร • ขึ้นอยู่ชนิดของซอฟต์แวร์ที่กำลังพัฒนา, ผู้ใช้เป้าหมาย, และวิธีการที่องค์กรใช้ในการเขียนเอกสารความต้องการนั้น • ถ้าเป็น user requirements ความต้องการที่เป็นหน้าที่หลัก จะเขียนในรูปแบบที่ค่อนข้างเป็นนามธรรม • ถ้าเป็น system requirements ความต้องการที่เป็นหน้าที่หลัก จะเขียนฟังก์ชันโดยรายละเอียด ข้อมูลนำเข้ามีอะไรบ้าง ข้อมูลออกมีอะไรบ้าง สิ่งที่คาดว่าจะได้รับ และอื่นๆ

  11. ตัวอย่าง: ระบบห้องสมุดมหาวิทยาลัย • ระบบห้องสมุดมหาวิทยาลัย ซึ่งมี interface เดียว เชื่อมต่อไปยังหลายฐานข้อมูลที่รวบรวมบทความต่างๆ ไว้ ผู้ใช้สามารถดาวน์โหลดบทความที่ตีพิมพ์ในนิตยสาร หนังสือพิมพ์ และวารสาร ได้ • ผู้ใช้: นักเรียน และคณะ เป้าหมาย: เพื่อสั่งหนังสือและเอกสารจากห้องสมุดอื่น ความต้องการที่เป็นหน้าที่หลัก (Functional Requirements for a university library system) • ผู้ใช้จะสามารถค้นหาข้อมูลหนังสือหรือเอกสารได้จากทั้งฐานข้อมูล หรือจากส่วนย่อยของฐานข้อมูล • ระบบควรมีส่วนมุมมองที่เหมาะสม ที่ให้ผู้ใช้ อ่านหรือตรวจดูเอกสารที่ค้นหาได้ • ทุกๆ การสั่งหนังสือหรือเอกสารจากห้องสมุดอื่น ควรมีการระบุหมายเลขการสั่ง (order_id) เพื่อให้ผู้ใช้สามารถทาสำเนาเก็บไว้ในส่วนเก็บเอกสารถาวรได้

  12. ความต้องการที่ไม่ใช่หน้าที่หลัก (Non-Functional Requirement) • เป็นความต้องการที่ไม่เกี่ยวข้องโดยตรงกับฟังก์ชันหลักของระบบ แต่เกี่ยวข้องทางอ้อมในลักษณะที่เป็นเงื่อนไขการทำงาน หรือข้อจำกัดของบริการ หรือการทำงานของระบบ • มักเกี่ยวข้องกับคุณสมบัติที่เกิดขึ้นในระบบ เช่น ความน่าเชื่อถือ, เวลาในการตอบสนอง, เนื้อที่จัดเก็บข้อมูล • นอกจากนี้ มักใช้บอกถึงข้อจำกัดของระบบ ได้แก่ ข้อจำกัดด้านเวลา, ข้อจำกัดด้านกระบวนการ, มาตรฐานการพัฒนา, ความสามารถของอุปกรณ์ I/O และวิธีการนำเสนอข้อมูลในส่วน user interface • ความต้องการนี้อาจรวมถึง ประสิทธิภาพ, ความปลอดภัย, ความสามารถในการทางาน, และคุณสมบัติอื่นๆ ที่เกิดขึ้นมาของระบบ

  13. ความต้องการที่ไม่ใช่หน้าที่หลัก (Non-Functional Requirement) • ความต้องการที่ไม่ใช่หน้าที่หลักของระบบ อาจมาจากความต้องการของผู้ใช้หลาย ๆ ด้านที่ไม่เกี่ยวข้องกับซอฟต์แวร์เพียงอย่างเดียว ดังนี้ • ความต้องการด้านผลิตภัณฑ์ (Product Requirement) • ความต้องการขององค์กร (Organizational Requirement) • ความต้องการจากปัจจัยภายนอก (External Requirement)

  14. ความต้องการด้านผลิตภัณฑ์ (Product Requirement) • เป็นการระบุพฤติกรรมของผลิตภัณฑ์ แบ่งออกเป็น 3 ส่วน ได้แก่ • ความต้องการด้านประสิทธิภาพของผลิตภัณฑ์ (Performance Requirement) : ระบบประมวลผลได้เร็วแค่ไหน, หน่วยความจาที่ต้องการมีมากเท่าใด • ความต้องการด้านความน่าเชื่อถือ (Reliability Requirement) : ระดับความล้มเหลวที่สามารถยอมรับได้ • ความต้องการด้านการทำงานข้ามแพลตฟอร์มได้ (Portability Requirement) และใช้งานง่าย (Usability Requirement) :

  15. ความต้องการขององค์กร (Organizational Requirement) • เป็นความต้องการที่มาจากนโยบายและระเบียบปฏิบัติของลูกค้าและผู้พัฒนา โดยกำหนดข้อตกลงระหว่างองค์กร ไว้เพื่อเป็นแนวทางในการพัฒนาที่ตรงตามความต้องการของทั้งสองฝ่าย

  16. ความต้องการจากปัจจัยภายนอก (External Requirement) • เป็นความต้องการที่เกิดจากปัจจัยภายนอก ซึ่งส่งผลต่อซอฟต์แวร์และกระบวนการพัฒนา แบ่งเป็น 3 ส่วน ดังนี้ • ความต้องการการทำงานร่วมกัน (Interoperability Requirement) • ความต้องการในทางกฎหมาย (Legislative Requirement) • ความต้องการในด้านหลักจริยธรรม (Ethical Requirement)

  17. ความต้องการที่ไม่ใช่หน้าที่หลัก (Non-Functional Requirement)

  18. ความต้องการที่ไม่ใช่หน้าที่หลัก (Non-Functional Requirement) ตัวอย่าง: ระบบห้องสมุดมหาวิทยาลัย • ความต้องการที่ไม่เป็นเชิงฟังก์ชัน (Non-functional Requirements) • ความต้องการด้านผลิตภัณฑ์ 8.1 ส่วนติดต่อผู้ใช้ของระบบ LIBSYS ควรเขียนในรูปแบบ HTML แบบง่ายๆ โดยไม่ต้องทำเป็นเฟรม หรือเป็นแบบ Java applets • ความต้องการด้านองค์กร 9.3.2 กระบวนการพัฒนาระบบและเอกสารที่จะส่งมอบ ควรมีความสอดคล้องกับ กระบวนการและเอกสารการส่งมอบที่กำหนดไว้ในมาตรฐานของ XYZCo-SP-STAN-95. • ความต้องการด้านปัจจัยภายนอก 10.6 ระบบไม่ควรเปิดเผยข้อมูลส่วนตัวของผู้ใช้ระบบให้เจ้าหน้าที่ห้องสมุดทราบ ยกเว้นจะเป็นชื่อและหมายเลขอ้างอิงในห้องสมุด

  19. ความต้องการทางด้านงานธุรกิจ (Domain Requirement) • เป็นความต้องการที่มาจากงานธุรกิจของระบบ และความต้องการเหล่านี้สะท้อนถึงคุณลักษณะและข้อจำกัดต่างๆ ของธุรกิจ ซึ่งความต้องการประเภทนี้เป็นได้ทั้ง functional หรือ non-functional • เป็นความต้องการที่ได้มาจาก application domain ของระบบมากกว่าที่จะได้มาจากความต้องการเฉพาะของผู้ใช้ระบบ • โดยทั่วไป ประกอบด้วยศัพท์เฉพาะทางของโดเมนนั้น ๆ หรือการอ้างอิงไปยัง แนวคิดของโดเมนนั้น ๆ • มันอาจเป็น functional requirements แบบใหม่, เป็นเงื่อนไขที่มีใน functional requirements หรือเป็นการกำหนดวิธีการคำนวณตามโดเมน

  20. ความต้องการทางด้านงานธุรกิจ (Domain Requirement) ตัวอย่าง: ระบบห้องสมุดมหาวิทยาลัย • ความต้องการเชิงโดเมน (Domain Requirements) • จะมีส่วนติดต่อผู้ใช้ที่เป็นมาตรฐานเชื่อมไปยังฐานข้อมูลทั้งหมดที่อาศัยมาตรฐาน Z39.50 • เนื่องจากข้อจำกัดทางด้านลิขสิทธิ์ เอกสารบางอย่างต้องถูกลบออกทันทีที่ส่งไปถึงปลายทาง ซึ่งจะขึ้นอยู่กับความต้องการของผู้ใช้ด้วยว่า จะให้พิมพ์ที่ฝั่งระบบ Server ด้วยมือแบบ Local หรือจะพิมพ์ที่เครื่องพิมพ์ผ่านเครือข่าย

  21. สรุป ความต้องการของผู้ใช้(User Requirement) • เป็นความต้องการที่มีต่อระบบซึ่งระบุโดยผู้ใช้ระบบ โดยจะอธิบายทั้งส่วนที่เป็นหน้าที่หลัก และส่วนที่ไม่ใช้หน้าที่หลักของระบบ ด้วยภาษาที่ผู้ใช้อ่านแล้วเข้าใจง่าย ไม่ควรใช้คำศัพท์เทคนิคมากเกินไป • ดังนั้น การเขียนข้อกำหนดความต้องการของผู้ใช้ จะต้องใช้ภาษาที่เข้าใจง่าย อาจใช้แผนภาพเพื่อแสดงรายละเอียด ในระดับที่ผู้ใช้พอจะเข้าใจได้ หรืออธิบายในลักษณะของตารางหรือแบบฟอร์มง่ายๆ อย่างไรก็ตามอาจเกิดปัญหา ดังนี้

  22. สรุป ความต้องการของผู้ใช้ (User Requirement) • ขาดความชัดเจน • ไม่สามารถจำแนกประเภทของความต้องการได้อย่างชัดเจน • บางครั้งความต้องการมีจุดประสงค์เดียวกัน แต่เขียนออกมาในประโยคที่ต่างกัน จากปัญหาที่เกิดขึ้น การจัดทำเอกสารความต้องการต้องมีการแยกรายละเอียด ความต้องการของระบบออกจากผู้ใช้ เพื่อหลีกเลี่ยงความรู้สึกต่อต้าน ควรมีหลักปฏิบัติดังนี้ • กำหนดมาตรฐานของรูปแบบเอกสาร • จำแนกความจำเป็นของความต้องการ โดยจำแนกเป็น ความต้องการที่จำเป็น (Mandatory Requirement) (ต้อง) และความต้องการที่ปรารถนา (Desirable Requirement) (ควร)

More Related