مستندات فنی نرم‌افزار: تفاوت بین HLD، LLD، DLD چیست؟

مستندات فنی نرم‌افزار: تفاوت بین HLD، LLD، DLD چیست؟

در این مقاله می‌خوانید:

  • مستندات فنی چیست و چه اهمیتی دارند؟
  • به عنوان یک مشتری چه چیزی باید در مورد LLD، HLD و DD بدانید؟
  • انواع طراحی مستندات فنی
  • طراحی سطح بالا (HLD)
  • طراحی سطح پایین (LLD)
  • طراحی تفصیلی (DD)
  • ایا LLD و DLD یکسان هستند یا تفاوتی وجود دارد؟
  • و جدول مقایسه مستندات فنی HLD/LLD

ایجاد مستندات فنی یک گام مهم برای یک پروژه موفق فناوری اطلاعات است، مهم نیست که آن پروژه بزرگ باشد یا کوچک. هنگامی که شما یک تیم از افراد دارید که بر روی یک محصول کار می‌کنند و آن را به شخص دیگری ارایه می‌کنید، لزوم داشتن ارتباط فی‌مابین و مستندات فنی یک امر حیاتی است.

مستندات فنی (TD) Technical Documentation یکی از راه‌هایی است که همه چیز را در یک صفحه قرار می‌دهد. این برنامه، طراحی منطقی کد آینده (یا موجود) را فراهم و توضیح می‌دهد و انتظارات را برای ویژگی‌ها و ماژول‌هایی که توسعه دهنده باید ایجاد کند، تعیین می‌کند. از نقطه نظر تجاری، این مستندات یک گام مهم است.

مستندات فنی خوب برای یک پروژه نرم افزاری به کاهش هزینه‌ها (به ویژه سربار ناگهانی)، دستیابی به قابلیت اطمینان بالا، ایجاد یک محصول قابل نگهداری و ساده سازی ارتباط بین کسب و کار و افراد فناوری اطلاعات (که اغلب متفاوت فکر می‌کنند) کمک می‌کند.

انواع مختلفی از اسناد فنی وجود دارد و در این مقاله، ما به چیزهایی مانند HLD، LLD و DLD نگاه خواهیم کرد. اگر هنوز با این مفاهیم آشنا نیستند و نمی‌دانید چه زمانی از کدام یک استفاده کنید؟ ادامه مطلب را حتما بخوانید.

به عنوان یک مشتری چه چیزی باید در مورد LLD، HLD و DD بدانید؟

برای شما مهم است که تفاوت بین طراحی سطح بالا (HLD)، طراحی دقیق (DD) و طراحی سطح پایین (LLD) را درک کنید تا بتوانید به طور مؤثر با تیم توسعه ارتباط برقرار کنید و تصمیمات اگاهانه در مورد پروژه نرم افزاری خود بگیرید.

در اینجا چند نکته کلیدی وجود دارد که باید در مورد هر یک از این مراحل طراحی بدانید:

  • طراحی سطح بالا (HLD): یا High-Level Design اولین گام در فرایند طراحی است و یک نمای کلی از معماری نرم افزار را فراهم می‌کند.

 این سند، توصیف اجزای اصلی سیستم و تعاملات انها، و همچنین الگوریتم‌های اصلی و ساختارهای داده‌ای است که مورد استفاده قرار می‌گیرد. برای یک مشتری مهم است که HLD را درک کند تا بتواند اطمینان حاصل کند که عملکرد، عملکرد و مقیاس پذیری سیستم نیازهای انها را براورده می‌کند.

  • طراحی سطح پایین (LLD): یا Low-Level Design گام بعدی پس از HLD است و جزئیات دقیق‌تر و فنی سیستم را فراهم می‌کند. این ساختار داده‌های خاص و الگوریتم‌هایی را که مورد استفاده قرار می‌گیرند و همچنین رابط‌های بین اجزای سیستم تعریف می‌کند. برای مشتری مهم است که LLD را درک کند تا بتواند اطمینان حاصل کند که طراحی پیشنهادی امکان پذیر است و سیستم نیازهای انها را براورده می‌کند.
  • طراحی تفصیلی (DD): یا Detailed Design گسترش LLD است و طراحی بسیار دقیقی از سیستم نرم افزاری را فراهم می‌کند. DD شامل توصیفات خاص و دقیق از ساختارهای داده، الگوریتم‌ها، رابط‌ها و سایر عناصر سیستم، و همچنین شبه کد یا سایر نمایش‌های کد است که نوشته خواهد شد. برای مشتری مهم است که DD را درک کند تا بتواند اطمینان حاصل کند که طراحی سیستم مطابق با نیازهای انها و قابل اجرا است.

به طور کلی، شما باید اگاه باشید که این مراحل طراحی مهم هستند تا اطمینان حاصل شود که نرم افزار مطابق با الزامات انها است و امکان پیاده سازی دارد. همچنین برای شما مهم است که اگاه باشید که این مراحل طراحی تکراری هستند و بازخورد شما باید در هر یک از این مراحل گنجانده شود.

