Skip to main content

เอกสารการออกแบบซอฟต์แวร์คืออะไร?

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

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

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

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

ในทางตรงกันข้ามซอฟต์แวร์ที่ออกแบบมาสำหรับการประมวลผลคำอาจต้องใช้เอกสารและคู่มือสำหรับผู้ใช้คุ้นเคยกับการประมวลผลคำและคอมพิวเตอร์มันอาจจะใช้งานได้นอกกรอบสำหรับคนที่มีประสบการณ์ แต่อาจมีโมดูลสำหรับคนที่จะใช้หากพวกเขาต้องการเรียนรู้เกี่ยวกับคุณสมบัติรับแบบฝึกหัดหรือขอความช่วยเหลือเกี่ยวกับงานเฉพาะพารามิเตอร์ที่กำหนดไว้ในเอกสารการออกแบบซอฟต์แวร์สำหรับโครงการทางเทคนิคเพิ่มเติมอาจแนะนำให้ออกจากเอกสารและคำแนะนำผู้ใช้เกี่ยวกับอาร์กิวเมนต์ที่ผู้ใช้ซอฟต์แวร์ไม่ต้องการสิ่งนี้ซึ่งหมายความว่าอาจไม่มีเหตุผลที่จะลงทุนเวลาและพลังงานในการพัฒนามัน.