طرح اولیه نرم‌افزار

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

نقشه اولیه نرم افزار متکی بر دستیابی به یک جدایی واضح بین جنبه‌های منطقی مستقل نرم افزار است.

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

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

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

مثال‌ها

طراحی فرم GUI 
طراحی فرم GUI (به جعبه ابزار GUI مراجعه کنید) به‌طور گسترده‌ای در صنعت نرم افزار پذیرفته شده‌است و به برنامه‌نویس اجازه می‌دهد تا یک توصیف نسخه ای از ویجت‌های GUI را در یک پنجره مشخص کند. این توضیحات می‌تواند مستقیماً به کدی که GUI ترسیم می‌کند ترجمه شود (زیرا تجویزی است).

زبانهای هماهنگی قابل ترجمه ماشین (به عنوان مثال CDL) 
زبانهایی مانند زبان توصیف همزمان (CDL) منطق ماکروسکوپی یک برنامه (ارتباطات، همگام سازی و نظارت) را از برنامه‌های پیچیده چند رشته‌ای AND/OR چند فرآیندی به یک نمایش بصری پیوسته تبدیل می‌کند. ماهیت تجویزی این توصیف به این معنی است که می‌توان آن را به یک چارچوب اجرایی ترجمه کرد که ممکن است قبل از در دسترس بودن منطق میکروسکوپی، از نظر یکپارچگی ساختاری (تشخیص وضعیت رقابت، بن‌بست‌ها و غیره) آزمایش شود.

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

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

جستارهای وابسته 
 طراحی نرم افزار

پیوند به بیرون 
معماری نرم‌افزار