توسعه نرمافزارهایی که از ابتدا بر اساس یک مسئله مشخص هوش مصنوعی، علمی، تحلیلی یا محاسباتی طراحی میشوند.
این کار میتواند تحلیل نیازمندی، معماری سامانه، اتصال مدل، پردازش داده، توسعه رابط، استقرار و نگهداری را شامل شود.
این نوع نرمافزار زمانی مناسب است که محصولات عمومی موجود نتوانند ساختار داده، workflow یا نیاز محاسباتی پروژه را بهدرستی پوشش دهند.
روش پیادهسازی بر اساس دادههای موجود، محدودیتهای فنی، میزان اتوماسیون مورد نیاز و زیرساخت نرمافزاری یا پژوهشی پروژه انتخاب میشود. راهکار میتواند بهصورت یک جزء مستقل یا درون یک سامانه بزرگتر پیادهسازی شود.
هدف، ایجاد یک جریان محاسباتی روشن و قابل ارزیابی است که بتوان آن را در ادامه نگهداری، توسعه و با نیازهای جدید پروژه تطبیق داد. بنابراین انتخاب مدل، پردازش داده، رابطها و روش استقرار بر اساس مسئله واقعی پروژه تعیین میشود.