چارچوب مهندسی نرمافزار (مهندسی نرمافزار) میتواند به صورت زیر خلاصه شود:
- اهداف،
- فرایندها و
- اصول.
(۱) هدف: تولید محصولات با دقت، قابلیت استفاده و هزینه معقول.
- دقت به درجهای اشاره دارد که محصول نرمافزاری به عملکرد مورد انتظار دست مییابد.
- قابلیت استفاده به درجهای اشاره دارد که ساختار پایه، پیادهسازی و مستندات نرمافزار برای کاربران در دسترس است.
- هزینه مناسب به درجهای اشاره دارد که کل هزینه توسعه و عملیات نرمافزار با نیازهای کاربران مطابقت دارد.
در تحقق این اهداف، چه در نظریه و چه در عمل، مشکلات زیادی وجود دارد که محدودیتهایی را در انتخاب فرایندها، مدلهای فرایند و روشهای مهندسی ایجاد میکند.
(۲) فرایند مهندسی نرمافزار: مراحل لازم برای تولید یک محصول نرمافزاری که در نهایت میتواند به تقاضا پاسخ دهد و به هدف مهندسی برسد.
فرایند مهندسی نرمافزار عمدتاً شامل موارد زیر است:
- فرایند توسعه,
- فرایند عملیات، و
- فرایند نگهداری.
آنها شامل نیازها، طراحی، پیادهسازی، اعتبارسنجی و فعالیتهای نگهداری هستند.
فرایند نیاز شامل تحلیل مشکل و تحلیل نیاز است.
- تحلیل مشکل برای بهدست آوردن تعریف نیازها، که به آن مشخصات نیازمندیهای نرمافزار نیز گفته میشود.
- تحلیل نیاز مشخصات عملکردی را تولید میکند.
فرایند طراحی معمولاً شامل طراحی کلی و طراحی دقیق است. طراحی کلی ساختار کل سیستم نرمافزاری را تعیین میکند، از جمله زیرسیستمها، ماژولها و سطوح توصیف مرتبط، و تعریف رابط هر ماژول.
فرایند طراحی دقیق توصیفهای ماژول را برای برنامهنویسان تولید میکند، از جمله توصیفهای ساختار داده و توصیفهای پردازش در هر ماژول.
فرایند پیادهسازی نتایج طراحی را به کد برنامه قابل اجرا تبدیل میکند. فعالیت تأیید در طول کل فرایند توسعه اجرا میشود تا تأیید پس از اتمام را تحقق بخشد و اطمینان حاصل کند که محصول نهایی با نیازهای کاربر مطابقت دارد.
فرایند نگهداری شامل گسترش، تغییر و بهبود در حین استفاده است. به همراه فرایندهای فوق، فرایند مدیریت، فرایند پشتیبانی، فرایند آموزش و غیره نیز وجود دارد.
(۳) اصول به اصولی اشاره دارد که باید در فرایند توسعه نرمافزار در اطراف طراحی مهندسی، پشتیبانی مهندسی و مدیریت مهندسی رعایت شوند.
مدل فرایند نرمافزار
- مدل فرایند نرمافزار چیست؟
- برنامهریزی تطبیقی در مقابل پیشبینی: کی چابک؟ کی آبشاری؟
- چرخه عمر توسعه نرمافزار چیست؟
- تکنیکهای تحلیل نیاز
- منابع توسعه نرمافزار
- مقالات توسعه نرمافزار چابک
This post is also available in Deutsch, English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.