در این مقاله میخوانید:
ایجاد مستندات فنی یک گام مهم برای یک پروژه موفق فناوری اطلاعات است، مهم نیست که آن پروژه بزرگ باشد یا کوچک. هنگامی که شما یک تیم از افراد دارید که بر روی یک محصول کار میکنند و آن را به شخص دیگری ارایه میکنید، لزوم داشتن ارتباط فیمابین و مستندات فنی یک امر حیاتی است.
مستندات فنی (TD) Technical Documentation یکی از راههایی است که همه چیز را در یک صفحه قرار میدهد. این برنامه، طراحی منطقی کد آینده (یا موجود) را فراهم و توضیح میدهد و انتظارات را برای ویژگیها و ماژولهایی که توسعه دهنده باید ایجاد کند، تعیین میکند. از نقطه نظر تجاری، این مستندات یک گام مهم است.
مستندات فنی خوب برای یک پروژه نرم افزاری به کاهش هزینهها (به ویژه سربار ناگهانی)، دستیابی به قابلیت اطمینان بالا، ایجاد یک محصول قابل نگهداری و ساده سازی ارتباط بین کسب و کار و افراد فناوری اطلاعات (که اغلب متفاوت فکر میکنند) کمک میکند.
انواع مختلفی از اسناد فنی وجود دارد و در این مقاله، ما به چیزهایی مانند HLD، LLD و DLD نگاه خواهیم کرد. اگر هنوز با این مفاهیم آشنا نیستند و نمیدانید چه زمانی از کدام یک استفاده کنید؟ ادامه مطلب را حتما بخوانید.
برای شما مهم است که تفاوت بین طراحی سطح بالا (HLD)، طراحی دقیق (DD) و طراحی سطح پایین (LLD) را درک کنید تا بتوانید به طور مؤثر با تیم توسعه ارتباط برقرار کنید و تصمیمات اگاهانه در مورد پروژه نرم افزاری خود بگیرید.
در اینجا چند نکته کلیدی وجود دارد که باید در مورد هر یک از این مراحل طراحی بدانید:
این سند، توصیف اجزای اصلی سیستم و تعاملات انها، و همچنین الگوریتمهای اصلی و ساختارهای دادهای است که مورد استفاده قرار میگیرد. برای یک مشتری مهم است که HLD را درک کند تا بتواند اطمینان حاصل کند که عملکرد، عملکرد و مقیاس پذیری سیستم نیازهای انها را براورده میکند.
به طور کلی، شما باید اگاه باشید که این مراحل طراحی مهم هستند تا اطمینان حاصل شود که نرم افزار مطابق با الزامات انها است و امکان پیاده سازی دارد. همچنین برای شما مهم است که اگاه باشید که این مراحل طراحی تکراری هستند و بازخورد شما باید در هر یک از این مراحل گنجانده شود.
طراحی سطح بالا (HLD) یک طراحی کلی سیستم است.
در توسعه نرم افزار، طراحی سطح بالا (HLD) فرایند ایجاد یک نمایش انتزاعی از یک سیستم نرم افزاری قبل از جزئیات طراحی سطح پایین است. طراحی سطح بالا یک مرور کلی از معماری نرم افزار، از جمله ساختار کلی و سازماندهی سیستم، اجزای اصلی و تعاملات انها و الگوریتمهای اصلی و ساختارهای دادهای که مورد استفاده قرار میگیرند، فراهم میکند.
این شامل توضیحات بخشهای زیر است:
تمام جریان دادهها، فلوچارتها، ساختارهای داده و غیره در این اسناد هستند تا توسعه دهندگان بتوانند درک کنند که چگونه انتظار میرود سیستم با توجه به ویژگیها و طراحی پایگاه داده کار کند.
هدف HLD ارائه درک روشن و جامع از عملکرد، عملکرد و مقیاس پذیری سیستم و همچنین محدودیتهای کلیدی و تجارتان است. این اطلاعات برای هدایت توسعه سیستم و اطمینان از اینکه الزامات را براورده میکند و محدودیتهای دامنه مشکل را براورده میکند، استفاده میشود.
فرایند HLD معمولاً شامل تعدادی از مراحل است، از جمله:
خروجی فرایند HLD معمولاً مجموعهای از نمودارهایی: مانند نمودارهای بلوک، نمودارهای رابطه موجودیت یا نمودارهای کلاسی است که معماری سیستم را در سطح بالایی توصیف میکند. HLD معمولاً توسط ذینفعان، از جمله مشتری، تیم توسعه و مدیریت بررسی میشود تا اطمینان حاصل شود که انتظارات انها را براورده میکند و طراحی پیشنهادی امکان پذیر است و الزامات را براورده میکند.
مهم است که توجه داشته باشید که طراحی سطح بالا یک نمایش غیر فنی از سیستم است، ان را شامل جزئیات سطح پایین مانند، به عنوان مثال، زبانهای برنامه نویسی خاص، کتابخانهها، و یا هر گونه جزئیات فنی دیگر، که در طراحی سطح پایین (LLD) توضیح داده خواهد شد.
طراحی سطح پایین (LLD) یک فرایند طراحی در سطح جزء است که از یک فرایند پالایش گام به گام پیروی میکند. این جزئیات و تعاریف را برای منطق واقعی برای هر جزء سیستم فراهم میکند. این بر اساس HLD است اما عمیقتر است وبه سمت ماژولهای جداگانه و ویژگیهای هر برنامه به منظور مستند سازی مشخصات آنها پیش میرود.
ایا LLD و DLD یکسان هستند یا تفاوتی وجود دارد؟
در توسعه نرم افزار، طراحی سطح پایین (LLD) و طراحی دقیق (DD) به مراحل مشابه اما کمی متفاوت در فرایند طراحی اشاره دارد.
LLD فرایند گرفتن طراحی سطح بالا (HLD) و ایجاد یک نمایش دقیقتر و فنیتر از سیستم است. LLD ساختارهای دادهها و الگوریتمهای خاصی را که مورد استفاده قرار میگیرند و همچنین رابطهای بین اجزای سیستم تعریف میکند. همچنین مسائلی مانند مدیریت خطا و بازیابی را مورد توجه قرار میدهد و هر گونه قوانین اعتبار سنجی دادههای لازم را تعریف میکند. هدف LLD ارائه یک برنامه روشن و گام به گام برای اجرای سیستم است، از جمله شبه کد دقیق یا سایر نمایشهای الگوریتمها و ساختارهای دادهای که مورد استفاده قرار میگیرند.
طراحی دقیق (DD) یک مرحله در فرایند توسعه نرم افزار است که در ان طراحی نرم افزار به یک طراحی دقیق تبدیل میشود که میتواند برای هدایت پیاده سازی سیستم استفاده شود. DD گام بعدی پس از HLD و LLD است، میتواند شامل تمام عناصر LLD باشد، اما با عمق و جزئیات بیشتر. این شامل توصیفات خاص و دقیق از ساختارهای داده، الگوریتمها، رابطها و سایر عناصر سیستم، و همچنین شبه کد یا سایر نمایشهای کد است که نوشته خواهد شد. DD همچنین ممکن است هر الگوی طراحی خاصی را که در اجرای سیستم استفاده میشود مشخص کند.
به طور خلاصه، طراحی سطح پایین فرایند طراحی سطح بالا و ایجاد یک نمایش دقیقتر و فنیتر از سیستم است. طراحی دقیق گسترش طراحی سطح پایین است که طراحی بسیار دقیق سیستم نرم افزاری را فراهم میکند.
طراحی سطح دقیق (DLD) دقیقترین سند فنی است که داستانهای کاربر، الگوریتمهای پردازش خطا، انتقال حالت، توالیهای منطقی و دیگران را توصیف میکند. DLD تعامل هر فرایند سطح پایین با یکدیگر را توصیف میکند. همانطور که در بالا اشاره کردیم، DLD گسترش طراحی سطح پایین (LLD) است.
طراحی سطح بالا | طراحی سطح پایین | |
شرح مستند | HLD یک طراحی سطح کلان یا طراحی سیستم است. این اجازه میدهد تا “تصویر بزرگ” را ببینید. | LLD یک طراحی سطح میکرو یا طراحی دقیق است. این اجازه میدهد تا جزئیات را ببینید. |
عملکرد | نمایش معماری کلی برنامه و طراحی شبکه و همچنین روابط بین ماژولها و توابع مختلف سیستم. | نمایش شرح مفصلی از هر ماژول که در طراحی سطح بالا (HLD) ذکر شده است. |
مخاطبان هدف | مشتریان، طراحان، داوران، اعضای تیم مدیریت و تیمهای برنامه و راه حل. | تیمهای طراح، تیمهای عملیاتی و مجریان. |
ایده اصلی | HLD برای درک جریان در میان نهادهای مختلف سیستم مورد نیاز است. به عنوان مثال، اگر چندین راه حل یکپارچه داشته باشید، HLD توضیح میدهد که چگونه همه چیز به عنوان یک ارگانیسم واحد کار میکند. | اطلاعات مربوط به ساخت محصول، پیکربندی و عیب یابی ان را فراهم میکند. به عنوان مثال، اگر چندین راه حل داشته باشید، LLD هر یک را با جزئیات توصیف میکند، مانند یک عضو در بدن. |
هدف | تبدیل اهداف و الزامات کسب و کار به یک راه حل سطح بالا. | تبدیل یک راه حل سطح بالا به یک راه حل دقیق اماده برای ساخت. |
طراح | معمار راه حل. | طراحان و توسعه دهندگان با PM |
دادههای ورودی | مشخصات مورد نیاز نرم افزار (SRS.) | سند طراحی سطح بالا بررسی شده و مجاز (HLD.) |
نتایج | طراحی پایگاه داده، طراحی عملکردی و سابقه مرور. | مشخصات برنامه و طرح آزمون واحد. |
HLD از اصطلاحات غیر فنی و یا تا حدی فنی استفاده میکند که باید برای مدیران سیستم قابل درک باشد. در مقابل، طراحی سطح پایین (LLD)، طراحی دقیق منطقی هر یک از این عناصر را برای استفاده مهندسان و برنامه نویسان بیشتر نشان میدهد. HLD هم برای نرمافزار و هم برای سختافزار کاربرد دارد، بیشتر مواقع سختافزار در توسعه سیستم فراموش میشود و فقط نرمافزار مورد بحث قرار میگیرد.
مدانت نرمافزارهای مدیریت خدمات سازمانی- مدیریت و مانیتورینگ شبکه و مدیریت اندپوینتها را با این مستندات فنی ارایه میدهد!