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

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

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

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

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

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