تبلیغات
NiceSoft - استانداردهای مهندسی نرم افزار - کیفیت

استانداردهای مهندسی نرم افزار - کیفیت

تاریخ:سه شنبه 2 آذر 1389-08:07 ق.ظ

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

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

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

            بهمین خاطر،  متخصصین با تغییر نگرش، و با مطالعه، بررسی و جمع بندی نظریات موجود در این باب به این نتیجه رسیده اند كه از دیدگاه كاربرد، كیفیت یك محصول بصورت جامع، در بر گیرنده مجموعه ای از خصوصیات و مؤلفه های فرعی كیفیت[3] بوده، و از طریق تعریف این مجموعه و تبیین راه كارهای ایجاد و بررسی آنها، قابل تعریف و تشخیص است. روشن است كه در تعیین درجة كیفیت و مرغوبیت، میزان و اندازة این خصوصیات از دیدگاه عموم لزوماً یكسان نیست و نیز شایان توجه اینكه، میان برخی از این خصوصیات، روابط نامتقارن تضاد (معكوس) یا توافق(همراستایی)  وجود دارد. بعبارتی دیگر، در شرایط معین(برای مثال از نظر بودجه و امكانات)، افزایش نسبی یك خصوصیت، به كاهش یا افزایش نسبی خصوصیات دیگر منجر می شود. استفاده كنندگان این روش، اعم از تولیدكننده نرم افزار یا دیگر كاربران، بسته به شناخت، سلیقه و توان خود، یك زیر مجموعة منطقی از این خصوصیات را بعنوان عوامل كیفی محصول مدنظر قرارداده، و پس از اولویت بندی و ارزش گذاری از نظر علمی، تجربی، شورایی و یا  سلیقه ای(سبُك و سنگین كردن)، با تلاش در آزمایش و سنجش این خصوصیات و جمع بندی نتایج حاصل، به تولید یا ارزیابی كیفیت كلی محصول موردنظر از دیدگاه خود می پردازند. بنابراین تقسیم بندی و تجزیة مذكور، ضمن كاهش پیچیدگی مفهومی، پایه و اساس مناسبی را برای شناخت، ایجاد و ارزیابی كیفیت در نرم افزار فراهم می آورد.


كیفیت نرم افزار وخصوصیات آن از دیدگاه كاربر عام

بر اساس تعریف ارائه شده از كیفیت در ، كیفیت نرم افزار بصورت زیر تعریف می گردد:

مجموعة خصوصیات یك محصول نرم افزاری، كه در توانایی آن برای برآورده نمودن نیازهای تصریح شده[4] در مستندات نیازمندیها و نیازهای ضمنی[5] مؤثر است.

از خصوصیاتی كه در تعریف فوق به آنها اشاره شده است با عنوان خصوصیات كیفیت یاد می شود. خصوصیات كیفیت نرم افزار بصورت زیر تعریف می شود:

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

 

كیفیت در بر گیرنده مجموعه ای از خصوصیات كیفیت می باشد، اما در تعیین درجة كیفیت و مرغوبیت یك محصول، میزان و اندازة این خصوصیات از دیدگاه عموم، لزوماً یكسان نیست.

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

 

میان برخی از خصوصیات كیفیت، روابط تضاد(معكوس[6]) و یا توافق(همراستایی[7]) وجود دارد. بعبارتی دیگر، در شرایط معین(برای مثال از نظر بودجه و امكانات)، افزایش نسبی یك خصوصیت، به كاهش یا افزایش نسبی خصوصیات دیگر منجر می شود. 

خصوصیات كیفیت نرم افزار از دیدگاه كاربر عام عبارتند از:

   1_ میزان پوشش دهی وظایف تعیین شده در مستندات نیازمندیها و موارد ضمنیFunctionality))

     2_ قابلیت اطمینان یا قابل اطمینان بودن(Reliability)

     3_ قابلیت استفاده یا قابل استفاده بودن(Usability)

     4_ كارآیی یا بعبارتی دیگر پربازده و مؤثر بودن(Efficiency)

     5_ قابلیت نگهداشت(Maintenance)

     6_ قابلیت حمل یا بعبارتی دیگر قابل انتقال بودن(Portability)

 استفاده كنندگان از این استاندارد، بسته به شناخت، سلیقه و توان خود، یك زیر مجموعه از این خصوصیات را بعنوان عوامل تعیین كننده كیفیت محصول مدنظر قرارداده، و پس از اولویت بندی و ارزش گذاری از نظر علمی، تجربی، شورایی و یا بر حسب سلیقه، با تلاش در آزمایش و سنجش این خصوصیات و جمع بندی نتایج حاصل، به تولید یا ارزیابی كیفیت كلی محصول موردنظر از دیدگاه خود می پردازند[8].

    

1_ میزان پوشش دهی وظایف(Functionality)

عبارت است از مجموعه ای از مشخصه ها و ویژگیهای فرعی، كه بر وجود مجموعه ای از وظایف(كاركردها) در محصول دلالت دارد. این مجموعه وظایف، مواردی هستند كه در مستندات نیازمندیها تصریح گردیده و یا بصورت ضمنی در وظایف مورد نیاز كاربر قرار دارند.


2_ قابلیت اطمینان(Reliability)

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


3_ قابلیت استفاده(Usability)

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

 


4_ كارآیی(Efficiency)

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


5_ قابلیت نگهداشت(Mintainability)

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


6_ قابلیت حمل(Portability)

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


ویژگیهای قابل حصول از طریق مهندسی نرم افزار

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

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

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

ویژگیهای قابل حصول از طریق مهندسی نرم افزار عبارتند از:

            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] Quality Assurance

[2] Evaluation

