PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ویژگیهای قابل حصول از طریق مهندسی نرم افزار



Borna66
04-07-2011, 10:44 PM
ویژگیهای قابل حصول از طریق مهندسی نرم افزاربصورت زیر تعریف می شود:
مجموعه ای از صفات و مشخصه های مرتبط با محصولات نرم افزاری، كه زمینة تشریح، ایجاد و ارزیابی خصوصیات كیفیت محصول را از طریق مهندسی نرم افزار فراهم می آورند.
كیفیت در بر گیرنده مجموعه ای از خصوصیات كیفیت بوده، و هر یك از این خصوصیات كیفیت، با چندین ویژگی قابل حصول از طریق مهندسی نرم افزار مرتبط است. بعبارتی دیگر با بهره گیری از روشهای مهندسی نرم افزار برای ایجاد هر یك از ویژگیها، محصول نرم افزاری از نظر خصوصیات كیفیت مرتبط با آن ویژگی، تحت الشعاع قرار می گیرد.ویژگیهای قابل حصول از طریق مهندسی نرم افزار عبارتند از:

1_ مناسبت(ٍSuitability)
2- درستی و دقت در ارائة نتایج و تأثیرات(ِAccuracy)
3_ توانایی برقراری روابط موردنظر با دیگر سیستمهای تعیین شده(Interoperability)
4_ رعایت استانداردهای مرتبط با كاربرد(Compatibility)
5_ امنیت(Security)
6_ پختگی یا بلوغ(Maturity)
7_ تحمل خرابی(Fault Tolerance)
8- قابلیت بازگرداندن(Recoverability)
9_ قابل فهم بودن(Understandability)
10_ قابلیت یادگیری(Learnability)
11_ قابلیت اجرا(Operability)
12_ كارایی از نظر زمان (Time Efficiency)
13_ كارایی از نظر منابع(Resource Efficiency)
14_ قابل تحلیل بودن(Analysability)
15_ قابلیت تغییر(Changeability)
16_ ثبات یا پایداری(Stability)
17_ آزمون پذیری(Testability)
18_ تطبیق پذیری محیطی(Adaptability)
19_ قابلیت نصب(Installability)
20_ رعایت استانداردهای مرتبط با قابلیت حمل(Compliance)

یادآوری 1_ حصول میزان تصریح شده و مورد قبول ضمنی از ویژگی های فوق در انواع نرم افزارها دارای اهمیت است. اما در بودجة معین، ممكن است شرایطی رخ دهد كه حصول میزان موردنظر از یك ویژگی منجر به عدم توانایی در رسیدن به میزان موردنیاز از یك ویژگی دیگر می شود. نظر به اینكه حصول میزان تصریح شده و ضمنی از ویژگی ها، در قسمتهای حساس از نرم افزارهای حساس الزامی می باشد، بنابر این در تولید این قسمت ها، اصل بر حصول كلیة ضروریات است و در اینگونه موارد، هیچگونه محدودیتی پذیرفته نیست. اما حذف یا كاهش میزان مورد نیاز از ویژگی های غیر بحرانی، اگرچه منجر به كاهش كیفیت افزونه محصول می شود، قابل قبول است. در مورد هر ویژگی مرتبط با نرم افزارهای حساس، حصول میزان تصریح شده و ضمنی، در قسمتهای حساس از این نرم افزارها الزامی می باشد.

Borna66
04-07-2011, 10:44 PM
1_ مناسبت(Suitability)
مشخصه هایی از نرم افزار كه بر موجود بودن و تناسب مجموعة فعالیتهای نرم افزار با وظایف تصریح شده در مستندات نیازمندیها و موارد ضمنی دلالت دارند. مناسبت، یكی از ویژگیهای فرعی مرتبط با خصوصیت میزان پوشش دهی وظایف تعیین شده می باشد.
یادآوری 1_ با استفاده از ویژگی مناسبت، میزان تطابق بین وظایف، فرایندهای اصلی و فرعی، و عناصر تشكیل دهندة اصلی و فرعی، موجود در محیط واقعی(یا تعیین شده در مستند نیازمندیها)، با محیط ارائه شدة نرم افزاری سنجیده می شود.
یادآوری 2_ ویژگی مناسبت، مستقل از اندازه محصول است.
یادآوری 3_ نرم افزار در اصل بمنظور انجام وظایف مشخص و با رویه ها و رفتارهای متناسب ساخته می شود. بنابراین حصول میزان تصریح شده و ضمنی از مناسبت در انواع نرم افزارها(از هر اندازه و هر نوع )، دارای اهمیت است. اما حصول میزان تصریح شده و ضمنی، در قسمتهای حساس از نرم افزارهای حساس الزامی می باشد.

