پنجشنبه، 7 مرداد ماه ، 1389
منو
تبلیغات

لینک های مرتبط
لينکها
مجلات تخصصی نور


مرکز تحقیقات کامپیوتری علوم اسلامی


فاوا نیوز


خبرگذاری قرآنی ایران


فروشگاه اینترنی نورشاپ


پایگاه اطلاع رسانی حوزه


کتابخانه دیجیتالی نور


پایگاه شبکه اطلاع رسانی نور


پایگاه امام علی(ع)


پایگاه راهنمای پایگاه های اسلامی


پایگاه اطلاع رسانی رسول نور


راهنمای پایگاه های نبی اعظم(ص)


راهنمای پایگاه های امام مهدی(عج)


پایگاه فاضلین نراقی


پایگاه طوبی گرافیک


پایگاه سازمان آموزش نور


پایگاه خبرگان رهبری


پایگاه اطلاع رسانی اندیشوران


پایگاه گرداب


بنیاد ملی بازی های رایانه ای


شورای عالی انقلاب فرهنگی


پایگاه اطلاع رسانی جهاد دانشگاهی


خبرگزاری فارس


خبرنامه

ایمیل شما::

عضویت لغو عضویت
 
مقالات
فناوری اطلاعات

تاثیر بازیهای رایانه ای ـ ویدئویی بر هویت نوجوانان


جوانان و هویت مجازى: مروری بر اثرات چت و پیام کوتاه


اعتیاد ‌از‌ نوعی ‌دیگر ، آسیب شناسی موبایل


تهدیدات امنیتی برای تلفن همراه و راهکارهای مقابله با آنها


تلفن همراه فرهنگ سازی و هویت


آرشیو مقالات
گروه مقالهنرم افزارهای اسلامی 
عنوان مقالهكيفيت و مرغوبيت نرم‏افزار
نویسندهعلی روح الهی خراسانی
بازدید217
تاریخ انتشار1384-02-01
فایل مطلب
متن مقاله
 چكيده
 كيفيت و مرغوبيت نرم‏افزار، موضوعى است كه مورد توجه تمامى توليد كنندگان برنامه‏هاى رايانه‏اى است. از مهم‏ترين معيارهاى مرغوبيت نرم‏افزار: كيفيت عملى، جلب نظر مشترى و ابتكار در توليد است. در تعريف كيفيت نرم‏افزار، دو ويژگى مهم بيان شده است: متابعت از مشخصات نرم‏افزار و مطابقت با اهداف خواسته شده. توليد نرم‏افزار با كيفيت مرغوب نيازمند ساختارهاى استانداردى است براى رسيدن به آن بايد مراحل زير طى گردد: مرحله تعيين نيازهاى كاربر، تعيين نيازهاى نرم‏افزار، طراحى معمارى، مرحله طراحى تفصيلى و مرحله انتقال و واگذارى.
در اين نوشتار با الگو گرفتن از معيارهاى كيفى نرم‏افزار برابر با مدل‏هاى: بوهم، مك كال، ايزو، آژانس فضايى اروپا و تجربيات شخصى، آنچه را كه براى كيفيت و مرغوبيت نرم‏افزار لازم است، به تفصيل بيان مى‏كنيم.
 
 واژگان كليدى
 نرم‏افزار، كيفيت و مرغوبيت نرم‏افزار، طراحى نرم‏افزار، توليد نرم‏افزار، معيارهاى كيفيت.
 
 مقدمه
 طى يك دهه گذشته در برخورد مستقيم و نزديك با رايانه و نرم‏افزارهاى اسلامى گاه به‏عنوان دانش‏پژوه و استفاده كننده و گاه به‏عنوان طراح، مشاور و مدير پروژه نرم‏افزارى اين نكته برايم محرز گرديد كه يك نگرش نظام‏يافته كيفى كه همسو با نيازهاى كاربران و استفاده كنندگان باشد، موجود نيست و بين نياز كاربران و محصولات توليدشده فاصله زيادى است.
