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