چرخه تولید نرمافزار:
بعضــي اوقــات فيلمهای مســتندي در مورد نحــوه توليد بســياری از محصولات از رسانه ها پخش میشود. اين نوع مستندها معمولا علاقهمندان خــاص خود را دارد. ديدن مراحل ســاخت محصولاتي كه ما هر روز از آنها اســتفاده میكنيم جالب توجه اســت. نرمافزارها هم مانند ساير محصولات چرخــه توليد خاص خــود را دارند و براي توليد آنهــا از روشهای مختلفي اســتفاده میشــود. انتخاب يك روش خوب براي توليد نرمافزار به مواردی مانند نوع، حجم و پيچيدگي آن بستگي دارد. در اين بخش قصد داريم چند روش توليد نرمافزار را معرفي كنيم.
ســاختن يك نرمافزار مانند ساختن يك خانه به نقشه نياز دارد و بايد از قبل همه چيز را پيشبينی كرد. برای ســاختن خانهای يك طبقه و كوچك شايد محاسبات پيچيده و نقشههای حرفهای ضروری نباشد، در نرمافزارهای كوچك نيز همينطور است؛ مثلا برای ساختن يك نرمافزار ماشين حساب فقط لازم است عملياتي را كه میخواهيم ماشين حساب انجام دهد، در ذهن داشته باشــيم و با يكي از زبانهای برنامهنويسي آشنا باشيم تا بتوانيم يك نرمافزار ســاده بسازيم. طراحي و پيادهســازی نرمافزارهای متوسط و بزرگ مانند ساختن مجتمع مســكوني و برج است. براي ساختن آنها محاسبات و پيشبينیهای بيشتری نياز است؛ مثلا براي توليد يك سيستم عامل يا يك سيســتم يكپارچه مديريتی لازم اســت همه چيز دقيق محاســبه و اهداف نرمافزار تعيين شود. در اينجا توليد نرمافزار را با ســاختن ساختمان مقايسه كرديم، ولي يك فرق اساســي بين اين دو وجود دارد و آن، اين كه در توليد نرمافزار به دليل قابل مشــاهده نبودن روند رشد پروژه به صورت فيزيكي به ابزارهای خاصی برای اندازه گيری روند پيشــرفت پروژه نياز داريــم. در ادامه به معرفی چند روش توليد نرمافزار می پردازيم.
روش آبشاری روش آبشــاری، روشــی ســنتی اســت. در ايــن روش مراحــل بــه صــورت ترتيبــی انجــام میشــود، ابتــدا نيازهــا بــرآورد شــده، ســپس طراحــي نرمافــزار انجــام میشــود. در مرحله بعد پيادهســازی به وســيله زبانهــای برنامهســازی صــورت میگيــرد و نرمافــزار تســت میشــود و در نهايــت به دســت مشــتری میرســد، تجربــه نشــان داده اســت كه ايــن روش میتواند برای نرمافزارهای كوچك جوابگو باشــد. با پيشــرفت روشهــای توليــد، اين روش منتقــدان زيادي پيدا كرد و امــروزه در كمتر پروژهای با ديد مهندسي از آن استفاده میشود.
روش افزایشی
در اين روش يك نمونه با استفاده از روش آبشاری تهيه و در ادامه سعی میشــود با توجه به نظرات مشتری، نرمافزار تكميل شود. در واقع تا كامل شدن محصول چند روش آبشاری كوچك اجرا میشود.
روش سريع
همانطــور كــه از نام اين روش پيداســت توليد يك نمونــه از محصول نرمافزاری در كمترين زمان، هدف روش سريع است. در اين روش كمتر به مباحث قبل از توليد پرداخته میشود و اين موضوع اجازه میدهد تا نرمافزار با ســرعت بالايی توليد شود؛ ولی ممكن اســت همين موضوع باعث وجود نقصهای فراوان در محصول شــود؛ بنابراين آشنايی قبلي از نيازهای كاربر يك امر مهم در اين روش است.
روش نمونهای
در اين روش ســعی میشــود در ابتدا يك نسخه از نرمافزار تهيه شود و با توجه به نيازمندیها نســخه اوليه اصلاح شود و نسخههای كاملتر تهيه شــود. اين روش به تنهايی قابل استفاده نيســت؛ ابتدا بايد كار را با يكی از روشهای ديگر شــروع كرد ســپس وارد روش نمونهای شد. از ويژگیهای روش نمونهای علاوه بر اين كه از نظرات كاربر اســتفاده میكند، اين است كه ســعی دارد با تقسيم پروژه به قسمتهای كوچكتر ـ كه راحتتر قابل تغيير است ـ ريسك پروژه را كمتر كند.
روشهايی كه در بالا ذكر شــد بيشــتر برای نرمافزارهای كوچك مورد استفاده قرار میگيرد و كمتر از مستندسازی در آنها استفاده میشود. امروزه مستندســازی يك از بخشهای مهم مهندســی نرمافزار به حساب میآيد. مستندســازی میتواند در مواردی همچون شــناخت صحيــح نيازمندیها، پيشبينی ريسكها، چگونگي كيفيت مورد نظر، استفاده مجدد از تجربيات يــك پروژه و... مفيد واقع شــود. در ادامه به معرفي دو نــوع متدولوژی كه امروزه بيشتر برای توليد نرمافزار استفاده میشود، میپردازيم.
متدولوژیهای سنگین
شناخته شدهترين متدولوژی سنگينProcess Unified Rational است.RUP توسط شركت رشنال برای مديريت پروژههای نرم افزاری ارائه شد و هم اكنون پركاربردترين فرآيند توليد و توسعه سيستمهای نرمافزاری اســت، اين متدولوژی برای انواع پروژه با اندازههای كوچك تا بسيار بزرگ قابل اســتفاده اســت، ولی به دليل وجود مستندسازیهای فراوان بيشتر در پروژههای بزرگ اســتفاده میشود. از محاسن اين روش میتوان به تحليل دقيق ريســكهای پيش روی پروژه، بررســی دقيق نيازمندیها و فازبندی دقيق پروژه اشاره كرد. مستندســازی در RUP بــه حدی دقيق اســت كه در صــورت انجام صحيح كمتر بــه ايجاد تغيير نياز خواهد بود، برخی اين مستندســازی زياد را مفيد نمیدانند ولی در پروژهايی با اندازههای خيلي بزرگ نبود مستندات مشكلساز خواهد بود.
متدولوژیهای سبك Agil
متدولوژی ســبك، گروهی از متدهای توســعه نرمافزار است كه در واقع در مقابل متدولوژیهای ســنگين به وجود آمد و بر اســاس تكرار و افزايش بنا نهاده شــده است. ويژگی اين متدها انعطافپذيری آنها در برابر تغييرات، قابليت بالای كار گروهی و همچنين مستندســازی كمتر نسبت به RUP است. دو نمونه از اين متدولوژیها عبارتند از: (Programming eXtended (XP :در XP تاكيــد بــر رضايت مشــتری و كار تيمي است، برنامهنويسان، مشــتری و مدير پروژه جزئي از تيم هســتند. مشتری با ارائه بازخورد خود از محصول، در تكميل آن كمك میكند. Scrum :ايــن روش امروزه بســيار مورد اســتقبال بــوده و خيلي از شــركتهای بزرگ به ســمت آن رفتهانــد؛ زيرا بــرای پروژههای بزرگ و كوچك قابل اجراست و مانند XP توانسته رضايت مشتری را جلب كند.
ابزارها
با اســتفاده از روشها و متدولوژیها مسير كلی پروژه معلوم و تحليلها انجــام میشــود. در اين ميــان ابزارهايی وجــود دارد كه میتوانــد با ارائه دياگرامهــای ديداری و مفهومی مســيرها و تحليلها را بــه صورتی قابل فهم مدل كند. UML يك زبان مدلســازی اســت كه با اســتفاده از آن میتوان همه ســناريوهای موجــود در نرم افــزار را مــدل كــرد و طرحي دقيــق از نحوه پيادهسازی سيستم ارائه داد.
انتخاب زبان برنامهنويسی
انتخاب زبان برنامهنويســی و در صورت نياز سيســتم مديريت پايگاه داده مناســب برای توليد نرمافزار يكی از تصميمهای مهم به شــمار می رود. هر زبان ويژگیهای خاص خود را دارد؛ مثلا اگر قرار اســت برنامهای بنويســيد كه محاســبات رياضی انجام دهد، بهتر است برويد سراغ Prolog يا ++C زيــرا ابزارهای خوبی در اين زمينه دارد. اگر قصــد توليد نرمافزار اداری داريد Studio Visual مايكروسافت ابزارهای مناسبی در اختيارتان قرار میدهد. انتخاب زبان مناسب به متغيرهای زيادی وابسته بوده و برای هر پروژه متفاوت است. يك انتخاب غلط میتواند به شكست پروژه منتهی شود.
روزنامه جامجم."چرخه تولید نرم افزار: نگاهی به چگونگی تولید نرم افزارهای کوچک و بزرگ". 14 آبان1391. شماره 400
تگ ها : نگاهی به چگونگی تولید نرم افزار های بزرگ و کوچک چرخه تولید نرم افزار نرمافزار چیست؟(۲)؛ شناسایی انواع نرمافزار نرم افزار جامع مدیریت خدمات پس از فروش سروشان [PPT]مهندسی نرم افزار چيست؟ چگونه یک نرم افزار را توسعه دهیم؟ مناسبترين روش براي توليد نرمافزارهاي كوچك روشهای تولید نرم افزار انواع نرم افزار چیست؟ نرم افزار حسابداری شرکت های تعاونی نقش نرم افزار در توسعه و شکوفایی ملی negarehsoft.ir شرکت گام الکترونیک بایگانیها آموزش نرم افزار حسابداری مدیریت موفق پروژه های نرم افزاری Development Processes Part1 شرکت لیدوپارس: PVsyst6 کتاب آموزش فارسی دریافت پروانه بهره برداری در حوزه تولید نرم افزار از وزارت صنعت، معدن و نحوه ثبت نام طراحی نرم افزار اندروید Falcongaze Azureus فارسی چگونه اسکرام میتواند بازدهی تیم شما را از بین ببرد – بلاگ تک پین Bentley AXSYS.Process V8i مطلب ( MATLAB ) یکی از زبانهای برنامه نویسی سطح بالا با تمرکز بر موبوگرام چیست؛ بررسی تلگرام همه منظوره جدلاگ دلایلی که کسب و کارهای کوچک باید از نرم افزار مدیریتی استفاده کنند [PDF]مهاجرت بازیابگرهای آرشیوی به سمت ایکا مشکل پنهان در شرکت های نرم افزاری اطلاعات بیشتر توسعه معادن کوچک ، چالش ها و رویکردها در برنامه ریزی توسعه vahid گراند سایت شیمون چاکِن: دوره آموزشی خود شاخص سازمانی آموزش زبان برنامه نویسی ++C، جلسه اول نرم افزار آموزشگاه شاهوار ده اشتباه برنامه نویسان مبتدی مزایای نرم افزار مدیریت درخواستها گروه شرکت های طرفه نگار مهندسی نرم افزار و رویکردهای جدید پاسخ به: چرا از نرم افزار CRM مایکروسافت استفاده نکنیم؟ مهندسی نرم افزار، روندها و متودولوژی ها اینترنت با ترس از ERP مقابله کنید تنها ارایه کننده فناوری بیم به زبان فارسی پرنا شرکت طراحی گرافیک نرم افزار سایت اپلیکیشن [PDF]سند برنامه های تحول مهارت خانه کتیا اهواز: درباره CATIA پی سی دانلود: نرم افزار، فیلم، بازی، کتاب، آموزش و برنامه موبایل BBC فارسی روابط عمومی محمد حسین هنرکار برنامه نویس [PDF]ﻧﮕﺎﻫﻲ ﺁﻣﺎﺭﻱ ﺑﻪ ﺍﺑﻌﺎﺩ ﻛﹼﻤﻲ ﻭ ﻛﻴﻔﻲ ﺑﺎﺯﺍﺭ ﻧﺮﻡ ﺍﻓﺰﺍﺭ طراحی سیستم های برق خورشیدی(فتوولتائیک) و آموزش نرم افزار PV دنیای چابک – توسعه نرم افزار گوش نرم افزار آموزش نقد و بررسی: goodEar طرفدار و EarBeater برای جشنواره روز آزادی نرمافزار تهران مقالات شرکت به سامان پیشرو رایانه چارگون [PDF]فصلنامه علمی –دانشجویی مهندسی صنایع دانشگاه الزهرا)س( نشریه پویان سال چهاردهمین کنفرانس بین المللی مهندسی صنایع [PDF]16 محافظت از ایمیل برنامه گوگل الو (Google Allo)؛ مسنجری هوشمند با قابلیت جدید نرم افزار حسابداری و مالی حساب رایان پارس مجموعه آموزش های پروژه محور برنامه نویسی آموزش نرم افزار NetBeans همه چیز در باره روش توسعه نرم افزار چابک Agile Software Searches related to نرمافزار: نگاهی به چگونگی تولید نرم افزارهای بزرگ و کوچک
نظرات