نرم‌افزار: نگاهی به چگونگی تولید نرم افزارهای بزرگ و کوچک

برای نظر دادن اولین باش!
18 مهر
نرم‌افزار: نگاهی به چگونگی تولید نرم افزارهای بزرگ و کوچک

چرخه تولید نرم‌افزار: 

بعضــي اوقــات فيلم‌های مســتندي در مورد نحــوه توليد بســياری از محصولات از رسانه ها پخش می‌شود. اين نوع مستند‌ها معمولا علاقه‌مندان خــاص خود را دارد. ديدن مراحل ســاخت محصولاتي كه ما هر روز از آنها اســتفاده می‌كنيم جالب توجه اســت. نرم‌افزارها هم مانند ساير محصولات چرخــه توليد خاص خــود را دارند و براي توليد آنهــا از روش‌های مختلفي اســتفاده می‌شــود. انتخاب يك روش خوب براي توليد نرم‌افزار به مواردی مانند نوع، حجم و پيچيدگي آن بستگي دارد. در اين بخش قصد داريم چند روش توليد نرم‌افزار را معرفي كنيم.

ســاختن يك نرم‌افزار مانند ساختن يك خانه به نقشه نياز دارد و بايد از قبل همه چيز را پيش‌بينی كرد. برای ســاختن خانه‌ای يك طبقه و كوچك شايد محاسبات پيچيده و نقشه‌های حرفه‌ای ضروری نباشد، در نرم‌افزارهای كوچك نيز همين‌طور است؛ مثلا برای ساختن يك نرم‌افزار ماشين حساب فقط لازم است عملياتي را كه می‌خواهيم ماشين حساب انجام دهد، در ذهن داشته باشــيم و با يكي از زبان‌های برنامه‌نويسي آشنا باشيم تا بتوانيم يك نرم‌افزار ســاده بسازيم. طراحي و پياده‌ســازی نرم‌افزارهای متوسط و بزرگ مانند ساختن مجتمع مســكوني و برج است. براي ساختن آنها محاسبات و پيش‌بينی‌های بيشتری نياز است؛ مثلا براي توليد يك سيستم عامل يا يك سيســتم يكپارچه مديريتی لازم اســت همه چيز دقيق محاســبه و اهداف نرم‌افزار تعيين شود. در اينجا توليد نرم‌افزار را با ســاختن ساختمان مقايسه كرديم، ولي يك فرق اساســي بين اين دو وجود دارد و آن، اين كه در توليد نرم‌افزار به دليل قابل مشــاهده نبودن روند رشد پروژه به صورت فيزيكي به ابزارهای خاصی برای اندازه گيری روند پيشــرفت پروژه نياز داريــم. در ادامه به معرفی چند روش توليد نرم‌افزار می پردازيم.

روش آبشاری روش آبشــاری، روشــی ســنتی اســت. در ايــن روش مراحــل بــه صــورت ترتيبــی انجــام می‌شــود، ابتــدا نيازهــا بــرآورد شــده، ســپس طراحــي نرم‌افــزار انجــام می‌شــود. در مرحله بعد پياده‌ســازی به وســيله زبان‌هــای برنامه‌ســازی صــورت می‌گيــرد و نرم‌افــزار تســت می‌شــود و در نهايــت به دســت مشــتری می‌رســد، تجربــه نشــان داده اســت كه ايــن روش می‌تواند برای نرم‌افزارهای كوچك جوابگو باشــد. با پيشــرفت روش‌هــای توليــد، اين روش منتقــدان زيادي پيدا كرد و امــروزه در كمتر پروژه‌ای با ديد مهندسي از آن استفاده می‌شود.

 

روش افزایشی

در اين روش يك نمونه با استفاده از روش آبشاری تهيه و در ادامه سعی می‌شــود با توجه به نظرات مشتری، نرم‌افزار تكميل شود. در واقع تا كامل شدن محصول چند روش آبشاری كوچك اجرا می‌شود.

روش سريع

همان‌طــور كــه از نام اين روش پيداســت توليد يك نمونــه از محصول نرم‌افزاری در كمترين زمان، هدف روش سريع است. در اين روش كمتر به مباحث قبل از توليد پرداخته می‌شود و اين موضوع اجازه می‌دهد تا نرم‌افزار با ســرعت بالايی توليد شود؛ ولی ممكن اســت همين موضوع باعث وجود نقص‌های فراوان در محصول شــود؛ بنابراين آشنايی قبلي از نيازهای كاربر يك امر مهم در اين روش است.

روش نمونه‌ای

در اين روش ســعی می‌شــود در ابتدا يك نسخه از نرم‌افزار تهيه شود و با توجه به نيازمندی‌ها نســخه اوليه اصلاح شود و نسخه‌های كامل‌تر تهيه شــود. اين روش به تنهايی قابل استفاده نيســت؛ ابتدا بايد كار را با يكی از روش‌های ديگر شــروع كرد ســپس وارد روش نمونه‌ای شد. از ويژگی‌های روش نمونه‌ای علاوه بر اين كه از نظرات كاربر اســتفاده می‌كند، اين است كه ســعی دارد با تقسيم پروژه به قسمت‌های كوچك‌تر ـ كه راحت‌تر قابل تغيير است ـ ريسك پروژه را كمتر كند.

