سه شنبه, ۱۱ اردیبهشت, ۱۴۰۳ / 30 April, 2024
مجله ویستا
فرایند و مراحل تولید نرم افزار
در ساخت یک سیستم نرم افزاری سه فرآیند مهم تاثیر گذار می باشند:
▪ فرآیند توسعه (Development Process):
سازماندهی فعالیت ها است برای ساخت یک سیستم
▪ فرآیند مدیریت (Management Process):
انتخاب افراد، تجهیزات و فرآیند هاست برای توسعه یک سیستم و کنترل و نظارت بر روند اجرای پروژه (مدیریت پروژه)
▪ فرآیند پشتیبانی (Maintenance Process):
کنترل و پشتیبانی نرم افزار پس از تولید آن
در این بین در فرآیند توسعه هدف آن است که یک سیستم با مشخصات خواسته شده تولید شود و بنابراین برای تولید هر نوع سیستم متفاوت است.فرآیند توسعه از مرحله طرح یک راه حل مفهومی برای مساله خواسته شده (امکان سنجی) آغاز شده، پس از دریافت خواسته ها و تحلیل سیستم طراحی صورت گرفته و در نهایت این طراحی با کمک ابزارهای پیاده سازی تبدیل به یک سیستم واقعی می شود. هدف این فرآیند آن است که از یک سو برآورده ساختن نیازهای کاربران و از سوی دیگر کیفیت مناسب عملکرد سیستم تضمین گردد و بنابراین بایستی حاوی مکانیسم هایی برای اعتبار سنجی: خروجی مطابق با خواسته ها (Validation) و وارسی پذیری: صحت عملکرد خروجی (Verification) باشد. فرآیند توسعه ضمن دادن آزادی به تحلیل گر باید تضمین کند که زمانبندی رعایت شود.
روشهای مختلفی برای فرآیند توسعه سیستم وجود دارد که در این میان می توان گفت ۱۲ روش مطرح تر وجود دارد که بدون اشاره به مزایا و معایب آنها عبارتند از:
۱) ساده ترین روش: تبدیل فرآیند توسعه سیستم در قالب دنباله ای از وظایف مشخص و ترسیم CPM: Critical Path Model ، یک نمودار از تمام فعالیت ها
۲) فرایند توسعه خطی Liner: به ترتیب مراحل انتخاب پروژه، تعریف مفهومی (تعریف مساله، امکان سنجی) ، تعریف مشخصات (خواسته ها ، تعریف مساله) ، طراحی (طراحی معماری، تفصیلی) ، توسعه (ساخت سیستم، تست) ، ارزیابی و درنهایت تعریف پروژه جدید
۳) مدل آبشاری (Water Fall) : تقسیم وظائف توسعه سیستم در قالب یک مدل آبشاری از تعریف مساله، امکان سنجی، تحلیل (سیستم، خواسته ها)، طراحی ، پیاده سازی و تست ، یکپارچه سازی و تست، نصب و تست ، نگهداری و مرور , با امکان برگشت از یک مرحله به مرحله قبل
۴) توسعه مرحله ای، افزایشی و یا نموی Incremental Methods : تقسیم یک مساله به مسائل کوچکتر و انجام هر زیر سیستم (مساله کوچکتر) و انجام هر یک به صورت جداگانه و در صورت امکان اجرا به صورت همزمان
۵) الگو سازی (Prototyping) :ایجاد یک الگو برای کاربران برای اینکه درک بهتری از سیستم داشته باشند و درنهایت پیاده سازی سیستم بر اساس این نمونه
۶) توسعه سریع سیستم RAD: Rapid Application Development : ادغام برخی مراحل با یکدیگر و استفاده از زبانهای نسل چهارم برای توسعه سیستم (مراحل: برنامه ریزی، طراحی و تست)
۷) طراحی تکاملی به صورت حلزونی و یا مارپیچی (Spiral) : توسعه سیستم به صورت افزایشی به صورت بازگشتی Recursive
۸) با اضافه کردن مفاهیم برنامه سازی شی گرایی (OOP) به روش حلزونی و تبدیل به صورت موازی بازگشتی (Parallel Recursive Method )
۹) توسعه سیستم مبتنی بر مولفه ها (CBSD: Component Based Software Development )
۱۰) توسعه همزمان (Concurrent Development) : توسعه به صورت یک فرآیند سیستماتیک و مرحله بندی و لیبل گذاری هر بخش در هر مرحله. تقسیم سیستم به بخش های مختلف و تقسیم نیروها در بین پروژه های مختلف برای اجرای این بخش ها به صورت همزمان
۱۱) روشهای فرمال : بکارگیری مدل ها و مفاهیم ریاضی در توسعه سیستم
۱۲) روشهای نسل چهارم: بگارگیری از ابزارهای گرافیکی و ابزارهای مهندسی نرم افزار (CASE Tools)
با توجه به تعدد روشها و مدل های فرآیند توسعه باید در یک پروژه انتخاب صورت بگیرد. این انتخاب بر اساس موارد زیر می تواند باشد:
- درجه ساختاری سیستم
- آشنایی با فنآوری
- اندازه پروژه
برای مثال چرخه های خطی برای پروژه های آسان و ساختیافته و یا زمانی که با فنآوری کاملا آشنا هستیم مناسب می باشند و برای پروژه های بزرگ و ناشناخته روشهای افزایشی بهتر می باشند.اما نمی توان انتظار داشت یک گروه تولید کننده نرم افزار در هر پروژه یک معیار را انتخاب کند. چون این کار بسیار هزینه بر است و به لحاظ مختلف ناصواب. دلایل انتخاب یک روش استاندارد برای یک تیم و استفاده در همه پروژه ها آنست که:
- طراحان برای یادگیری تکنیک های جدید وقت زیاد تلف نمی کنند.
- مستند سازی بهتر صورت می گیرد
- کاهش هزینه آموزش کاربران سیستم ها
منبع : انجمن علمی دانشگاه شیخ بهایی
همچنین مشاهده کنید
نمایندگی زیمنس ایران فروش PLC S71200/300/400/1500 | درایو …
دریافت خدمات پرستاری در منزل
pameranian.com
پیچ و مهره پارس سهند
خرید بلیط هواپیما
ایران مجلس شورای اسلامی بابک زنجانی مجلس دولت سیزدهم قوه قضائیه خلیج فارس لایحه بودجه 1403 شورای نگهبان دولت حجاب مجلس یازدهم
تهران قوه قضاییه پلیس سیل آموزش و پرورش شهرداری تهران فضای مجازی سلامت شورای شهر تهران دستگیری سازمان هواشناسی قتل
خودرو بانک مرکزی ایران خودرو قیمت دلار قیمت خودرو قیمت طلا سایپا دلار بازار خودرو مالیات تورم ارز
تلویزیون سریال پایتخت سینمای ایران سینما دفاع مقدس رسانه موسیقی تئاتر فیلم رسانه ملی کتاب
رژیم صهیونیستی اسرائیل غزه فلسطین آمریکا جنگ غزه حماس نوار غزه روسیه عربستان نتانیاهو ترکیه
فوتبال پرسپولیس استقلال سپاهان تراکتور باشگاه پرسپولیس باشگاه استقلال لیگ برتر رئال مادرید فوتسال تیم ملی فوتسال ایران بازی
هوش مصنوعی ناسا اپل تسلا تبلیغات فناوری پهپاد همراه اول گوگل آیفون
داروخانه مسمومیت دیابت خواب کاهش وزن طول عمر سلامت روان بارداری آلزایمر