Borna66
04-07-2011, 10:44 PM
2_ درستی و دقت در ارائة نتایج و تأثیرات(ِAccuracy)
مشخصه هایی از نرم افزار كه بر ارائة نتایج درست و تأثیر گذاری صحیح، به میزان صحت تصریح شده در مستندات نیازمندیها و مورد قبول ضمنی دلالت دارند. درستی و دقت در ارائة نتایج و تأثیرات، یكی از ویژگیهای مرتبط با خصوصیت میزان پوشش دهی وظایف تعیین شده می باشد.

یادآوری 1_ با استفاده از ویژگی مذكور، میزان تطابق بین نتایج و دقت محاسبات، و تأثیرات ناشی از رفتارهای موجود در محیط واقعی(تعیین شده در مستند نیازمندیها)، با محیط ارائه شدة نرم افزاری سنجیده می شود.
یادآوری 2_ درستی و دقت در ارائة نتایج و تأثیرات، مستقل از اندازه محصول است و بهتر است میزان مورد نظر در مستند نیازمندی كلیة نرم افزارها اعلام گردد.
یادآوری 3_ حصول میزان تصریح شده و ضمنی از درستی و دقت در ارائة نتایج و تأثیرات، در نرم افزارهای علمی و مهندسی، تحلیل عددی، نرم افزارهای مالی و محاسباتی، و بطور كلی در موارد حساس از نظر دقت الزامی است.

Borna66
04-07-2011, 10:44 PM
3_ توانایی برقراری روابط موردنظر با دیگر سیستمهای تعیین شده(Interoperability)
مشخصه هایی از نرم افزار كه بر قابلیت فعل و انفعال و برقراری روابط تصریح شده، با سیستم های تصریح شده دلالت دارند. ویژگی مذكور، یكی از ویژگیهای مرتبط با خصوصیت میزان پوشش دهی وظایف تعیین شده می باشد.
یادآوری 1_ با استفاده از این ویژگی، میزان تطابق بین توانایی یا نیاز به برقراری ارتباطات داده ای و انجام همكاری با دیگر سیستمها در محیط واقعی، با آنچه در محیط نرم افزار عرضه می گردد سنجیده می شود.
یادآوری 2_ رعایت استانداردهای كامپیوتری(مانند انواع فایلهای استاندارد یا پروتكلهای ارتباطی خاص)، باعث افزایش این ویژگی در محصول می گردد.
یادآوری 3_ ویژگی توانایی برقراری روابط موردنظر با دیگر سیستم های تعیین شده، مستقل از اندازه محصول است.

Borna66
04-07-2011, 10:44 PM
4_ رعایت استانداردهای مرتبط با كاربرد(Compatibility)
مشخصه هایی از نرم افزار كه بر رعایت استانداردها، مقررات یا قواعد مربوط به كاربرد موردنظر در محصول، دلالت دارند. ویژگی مذكور، یكی از ویژگیهای مرتبط با خصوصیت میزان پوشش دهی وظایف تعیین شده می باشد.
یادآوری 1_ در صورت وجود و برقراری استاندارد(یا مجموعه ای از استانداردهای مرتبط) در محدودة بكارگیری محصول، استفادة دقیق از آن(ها) در تهیه و تدوین مستند نیازمندیها الزامی می باشد و مفاد موجود در مستند نیازمندیها نباید نافی ضروریات و نیازمندیهای آن استاندارد(ها) باشد.
یادآوری 2_ رعایت آندسته از استانداردهای صنعتی كه بیشتر به منظور یكنواخت نمودن كاربرد، عمومیت دادن و ایجاد ارتباط آسانتر بین نرم افزارها بوجود آمده اند، ممكن است زمینه ساز كاهش ویژگیهای دیگر(مانند كارایی) شود. این استانداردها در تولید بسته های نرم افزاری كاربرد بیشتری دارند اما در تولید محصولات سفارشی یا حساس كمتر مورد استفاده قرار می گیرند.
یادآوری 3_ ویژگی رعایت استانداردهای مرتبط با كاربرد، مستقل از اندازه محصول است.