با يك جستجو و مقايسه روشمند ميان نرم‏افزارهاى توليدى توسط مراكزى كه تجربه بيشترى دارند و از استانداردهاى مشخصى استفاده مى‏كنند و مراكزى كه براى اولين بار قدم به اين عرصه مى‏گذارند، اين فاصله به‏خوبى احساس مى‏شود.
 سامان بخشيدن به نظام يكپارچه كه تحت آن بتوان از كيفيت نرم‏افزار توليدشده و انطباق آن با نيازهاى كاربران اطمينان حاصل نمود، امرى است كه در كوتاه مدت مشكل و در مواردى غير ممكن است؛ زيرا ضعف يك نرم‏افزار بستگى به موارد متعددى دارد كه از آن جمله مى‏توان به موارد ذيل اشاره كرد:
 1. ناآشنايى مديران با قابليت‏هاى رايانه و استفاده نكردن از مشاوران خبره و با تجربه؛
 2. ناآشنايى طراحان با نياز كاربران و استفاده نكردن از جديدترين برنامه‏هاى موجود در طراحى نرم‏افزار؛
 3. ضعف برنامه‏نويسان و آشنا نبودن آنها با آخرين نرم‏افزارهاى مكمل و نسخه‏هاى جديد؛
 4. استفاده نكردن از سيستم‏هاى صحيح و يا هوشمند براى نمايه‏گذارى و فهرست‏گيرى از اطلاعات؛
 5. نبودن استانداردهاى جامع و مدون كه راهنماى مديران، طراحان و برنامه نويسان باشد.
 در اين نوشتار، فقط به شرح و بيان قسمت آخر؛ يعنى نبودن يك استاندارد لازم براى كيفت مطلوب نرم‏افزارها مى‏پردازيم و سعى داريم تا با الگو گرفتن از معيارهاى كيفى نرم‏افزار برابر با مدل‏هاى بوهم ، مك كال(1)، ايزو، آژانس فضايى اروپا(2) و تجربيات شخصى، آنچه را كه براى كيفيت و مرغوبيت نرم‏افزار لازم است، در معرض استفاده علاقه‏مندان قرار دهيم.
 
 كيفيت چيست؟
ارائه يك تعريف ساده و روشن از كيفيت، سخت و سنجش آن غير ممكن مى‏نمايد؛ ولى تشخيص آن به‏راحتى امكان پذير است.(3)
 به‏عنوان مثال، زمانى كه يك ماشين جديد به علت خرابى قطعات از كار مى‏افتد و يا يك برنامه رايانه‏اى در اجراى درست خود ناتوان مى‏ماند، مى‏توان كيفيت را در آنها تشخيص داد.
تعاريف متعددى در باب كيفيت وجود دارد؛ اما هيچ كدام كافى نيستند؛ مثلاً در لغت‏نامه انگليسى اكسفورد، كيفيت به درجه برترى و فضيلت تعريف شده است.(4)
 سازمان بين المللى استانداردها  Standard OrganizationInternational ) ISO) در سال 1986م در تعريف كيفيت مى‏گويد:
 «كيفيت، يعنى تمامى خصوصيات ومشخصات يك محصول در باره توانايى آن در ارضاء نيازهاى تعيين شده».(5)
 علامه دهخدا، «مرغوبيت» را مصدر جعلى مرغوب به‏معناى: مورد پسند بودن ، همه كس پسند بودن و نوع برتر و بهتر از هر چيزى مى‏داند.(6)
 سازمان دفاع آمريكا در سال 1985م كيفيت نرم‏افزار را اين‏گونه تعريف كرده است : «كيفيت نرم‏افزار درجه‏اى است كه در آن مشخصات نرم‏افزار قادر به انجام خواست‏هاى كاربر نهايى مى‏باشد».(7)
 
 ساختار استاندارد
 توليد نرم‏افزار با كيفيت قابل قبول، نيازمند ساختارهاى استانداردى است كه بايد مفيد و قابل درك بوده، بر اصول عملى و دقيق استوار باشد. اين ساختار ضمن اينكه جنبه‏هاى اصلى و ضرورى هر پروژه‏اى را در بر مى‏گيرد، در قالب مجموعه‏اى از چارچوب‏ها و ضرورت‏ها نيز حداكثر انتخاب ممكن را براى مدير پروژه فراهم مى‏آورد كه مراحل آن از قرار ذيل است:
 - مرحله تعيين نيازهاى كاربر (User Requirements) ؛
 - مرحله تعيين نيازهاى نرم‏افزار  (Requirements Software) ؛
 - مرحله طراحى معمارى (Design Architectural) ؛
 - مرحله  طراحى تفصيلى و توليد برنامه  (Design Detailed) ؛
 - مرحله انتقال و واگذارى نرم‏افزار براى بهره‏بردارى (Transfer of the Software)