انواع طراحی

طراحی سطح بالا (HLD)

طراحی سطح بالا (HLD) یک طراحی کلی سیستم است.

در توسعه نرم افزار، طراحی سطح بالا (HLD) فرایند ایجاد یک نمایش انتزاعی از یک سیستم نرم افزاری قبل از جزئیات طراحی سطح پایین است. طراحی سطح بالا یک مرور کلی از معماری نرم افزار، از جمله ساختار کلی و سازماندهی سیستم، اجزای اصلی و تعاملات انها و الگوریتم‌های اصلی و ساختارهای داده‌ای که مورد استفاده قرار می‌گیرند، فراهم می‌کند.

این شامل توضیحات بخش‌های زیر است:

  • معماری سیستم
  • طراحی پایگاه داده
  • اشاره مختصر به تمام سیستم عامل‌ها، سیستم‌ها، خدمات و فرایندهایی که محصول به ان وابسته است
  • شرح مختصری از روابط بین ماژول‌ها و ویژگی‌های سیستم

تمام جریان داده‌ها، فلوچارت‌ها، ساختارهای داده و غیره در این اسناد هستند تا توسعه دهندگان بتوانند درک کنند که چگونه انتظار می‌رود سیستم با توجه به ویژگی‌ها و طراحی پایگاه داده کار کند.

هدف HLD ارائه درک روشن و جامع از عملکرد، عملکرد و مقیاس پذیری سیستم و همچنین محدودیت‌های کلیدی و تجارتان است. این اطلاعات برای هدایت توسعه سیستم و اطمینان از اینکه الزامات را براورده می‌کند و محدودیت‌های دامنه مشکل را براورده می‌کند، استفاده می‌شود.

فرایند HLD معمولاً شامل تعدادی از مراحل است، از جمله:

  • شناسایی نیازها و محدودیت‌های سیستم
  • شناسایی اجزای کلیدی و رابط‌های انها
  • شناسایی الگوریتم‌های اصلی و ساختار داده‌ها
  • شناسایی ساختار و سازمان کلی سیستم
  • شناسایی وابستگی‌های خارجی یا رابط‌ها
  • شناسایی هر گونه نگرانی عملکرد یا مقیاس پذیری

خروجی فرایند HLD معمولاً مجموعه‌ای از نمودارهایی: مانند نمودارهای بلوک، نمودارهای رابطه موجودیت یا نمودارهای کلاسی است که معماری سیستم را در سطح بالایی توصیف می‌کند. HLD معمولاً توسط ذینفعان، از جمله مشتری، تیم توسعه و مدیریت بررسی می‌شود تا اطمینان حاصل شود که انتظارات انها را براورده می‌کند و طراحی پیشنهادی امکان پذیر است و الزامات را براورده می‌کند.

مهم است که توجه داشته باشید که طراحی سطح بالا یک نمایش غیر فنی از سیستم است، ان را شامل جزئیات سطح پایین مانند، به عنوان مثال، زبان‌های برنامه نویسی خاص، کتابخانه‌ها، و یا هر گونه جزئیات فنی دیگر، که در طراحی سطح پایین (LLD) توضیح داده خواهد شد.

طراحی سطح پایین (LLD)

طراحی سطح پایین (LLD) یک فرایند طراحی در سطح جزء است که از یک فرایند پالایش گام به گام پیروی می‌کند. این جزئیات و تعاریف را برای منطق واقعی برای هر جزء سیستم فراهم می‌کند. این بر اساس HLD است اما عمیق‌تر است وبه سمت ماژول‌های جداگانه و ویژگی‌های هر برنامه به منظور مستند سازی مشخصات آنها پیش می‌رود.

ایا LLD و DLD یکسان هستند یا تفاوتی وجود دارد؟

در توسعه نرم افزار، طراحی سطح پایین (LLD) و طراحی دقیق (DD) به مراحل مشابه اما کمی متفاوت در فرایند طراحی اشاره دارد.

LLD فرایند گرفتن طراحی سطح بالا (HLD) و ایجاد یک نمایش دقیق‌تر و فنی‌تر از سیستم است. LLD ساختارهای داده‌ها و الگوریتم‌های خاصی را که مورد استفاده قرار می‌گیرند و همچنین رابط‌های بین اجزای سیستم تعریف می‌کند. همچنین مسائلی مانند مدیریت خطا و بازیابی را مورد توجه قرار می‌دهد و هر گونه قوانین اعتبار سنجی داده‌های لازم را تعریف می‌کند. هدف LLD ارائه یک برنامه روشن و گام به گام برای اجرای سیستم است، از جمله شبه کد دقیق یا سایر نمایش‌های الگوریتم‌ها و ساختارهای داده‌ای که مورد استفاده قرار می‌گیرند.