Borna66
04-07-2011, 10:45 PM
5_ امنیت(Security)
مشخصه هایی از نرم افزار كه بر قابلیت آن در جلوگیری از دستیابی غیرمجاز، بصورت عمدی یا غیر عمدی به برنامه ها و داده ها دلالت دارند. امنیت، یكی از ویژگیهای مرتبط با خصوصیت میزان پوشش دهی وظایف تعیین شده می باشد.
یادآوری 1_ با استفاده از این ویژگی، میزان رعایت سطوح امنیت تصریح شده یا ضمنی مورد نیاز در محصول سنجیده می شود.
یادآوری 2_ ویژگی امنیت در بسیاری از نرم افزارهای كاربردی حائز اهمیت است، زیرا این سیستمها معمولاً اطلاعات خصوصی و محرمانه(مانند سوابق فردی، شغلی، مالی، سیاسی، كیفری، سازمانی و غیره) را در مقیاس های مختلف در خود نگهداری می نمایند.
یادآوری 3_ویژگی امنیت در مورد تخصیص مجوز اجرای برنامه ها نیز حائز اهمیت است. وجود یك سیستم صحیح امنیت و تخصیص وظایف به كاربران، برای سیستمهایی كه پذیرای تغییرات و رشد هستند دارای اهمیت و در نرم افزارهای حساس الزامی می باشد.
یادآوری 3_ ویژگی امنیت، با بزرگتر شدن اندازه، تعدد وظایف، جامعیت و تنوع اطلاعات و تنوع كاربران اهمیت بیشتری می یابد.

Borna66
04-07-2011, 10:45 PM
6_ پختگی یا بلوغ(Maturity)
مشخصه هایی از نرم افزار كه بر بسامد بروز شكست یا خطای ناشی از عیوب، دلالت دارند. پختگی(بلوغ)، یكی از ویژگیهای مرتبط با خصوصیت قابلیت اطمینان می باشد.
یادآوری 1_ ویژگی مذكور، یكی از ویژگی های اجرائی نرم افزار است كه ارزیابی و بهبود آن از طریق قراردادن، و یا بعبارتی نصب و بهره برداری نرم افزار در محیط نهایی استفاده، و یا ایجاد محیط مشابه با محیط نهایی امكان پذیر است. تجربه نشان داده است كه بسامد مذكور، در مقاطع اولیه از اجرای واقعی زیاد بوده اما بتدریج كاهش می یابد.
یادآوری 2_ كاهش بسامد بروز خطا بمعنای افزایش پختگی و افزایش آن بمعنای كاهش پختگی می باشد. بنابراین بزرگی و پیچیدگی نرم افزار با افزایش بسامد رابطة مستقیم و با پختگی رابطة معكوس دارد.
یادآوری 3_ رعایت قواعد مهندسی نرم افزار در پیاده سازی مانند پیمانه گرایی و ساختیافتگی و بطور كلی مواردی كه باعث افزایش قابلیت نگهداشت نرم افزار می شوند، با پختگی نرم افزار رابطة مستقیم دارند.
یادآوری 4_ ویژگی پختگی در قسمتهای حساس از نرم افزارهای حساس و بلادرنگ حائز اهمیت بسیار است. نظر به حساسیت ویژة این نرم افزارها، تلاشهای زیادی(شامل فراهم آوردن محیط واقعی و شبیه سازی شرایط ویژه، و نیز زیر بار قرار دادن و اجرای آزمایشات گوناگون) بمنظور حصول میزان تصریح شده از پختگی در مورد آنها انجام می شود. علیرغم این تمهیدات، بدلیل وجود احتمال بروز خطرات جانی،امنیتی و مالی در شرایط خاص، برای ایجاد اطمینان خاطر از روشهای دیگر(مانند تحمل خرابی) استفاده می شود.

