Transcript فصل 14

‫بسـم هللا الرحمـن الـرحیـم‬
‫‪1‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫ارائه فصل ‪( 14‬مفاهیم کیفیتی)‬
‫استاد‪:‬‬
‫دکتـر حسنـی‬
‫تهیه کنندگـان‪:‬‬
‫امین جعفریان‬
‫فاضل کامران‬
‫سید امید علوی مهریان‬
‫ارائه دهنده‪ :‬سید امید علوی‬
‫مهریان‬
‫مهرمـاه ‪92‬‬
‫‪2‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫نگــاهــی گــذرا‪:‬‬
‫مفاهیم کیفیت چیست؟‬
‫پاسخ به این سوال به آسانی که تصور میکنید نیست‪.‬‬
‫چه کس ی آنرا انجام میدهد؟‬
‫هرکس ی از جمله ‪ :‬مهندسان نرم افزار – مدیران – همه طرفهای ذی نفع‬
‫در فرآیند نرم افزار دخیل هستند‪.‬‬
‫که‬
‫چرا اهمیت دارد؟‬
‫مقدار دوباره کاری ها کاهش می یابد که این منجر به کاهش هزینه ها و‬
‫مهمتر ازهمه بهبود زمان ارائه به بازار می شود‪.‬‬
‫‪3‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫مراحل کار کدام است؟‬
‫فرآیند و کار مهندس ی نرم افزار اثبات شده‬
‫مدیریت منسجم پروژه‬
‫کنترل فراگیر کیفیت‬
‫وجود زیر ساخت برای تضمین کیفیت‬
‫محصول کار چیست؟‬
‫نرم افزاری که نیاز مشتری را برآورده میکند‬
‫بطور صحیح و با قابلیت اطمینان کار میکند‬
‫برای کسانی که با آن کار میکنند ایجاد ارزش میکند‬
‫چطور اطمینان حاصل کنیم که درست از عهده کارها برآمده ایم؟‬
‫کنترل کیفیت با بررس ی نتایج همه فعالیتها‬
‫بررس ی خطاها قبل از تحویل و نقایص در میدان‬
‫‪4‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪5‬‬
‫در اوایل قرن حاضر مجله ‪ [lev01]CIO‬چاپ کرد که‪:‬‬
‫به ‪ 78‬میلیارد دالر ضرر ساالنه پایان دهیم! شرکتهای تجاری در آمریکا میلیاردها دالر‬
‫صرف نرم افزارهایی میکنند که آنچه را قرار است انجام دهند انجام نمیدهند‬
‫‪:[Ric01]Information Week‬‬
‫کد نویس ی ناقص هیوالی صنعت نرم افزار است و ‪ 45‬درصداز اتالف وقت ها را باعث‬
‫میشود و ساالنه هزینه ای حدود صد میلیارد دالر را متوجه شرکتهای آمریکایی میکند‪.‬‬
‫در سال ‪ ComputerWorld [Hil05] ، 2005‬چنین گزارش کرد‪:‬‬
‫نرم افزارهای بد تقریبا هر سازمانی را که از کامپیوتر استفاده میکند به آشوب میکشد و‬
‫باعث میشود در مدت زمانی که کامپیوتر ها از کار می افتند‪:‬‬
‫ساعتها وقت کارکنان به هدر برود‬
‫داده ها از بین بروند یا مخدوش شوند‬
‫فرصت های فروش از بین بروند‬
‫هزینه های گزاف صرف نگهداری و پشتیبانی شود و از رضایت مشتری‬
‫کاسته شود‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫یک سال بعد ]‪ InfoWorld [Fos06‬در باره وضعیت اسف بار کیفیت نرم افزار‬
‫نوشت و گزارش کرد که مساله کیفیت اصال بهبود نیافته است‪.‬‬
‫امروزه کیفیت نرم افزار همچنان به عنوان یک مشکل باقی است‪.‬‬
‫ولی چه کس ی را باید مالمت کرد؟‬
‫سازندگان مشتریان و سایر ذی نفع ها را مالمت میکنند با این استدالل که‪:‬‬
‫تاریخ تحویل های غیر موجه و جریان پیوسته تغییرات‪ ،‬آنها را وادار می سازد تا نرم افزار‬
‫را پیش از اعتبارسنجی کامل تحویل دهند‪ .‬اما حق باکیست؟ هر دو – و مساله این است‬
‫‪6‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫کیفیـت چیسـت ‪:‬‬
‫پرسینگ‪ :‬کیفیت را برتر بودن یک سری اشیاء یا چیزهای خاص بر چیزهای دیگر تعریف کرده است که باعث‬
‫میشود انسان گرایش بیشتری نسبت به آنها نشان دهد‪.‬‬
‫دیوید گاروین‪ :‬کیفیت مفهومی پیچیده و چند وجهی است که از ‪ 5‬دیدگاه متفاوت قابل توصیف است‪:‬‬
‫دیدگاه متعـالی ‪ ‬کیفیت چیزی است که بال فاصله آنرا تشخیص می‬
‫آنرا تعریف کنید‪.‬‬
‫دهید ولی نمی توانید به صراحت‬
‫دیدگاه کـاربری ‪ ‬کیفیت بر حسب اهداف خاص کاربر نهایی دیده می شود‪.‬‬
‫دیدگاه سازندگـان ‪ ‬کیفیت بر حسب مشخصات اولیه محصول تعریف می شود‪.‬‬
‫دیدگاه محصولـی ‪ ‬کیفیت را میتوان به خصوصیات ذاتی (از قبیل قابلیت ها و ویژگیها) محصول ربط داد‪.‬‬
‫دیدگاه ارزش محـور ‪ ‬کیفیت بر اسا میزان پولی سنجیده میشود که مشتری حاضر به پرداخت برای‬
‫محصول است‪.‬‬
‫‪7‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫کیفیت متـابعتـی‪:‬‬
‫در کیفیت متابعتی میزان متابعت پیاده سازی از طراحی و برآورده شدن‬
‫خواسته ها و اهداف کارایی توسط سیستم حاصل مورد توجه قرار میگیرد‪.‬‬
‫دیدگـاه رابـرت گالس در مـورد کیفیت‪:‬‬
‫رابرت گالس مدعیست که کیفیت اهمیت دارد اما اگر کاربر رضایت نداشته‬
‫باشد هیچ چیز دیگری اهمیت ندارد‪.‬‬
‫تحویل در زمانبندی و بودجه تعیین شده ‪ +‬کیفیت خوب ‪ +‬محصول مطابق استاندارد =‬
‫رضایت کاربر‬
‫دیـدگـاه دمـارکـو در مورد کیفیت‪:‬‬
‫کیفیت یک محصول‪ ،‬تابعی است از این که چه مقدار دنیا را تغییر میدهد تا‬
‫بهتر شود‬
‫‪8‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫کیفیت نرم افزار‪:‬‬
‫در عمومی ترین حالت کیفیت نرم افزار را میتوان به صورت زیر تعریف کرد‪:‬‬
‫فرایند نرم افزار اثربخش‪ ,‬زیرساختی را بنا می کند که هرگونه تالش برای ساخت یک‬
‫محصول نرم افزاری با کیفیت باال را پشتیبانی می کند‪.‬‬
‫محصول مفید‪ ,‬محتویات‪ ,‬قابلیت ها و ویژگی هایی را تحویل می دهد که مطلوب کاربر نهایی‬
‫هستند‪.‬‬
‫یک نرم افزار با کیفیت باال با افزودن ارزش برای تولیدکننده و کاربر این محصول نرم‬
‫افزاری‪ ,‬هم برای سازمان وهم برای جامعه کاربران نهایی مزیت فراهم می کند‪.‬‬
‫نتیجه برخورداری از کیفیت نرم افزار‪:‬‬
‫در آمد بیشتر برای محصول نرم افزاری‬
‫منفعت بهتر هنگام پشتیبانی یک برنامه کاربردی از یک فرآیند تجاری‬
‫بهبود دسترس ی به اطالعات حیاتی برای شرکت تجاری خواهد بود‪.‬‬
‫‪9‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ .14-2‬ابعاد کیفیتی گاروین‬
‫کیفیت کارایی‪ :‬تحویل همه محتویات ‪،‬قابلیتها و ویژگیهای خواسته شده و ایجاد ارزش برای کاربر‪.‬‬
‫کیفیت ویژگی ها‪ :‬فراهم کردن ویژگیهایی که باعث خشنود کردن کاربران نهایی شوند‪.‬‬
‫قابلیت اطمینان‪ :‬تحویل ویژگیها بدون شکست و خطا و در دسترس بودن در مواقع نیاز‪.‬‬
‫متابعت‪ :‬تبعیت از استاندارد های داخلی و خارجی مربوط به کاربرد مورد نظر‪.‬‬
‫دوام‪ :‬بدون ایجاد اثرات جانبی و کاهش قابلیت اطمینان قابل نگهداری و شکال زدایی باشد ‪.‬‬
‫قابلیت سرویس دهی‪ :‬در زمان کوتاه قابل نگهداری با اشکال زدایی باشد‪.‬‬
‫زیبایی شناس ی‪ :‬زیبا باشد‪.‬‬
‫ادراک‪ :‬مجموعه پیش داوری بر ادراک شما از کیفیت تاثیر دارد‪.‬‬
‫‪10‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-2-2‬عوامل کیفیتی مک کال‬
‫‪11‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-2-2‬عـوامل کیفیتـی مـک کـال‬
‫‪12‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫درستی‬
‫قابلیت اطمینان‬
‫بازدهی‬
‫انسجام‬
‫قابلیت استفاده‬
‫قابلیت نگهداری‬
‫انعطاف پذیری‬
‫آزمون پذیری‬
‫حمل پذیری(‪)portability‬‬
‫قابلیت استفاده مجدد‬
‫قابلیت کار متقابل‬
‫معیارهای مک کال فقط به طور غیر مستقیم و‬
‫نسبی به ارزیابی کیفیت می پردازد‪.‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-2-3‬عوامل کیفیتی ‪ISO 9126‬‬
‫‪13‬‬
‫قابلیت عملیاتی‪ :‬حد برآوردن نیازها بر اساس مناسب بودن‪ ،‬صحیح‬
‫بودن‪ ،‬قابلیت کار متقابل‪ ،‬تطابق و امنیت‬
‫قابلیت اطمینان‪ :‬مدت زمان در دسترس بودن بر اساس بلوغ ‪ ،‬تحمل‬
‫خطا‪ ،‬قابلیت رهایی یافتن از خطا‬
‫قابلیت استفاده‪ :‬سهولت استفاده بر اساس قابلیت درک‪ ،‬قابلیت فراگیری‪،‬‬
‫قابلیت کار با آن‬
‫بازدهی‪ :‬حد استفاده بهینه از منابع سیستم بر اساس رفتار زمانی و رفتار‬
‫منابعی‬
‫قابلیت نگهداری‪ :‬سهولت ترمیم بر اساس تحلیل پذیری‪ ،‬تغییر پذیری‪،‬‬
‫پایداری و آزمون پذیری‬
‫حمل پذیری‪ :‬سهولت انتقال بر اساس تطبیق پذیری‪ ،‬ناپایداری‪ ،‬مطابقت‪،‬‬
‫قابلیت جایگزینی‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-2-4‬عوامل کیفیتی هدفمند‬
‫‪14‬‬
‫بصیرت گرایی(‪:)Intuitiveness‬‬
‫میزان پیروی واسط از الگوهای کاربرد مورد انتظار به طوری که‬
‫حتی یک کاربر تازه کار بتواند بدون نیاز به آموزش زیاد از آن‬
‫استفاده کند‪.‬‬
‫بازدهی(‪:)Efficiency‬‬
‫میزانی از امکان یافتن عملیات و اطالعات یا استفاده از آنها‬
‫استحکام(‪:)Robustness‬‬
‫میزان اداره کردن داده های ورودی بد یا تعامل نامناسب کاربر‬
‫توسط نرم افزار‬
‫غنا(‪:)Richness‬‬
‫میزان ارائه مجموعه ای غنی از ویژگی ها به وسیله ی واسط‬
‫با بررس ی این عوامل و پاسخ به سواالتی که ذیل مفهوم هر‬
‫عامل مطرح میگردد‪ ،‬اگر پاسخ اکثر سواالت "مثبت" باشد این‬
‫کهدهندهنرم افزار کیفیت باالیی از خود نشان دهد‪.‬‬
‫احتمال وجود دارد‬
‫سید امید علوی مهریان‬
‫ارائه‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪15‬‬
‫‪ 14-2-5‬کمـی کـردن کیفیـت‪:‬‬
‫مجموعه عوامل کیفی که مورد بحث قرار گرفتند ماهیت موضوعی و تخصص ی داشتند‬
‫و برای آنکه ارزش داشته باشند باید توسط کارشناس انجام شوند ‪.‬‬
‫لذا برای حل این مشکل راهی برای به دست آوردن اندازه گیری های کمی جهت تحلیل‬
‫عینی مورد نیاز است که در فصل ‪ 23‬بررس ی خواهند شد‪.‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-3‬معضل کیفیت نرم افزار‬
‫‪16‬‬
‫بتران مایر معضل کیفیت را چنین مورد بحث قرار میدهد ‪:‬‬
‫اگر یک نرم افزار افتضاح تولید کنیم هیچ کس مایل به خریدن آن نخواهد بود‬
‫اگر بی اندازه زمان و تالش صرف تولید نرم افزاری مطلقا کامل کنیم و پول هنگفتی هم‬
‫صرف کنیم کار تولید آنقدر طول میکشد که‪:‬‬
‫از کار عقب خواهیم ماند‬
‫زمان مناسب بازار را از دست خواهیم داد‬
‫همه منابع خود را به هدر میدهیم‬
‫در نتیجه باید به یک حد میانی دست پیدا کنیم که محصول آن قدر خوب باشد که بال‬
‫فاصله طی مرحله ارزیابی برگشت داده نشود و در عین حال آن قدر هم در پی کمال گرایی‬
‫نباشیم که برای کامل شدن به کار و هزینه بیش از حد نیاز داشته باشد‪.‬‬
‫یعنی هنگامی که با معضل کیفیت مواجه شدیم بکوشیم موازنه برقرار کنیم‪:‬‬
‫تالش کافی برای ایجاد کیفیت قابل قبول بدون توقف پروژه‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫معضالت کیفیـت نـرم افـزار شـامل مـوارد زیـر است‪:‬‬
‫‪ ‬نرم افزار « به قدر کافی خوب »‬
‫‪ ‬هزینه کیفیت‬
‫‪ ‬ریسک‬
‫‪ ‬اهمال و بی کفایتی‬
‫‪ ‬کیفیت و امنیت‬
‫‪ ‬تأثیر کنش های مدیریتی‬
‫‪17‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-3-1‬نرم افزار « به قدر کافی خوب »‬
‫دقیقا منظور از "به قدر کافی خوب" چیست؟‬
‫نرم افزاریست که قابلیت ها و ویژگیهای مطلوب کاربر را با کیفیت باال تحویل دهد ولی‬
‫در عین حال ‪،‬قابلیت ها و ویژگیهای تخصص یافته تر یا گمنام تری را تحویل می دهد‬
‫که حاوی اشکال های ناشناخته شده اند‪.‬‬
‫فروشنده نرم افزار امیدوار است که اکثریت وسیع کاربران نهایی به این اشکال ها به‬
‫دیده اغماض بنگرند‪ ،‬چون از سایر قابلیت های عملیاتی برنامه بسیار راض ی هستند‪.‬‬
‫‪18‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-3-1‬نرم افزار « به قدر کافی خوب »‬
‫دقیقا منظور از "به قدر کافی خوب" چیست؟‬
‫"به قدر کافی خوب" ممکن است در برخی دامنه ها ی کاربردی و برای چند شرکت بزرگ‬
‫جواب دهد‪ .‬ولی اگر برای یک شرکت کوچک کار می کنید مراقب باشید که این ریسک‬
‫ممکن است آبروی شرکت را برای همیشه به خطر اندازد‪.‬‬
‫اگر در دامنه کاربردی معین کار میکنید(مثال نرم افزارهای زمان حقیقی تعبیه شده) یا برنامه های‬
‫کاربردی میسازید که با سخت افزار ارائه میشوند (مثال نرم افزارهای مخابراتی و نرم افزارهای خودرو)‬
‫تحویل نرم افزاری با اشکال های شناخته شده و معلوم میتواند سهل انگاری باشد و شرکت را در‬
‫مظان اتهام قرار دهد‪.‬‬
‫نتیجه‪:‬‬
‫‪19‬‬
‫این فلسفه میتواند جواب بدهد ولی تنها برای چند دامنه با کاربرد معدود و در‬
‫مجموعه محدودی از کاربردها‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-3-2‬هـزینـه کیفیت‪:‬‬
‫هزینه کیفیت شامل همه هزینه هایی میشود که در جستجوی کیفیت یا اجرای‬
‫فعالیتهای مرتبط با کیفیت و هزینه های ناش ی از فقدان کیفیت تحمیل می شوند‪:‬‬
‫‪ ‬هزینه هـای پیش گیـری‬
‫‪ ‬هزینه هـای ارزی ــابی‬
‫‪ ‬هزینـه ه ــای شکست‬
‫‪20‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫هزینـه هـای پیش گیـری‪:‬‬
‫‪ ‬فعالیت های مدیریتی موردنیاز برای برنامه ریزی و هماهنگ کردن کلیه فعالیت های‬
‫تضمین کیفیت‬
‫‪ ‬هزینه فعالیت های فنی برای توسعه و تکمیل مدل خواسته ها ومدل‬
‫طراحی‬
‫‪ ‬هزینه های برنامه ریزی آزمون‬
‫‪ ‬هزینه همه ی آموزش های مرتبط با این فعالیت ها‬
‫‪21‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫هزینه هـای ارزیـابی‪:‬‬
‫شامل فعالیتهای انجام شده برای بدست آوردن دیدی از وضعیت محصول در نخستین‬
‫گذر از هر فرآیند میشود مثال‪:‬‬
‫‪ ‬هزینه اجرای باز بینی های فنی برای محصوالت کاری مهندس ی نرم افزار‬
‫‪ ‬هزینه جمع آوری داداه ها و ارزیابی معیارها‬
‫‪ ‬هزینه آزمون و اشکال زدایی‬
‫‪22‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫هزینـه هــای شکست‪:‬‬
‫به آندسته از هزینه هایی گفته میشود که در صورت عدم بروز خطا قبل یا بعد از‬
‫رسیدن محصول به دست مشتری‪ ،‬ناپدید می شوند‪.‬‬
‫در کل هزینه های شکست به دو دسته تقسیم میشوند‪:‬‬
‫‪ ‬هزینه های شکست داخلی‬
‫‪ ‬هزینه های شکست خارجی‬
‫‪23‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫هزینه های شکست داخلی‪:‬‬
‫هزینه های مربوط به خطاهایی که در محصول و قبل از رسیدن آن به مشتری کشف‬
‫میشوند‪.‬‬
‫مثال‪:‬‬
‫‪ ‬هزینه الزم برای اجرای دوباره کاری برای تصحیح خطا‬
‫‪ ‬هزینه ناش ی از اثرات جانبی که در اثر دوباره کاری ها ایجاد می شود‪.‬‬
‫‪ ‬هزینه های مربوط به جمع آوری معیارهای کیفیتی که به سازمان این امکان‬
‫را می دهند تا به حالت های شکست دست پیدا کند‪.‬‬
‫‪24‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫هزینه های شکست خارجی‪:‬‬
‫هزینه های مربوط به نقایص ی که پس از رسیدن محصول به دست مشتری کشف‬
‫میشوند‪ .‬که عبارتند از‪:‬‬
‫‪‬جلب رضایت شاکی‬
‫‪‬مرجوع و جایگزین کردن محصول‬
‫‪‬کمک به پشتیبانی خطی و هزینه های کار مرتبط با ضمانت‬
‫‪‬بدنامی و ضرر و زیان‬
‫‪25‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫میانگین هزینه های صنعتی برای تصحیح یک نقص‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ ‬این جدول بر اساس داده های جمع آوری شده توسط بوهم طراحی شده‬
‫‪26‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-3-3‬ریسک ‪:‬‬
‫نرم افزارهای با کیفیت پایین هم برای سازنده و هم برای کاربر نهایی‬
‫ایجاد ریسک میکند ‪.‬‬
‫افزایش هزینه ها نمونه ای از ریسک میباشد‪.‬‬
‫کیفیت نرم افزار اهمیتی اساس ی دارد و برنامه های کاربردی باید ضد‬
‫خطا باشند زیرا کدهای ضعیف میتوانند باعث مرگ شوند‪.‬‬
‫در نتیجه ‪:‬‬
‫‪27‬‬
‫کیفیت ضعیف منجر به ریسک می شود که برخی از آنها بسیار‬
‫جدی اند‪.‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-3-4‬اهمال و بی کفایتی‪:‬‬
‫کار با نیات خوب از هر دو طرف شروع میشود ولی هنگام تحویل سیستم اوضاع خراب‬
‫میشود‪:‬‬
‫‪ ‬سیستم دیر جواب میدهد‬
‫‪ ‬از تحویل دادن قابلیتها و ویژگیهای مطلوب باز می ماند‬
‫‪ ‬مستعد خطاست‬
‫‪ ‬رضایت مشتری را جلب نمیکند‬
‫‪28‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-3-5‬کیفیت و امنیت‪:‬‬
‫امنیت نرم افزار با موضوع کیفیت کامال مرتبط است به بیان ساده نرم افزاری که‬
‫کیفیت پایین دارد نفوذ در آن راحت است وریسک امنیتی را با تمام هزینه ها‬
‫ومشکالت مربوط به آن افزایش می دهد‪.‬برای ساخت سیستمی امن باید کیفیت را‬
‫کانون توجه قرار دهید واین توجه ویژه باید طی طراحی شروع شود‪.‬‬
‫دو نوع مشکل نرم افزاری وجود دارد‪:‬‬
‫‪ ‬اشکال ها )‪(Bugs‬که مربوط به پیاده سازی میشوند‬
‫‪ ‬نقص های نرم افزار )‪(Flaws‬که مربوط به مشکالت معماری در طراحی‬
‫میشوند‬
‫‪29‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-3-6‬تأثیر کنش های مدیریتی‪:‬‬
‫کیفیت نرم افزار غالبا به همان اندازه که از تصمیم گیریهای فناوری تاثیر می پذیرد از‬
‫تصمیم گیریهای مدیریتی نیز تاثیر میپذیرد‪.‬‬
‫‪ ‬تصمیم گیری های برآوردی‬
‫‪ ‬تصمیم گیری های زمان بندی‬
‫‪ ‬تصمیم گیری های مربوط به ریسک‬
‫‪30‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪31‬‬
‫معضل کیفیت نرم افزار را میتوان با قانون مسکیمن خالصه کرد‪:‬‬
‫هرگز وقت برای انجام درست کار وجود ندارد ولی همواره برای دوباره‬
‫کاری وقت هست‪.‬‬
‫نصیحت‪:‬‬
‫شتاب نکردن برای انجام درست کارها ‪،‬تقریبا همیشه تصمیم اشتباهی‬
‫نیست‪.‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-4‬دستیابی به کیفیت نرم افزار‬
‫کیفیت نرم افزار نتیجه ی مدیریت خوب پروژه و کار مهندس ی نرم افزار‬
‫مستحکم است‬
‫مدیریت و کار در حیطه ‪ 4‬فعالیت زیر گسترده است‪:‬‬
‫‪ 14-4-1 ‬روش های مهندس ی نرم افزار‬
‫‪ 14-4-2 ‬تکنیک های مدیریت پروژه‬
‫‪ 14-4-3 ‬کنترل کیفیت‬
‫‪ 14-4-4 ‬تضمین کیفیت‬
‫‪32‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-4-1‬روش های مهندس ی نرم افزار‪:‬‬
‫برای ساخت نرم افزار با کیفیت بال باید‪:‬‬
‫‪ ‬مساله را خوب درک کرد‬
‫‪ ‬طراحی با مساله همخوانی داشته باشد‬
‫‪33‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-4-2‬تکنیک های مدیریت پروژه‪:‬‬
‫مدیریت پروژه میتواند کیفیت نرم افزاری را به نحوی مثبت تحت تاثیر قرار دهد اگر‪:‬‬
‫‪ ‬مدیر پروژه از برآوردها استفاده کند‬
‫‪ ‬وابستگیهای زمانبندی درک شده باشد‬
‫‪ ‬برنامه ریزی برای ریسک انجام شده باشد‬
‫‪34‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫‪ 14-4-3‬کنترل کیفیت‪:‬‬
‫مجموعه ای از کنش های مدیریت نرم افزار که به کمک آن ها می‬
‫توان اطمینان حاصل کرد که هر محصول کاری ‪،‬اهداف کیفیتی اش را‬
‫برآورده ساخته‬
‫‪ 14-4-4‬تضمین کیفیت‬
‫شامل مجموعه وظایف ممیزی و گزارش دهی می شود که اثربخش‬
‫بودن و کامل بودن کنش های کنترل کیفیت را ارزیابی میکند‪.‬‬
‫‪35‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬
‫مهندس ی نرم افزار پیشرفته‬
‫زندگـی کوتـاهتر از آن است که لحظاتت‬
‫را به دست غم بدهـی‪...‬‬
‫موفـق بـاشید‬
‫‪36‬‬
‫ارائه دهنده‬
‫سید امید علوی مهریان‬