1. تعيين نيازهاى كاربر:
 اين مراحل را مى‏توان مرحله تعريف مسئله چرخه حيات ناميد، كه هدف از آن، تدقيق يك فكر در مورد كارى كه بايد انجام گيرد و انتظارى كه از يك نرم‏افزار وجود دارد.
 متاسفانه بيشتر مراكز و صاحبان آثار نرم‏افزارى به علت مشكلات و پيچيدگى رسيدن به يك نظريه واحد و يا صاحب نظر دانستن خود و يا گروه علمى مركز خود، در اين كار اهمال كرده و نرم‏افزارهاى توليد شده اغلب با خواسته هاى كاربر انطباق ندارد و يا بسيار كم است.
 كاربر همواره برخى از نيازها را به عنوان امتياز مى‏پندارد كه در ذيل به نمونه‏هايى از آن اشاره مى‏گردد:
 1. پاسخ سريع به هنگام جستجو؛
 2. سهولت استفاده از راهنماى صفحات؛
 3. سازگارى با تمامى سيستم‏هاى عامل؛
 4. صفحه كليد و ترمينال مجزا و قابل تغيير؛
 5. بدون اشكالات نرم‏افزارى؛
 6. اجرا در كمترين زمان ممكن؛
 7. سهولت رفع اشكالات؛
 8. وجود فهرست‏هاى مناسب، مانند: فهرست كلمات، كتب، ابواب و يا موضوعات و امكان انتقال از فهرست‏ها به متون؛
 9. امكان جستجوهاى مختلف در فهرست‏ها و متون همراه با امكان محدود كردن دامنه؛
 10. گرافيك مناسب و هماهنگ؛
 11. سهولت در نصب؛
 12. مستند بودن مطالب به‏همراه ذكر ماخذها؛
 13. خالى بودن متون از غلطهاى حروف‏چينى‏شده و يا افتادگى كلمات و عبارات؛
 14. مستقل بودن برنامه به هنگام نصب و اجرا از برنامه‏هاى جانبى مانند سرورها(server) يا نرم‏افزارهاى مولتى‏مديا (Multimedia)؛
 15. حداقل درك تخصصى؛
 16. نياز داشتن به CD يا ديسكت براى اجرا؛
 17. امكان يادداشت بردارى و انتقال به برنامه‏هاى ويرايشى مانند: ورد، زرنگار و نشر الف.
 اين نيازها براى تمام پروژه‏هاى نرم‏افزارى، سند مهمى به شمار مى‏آيد؛ زيرا موارد يادشده مفاهيم اساسى را كه بر پايه آنها يك نرم‏افزار مورد پذيرش قرار مى‏گيرد، تعريف مى‏كند.
 2. تعيين نيازهاى نرم‏افزار
 يك بخش ضرورى در اين مرحله، ساخت الگويى است كه بيان  مى‏كند نرم‏افزار چه كارى را بايد انجام دهد، نه اينكه چگونه بايد آن را انجام دهد.
 البته نظر به تفاوت شاخه‏ها و موضوعات هر علم، اين خواسته‏ها تغيير مى‏كند. از اين‏رو، برنامه‏اى كه براى حديث طراحى مى‏شود با برنامه‏اى كه براى رجال و درايه و يا فلسفه توليد مى‏شود، فرق مى‏كند؛ مثلاً اگر برنامه‏اى براى كتب فقهى طراحى مى‏شود، نرم‏افزار مزبور بايد بتواند كارهاى ذيل را به انجام رساند:
 1. نمايش كامل متن همراه با جلد، صفحه و سطرهاى مطابق با كتاب چاپى و نيز امكان رفتن به جلد و صفحه خاص؛
 2. نمايش فهرست كتب، همراه با نام مؤلف و سال وفات او؛
 3. نمايش فهرست و شناسنامه هر كتاب؛
 4. نمايش ابواب و موضوعات و امكان انتقال به متن‏ها؛
 5. وجود كتب حديث، تاريخ، لغت و رجال و در صورت امكان استفاده از نمايشگر (Monitor)، اشاره‏گر (Mouse) و راست‏كليك براى انتقال مستقيم از متن كتب به جستجو، لغت و رجال؛
  6. فهرست آيات، احاديث و اعلام با امكان انتقال از هر يك به كتب حاوى آن؛
 7. زندگى‏نامه مؤلفان؛
 8. امكانات عمومى مانند: جستجو، چاپ و يادداشت بردارى.
  بنابراين، اگر بخواهيم نرم‏افزارى براى رجال و درايه طراحى كنيم، در موارد 1،2، 3، 7 و 8 مشترك است ، ولى در موارد ديگر فرق مى‏كند و قابليت‏هايى همچون: مشايخ، تلاميذ، طبقه، ترجمه، مكانت، صحبت و كتب حديث نيز لازم است در برنامه گنجانده شود.