Borna66
04-07-2011, 10:45 PM
7_ تحمل خرابی(Fault Tolerance)
مشخصه هایی از نرم افزار كه بر توانایی آن در مورد حفظ سطح مشخصی از كارایی در موارد بروز خرابی یا اشتباه در اجرای رفتارهای تعیین شده دلالت دارند. تحمل خرابی، یكی از ویژگیهای مرتبط با خصوصیت قابلیت اطمینان و برطرف كنندة نقائص ویژگیهای دیگر در عرضة مناسب آن است.
یادآوری 1_ ویژگی تحمل خرابی، بدلیل اهمیت فراهم آوردن قابلیت اطمینان، از ویژگیهای مهم در تولید نرم افزارهای حساس زمانی و بلا درنگ است. همچنین تا حدود زیادی مستقل از اندازه و وابسته به حساسیتهای موجود در نیازمندیها و جایگاه استفاده از نرم افزار است.
یادآوری 2_ حصول میزان حداقل(مورد قبول ضمنی) از این ویژگی، برای كلیة نرم افزارها الزامی می باشد. حداقل مذكور، بازگشت از شكست با حفظ ایمنی[1] می باشد كه سطح مشخصی از كارایی محسوب می شود.

Borna66
04-07-2011, 10:45 PM
8_ قابلیت بازگرداندن(Recoverability)

مشخصه هایی از نرم افزار كه بر
_توانایی بازگرداندن محصول نرم افزاری به سطح كارایی تعیین شده
_توانایی بازگرداندن داده هایی كه مستقیماً تحت تأثیر خرابی بوده اند
_زمان لازم و تلاش مورد نیاز برای انجام این كار
دلالت دارند. قابلیت بازگرداندن، یكی از ویژگیهای مرتبط با خصوصیت قابلیت اطمینان و برطرف كنندة نقائص ویژگیهای دیگر در عرضة مناسب آن است.
یادآوری 1_ حصول میزان حداقل(مورد قبول ضمنی) از ویژگی قابلیت بازگرداندن، برای كلیة نرم افزارها الزامی می باشد. حداقل مذكور ضامن قابلیت بازگشت به شرایط پیش از بروز اشكال، در مدت زمان و هزینة قابل قبول است.
یادآوری 2_ ویژگی قابلیت بازگرداندن، بدلیل اهمیت فراهم آوردن قابلیت اطمینان، از ویژگیهای مهم در تولید نرم افزارهای حساس و بلا درنگ است. همچنین تا حدود زیادی مستقل از اندازه و وابسته به حساسیتهای موجود در نیازمندیها و جایگاه استفاده از نرم افزار است.

Borna66
04-07-2011, 10:45 PM
9_ قابل فهم بودن(Understandability)

مشخصه هایی از نرم افزار كه بر تلاش كاربران برای شناخت و درك مفاهیم منطقی موضوعات موجود در نرم افزار و كاربرد آنها دلالت دارند. قابل فهم بودن، یكی از ویژگیهای مرتبط با خصوصیت قابلیت استفاده است.
یادآوری 1_ معمولاً در سیستمهای بزرگتر، اهمیت این ویژگی بیشتر است. افزایش این ویژگی، قابلیت نگهداشت را نیز افزایش می دهد.

Borna66
04-07-2011, 10:46 PM
10_ قابلیت یادگیری(Learnability)

مشخصه هایی از نرم افزار كه بر تلاش كاربران برای یادگیری استفاده و اجرای نرم افزار دلالت دارند. قابلیت یادگیری، یكی از ویژگیهای مرتبط با خصوصیت قابلیت استفاده است.
یادآوری 1_ معمولاً اهمیت این ویژگی در تولید سیستم برای كاربران غیر متخصص است.

Borna66
04-07-2011, 10:46 PM
كاربران غیر متخصص است. 11_ قابلیت اجرا(Operability)

مشخصه هایی از نرم افزار كه بر تلاش كاربران برای اجرای صحیح و كنترل كار دلالت دارند. قابلیت اجرا، یكی از ویژگیهای مرتبط با خصوصیت قابلیت استفاده است.
یادآوری 1_ ویژگی قابلیت اجرا، در تولید انواع نرم افزارها دارای اهمیت است.

Borna66
04-07-2011, 10:46 PM
رای اهمیت است. 12_ كارایی از نظر زمان (Time Efficiency)

مشخصه هایی از نرم افزار كه بر زمانهای پاسخ و پردازش، و میزان بازده حاصل از اجرای وظایف دلالت دارند. ویژگی مذكور، از ویژگیهای مرتبط با خصوصیت كارایی می باشد.
یادآوری 1_ ویژگی كارایی از نظر زمان، در تولید انواع نرم افزارها مهم و در تولید سیستمهای بنیادی و سیستم های حساس زمانی و بلادرنگ دارای اهمیت بسیار است.
یادآوری 2_ این ویژگی، مستقل از اندازه می باشد.

