- مرجع دانلود جدیدترین مقالات ورد و پاورپوینت

برچسب: مهندسی نرم افزار و تولید نرم افزار

هنگامي يك نرم افزار كاربردي موفق قلمداد مي گردد كه تمام نيارمندي هاي كاربرانش را برطرف سازد و اين بدان معناست كه مدت زماني طولاني بدون عيب و نقص كاركرده يا اصلاح و حتي اعمال تغييرات در آن ساده باشد و بتواند و بايد بتواند كه امور را به گونه اي مناسب تر تغيير دهد. اما وقتي نرم افزاري با موفقيت همراه نيست،‌يعني كاربر از آن ناراضي است،‌مستعد خطاست،‌تغيير آن مشكل است،‌حتي كاركردن با آن سخت و طاقت فرساست.

رخداد هر اتفاق نامطلوب، ممكن است. از اينرو ما همگي مي خواهيم نرم افزاري بسازيم كه بهتر عمل كند و از اتفاقات بدي كه در سايه فعاليت هاي شكست خورده،‌كمين كرده اند،‌بپرهيزد. موفقيت در طراحي و ساخت نرم افزار نياز به انضباط و نظم دارد و البته رهيافتي مهندسي.

گرچه مديران و متخصصان نياز به رهيافتي منظم تر را تشخيص داده اند،‌اما در خصوص كاربرد رهيافت ها نيز به بحث و جدل مشغولند.

هنوز نيز بسياري از افراد و شركت ها نرم افزار را به طور آشفته و نامنظم توليد مي كنند. هرچند سيستم هايي مي سازند كه خدماتي به اكثر فناوري هاي پيشرفته امروزي ارائه مي كنند. بسياري از افراد حرفه اي و دانشجويان از روش هاي مدرن اطلاعي ندارند و در نتيجه كيفيت نرم افزار توليد شده ما دچار نقيصه شده و اتفاقات بدي روي مي دهد.[1]

 توليد نرم افزارهای کاربردی روزبه روزگسترش می يابد و لزوم بکارگيری روش ها و اصول مهندسی نرم افزار در مراحل توسعه ، مديريت و پشتيبانی آنها بيشتر نمود پيدا می کند . کيفيت نرم افزار (Software Quality) شاخص حياتی برای توليد نرم افزار های با کيفيت بالاست که ضمن بالا بردن بهره وری در توليد نرم افزار ها ، به ايجاد نرم افزار های قدرتمند و شکست ناپذير منجر می گردد . همانطور که شاهديم در سال های اخير نگاه علمی به مقوله اقتصاد ، معادلات حاکم بر روابط اقتصادی و تجارت سنتی را تحت تاثير قرار داده و راهبرد توسعه اقتصادی متکی به توسعه صنعتی ، جای خود را به توسعه اقتصادی بر مبنای توسعه علمی داده است . به گونه ای که در اقتصاد دانش محور ، توسعه علم و فن آوری بويژه فن آوری اطلاعات و ارتباطات (IT) به عنوان شيوه ای مطمئن و قدرتمند برای توليد ثروت و توسعه اقتصادی شناخته می شود .در اين بين و با الگو برداری از پيشتازان عرصه توليد نرم افزار همچون کشور های هند و ايرلند و شيوه های بکار رفته توسط ايشان در توسعه اقصادی مبتنی بر نرم افزار، متوجه خواهيم شد که در پس همه اين طرح ها و موفقيت ها بايد به جستجوی زير ساخت ها بر آئيم ، زير ساخت هايی که منجر به توليد و ساخت نرم افزار های قدرتمند و بر پايه اصول علمی در سطح جهانی شده است .

از اين رو وجود زير ساخت های بسيار قوی علمی ، فنی و مهندسی بکار گرفته شده توسط اين کشورها را می توان به عنوان الگويی برای ساير کشورها در نظر گرفت و با بهره گيری از اين تجربيات به ارتقاء جايگاه نرم افزار و صادرات آن و نيز تعامل مثبت آن با اقتصاد پرداخت .مدل سازی نرم افزار ، بکارگيری تکنيک های پيشرفته آزمايش نرم افزار ، مديريت ريسک نرم افزار ، تضمين کيفيت نرم افزار ، مهندسی محصول و .... تنها عناوينی از فهرست گسترده زير ساخت های مرتبط با توسعه نرم افزار های قوی و مهندسی ساز است که در نوشتار حاضر به طور خاص به بررسی علمی و فنی يکی از اين زير ساخت ها با عنوان "تضمين کيفيت نرم افزار" و در زيرشاخه ی آن به کيفيت نرم افزار و راه های تضمين و بهبود آن پرداخته خواهد شد .اين نوشتار با ارائه تعاريف و اهميت نقش کيفيت نرم افزار در توليد سيستم های نرم افزاری مهندسی ساز و ارائه يک نمونه از استاندارد های کاربردی در اين خصوص ، سعي دارد نشان دهد كه توجه به ساخت نرم افزار با کيفيت بالا در جهت بهره گيري مطلوب مي تواند كارآيي سيستم ها را افزايش داده و دستيابي به ظرفيت هاي جديدي را فراهم آورد .[2]

كيفيت

كيفيت به عنوان خصيصه ي چيزي به وي‍ژگي هاي قابل سنجش چيزي اشاره دارد. چيزهايي كه ما مي توانيم آنها را ب ااستاندارد هاي شناخته شده اي چون رنگ،‌خواص الكتريكي،‌چكش خواري و غيره مقايسه كنيم.

كيفيت طراحي مربوط به آن وي‍‍‍‍ژگي هايي است كه طراح به چيزي اختصاص داده است. درجه مواد،‌تولرانس ها و خصوصيات اجرايي همه مربوط به كيفيت طراحي هستند. با به كار بردن موادي با درجه عالي تر تولرانس هاي فشرده تر و سطوح اجرايي معين تر كيفيت طراحي يك محصول افزايش ميابد،‌البته اگر آن محصول مطابق آن ويژگي ها توليد گردد.[3]

 

مهندسی نرم افزار و تولید نرم افزاری با کیفیت بالا

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

فرآيند توسعه:(Development Process) سازماندهی فعاليت ها است برای ساخت يک سيستم.

فرآيند مديريت :(Management Process) انتخاب افراد، تجهيزات و فرآيند هاست برای توسعه يک سيستم و کنترل و نظارت بر روند اجرای پروژه .

فرآيند پشتيباني :(Maintenance Process) کنترل و پشتيبانی نرم افزار پس از توليد آن.

 

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

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