3. طراحى معمارى
 هدف از مرحله طراحى معمارى، تعيين ساختار نرم‏افزار است. الگوى ساخته شده در مرحله نخست (تعيين نيازهاى نرم‏افزار)، نقطه شروع اين مرحله است. اين الگو با تخصيص وظيفه‏مندى‏ها به مؤلفه‏هاى نرم‏افزار و تعيين گردش اطلاعات و عمليات بين آنها، بسته به طرح معمارى نرم‏افزار تغيير مى‏يابد. فعاليت‏هايى كه در اين مرحله از كار به انجام مى‏رسد، عبارت‏اند از:
  - شناخت معيارهاى كيفيت طرح؛
  - تجزيه نرم‏افزار به مؤلفه‏ها؛
  - بررسى مزيت‏هاى نسبى ميان طرح‏هاى جايگزين؛
  - تعيين ساختمان داده‏ها، تعيين استفاده از منابع رايانه‏اى و انتخاب زبان برنامه‏نويسى.
 اما معيارهاى كيفيت كه از مهم‏ترين عوامل مؤثر در طراحى مطلوب نرم‏افزارها مى‏باشد، از قرار ذيل‏اند:
 - دشوارى خسارت وارد نمودن توسط كاربر؛
 - رعايت استاندارد در تمام سيستم‏ها؛
 - سهولت نگهدارى؛
 - تأمين در برابر صدمات و امكان ترميم و بازيافت صدمات احتمالى؛
 - سهولت توسعه؛
 - مستندسازى بهينه؛
 - آموزش مناسب كاربر؛
 - اجراى ارزان و كم‏هزينه؛
 - استاندارد بودن عمليات صفحه كليد؛
 - تطابق با اهداف حرفه‏اى؛
 - مقاوم در برابر ويروس‏ها؛
 - فهرست‏سازى هوشمند بدون استفاده از نمايه‏زنى.
 4. طراحى تفصيلى و توليد برنامه
 هدف اين مرحله، طراحى تفصيلى نرم‏افزار، برنامه‏نويسى ، مستندسازى و آزمون آن است. گفتنى است كه سند طراحى تفصيلى و راهنماى كاربر نرم‏افزار هم‏زمان با برنامه‏نويسى و آزمون آن توليد مى‏شود.
 طراحى سيستم، عبارت است از تهيه و ارائه مشخصات سيستمى كه به منظور دستيابى به نيازهاى استفاده كننده در فعاليت امكان‏سنجى پيشنهاد شده است. اين مشخصات بايد منعكس كننده نيازهاى استفاده كننده باشد. از اين‏رو، مرحله يادشده از مراحل بسيار مهم و محورى به‏شمار مى‏آيد. اما معيارهاى كيفيت در حوزه طراحى و توليد تفصيلى برنامه عبارت است از:
 - سازگارى با بيشتر ريز پردازنده‏ها؛
 - نياز به حداقل حافظه موقت؛
  - هماهنگى با تمام صفحه نمايش‏ها بدون احتياج به صفحه نمايش خاص مثلاً: 600x800 Pixels؛
 - امكان استفاده ازتمامى چاپگرها حتى سوزنى؛
 - امكان كوچك‏نمايى برنامه؛