Borna66
04-07-2011, 10:46 PM
13_ كارایی از نظر منابع(Resource Efficiency)

مشخصه هایی از نرم افزار كه بر تعداد منابع(مقدار) و محدودة زمانی بكارگیری آنها(حجم استفاده) دلالت دارند. ویژگی مذكور، از ویژگیهای مرتبط با خصوصیت كارایی می باشد.
یادآوری 1_ ویژگی كارایی از نظر منابع، در تولید انواع نرم افزارها مهم و در تولید سیستمهای بنیادی دارای اهمیت بسیار است.
یادآوری 2_ این ویژگی، مستقل از اندازه می باشد.

Borna66
04-07-2011, 10:46 PM
14_ قابل تحلیل بودن(Analaysability)

مشخصه هایی از نرم افزار كه بر تلاش مورد نیاز برای تشخیص كاستی ها، دلایل خرابی ها، و مشخص نمودن قسمت هایی كه باید تغییر كنند دلالت دارند. ویژگی مذكور، از ویژگیهای مرتبط با خصوصیت قابلیت نگهداشت است.
یادآوری 1_ بطور معمول، قابل تحلیل بودن، محصول را از دید متخصصین امور نگهداشت نرم افزار مورد ارزیابی قرار می دهد. افزایش میزان این خصوصیت زمینه ساز سهولت در امور نگهداشت می باشد.
یادآوری 2_ نظر به بروز خطا، وجود نقائص و تغییر مداوم نیازها، ویژگی مذكور در تولید انواع نرم افزارها مهم است. بهبود این مسأله با رعایت مواردی مانند پیمانه گرایی، ساختیافتگی و مستندسازی صحیح امكان پذیر است كه منجر به كاهش كارایی برنامه ها می شود. بنابراین ویژگی مذكور در سیستمهای حساس به كارایی، لزوماً از اولویت بالا برخوردار نیست.
یادآوری 3_ هرچه سیستم بزرگتر باشد، و همچنین در سیستمهای حساس به برقراری مداوم یا دوره ای(مانند بانك) اهمیت این ویژگی بیشتر است.

Borna66
04-07-2011, 10:47 PM
15_ قابلیت تغییر(Changeability)

مشخصه هایی از نرم افزار كه بر تلاش مورد نیاز برای تغییر، رفع خرابی، و یا انجام تغییرات محیطی دلالت دارند. ویژگی مذكور، از ویژگیهای مرتبط با خصوصیت قابلیت نگهداشت است.
یادآوری 1_ بطور معمول، قابلیت تغییر، محصول را از دید متخصصین امور نگهداشت نرم افزار مورد ارزیابی قرار می دهد. افزایش میزان این خصوصیت زمینه ساز سهولت در امور نگهداشت می باشد.
یادآوری 2_ نگارش برنامه ها با زبانهای سطح بالا، استفاده از معماری منعطف، و رعایت مواردی مانند پیمانه گرایی و ساختیافتگی، به افزایش این قابلیت كمك می نماید كه برخی منجر به كاهش كارایی برنامه ها می شوند. بنابراین ویژگی مذكور در سیستمهای غیر حساس، لزوماً از اولویت بالا برخوردار نیست.
یادآوری 3_ هرچه سیستم بزرگتر باشد، و همچنین در سیستمهای نیازمند به برقراری مداوم(مانند بیمارستان) یا برقراری دوره ای(مانند بانك) اهمیت این ویژگی بیشتر است.
یادآوری 4_ قابلیت تغییر و اصلاح در حین اجرا، از ویژگیهای مهم برای سیستمهای حساس، كنترلی و بلادرنگ است.

Borna66
04-07-2011, 10:47 PM
16_ پایداری و ثبات(Stability)