روش‌هايی كه در بالا ذكر شــد بيشــتر برای نرم‌افزارهای كوچك مورد استفاده قرار می‌گيرد و كمتر از مستند‌سازی در آنها استفاده می‌شود. امروزه مستندســازی يك از بخش‌های مهم مهندســی نرم‌افزار به حساب می‌آيد. مستندســازی می‌تواند در مواردی همچون شــناخت صحيــح نيازمندی‌ها، پيش‌بينی ريسك‌ها، چگونگي كيفيت مورد نظر، استفاده مجدد از تجربيات يــك پروژه و... مفيد واقع شــود. در ادامه به معرفي دو نــوع متدولوژی كه امروزه بيشتر برای توليد نرم‌افزار استفاده می‌شود، می‌پردازيم.

 

متدولوژی‌های سنگین

شناخته شده‌ترين متدولوژی سنگينProcess Unified Rational است.RUP  توسط شركت رشنال برای مديريت پروژه‌های نرم افزاری ارائه شد و هم اكنون پركاربردترين فرآيند توليد و توسعه سيستم‌های نرم‌افزاری اســت، اين متدولوژی برای انواع پروژه با اندازه‌های كوچك تا بسيار بزرگ قابل اســتفاده اســت، ولی به دليل وجود مستندسازی‌های فراوان بيشتر در پروژه‌های بزرگ اســتفاده می‌شود. از محاسن اين روش می‌توان به تحليل دقيق ريســك‌های پيش روی پروژه، بررســی دقيق نيازمندی‌ها و فازبندی دقيق پروژه اشاره كرد. مستند‌ســازی در RUP  بــه حدی دقيق اســت كه در صــورت انجام صحيح كمتر بــه ايجاد تغيير نياز خواهد بود، برخی اين مستندســازی زياد را مفيد نمی‌دانند ولی در پروژهايی با اندازه‌های خيلي بزرگ نبود مستندات مشكل‌ساز خواهد بود.

متدولوژی‌ها‌ی سبك Agil

متدولوژی ســبك، گروهی از متدهای توســعه نرم‌افزار است كه در واقع در مقابل متدولوژی‌های ســنگين به وجود آمد و بر اســاس تكرار و افزايش بنا نهاده شــده است. ويژگی اين متدها انعطاف‌پذيری آنها در برابر تغييرات، قابليت بالای كار گروهی و همچنين مستندســازی كمتر نسبت به RUP است. دو نمونه از اين متدولوژی‌ها عبارتند از: (Programming eXtended (XP :در XP تاكيــد بــر رضايت مشــتری و كار تيمي است، برنامه‌نويسان، مشــتری و مدير پروژه جزئي از تيم هســتند. مشتری با ارائه بازخورد خود از محصول، در تكميل آن كمك می‌كند. Scrum :ايــن روش امروزه بســيار مورد اســتقبال بــوده و خيلي از شــركت‌های بزرگ به ســمت آن رفته‌انــد؛ زيرا بــرای پروژه‌های بزرگ و كوچك قابل اجراست و مانند XP توانسته رضايت مشتری را جلب كند.

ابزارها

با اســتفاده از روش‌ها و متدولوژی‌ها مسير كلی پروژه معلوم و تحليل‌ها انجــام می‌شــود. در اين ميــان ابزارهايی وجــود دارد كه می‌توانــد با ارائه دياگرام‌هــای ديداری و مفهومی مســيرها و تحليل‌ها را بــه صورتی قابل فهم مدل كند. UML يك زبان مدلســازی اســت كه با اســتفاده از آن می‌توان همه ســناريوهای موجــود در نرم افــزار را مــدل كــرد و طرحي دقيــق از نحوه پياده‌سازی سيستم ارائه داد.

انتخاب زبان برنامه‌نويسی

انتخاب زبان برنامه‌نويســی و در صورت نياز سيســتم مديريت پايگاه داده مناســب برای توليد نرم‌افزار يكی از تصميم‌های مهم به شــمار می رود. هر زبان ويژگی‌های خاص خود را دارد؛ مثلا اگر قرار اســت برنامه‌ای بنويســيد كه محاســبات رياضی انجام دهد، بهتر است برويد سراغ Prolog يا ++C زيــرا ابزارهای خوبی در اين زمينه دارد. اگر قصــد توليد نرم‌افزار اداری داريد Studio Visual  مايكروسافت ابزارهای مناسبی در اختيارتان قرار می‌دهد. انتخاب زبان مناسب به متغير‌های زيادی وابسته بوده و برای هر پروژه متفاوت است. يك انتخاب غلط می‌تواند به شكست پروژه منتهی شود.

 

 

روزنامه جام‌جم."چرخه تولید نرم‌ افزار: نگاهی به چگونگی تولید نرم‌ افزارهای کوچک و بزرگ". 14 آبان1391. شماره 400

نظر دادن

از پر شدن تمامی موارد الزامی ستاره‌دار (*) اطمینان حاصل کنید. کد HTML مجاز نیست.

تهران ، خ کارگر شمالی ، کوچه اشراقی ، خیابان هئیت ، ساختمان گرد آفرید، پارک علم و فناوری دانشگاه تربیت مدرس تهران، پ 15 شماره تماس : 02166582371

درباره ما

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

آمار بازدید

امروز29
دیروز411
این هفته1521
این ماه6667
مجموع181602

11
آنلاین
چهارشنبه, 01 آبان 1398 04:50
توسعه یافته توسط مارال وب