طراحی یک نرم‌افزاربا توجه به چه مواردی ساخته می شود؟
طراحی نرم‌افزار
طراحی نرم‌افزار فرایند حل مسئله و برنامه‌ریزی در راستای ساختن یک نرم‌افزار است. طراحی نرم‌افزار فرایندی است که توسط آن یک عامل، مشخصه ای از نرم‌افزار را طراحی می‌کند که هدف آن، به انجام رساندن اهداف از پیش تعیین شده با استفاده از مجموعه ای از اجزای اولیه و با توجه به محدودیت‌ها است. طراحی نرم‌افزار می‌تواند به عنوان "تمام فعالیت‌های مربوط به مفهوم سازی، طراحی، اجرا، راه اندازی و در نهایت اصلاح سیستم‌های پیچیده" یا "فعالیت‌های مشخص مورد نیاز و قبل از برنامه‌نویسی و … [در] یک پروسه مهندسی نرم‌افزار. طراحی نرم‌افزار معمولاً شامل حل مسئله و برنامه‌ریزی یک راه حل نرم‌افزاری است که شامل طراحی جزئی اجزا و طراحی الگوریتم و طراحی معماری سطح بالا می‌باشد."
ایفل (زبان برنامه‌نویسی)
هدف طراحی پشت زبان ایفل، کتابخانه‌ها، و روش‌های برنامه‌نویسی است که برای فعال کردن برنامه نویسان برای ایجاد ماژول‌های نرم‌افزار قابل اعتماد، قابل استفاده مجدد. ایفل: وراثت چندگانه، genericity، پلی مورفیسم، یگدیگر، تبدیل نوع امن، و کوواریانس پارامتر پشتیبانی می‌باشد. مهم‌ترین ایفل سهم به مهندسی نرم‌افزار طراحی شده توسط قرارداد (DbC)، که در آن اظهارات، پیش شرط، شرایط ارسال، و ویژگی‌های کلاس برای کمک به اطمینان از صحت برنامه بدون فدا کردن بهره‌وری است.