SDD (ראשי תיבות של: Software Design Description, תרגום: תיאור עיצוב תוכנה או Software Design Document, תרגום: מסמך עיצוב תוכנה), או סתם מסמך עיצוב (design document) הוא תיאור כתוב של מוצר תוכנה, שנכתב על ידי מעצב תוכנה (software designer או software architect), על מנת לתת למפתחי התוכנה הכוונה בנושא הארכיטקטורה של פרויקט תוכנה. מסמך SDD בדרך כלל מלווה בדיאגרמת ארכיטקטורה עם הפניות לתיאור מפורט יותר של רכיבים קטנים יותר בעיצוב. בפועל, התיאור נדרש כדי לתאם ולאחד צוות גדול תחת חזון יחיד, הוא צריך להיות הפניה יציבה, ומתאר את כל חלקי התוכנה וכיצד הם פועלים.
מסמך SDD מכיל בדרך כלל את המידע הבא:
- עיצוב נתונים (data design) - מתאר מבנים השוכנים בתוך התוכנה. תכונות ויחסים בין אובייקטי נתונים מכתיבים את הבחירה של מבני הנתונים.
- ארכיטקטורת תוכנה - עיצוב ארכיטקטורה על ידי מאפייני זרימת מידע, ומיפויים למבנה התכנית.
- עיצוב ממשק - מתאר ממשקים פנימיים וחיצוניים, כמו גם עיצוב ממשק אנוש (HMI או GUI).
- עיצוב פרוצדורלי - מתאר קונספטים של מבני תוכנה באמצעות גרפים, טקסט, טבלאות וסימונים שונים.
IEEE 1016
תקן IEEE 1016-2009, שכותרתו "IEEE Standard for Information Technology—Systems Design—Software Design Descriptions,[1] הוא תקן של IEEE המפרט "את המידע הנדרש התוכן והארגון" של SDD[2] אולם IEEE 1016 אינו מציין את המדיום של ה-SDD; הוא "ישים עבור מסדי נתונים אוטומטיים, שפות תיאור עיצוב, אך יכול לשמש עבור מסמכי נייר, ואמצעים אחרים של תיאור."[3]
התיקון במסמך של 2009 (הגרסה הקודמת הייתה בשנת 2000) העלה אותו מרמת פרקטיקה מומלצת, לתקן מלא.
בעקבות המודל הקונספטואלי של IEEE 1016, מסמך SDD מאורגן בפירוט ויזואלי אחד או יותר. כל תיאור עיצוב עומד באחת מהגדרות "נקודת-מבט" המתוארות בתקן לשימוש:[4]
- Context viewpoint
- Composition viewpoint
- Logical viewpoint
- Dependency viewpoint
- Information viewpoint
- Patterns use viewpoint
- Interface viewpoint
- Structure viewpoint
- Interaction viewpoint
- State dynamics viewpoint
- Algorithm viewpoint
- Resource viewpoint
בנוסף, משתמשים של התקן לא מוגבלים לנקודות מבט אלו, ויכולים להרחיב ולצור נוספות משלהם.[5]
ראו גם
קישורים חיצוניים
הערות שוליים