[3] Quality Charactristics

[4] Stated or explicit

[5] Implied

[6] Reverse

[7] Direct

[8] قابلیت اطمینان و كارآیی از خصوصیاتی هستند كه در نرم‌‌افزارهای حساس مانند نرم افزار پرواز از اهمیت بالایی برخوردار هستند. اگر الحاق نمودن نرم‌‌افزار اصلاح شده به نرم افزار بلادرنگ، در حین اجرا، جزء نیازهای تعیین شده باشد، مقوله قابلیت نگهداشت مطرح می‌‌گردد، درصورتی كه قابلیت حمل در طراحی یا پیاده‌‌سازی این نرم‌‌افزار نقشی نخواهد داشت. از سوی دیگر، در بكارگیری یك نرم‌‌افزار محاسبات و تحلیل علمی و عددی، وجود سهولت در ایجاد تغییرات، و حفظ و نگهداری با در نظر گرفتن قابلیت اطمینان و كارآیی، ضروری است.(NASA Quality Assurance Guidelines)


منبع : استاندارد مهندسی نرم افزار_رهنمود عمومی در تعریف كیفیت محصولات نرم افزاری شورای عالی انفورماتیک



نوع مطلب : مهندسی نرم افزار 

babecolate.com/buy-cialis-in-mexico.html
دوشنبه 22 مرداد 1397 11:49 ب.ظ

You said it adequately.!
cialis super acti cialis 20 mg effectiveness miglior cialis generico click now buy cialis brand order cialis from india buy cialis sample pack we use it 50 mg cialis dose cialis daily reviews interactions for cialis buy cialis online
Viagra vs viagra
چهارشنبه 5 اردیبهشت 1397 07:12 ب.ظ

Nicely put, Appreciate it.
is buying viagra online legal buy viagra canada rx pharmacy viagra viagra online no prescriptions buy viagra overnight shipping online cheap viagra best place to buy generic viagra online buy viagra online safe natural viagra buy levitra
Cialis 20 mg
شنبه 18 فروردین 1397 08:42 ب.ظ

Many thanks, Numerous postings.

cialis italia gratis achat cialis en itali how much does a cialis cost where do you buy cialis generico cialis mexico click here to buy cialis get cheap cialis brand cialis nl wow look it cialis mexico cialis side effects dangers
Cialis 20 mg
یکشنبه 5 فروردین 1397 03:47 ق.ظ

Truly a good deal of amazing information!
sublingual cialis online if a woman takes a mans cialis effetti del cialis can i take cialis and ecstasy pastillas cialis y alcoho cialis coupon prix de cialis india cialis 100mg cost acheter cialis meilleur pri prezzo cialis a buon mercato
Buy cialis online
پنجشنبه 2 فروردین 1397 11:10 ب.ظ

Wow plenty of wonderful info!
cialis dosage recommendations look here cialis order on line generic for cialis dose size of cialis cialis 20 mg cialis generico in farmacia wow cialis tadalafil 100mg cialis 5 mg para diabeticos 40 mg cialis what if i take acheter du cialis a geneve
Lori
جمعه 17 آذر 1396 03:15 ق.ظ
Wow, superb blog layout! How long have you been blogging
for? you made blogging look easy. The overall look of your web site is
wonderful, let alone the content!
stds testing
شنبه 13 آبان 1396 06:05 ب.ظ
سلام به همه، محتویات موجود در این وب سایت برای افراد واقعا شگفت انگیز است، خوب،
نگه داشتن همکاران خوب.
feet pain
شنبه 18 شهریور 1396 08:40 ق.ظ
Hello i am kavin, its my first time to commenting anywhere,
when i read this article i thought i could also make comment due to this good piece
of writing.
Can better posture make you taller?
یکشنبه 15 مرداد 1396 11:52 ق.ظ
I am regular visitor, how are you everybody? This article posted at
this website is really nice.
http://jeanenesiskin.hatenablog.com/
یکشنبه 8 مرداد 1396 11:53 ب.ظ
I blog quite often and I truly thank you for your content.
The article has really peaked my interest. I will book mark your
website and keep checking for new information about once per week.
I opted in for your RSS feed as well.
Anja
جمعه 16 تیر 1396 07:21 ب.ظ
WOW just what I was looking for. Came here by searching for truck games
std clinics near me
پنجشنبه 25 خرداد 1396 07:18 ب.ظ
بسیار core از خود نوشتن در حالی که ظاهر
شدن دلنشین در آغاز آیا نه نشستن درست با من پس از
برخی از زمان. جایی درون جملات شما قادر به من مؤمن متاسفانه فقط برای while.
من این کردم مشکل خود را
با جهش در منطق و یک خواهد را خوب به پر کسانی
که معافیت. اگر شما در واقع که می توانید انجام من می مطمئنا تا پایان
در گم.
Brandie
سه شنبه 26 اردیبهشت 1396 03:12 ق.ظ
Hmm it looks like your blog ate my first comment (it was super long) so I guess
I'll just sum it up what I wrote and say, I'm thoroughly enjoying your blog.
I too am an aspiring blog blogger but I'm still new to everything.

Do you have any points for first-time blog writers?
I'd certainly appreciate it.
Mickie
دوشنبه 25 اردیبهشت 1396 02:09 ق.ظ
Hi everyone, it's my first visit at this web site,
and paragraph is in fact fruitful for me, keep up posting these types of articles.
manicure
سه شنبه 22 فروردین 1396 04:24 ب.ظ
I could not resist commenting. Well written!
مهندسی عمران
دوشنبه 11 بهمن 1395 10:16 ب.ظ
دست شما درد نکنه
یکشنبه 23 فروردین 1394 09:54 ب.ظ
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر