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

شاد باشید.