طراحی دقیق (DD) یک مرحله در فرایند توسعه نرم افزار است که در ان طراحی نرم افزار به یک طراحی دقیق تبدیل می‌شود که می‌تواند برای هدایت پیاده سازی سیستم استفاده شود. DD گام بعدی پس از HLD و LLD است، می‌تواند شامل تمام عناصر LLD باشد، اما با عمق و جزئیات بیشتر. این شامل توصیفات خاص و دقیق از ساختارهای داده، الگوریتم‌ها، رابط‌ها و سایر عناصر سیستم، و همچنین شبه کد یا سایر نمایش‌های کد است که نوشته خواهد شد. DD همچنین ممکن است هر الگوی طراحی خاصی را که در اجرای سیستم استفاده می‌شود مشخص کند.

به طور خلاصه، طراحی سطح پایین فرایند طراحی سطح بالا و ایجاد یک نمایش دقیق‌تر و فنی‌تر از سیستم است. طراحی دقیق گسترش طراحی سطح پایین است که طراحی بسیار دقیق سیستم نرم افزاری را فراهم می‌کند.

طراحی سطح تفصیلی (DD)

طراحی سطح دقیق (DLD) دقیق‌ترین سند فنی است که داستان‌های کاربر، الگوریتم‌های پردازش خطا، انتقال حالت، توالی‌های منطقی و دیگران را توصیف می‌کند. DLD تعامل هر فرایند سطح پایین با یکدیگر را توصیف می‌کند. همانطور که در بالا اشاره کردیم، DLD گسترش طراحی سطح پایین (LLD) است.

HLD در مقابل LLD

 طراحی سطح بالاطراحی سطح پایین
شرح مستندHLD یک طراحی سطح کلان یا طراحی سیستم است. این اجازه می‌دهد تا “تصویر بزرگ” را ببینید.LLD یک طراحی سطح میکرو یا طراحی دقیق است. این اجازه می‌دهد تا جزئیات را ببینید.
عملکردنمایش معماری کلی برنامه و طراحی شبکه و همچنین روابط بین ماژول‌ها و توابع مختلف سیستم.نمایش شرح مفصلی از هر ماژول که در طراحی سطح بالا (HLD) ذکر شده است.
مخاطبان هدفمشتریان، طراحان، داوران، اعضای تیم مدیریت و تیم‌های برنامه و راه حل.تیم‌های طراح، تیم‌های عملیاتی و مجریان.
ایده اصلیHLD برای درک جریان در میان نهادهای مختلف سیستم مورد نیاز است. به عنوان مثال، اگر چندین راه حل یکپارچه داشته باشید، HLD توضیح می‌دهد که چگونه همه چیز به عنوان یک ارگانیسم واحد کار می‌کند.اطلاعات مربوط به ساخت محصول، پیکربندی و عیب یابی ان را فراهم می‌کند. به عنوان مثال، اگر چندین راه حل داشته باشید، LLD هر یک را با جزئیات توصیف می‌کند، مانند یک عضو در بدن.
هدفتبدیل اهداف و الزامات کسب و کار به یک راه حل سطح بالا. تبدیل یک راه حل سطح بالا به یک راه حل دقیق اماده برای ساخت.
طراحمعمار راه حل.طراحان و توسعه دهندگان با PM
داده‌های ورودیمشخصات مورد نیاز نرم افزار (SRS.)سند طراحی سطح بالا بررسی شده و مجاز (HLD.)
نتایج طراحی پایگاه داده، طراحی عملکردی و سابقه مرور. مشخصات برنامه و طرح آزمون واحد.

HLD از اصطلاحات غیر فنی و یا تا حدی فنی استفاده می‌کند که باید برای مدیران سیستم قابل درک باشد. در مقابل، طراحی سطح پایین (LLD)، طراحی دقیق منطقی هر یک از این عناصر را برای استفاده مهندسان و برنامه نویسان بیشتر نشان می‌دهد. HLD هم برای نرم‌افزار و هم برای سخت‌افزار کاربرد دارد، بیشتر مواقع سخت‌افزار در توسعه سیستم فراموش می‌شود و فقط نرم‌افزار مورد بحث قرار می‌گیرد.

مدانت نرم‌افزارهای مدیریت خدمات سازمانی- مدیریت و مانیتورینگ شبکه و مدیریت اندپوینتها را با این مستندات فنی ارایه میدهد!

مدانت
مدانت
شرکت‌ مدانت از برندهای محبوب فناوری‌ اطلاعات و ارتباطات در حوزه‌ی آموزش، پیاده‌سازی و عرضه ابزار ITIL، تجارت آنلاین، تحول دیجیتال و ارایه‌‌کننده‌ی محصولات مدیریتی تحت‌وب در ایران است. این مقاله‌ی آموزشی منحصراً مربوط به مدانت بوده و برای نخستین بار توسط این شرکت برای شما تولید و منتشر شده.
0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest

حل معادله *

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
error: نیازی به کپی نیست همه چیز در دیدرس شماست
0
افکار شما را دوست داریم، لطفا نظر دهید.x