- حداقل استفاده از فيلدهاى Memory؛
 - كد بودن اطلاعات؛
 - استفاده و خلاقيت در طراحى تمامى فهرست، و نوارهاى پيمايش   Scrollزيبا.
 -انتقال و واگذارى نرم‏افزار براى بهره‏بردارى:
 در اين مرحله، به منظور نصب نرم‏افزار به محيط عملياتى مى‏رويم و هدف نشان دادن اينست كه تمام قابليت‏هاى تشريح‏شده در سند نيازهاى كاربر، در نرم‏افزار مربوطه موجود است
 قيمت مناسب، بسته بندى زيبا، عرضه عمومى و خدمات پشتيبانى، از جمله معيارهاى كيفيت در اين مرحله به‏شمار مى‏رود.
 5. تعيين كيفيت نرم‏افزار
 تضمين كيفيت نرم‏افزار SQA،  Assurance Software Quality عبارت است از طرح برنامه‏ريزى شده به نظم از كليه عمليات لازم براى حصول اطمينان كافى و مناسب در خصوص انطباق عنصر يا محصول توليد شده با مشخصات فنى مورد نظر و تناسب آن با خواسته‏هاى كاربر.
 اين فعاليت توسط گروه توليد نرم‏افزار يا افراد مشخص و متخصص در تمامى مراحل توليد نرم‏افزار بايد انجام پذيرد.

 فعاليت‏ها:
 1- نظارت بر استانداردها و معيارها؛
 2- گزارش مشكلات و انجام اصلاحات؛
 3- بررسى مناسب بودن ابزارها، شيوه‏ها و روش‏ها؛
 4- كنترل برنامه‏ها و رسانه‏ها؛
 5 - كنترل پيمانكارها؛
 6- آموزش؛
 7- كنترل متن اسناد
 8- كنترل ورود داده‏ها
 9- كنترل پردازش داده‏ها و دقت در كامل بودن ركوردها در هر زمان كه يك فايل پردازش مى‏گردد.
 10- كنترل فايل‏ها و ايجاد فايل پشتيبان  files Backup جهت احياء فايل‏هاى كاربردى بحرانى در موارد كه فايل‏هاى اصلى خراب شده يا آسيب مى‏بيند.
 11- كنترل مستندات، تمامى دستور العمل‏ها و مستندات بايد در تمام لحظات مطابق زمان جارى باشند.
 12- فعاليت‏هاى آزمون: هدف از انجام آزمون 1- مجبور ساختن يك برنامه به عملكردى نادرست، 2- يافتن علل اين اشتباهات، 3- اصلاح برنامه جهت كاستن از اشتباهات، پس هدف از آزمون عدم موفقيت است و نه اثبات اينكه يك برنامه كار مى‏كند. يك برنامه مى‏تواند تحت شرايط محيطى دلخواه به درستى كار كند ولى نتايج نادرستى را تحت شرايط پيش‏بينى شده‏اى ايجاد نمايد. افراد تيم بايد حداكثر توان خود را جهت ايجاد مشكل‏هاى پيش‏بينى نشده بكار گيرند تا فرايندهاى مشكل آفرين پيش‏بينى نشده مشخص و اصلاح گردد.
 13- كنترل توليد و عرضه (رعايت شدن استانداردهاى لازم در مرحله توليد انبوه، بسته‏بندى و عرضه).
پی نوشت
1. ر. ك: شاهسوار، شيوا، كنترل مرغوبيت نرم‏افزار. تهران: سازمان مديريت صنعتى، چاپ اول 1378.
2. ر.ك: پايگاه اينترنتى مركز اطلاعات و مدارك علمى ايران  WWW.irandoc.ac.arو پايگاه اينترنتى ثناراى WWW.sanaray.com
3. شاهسوار، شيوا، همان، ص 34، به نقل از كيچن هام.
4. لغت‏نامه انگليسى اكسفورد Oxford1991 .
5. شاهسوار، شوا، همان.
6. لغت‏نامه دهخدا، ذيل ماده م ر غ .
7. شاهسوار، شيوا، همان، ص 35.


بازگشت