فرایند 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 هم برای نرمافزار و هم برای سختافزار کاربرد دارد، بیشتر مواقع سختافزار در توسعه سیستم فراموش میشود و فقط نرمافزار مورد بحث قرار میگیرد.
مدانت نرمافزارهای مدیریت خدمات سازمانی- مدیریت و مانیتورینگ شبکه و مدیریت اندپوینتها را با این مستندات فنی ارایه میدهد!
[…] مطلب مرتبط: مستندات فنی نرمافزار تفاوت LLD و HLD […]