|
| | پنجشنبه، 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. |
 بازگشت | |
|
|