مشخصه هایی از نرم افزار كه بر خطرات غیر منتظره ناشی از انجام تغییرات دلالت دارند. ویژگی مذكور، از ویژگیهای مرتبط با خصوصیت قابلیت نگهداشت است.
یادآوری 1_ بطور معمول، پایداری و ثبات، محصول را از دید متخصصین امور نگهداشت نرم افزار مورد ارزیابی قرار می دهد. افزایش میزان این خصوصیت زمینه ساز سهولت در امور نگهداشت می باشد.
یادآوری 2_ هرچه سیستم بزرگتر و وسیعتر باشد، و همچنین در سیستمهای حساس، كنترلی، بلادرنگ، و موارد نیازمند به برقراری مداوم، اهمیت این ویژگی بیشتر است.

Borna66
04-07-2011, 10:47 PM
ست. 17_ آزمون پذیری(Testability)

مشخصه هایی از نرم افزار كه بر تلاش مورد نیاز برای اعتبار سنجی و صحت سنجی نرم افزار تغییریافته دلالت دارند. ویژگی مذكور، از ویژگیهای مرتبط با خصوصیت قابلیت نگهداشت است.
یادآوری 1_ بطور معمول، آزمون پذیری، محصول را از دید افراد متخصص امور نگهداشت نرم افزار مورد ارزیابی قرار می دهد. افزایش میزان این خصوصیت زمینه ساز سهولت در امور نگهداشت می باشد.
یادآوری 2_ نظر به بروز خطا، وجود نقائص و تغییر مداوم نیازها، ویژگی مذكور در تولید انواع نرم افزارها مهم است. بهبود این مسأله با رعایت مواردی مانند پیمانه گرایی، ساختیافتگی و مستندسازی صحیح امكان پذیر است كه در بودجة معین، منجر به كاهش كارایی برنامه ها می شود. بنابراین ویژگی مذكور در سیستمهای غیر حساس، لزوماً از اولویت بالا برخوردار نیست.
یادآوری 3_ هرچه سیستم بزرگتر باشد، و همچنین در سیستمهای حساس و كنترلی، اهمیت این ویژگی بیشتر است.

Borna66
04-07-2011, 10:47 PM
18_ تطبیق پذیری محیطی(Adaptability)

مشخصه هایی از نرم افزار كه بر میزان تطبیق پذیری آن با محیط های تصریح شده در مستند نیازمندیها، بدون انجام هیچ فعالیت تكمیلی یا اضافه دلالت دارند. این مورد، از ویژگیهای مرتبط با خصوصیت قابلیت حمل می باشد.
یادآوری 1_ فعالیت هایی كه در مرحلة تولید و بمنظور تطبیق پذیر نمودن نرم افزار با محیط ها انجام شده است، فعالیت تكمیلی یا اضافه محسوب نمی شود.
یادآوری 2_ این ویژگی، مستقل از اندازه می باشد و در تولید بسته های نرم افزاری مطرح است.

Borna66
04-07-2011, 10:47 PM
و در تولید بسته های نرم افزاری مطرح است. 19_ قابلیت نصب(Installability)

مشخصه هایی از نرم افزار كه بر تلاش مورد نیاز برای نصب نرم افزار در یك محیط تصریح شده در مستند نیازمندیها دلالت دارند. این مورد، از ویژگیهای مرتبط با خصوصیت قابلیت حمل می باشد.
یادآوری 1_ این ویژگی، مستقل از اندازه می باشد و اگرچه بعنوان یك ویژگی در همة نرم افزارها اهمیت دارد بیشتر در تولید بسته های نرم افزاری مطرح است.

Borna66
04-07-2011, 10:47 PM
20_ رعایت استانداردهای مرتبط با قابلیت حمل(Compliance)

مشخصه هایی از نرم افزار كه بر رعایت استانداردها یا مقررات مربوط به قابلیت حمل دلالت دارند. این مورد، از ویژگیهای مرتبط با خصوصیت قابلیت حمل می باشد.
یادآوری 1_ این ویژگی، مستقل از اندازه می باشد و بیشتر در تولید بسته های نرم افزاری مطرح است.
یادآوری 2_ رعایت استانداردهای مذكور قابلیت نرم افزار را در برقراری ارتباط و همكاری با نرم افزارهای عمومی افزایش می دهد.

Borna66
04-07-2011, 10:48 PM
در مورد انواع نرم افزار، این استاندارد، نرم افزارها را به دو دستة كلی حساس و غیر حساس تقسیم نموده است. نرم افزارهای حساس، مجموعه ای از نرم افزارها هستند كه بروز اشكال و نقص فنی در قسمتهای حساس آنها ممكن است منجر به صدمات جبران ناپذیر در رابطه با حیات انسانی و محیط زیست، امنیت یا مسائل مالی گردد.


در تعیین خصوصیات كیفیت و تعیین ویژگیهای مورد نظر، توجه به نكات ذیل راهگشا می باشد:

نكته 1_ مهمترین خصوصیت كیفی، كه در كلیة انواع نرم افزارها(از نظر اندازه و میزان حساسیت)، اهمیت دارد میزان پوشش دهی وظایف تعیین شده و ضمنی می باشد.

نكته 2_ در تعیین خصوصیات كیفیت و ویژگیهای مورد نظر، نوع كاربرد(علمی-محاسباتی، مهندسی، كنترلی، مرتبط با حیات انسانی و محیط زیست، امنیتی، مالی، بلادرنگ، نیازمند به برقراری مداوم یا دوره ای، كاربردی، بنیادی، سفارشی، همه منظوره، ابزارها و بسته ها، تك كاربره، چند كاربره، توزیع شده، متمركز، شبكه ای و ...) ، و میزان حساسیت كاربرد، بیش از پارامترهای دیگر مثل اندازة نرم افزار و دیگر امكانات و محدودیت های موجود در محیط استفاده تأثیرگذار هستند. اما ذكر این نكته حائز اهمیت است كه با بزرگتر شدن نرم افزارها، توجه به خصوصیات كیفی قابلیت اطمینان، قابلیت استفاده، و قابلیت نگهداشت افزایش می یابد و تحلیل، طراحی و پیاده سازی آنها در نرم افزار دشوارتر گردیده، و مستلزم بهره گیری از روشهای ویژه است.
نكته 3_ با افزایش میزان حساسیت در نرم افزارها، بسته به نوع حساسیت توجه به كارایی، قابلیت اطمینان، و قابلیت نگهداشت افزایش می یابد و معمولاً قابلیت استفاده و حمل در درجات پایین تری از اهمیت قرار می گیرند. تولید نرم افزارهای حساس با رعایت دقیق اصول و فرایندهای ویژه(مانند تهیه مشخصة رسمی، اثبات الگوریتم ها و ...) انجام می گردد.
نكته 4_ بسته های نرم افزاری، محصولاتی هستند كه سیر تكاملی كیفیت را با بهره گیری از نظرات و پیشنهادات مجموعة متنوع كاربران خود طی می نمایند، بهمین دلیل با توجه به نیاز مداوم به بهبود، اصلاح و تغییرات، رعایت اصول مهندسی در افزایش قابلیت نگهداشت آنها، اهمیت بسیار دارد. در این نرم افزارها، حصول میزان مناسبی از ویژگیهای مرتبط با قابلیت حمل(تطبیق پذیری محیطی، قابلیت نصب) و رعایت استانداردهای پذیرفته شدة كاربرد و حمل، در محدودة عرضة بسته نیز ضروری بنظر می رسد. بسته ها از نظر كاربرد، نوع، اندازه، حساسیت، كاربری و ...، متنوع هستند، بهمین دلیل باستثنای موارد فوق، در تعیین باقیماندة پارامترها، مانند نرم افزارهای دیگر هستند.
جدول زیر خلاصه ای از مطالب فوق را عرضه می دارد.





نوع محصول


خصوصیات و ویژگیهای مهم به ترتیب اهمیت


حساس در ارتباط با حیات و امنیت


میزان پوشش دهی وظایف، قابلیت اطمینان،كارایی، قابلیت نگهداشت


حساس مالی


میزان پوشش دهی وظایف، قابلیت اطمینان، قابلیت نگهداشت


نیازمند به برقراری مداوم


میزان پوشش دهی وظایف، قابلیت اطمینان، قابلیت نگهداشت


حساس به زمان پاسخ


میزان پوشش دهی نسبی وظایف، كارایی


بسته نرم افزاری


میزان پوشش دهی نسبی وظایف، قابلیت نگهداشت و حمل


غیر حساس خیلی كوچك


میزان پوشش دهی نسبی وظایف و بقیه بسته به دلخواه كاربر یا نیاز محیط


غیر حساس از كوچك به بزرگ


م.پوشش دهی نسبی وظایف، افزایش توجه به قابلیت استفاده،كارایی، اطمینان، نگهداشت