مقدمه
ارزیابی، فرایندی است که به جمعآوری اطلاعات درباره ارزش یک برنامه با هدف تصمیمگیری درباره اثربخشی یا بهبود آن برنامه صورت میگیرد (استون (1)، 2008). به بیانی دیگر، ارزیابی، «اندازهگیری عملکرد یا خدمات یک نظام و بررسی اثر آن در پیشبرد اهداف تعیینشده» است (سلطانی و راستین، 1379). ارزیابی میتواند به عنوان وظیفهای در نظر گرفته شود که به یک یا چند خروجی میانجامد و در عین حال، هدفی برای برنامهریزی به شمار میآید. افزون بر این، ویژگی دیگر ارزیابی، «هدفمحور» بودنِ آن است. ارزیابی در زمینه گسترش نرمافزارها، از دهههای اخیر که نقش ارزیابی در تعامل انسان و رایانه (2) تغییر یافته، به عنوان یک هدف کاربرد داشته است (گدیگا، هامبورگ و دونش (3)، 2002 به نقل از ساچمن (4)، 1967). تولید روزافزون محصولات نرمافزاری با هدف برطرف کردن نیازهای جدید کاربران، و در نتیجه نیاز به ارتقا و تکمیل محصولات نرمافزاری، اهمیت ارزیابی نرمافزارها را دوچندان نموده است. نرمافزارها را میتوان از دیدگاههای متفاوتی مانند: کارکرد، قابلیت اطمینان، کاربردپذیری، بازدهی، قابلیت نگهداری و یا حملپذیری بررسی کرد. فرایند ارزیابی نرمافزار، در عمل میتواند دست کم یکی از این سه هدف را دنبال کند: مقایسه نرمافزارها، تعیین میزان کیفیت و یا تعیین نقاط ضعف آنها (گدیگا و همکاران، 2002).
به دنبال تولید روزافزون انواع محصولات نرمافزاری، در زمینه نرمافزارهای اسلامی نیز در سالهای اخیر تلاشهایی در شهرها و سازمانهای مختلف کشور ما ایران، صورت گرفته است (رضایی، 1377) و در مدت نهچندان زیادی که از تولید این نرمافزارها گذشته است، شاهد پیشرفتهای قابل توجهی بودهایم (اسکندری، 1388). تولید نرمافزارهای اسلامی در زمینه: علوم قرآنی، علوم حدیث، فقه، رجال، سیره معصومین(ع)، احکام و ...، و کاربرد آن در بین کاربران رسانهها و محصولات دیجیتال، مسلماً نقش بهسزایی در اشاعه و گسترش علوم اسلامی در میان کاربران دنیای دیجیتال خواهد داشت. به همین منوال، تلاش برای بهبود و ارتقای این نرمفزارها، میتواند در جذب مخاطب و رضایت آنها از این محصولات بسیار مؤثر باشد. در سالهای اخیر، پژوهشهایی در زمینه ارزیابی نرمافزارهای اسلامی انجام شده است. مقاله حاضر، علاوه بر گردآوری متون دانشگاهی و مقالههای منتشرشده در زمینه ارزیابی نرمافزارهای مختلف در کشور و همچنین مرور تعدادی از مقالههای مهم انگلیسیزبان در زمینه ارزیابی نرمافزار، در تلاش است پشینههای انجام ارزیابی در زمینه نرمافزارهای اسلامی را به صورت منسجم جمعآوری نماید.
انواع ارزیابی نرمافزار
نرمافزارها را از دیدگاههای گوناگون میتوان مورد ارزیابی قرار داد. نوع، کارکرد و هدف خود نرمافزار هم میتواند تعیینکننده نوع ارزیابی باشد. به اعتقاد عدهای از صاحبنظران، ارزیابی نرمافزار، فرایندی هدفمحور است (کومی ـ سیرویو (5) 2004؛ کیچنهام، لینکمن و لاو (6) 1996؛ گدیگا و همکاران 2002). مراحل ارزیابی، زمان، هزینه و تمامی فرایند ارزیابی، بستگی به هدفی دارد که به واسطه آن انجام ارزیابی صورت میگیرد. ارزیابی نرمافزارها میتواند با اهداف متفاوتی صورت بپذیرد؛ برای مثال، نرمافزاری را در نظر بگیرید که با هدف نیازسنجی کاربران برای گنجاندن یک سرویس اضافی در سرویسهای خود، بررسی عملی این امکان را به همراه ارزیابی نظرات کاربران در این مورد آغاز میکند. در مقابل، نرمافزاری برای ارزیابی نظرات کاربران درباره دستهای از خدمات خود به کار گرفته میشود تا در صورت نیاز، ارتقای خدمات خود را در تولید نرمافزار لحاظ نماید. مطمیناً اهداف ارزیابی در این دو نرمافزار، یکسان نیست و مراحل، زمان و هزینههای متفاوتی خواهند داشت. در مورد هدف ارزیابی نرمافزارها حتی میتوان مواردی را بیان کرد که ارزیابی نرمافزار به منظور مقایسه و انتخاب نرمافزارها برای انطباق با محیط و عملکردهای خاصی که مد نظر یک فرد یا یک سازمان است، انجام میگیرد. با وجود گزینههای مختلف نرمافزارهایی که برای رفع نیازهای فرد یا سازمان وجود دارد، ارزیابی نرمافزارها قبل از انتخاب و خرید و بررسی مطابقت آنها با نیازهای سازمان، اهمیت قابل توجهی دارد و موجب صرفهجویی در زمان و هزینههای فردی و سازمانی میشود. رولی (7) (1992) معتقد است باید به چنین فرایندهایی که با هدف بررسی و مقایسه نرمافزارها به منظور انتخاب و خرید آنها انجام میشود، از منظر یک پروژه نگاه کرد. برای این کار، باید بعد از مشخص ساختن اهداف، روششناسی مناسب را اتخاذ نمود و در مرحله بعد، معیارهای متناسب را استخراج نمود و فرایند بررسی را انجام داد. در زمینه مقایسه نرمافزارهای جایگزین، فر، مودیگوندا و الامی (8) (2009) نیز روشی آماری برای مقایسه ارائه دادهاند.
همچنین مهندسان نرمافزار در جریان تولید و طراحی برنامههای رایانهای، ممکن است با مشکلات و مسائلی اخلاقی روبهرو شوند و برای عبور از این مسائل، نیازمند رهنمودهایی اخلاقی و معین باشند. با توجه به اصول اخلاقی برگرفته از قرآن و حدیث، حمید، خطیب و موتاز (2010) (9) سیاههای اخلاقی تهیه نمودهاند و پیشنهادی ارائه کردهاند که مهندسان نرمافزار در روند طراحی نرمافزار، مسائل اخلاقی را با استفاده از آموزههای دین اسلام برطرف سازند.
از سوی دیگر، سازمانهایی که به تولید و طراحی نرمافزارهای مختلف میپردازند، نیاز دارند که مطالعهای روی فناوریهای مورد استفاده خود در تولید نرمافزارها انجام دهند؛ برای مثال، نرمافزارهای اسلامی که در کشور ما تولید میشوند، همگی با در نظر گرفتن استفاده حداکثری کاربران ایرانی از محیط ویندوز، تأکید بیشتری بر محصولات مبتنیبر ویندوز دارند؛ تا سیستمهای عامل دیگر. در مورد ابزارها و فناوریهای داخلی هر کدام از این نرمافزارها هم، مطالعهای تجربی نیاز است؛ برای مثال، استفاده از نرمافزار فلش برای اجرای بعضی پایگاهها و نرمافزارها ضروری است که مسؤولان آن پایگاه اینترنتی یا نرمافزار باید امکان استفاده و دسترسی کاربران به نرمافزار فلش را در هنگام انتشار محصول خود در نظر داشته باشند. در نظر نگرفتن ویژگیهایی اینچنینی، باعث بعضی خسارتها و عدم موفقیتها است؛ برای مثال، نسخه جستجوی منابع کتابخانه ملی روی گوشیهای تلفن همراه، در شرایطی مبتنی بر سیستم عامل سیمبین طراحی شده است که کاربران سیستم سیمبین در این روزها بهشدت رو به کاهش هستند و روزبهروز به تعداد کاربران سیستم اندروید افزوده میشود. به این ترتیب، نوع دیگری از ارزیابی نرمافزارها که میتواند به عنوان پایهایترین و راهبردیترین نوع ارزیابیها در نظر گرفته شود، «ارزیابی فناوری نرمافزار (10)» است. در این نوع ارزیابی، فناوری خاصی که نرمافزار با استفاده از آن تهیه و استفاده میشوند، مورد تحلیل و ارزیابی قرار میگیرد. به این ترتیب، اگر نیازمندی و تطابق خاصی مورد نظر باشد، در طراحی نرمافزار اعمال میشود. لانوبیل (11) (1997) در مقالهای خلاصه مباحث مطرحشده در کارگاه بینالمللی مطالعات غربی نگهداری نرمافزار (WESS96) را در مورد ارزیابی فناوری برای تولید و نگهداری نرمافزارها ارائه میدهد. ارزیابی فناوری، به بررسی قابلیتها و ظرفیتهای فناوریهای جایگزین برای تولید و طراحی نرمافزار اشاره دارد.
از لحاظ استمرار فعالیتهای ارزیابی نرمافزار، به طور کلی، میتوان دو دسته ارزیابی را تشخیص داد:
- ارزیابیهای مستمر؛
- ارزیابی مقطعی.
با توجه به محیط متغیر، فناوریهای رو به گسترش و تجربههای دهههای اخیر، بسیاری از پروژههای نرمافزاری به طور خودکار، نوعی از ارزیابی مستمر را در فرایند تولید نرمافزارهای خود جای دادهاند. هدف این پروژهها، جلب رضایت مشتری و حفظ آنها در طول زمان است. در این پروژهها، دریافت بازخورد از سوی کاربران و مشتریان در کنار پژوهش و بررسی برای بهکارگیری فناوریهای جدید و منطبقساختن نرمافزار با برترین فناوریهای روز، به صورت جزئی از روند تولید و گسترش نرمافزار در نظر گرفته شده است. در مقابل، تعدادی از نرمافزارها، روشهای ارزیابی مقطعی را در مورد: سرویسی خاص، امکان بهکارگیری نوع خاصی از فناوری و... انتخاب میکنند. انتخاب روشهای ارزیابی مقطعی میتواند نتیجه: بهکارگیری سیاستی خاص، کمبود بودجه برای انجام ارزیابی مستمر و یا دلایل دیگر باشد. شاید بتوان گفت نوع کامل ارزیابی نرمافزارها، بهکارگیری یک فرایند ارزیابی مستمر و در کنار آن، بهرهگیری از ارزیابیهای مقطعی است. آکونا، دیآنتونیو، فره، لوپز و ماته (12) (2000) به روشهای ارزیابی فرایند نرمافزاری (13) اشاره و خاطرنشان میکنند که عبارت «فرایند نرمافزاری» در مقابل عبارت «چرخه حیات (14)» بهکار برده شده است. تفاوت عمده این دو عبارت را میتوان اینگونه بیان کرد که چرخه حیات، حالتهای متفاوتی را که از ابتدای تولید محصول تا پایان عمر آن طی میشود، در نظر دارد و متمرکز بر محصول است؛ اما فرایند نرمافزاری، بر ساختار فعالیتهایی دلالت دارد که در طراحی نرمافزار، ارزیابی و بهبود آن دنبال میشوند. با این توصیف، شاید بتوان گفت ارزیابی مستمر را بیشتر در حیطه فرایند نرمافزاری و ارزیابی مقطعی بیشتر در حوزه چرخه حیات مطرح میشوند.
اما در متون ارزیابی نرمافزار، آثاری مشاهده میشود که کوشیدهاند دستهبندی از ارزیابی نرمافزارها و همچنین روشهایی برای انجام آن ارائه دهند. کیچنهام و همکاران (1996) در پروژه دسمت (DESMET) گزارشی را منتشر کردند و هدف پروژه دسمت را «گسترش و تأیید اعتبار روشی برای ارزیابی روشها و ابزارهای مهندسی نرمافزار» بیان نمودند. در این متن، راهبردهای پروژه دسمت برای: 1. انتخاب یک روش ارزیابی مناسب؛ 2. انجام تحلیل ویژگینما (15) و 3. انجام مطالعه موردی کمّی شرح داده شده است. به این ترتیب، پروژه دسمت، چارچوبی را ترسیم میکند که بر اساس آن، برای تعیین روش ارزیابی روند توسعه یک نرمافزار یا ابزار، مراحلی مشخص باید طی شود تا بهترین روش ارزیابی انتخاب شود. در این چارچوب، مؤلفههای مختلفی مانند بافت (16)، هدف ارزیابی (روش کلی، روش اختصاصی توسعه یک نرمافزار، ابزار)، انواع ارزیابی (کمّی یا کیفی) و شیوه ارزیابی (17) (تجربیات رسمی (18)، مطالعه موردی (19)، پیمایش (20)) در نظر گرفته میشود تا در ابتدا برای هر ارزیابی روش و راهبرد متناسب تعیین شود. بر این اساس، مطالعات ارزیابانه، تجربهای رسمی از ارزیابی نرمافزارها هستند، یا مطالعهای موردی بر روی یک نرمافزار خاص، و یا پیمایش نظرات متخصصان یا کاربران در مورد نرمافزار با هدف عیبیابی یا بهبود و ارتقا. به اعتقاد کیچنهام، پیکارد و فلیجر (21) (1995) اگر کار ارزیابی در حد یک پروژه توسط گروهی محدود باشد، میتوان از مطالعه موردی استفاده کرد. اگر چندین پروژه مشابه یا یک پروژه تکرارپذیر توسط یک گروه مورد ارزیابی قرار بگیرد، میتوانیم از تجربه رسمی استفاده کنیم و در صورتی که گستردگی کار از لحاظ تعداد و تیمهای پژوهشی زیاد باشد، میتوانیم با پیمایش نظرات کاربران و کارشناسان به ارزیابی روشها یا ابزارها اقدام کنیم. از آنجا که بر خلاف تجربیات رسمی و پیمایشها، مطالعات موردی از پایه نظری مستحکمی برخوردار نیستند و قابلیت تعمیم آنها کمتر است، کیچنهام و همکاران (1995) در اثر خود، بهتفصیل در مورد شیوه انجام مطالعه موردی بحث میکنند؛ به طوری که بتوان به عنوان روشی استاندارد برای انجام مطالعات موردی و موثقتر ساختن این نوع پژوهشها، از آن بهره برد.
آنترکالمشتاین و چنگ (2012) در مقالهای مروری، راهبردهای بهبود فرایندی نرمافزاریSoftware Process) (Improvement = SPI را در متون بین سالهای 1991 تا 2008 م بررسی نمودهاند و متوجه شدهاند که متون از لحاظ ابزار مطالعه، به سه دسته تقسیم میشوند: دسته اول، با نام چهارچوب (Framework) مربوط به راهبردهایی مانند CMM یا شش سیگما میشود که استراتژیهای چهارچوبدار و مدلدار را شامل میشود. دسته دوم، تجربههای عملی است که قابلیت کاربرد برای نرمافزارهای دیگر را نیز دارا هستند و دسته سوم، ابزارهایی هستند که به مهندسی نرمافزار کمک میکنند. همچنین چندین راهبرد مطالعاتی متمایز را تشخیص دادهاند:
- مقایسه پیشین و پسین؛
- تحلیل آماری؛
- مقایسه پیشین و پسین به همراه پیمایش؛
- کنترل فرایند آماری؛
- تحلیل هزینه ـ سودمندی؛
- تحلیل آماری به همراه پیمایش؛
- روش فیلیپ کراسبی؛
- مقایسه پیشین و پسین به همراه تحلیل هزینه ـ سودمندی؛
- پیمایش؛
- روش تحلیل بهرهوری نرمافزار؛
- تحلیل هزینه ـ سودمندی به همراه پیمایش.
به علاوه در این پژوهش، شاخصههای موفقیت نرمافزار دستهبندی و معرفی شدهاند: کیفیت پیشرفت، دقت تخمین، بهرهوری، کیفیت محصول، تلاش تیمی، رفع کاستیها، هزینه، زمان رسیدن به بازار، بازگشت سرمایه، رضایت کاربر (کیفی)، رضایت کاربر (کمی) و دیگر معیارهای کمی و کیفی.
تدین (1382) در مقالهای توجه مدیران را به توسعه مستمر نرمافزارها جلب میکند و با توجه به دستهبندی ارائهشده توسط آنترکالمشتاین و چنگ (2012)، یکی از راهبردهای ارتقای نرمافزار، یعنی ابزار CMM را معرفی میکنند. ارزیابی مستمر نرمافزارها به منظور گسترش قابلیتهای نرمافزار و بهروز نگه داشتن آن، از نکات مهمی است که مدیران باید در چرخه تولید و نگهداری نرمافزار به آن توجه کنند. مدل توانایی بلوغ فرایند یا CMM با استفاده از گامهای کوچک و طی کردن این گامها، بستری را فراهم میکند که نرمافزارها با افزایش کیفیت، از وضعیت موجود، به سوی وضعیت مطلوب در برآوردن نیازهای کاربران و مطابقت با نیازهای روز و فناوریهای نوین پیشرفت کنند. این مدل در پنج سطح و مرحله صورت میگیرد: مرحله اول، ناظر به توانایی کارمندان است. مرحله دوم، به قابلیت تکرار برنامهها، تدوین خط مشی و رویهها معطوف میشود. مرحله سوم، به تدوین سطحی استاندارد برای توسعه و نگهداری نرمافزار میپردازد. سطح چهارم، به اهداف کمی و کیفی، سنجش بهرهوری، جمعآوری و تحلیل دادهها مربوط میشود و سطح پنجم، با شناسایی نقاط ضعف سازمان بر بهبود مستمر سازمان متمرکز است.
میوشی، تاگوشی و آزوما (22) (1989)، در یکی از متون قدیمی مربوط به ارزیابی نرمافزارها اشاره میکنند که معمولاً ارزیابی نرمافزار توسط تولیدکنندگان آن نرمافزارها صورت نمیگیرد. آنها بر پایه اطلاعات مستخرج از پروژه عملی فست (FASET) مدلی را ارائه میدهند که به صورتی روشمند ارزیابی محیطهای گسترش نرمافزار (23) را انجام میدهد و به تولیدکنندگان نرمافزارها کمک میکند تا محصولات خود را مورد ارزیابی قرار دهند. در مدل آنها مراحل مشخصی باید طی شود تا ارزیابی نرمافزارها از دیدگاه کیفی امکانپذیر شود:
- ـ مشخص ساختن اهداف ارزیابی؛
- ـ انتخاب ویژگیهای کیفی مطابق با چرخه عمر اهداف ارزیابی؛
- ـ تصحیح و پالایش تمام ویژگیهای کیفی؛
- ـ تعریف ساختار کیفی؛
- ـ انتخاب و تعریف سنجهها؛
- ـ آزمودن اهمیت (یا وزن) هر کدام از ویژگیهای کیفی؛
- ـ آزمودن الگوریتم امتیازدهی؛
- ـ تعریف رهنمودهایی برای بررسی؛
- ـ آزمودن چگونگی ارائه نتایج ارزیابی.
آنها در پایان تأکید میکنند که برای تعریف نیازمندیهای کیفی در ارزیابی نرمافزارها، باید رهنمودهایی (24) به منظور توصیف نیازمندیهای کیفی در دسترس داشته باشیم. اگرچه که این سه در مقاله خود بر کیفی بودن این ارزیابی تأکید دارند، اما عملاً از نوعی روش کمّی برای ارزیابی کیفیت سود جستهاند. روشمندی و نظم و دقت در این اثر و پژوهشگرانی با این دیدگاه را میتوانیم به عنوان پایههای توجه به کیفیت در سالهای اخیر در نظر بگیریم.
به همین منوال، بوم، برون و لیپو (25) (1976)، در یکی از نخستین متونی که ارزیابی کیفیت نرمافزارها را با استفاده از روشهای کمّی مورد بحث قرار دادهاند، معیارهایی را برای سنجش کیفیت ارائه میدهند. معیارهایی نظیر: حملپذیری، صحت عملکرد، کمال، یکپارچگی، ثبات، پاسخگویی، دسترسی، ارتباط، خود ـ توصیفی، ساختارمند بودن، دقیق بودن و...، از جمله معیارهایی هستند که بوم و همکاران (1976) به آنها اشاره کردهاند و در ادامه، به شیوه عملی اندازهگیری هر کدام از این معیارها پرداختهاند. آنها معتقدند توجه آشکار به ویژگیهای کیفیت نرمافزار احتمالاً به صرفهجویی قابل توجهی در هزینههای چرخه حیات نرمافزار منجر میشود.
علاوه بر ملاکهایی که درباره انواع ارزیابی نرمافزارها در بالا ذکر شد، توجه به نظرات کاربران در مقابل نظرات متخصصان دستهبندی دیگری در حوزه ارزیابی نرمافزارها پدید میآورد. از آنجا که بهرهمند شدنِ کاربران نهایی (26)، دلیل و هدف اصلی تولید بسیاری از نرمافزارها بهشمار میرود، میتوان «ارزیابی کاربرمحور» را یکی از زمینههای اصلی ارزیابی نرمافزارها عنوان نمود. از سویی دیگر، تعدادی از نرمافزارها را با استفاده از روش «ارزیابی مکاشفهای (27)» به ملاحظه تعداد مشخصی کارشناس (بین 3 تا 5 نفر) در زمینه کاری نرمافزار میرسانند و در این نوع ارزیابیها، مشخصات فنی و کارآیی نرمافزار از دیدگاه متخصصان مورد بررسی قرار میگیرد (نیلسن (28)، 1993). در واقع، ارزیابی نرمافزارها با استفاده از شیوه پیمایش میتواند از دو دیدگاه کاربرمحور یا فنی (متخصصمحور) انجام شود.
گذشته از این ابزارها، شیوهها و روشها، اینکه کدام قسمت یا کارآیی نرمافزارها باید مورد بررسی قرار گیرد، میتواند حوزههای متفاوتی از ارزیابی را تعیین کند؛ به این معنا که هر کدام از خدمات نرمافزارها میتوانند به صورت جداگانه مورد ارزیابی قرار گیرند. در ادامه، زمینهها و کارکردهای متفاوتی که در متون درباره ارزیابی نرمافزار به آنها اشاره شده است، مرور خواهد شد.
ارزیابی انواع کارکردهای نرمافزاری
رابط کاربریِ (29) نرمافزارها، نقطه ارتباط رایانه با کاربران به شمار میرود. به واسطه رابط کاربر است که تعامل بین کاربر و نرمافزارها شکل میگیرد (خالقی، 1385؛ مجد 1383). در نتیجه، به هر میزان، کاربران بتوانند تعامل آسان، سریع و قابل فهمی با نرمافزارها داشته باشند، کارایی نرمافزار بالاتر میرود و رضایتمندی کاربران از آن در سطح بالاتری قرار میگیرد. خالقی (1385) در مقاله خود، ضمن تأکید بر تأثیر رابط کاربر در جذب کاربران و مطلوبیت نرمافزارها، برای آنها معیارهایی عمومی را برمیشمرد که رعایت آنها در رابط کاربریِ تمامی نرمافزارها ـ یا شاید تمامی محیطهای رایانهای که قرار است با انسان تعامل داشته باشند ـ میتواند به بهبود عملکرد نرمافزار و دستیابی به هدفاش در تعامل با کاربر کمک کند. این معیارهای عمومی عبارتاند از:
- ثبات: هر چه صفحات و علمکردهای نرمافزار از ثبات بیشتری برخوردار باشند، زمان کمتری برای یادگیری و انس کاربر با محیط نرمافزار نیاز است. نمونه ثبات در طراحی رابط کاربری را در محصولات شرکت مایکروسافت، مثلاً در مجموعه نرمافزارهای آفیس میبینیم.
- سادگی و وضوح: سادگی رابط کاربر، علاوه بر آنکه به یادگیری و استفاده کمک میکند، یاریگر ثبات طراحی نیز هست. با دوری از طراحی پیچیده در رابط کاربر نرمافزارها میتوان وضوح و شفافیت را در مسیرهایی که کاربر باید برای انجام کارکرد مورد نظرش پیگیر شود، افزایش داد.
- رهنمونی (30): ویژگی رهنمونی، به هشدارها و جملاتی اشاره دارد که وظیفه راهنمایی کاربر را در هنگام عملکردهای گوناگون به عهده دارد. پیشنهادهای جستجویی که گوگل بعد از جستجو با املای غلط به ما ارائه میدهد، از این دستهاند.
- زیبایی: بدون شک، چشمنواز بودن رابط کاربری در عین سادگی و آسانی عملکرد، میتواند راهبرد مؤثری جهت جذب و تأمین رضایت کاربران باشد.
- گرافیک و ترکیب رنگها: لحاظ کردن مفهوم رنگها با در نظر گرفتن تفاوتهای فرهنگی، در معناداری و تناسب رابط کاربری تأثیر بهسزایی دارد.
- استفاده از پیامها و علائم اخطار دهنده: هشدارها و اخطارهای بهموقع و بهجا، از ارکان مهم طراحی رابط کاربر نرمافزارها است که عدم توجه به آن، میتواند نارضایتی کاربران را به همراه داشته باشد.
- انعطافپذیری: برطرف کردن نیازمندیهای متفاوت کاربرانی با سلیقههای متفاوت را میتوان به عنوان یکی از معیارهای مهم رابط کاربریهای قوی برشمرد. تنوع کارکردها و سازگاری نرمافزارها با برنامههای دیگر، یکی از اساسیترین ملاکهای انتخاب کاربران از بین نرمافزارهای مختلف در یک حوزه است.
- توجه به اصول روانشناسی: آسانی و راحتی کاربری نرمافزارها، یکی از تبعات توجه به اصول روانشناسی است و ملاک مهمی برای موفقیت نرمافزارها است.
- سایر معیارها: تسلط به محیط، صراحت، کاهش حجم کار کاربران و مساعدت، از دیگر ملاکهایی است که خالقی به عنوان معیارهای عمومی طراحی رابط کاربر برمیشمرد.
البته طراحی و زیباسازی، توجه به کاربرپسندی و تعاملپذیرتر کردن رابطهای کاربری، همیشه به طور مستقیم با استفاده از برنامهنویسی در خود نرمافزارها انجام نمیشود. یکی از راهکارهای ارتقای ویژگیهای رابط کاربری، استفاده از نرمافزارهای سیستمی و ابزارهای دیگری است که منحصراً برای کمک به طراحی رابطهای کاربری تولید شدهاند. مایر (1994) در مقالهاش با تأکید بر اهمیت رابط کاربری نرمافزارها، ابزارهایی را معرفی میکند که طراحان میتوانند از آنها استفاده کنند تا با صرفهجویی در زمان، به مطلوبیت بالاتری از نظر نمایش و رابط کاربری دست پیدا کنند. مقاله مایر اگرچه مقالهای قدیمی است، اما تأکید او و همنسلانش بر نمایش اطلاعات، به نوعی جهتگیری صاحبنظران و دستاندرکاران را از حدود بیست سال پیش برای گرافیکیتر نمودن نرمافزارها نشان میدهد. پیگیری این نکته و پافشاری بر روی آن، تا جایی پیش رفته است که امروزه، همین ابزارهای گرافیکی، علاوه بر طراحان نرمافزار، در اختیار کاربران در محیطهای مختلف قرار میگیرد و امکان شخصیسازی نمایش در بسیاری از محیطها را فراهم آورده است.
طراحی رابط کاربری برای پایگاههای اینترنتی نیز از اهمیت بالایی برخوردار است. یمینفیروز (1382) به بررسی عناصر مهم در طراحی رابط کاربری پایگاهها میپردازد و معیارها را در سه دسته کلی ساختاری (شامل: محتوا و مندرجات، انسجام، سازماندهی، استفاده از تکنیک فرارسانهای پیوندها)، ظاهری (شامل: ششمایل، تصاویر و صفحهآرایی) و کاربری (برای انواع کاربر: مبتدی، تصادفی و ماهر) دستهبندی میکند.
در نرمافزارهای تخصصی حوزههای متفاوت نیز، ارزیابی رابط کاربری یکی از زمینههای مهم برای ارزیابی به شمار میرود؛ برای مثال، در حوزه نرمافزارهای کتابخانهای و همچنین پایگاههای اطلاعاتی وبی پژوهشهایی چند با موضوع رابط کاربری به چشم میخورد. زرهساز، فتاحی و داورپناه (1385)، بعد از تحلیل ویژگیهای رابط کاربر نرمافزار کتابخانهایِ«سیمرغ»، میزان رضایت کاربران را نیز از تعامل با این نرمافزار بررسی نمودهاند. از نظر کاربران (نمونهای متشکل از دانشجویان دانشکده روانشناسی و علوم تربیتی دانشگاه فردوسی مشهد)، ویژگیهایی از نرمافزار مذکور، نظیر: صفحههای نمایش اطلاعات نرمافزار، واژگان و پیامهای نرمافزار، یادگیری چگونگی کار با نرمافزار، راهنمای نرمافزار و قابلیتها و امکانات نرمافزار سیمرغ در حد متوسطی قرار دارد و سطح رضایت آنان از تعامل با نرمافزار، در حد متوسط است. عوامل متعددی ممکن است بر میزان رضایت کاربران از تمایل با نظامهای رایانهای تأثیر بگذارند. با وجود این، در این پژوهش، تنها تأثیر پنج عامل: رشته تحصیلی، مقطع تحصیلی، سابقه و میزان آشنایی با نرمافزار، سواد رایانهای و سواد کتابخانهای کاربران، بر میزان رضایت آنها از تعامل با نرمافزار سیمرغ سنجیده شد. نتایج این پژوهش نشان داد که مقطع تحصیلی کاربران و همچنین میزان سواد رایانهای آنها، به طور معناداری بر میزان رضایت آنها از تعامل با نرمافزار سیمرغ مؤثر است. در پایان، آنها پیشنهادهایی کاربردی در زمینههای ذیل ارائه دادهاند:
- صفحه نمایش اطلاعات، (مانند: استفاده از فونتهای متنوع فارسی و عدم استفاده از فونتهای عربی، استفاده بهینه از فضاهای خالی صفحههای نمایش اطلاعات، استفاده معقول از ابزارهای جلب توجهکننده کاربران در صفحههای نمایش و...؛
- واژگان و پیامهای نرمافزار، نظیر: استفاده از واژگان سادهتر و قابل فهمتر برای تمام کاربران، بازنگری در بعضی واژگان، استفاده معقولانه از واژگان تخصصی در این نرمافزار و...؛
- بهبود یادگیری چگونگی کار با نرمافزار سیمرغ، همچون: تهیه و تدوین برنامههای آموزشی پیوسته، برگزاری جلسههای منظم آموزشی، انتخاب قالبی مشخص و یکدست برای عملیات جستجوی پیشرفته و...؛
- راهنمای نرمافزار، مانند: ترغیب کاربران به استفاده از راهنمای نرمافزار، استفاده از واژگان سادهتر و همه فهمتر و...؛
- قابلیتها و امکانات نرمافزار، از قبیل: توسعه و گسترش امکانات و قابلیتهای جدید نرمافزار، افزایش سرعت پاسخگویی نرمافزار، پیشبینی امکان تصحیح عبارت جستجوی مجدد و... .
در همین زمینه، مهاجری و محمد صالحی (1388)، در پژوهشی پیمایشی و از نوع کاربردی، ویژگیهای رابط کاربر نرمافزار کتابخانهای رسا را با استفاده از روش مکاشفهای مورد مطالعه قرار دادند. ده مؤلفه اصلی که در سیاهه وارسی بیان شدهاند، عبارتاند از: وضعیت رؤیت سیستم، تطبیق بین سیستم و جهان واقعی، کنترل و آزادی کاربر، ثبات و استانداردها، کمک به کاربر در شناسایی و تشخیص و جبران خطاها، پیشگیری از خطا، تشخیص به جای یادآوری، انعطافپذیری و کارایی سیستم، زیباییشناختی و راهنمایی، و مستندسازی.
تجزیه و تحلیل دادههای پژوهش آنان نشان داد که در طراحی رابط کاربر نرمافزار رسا، 64 درصد از معیارهای مورد نظران تعدادی از کارشناسان متخصص در حوزه کتابداری لحاظ شده است و بیشترین تطابق (90 درصد) در زمینه زیباییشناختی بوده است. همچنین از بین ویژگیها و معیارهای مورد ارزیابی، ویژگی «پیشگیری از خطا»، بالاترین میانگین شدت، و ویژگی «ثبات و استانداردها» و «تشخیص به جای یادآوری»، پایینترین میانگین شدت را دارند.
رابط کاربری پایگاههای اطلاعاتی نیز در پژوهشهای متفاوتی مورد بررسی قرار گرفته است؛ از جمله، عباسپور و رضایی شریفآبادی (1385) در مقالهای با استفاده از روش مکاشفهای، اقدام به بررسی رابط کاربر پایگاه اطلاعات پایاننامههای مرکز اطلاعات و مدارک علمی ایران نمودهاند. در این مطالعه، از نظرات متخصصان کتابداری و اطلاعرسانی استفاده شده و هفت زمینه اصلی در سیاهه وارسی به دست آمده که عبارتاند از: اطلاعات کتابشناختی، کنترل عملیاتی، جستجو، نقاط دسترسی، صفحه نمایش، کنترل خروجی و راهنمای کاربر. نتایج نشان داد که طراحی رابط کاربر پایگاه مذکور، در حد ضعیفی قرار دارد و این نشان میدهد که عملکرد تنها پایگاه دولتی که مأمور به رسالت خطیر نگهداری و سازماندهی پایاننامههای کشور است، در سطح ارائه اطلاعات و آسانی کار برای کاربر، مطلوب نیست.
علاوه بر این، انتظاریان و فتاحی (1388) در مقالهای به بررسی درک کاربران از رابطکاربری دو پایگاه مقالههای اطلاعاتی مرکز منطقهای اطلاعرسانی علوم فناوری و پایگاه مقالههای پژوهشگاه اطلاعات و مدارک علمی ایران پرداختهاند. آنها برای این پژوهش، از ابزار مؤلفههای نیلسن (شامل: وضعیت واضح بودن و قابل فهم بودن پایگاهها، همخوانی بین نظام و دنیای واقعی، کنترل پایگاه توسط کاربر و آزادی عمل، ثبات و یکدستی، جلوگیری از خطا / اصلاح خطا، شناسایی و بازیاب، قابلیت انعطاف و کارایی استفاده، کمک به کاربران در تشخیص و اصلاح خطاها، جنبههای زیباییشناختی و طراحی ساده، امکانات راهنمایی و کمک) و همچنین از روش ارزیابی مکاشفهای استفاده کردهاند که بر اساس آن، جمع کوچک و متمرکزی را برای ارزیابی ویژگیها و کاستیهای رابط کاربر مورد نظر انتخاب کردند. میزان مطابقت رابط کاربر پایگاههای ذکرشده با مؤلفههای نیلسن، در حد متوسط بود و بین درک کاربران مبتدی با کاربران حرفهای نیز تفاوت معناداری مشاهده شد.
در بین مطالعات ارزیابی در حوزه نرمافزارهای کتابخانهای، پژوهشهایی به چشم میخورد که چندین خدمت از نرمافزارهای کتابخانهای را مورد ارزیابی قرار دادهاند. غائبی (1374) در تلاش برای تبیین معیارهای ارزیابی نرمافزارهای کتابخانهای، هسته اصلی در نرمافزارهای کتابخانهای را پایگاه دادههای کتابشناسی میداند. او برای ارزیابی نرمافزارهای کتابخانهای، 144 معیار در نظرگرفته که از این تعداد، 55 معیار برای سنجش عمومی و کیفیت نرمافزار، و 89 معیار برای سنجش پایگاه دادههای کتابشناختی است. غائبی، معیارهای کلی سنجش پایگاه دادههای کتابشناختی را در موارد ذیل میداند: ورود اطلاعات، ذخیره اطلاعات، صفحه ورود اطلاعات، فایلهای شاخص، بازیابی و خروجی بعضی از معیارهای خاصتر، ساختار رکورد، شیوه سازماندهی فایلها، ارتباط میان دادهها، روش جستجو، ارائه گزارشگیری، چاپ و... .
او در ادامه، عدم کارایی نرمافزارهای کتابخانهای را وابسته به دو دلیل عنوان میکند: دلیل اول، به عدم شناخت کافی مسؤولان کتابخانهها از قابلیتها و ویژگیهای نرمافزارها مربوط میشود و دلیل دوم، عبارت است از عدم آشنایی کافی طراحان و برنامهنویسان نسبت به سیستمهای سنتی کتابخانهها.
به همین ترتیب، نوروزی و نعمتی (1389) در پژوهشی کاربردی با استفاده از یک سیاهه وارسی متشکل از 84 معیار، به سنجش و ارزیابی: ویژگیهای جستجو، فرمول جستجو، نمایش نتایج، امکانات کمکی و... در نرمافزارهای جامع کتابداری (نوسا، پارس آذرخش و نمایه) پرداختهاند. نتایج نشان میدهد که نرمافزار «نوسا» با کسب 34/93 رتبه اول، «پارس آذرخش» با کسب 55/82 رتبه دوم، و «نمایه» با کسب 35/51 رتبه سوم را کسب کردهاند. همچنین، نتایج حاکی از آن است که فاصله نرمافزار «نمایه» با دو نرمافزار دیگر، از حیث امکان انواع جستجو و امکانات کمکی و فرمول جستجو، قابل توجه است.
حاجی زینالعابدینی، داود زاده سالستانی و پازوکی (1390) نیز به بررسی روند شکلگیری و طراحی نرمافزارهای کتابخانهای در ایران میپردازند. آنها چهار نسل نرمافزارهای کتابخانهای و همچنین نرمافزارهای کتابخانهای منبع باز را با ویژگیهای مربوط به هر نسل بیان میکنند. سرعت زیاد در بازیابی اطلاعات، حجم کافی برای ذخیره اطلاعات، سادگی کار، تدابیر ایمنی، امکان شبکهسازی، کابرپسندی و... را از ویژگی عمومی نرمافزارهای کتابخانهای میدانند. نرمافزارهای ایرانی که به بررسی کارکرد و ساختار آنها میپردازند، شامل نرمافزار: الشن، ایلا، بهمن برنا، پاپیروس، پارس آذرخش (پویا، تحت وب)، پاسارگاد، پارسانگار، پیام مشرق، رسا، نوسا، نمایه، سما و... میباشند.
پی نوشت1. Owston.
2. Human-Computer Interaction (HCI).
3. Gediga, Hamborg and Duntsch.
4. Suchman.
5. Komi-sirvio.
6. Kitchenham, Linkman and Law.
7. Rowley.
8. Far, Mudigonda, and Elamy.
9. Hameed, Khateeb and Mutaz.
10. Evaluation of Software Technology.
11. Lanubile.
12. Acuna, DE Antonio, Ferre, Lopez and Mate.
13. Software Process.
14. Life Cycle.
15. Feature analysis.
16. Texture.
17. Evaluation Procedure.
18. Formal Experiment.
19. Case Study.
20. Survey.
21. Kitchenham, Pickard, and Pfleeger.
22. Miyoshi, Togashi and Azuma.
23. Software development environment.
24. Guidelines.
25. Boehm, Brown and Lipow.
26. End-users.
27. Heuristic evaluation.
28. Nielsen.
29. User interface.
30. Forgiving.
منابع:
یمینفیروز، موسی (1382). «ویژگیها و عناصر تشکیلدهنده رابط کاربر در وبسایتها». فصلنامه کتاب، (56)، 159-168.12. Acuna, Silvia T., DE Antonio, A., Ferre, X., Lopez, M., & Mate, L. (2000).The Software Process: Modeling, Evaluation and Improvement. In S.K. Chang (Ed.), Handbook of Software Engineering and Knowledge Engineering (pp. 193-237 ). River Edge, NJ : World Scientific.
13. Boehm, B. W., Brown, J. R., & Lipow, M. (1976). Quantitative Evaluation of Software Quality. Paper presented at the Proceedings of the 2nd international conference on Software engineering. iEEE Computer Society.
14. Gediga, G., (2002) Hamburg, K., and Duntsch, I.: Evaluation of SoftwareSystems. Encyclopedia of Library and Information Science,72:166-192.
15. Hameed, Shihab A., Khateeb and Mutaz, Zubayda (2010). Software Engineer Islamic Ethics An Interactive Web-Based Model. Paper present at International Conference on Computer and Communication Engineering (pp. 1-7).
16. Kitchenham, B., linkman, S. & law, D. (1996). DESMET: A method for evaluating Software Engineering methods and tools. Computing & Control Engineering Journal, 8 (3), 120-126.
17. Kitchenham, B., Pickard, l. &Lawrence Pfleeger, S. (1995). Case Studies for Method and Tool Evaluation . IEEE Software, 12 (4), 52-65.
18. komi Sirvio, S., (2004). Development and evaluation of software process improvement methods. Espoo: VTT publication.
19. Lanubile, F. (1997). Empirical Evaluation of Software Maintenance Technologies. Empirical Software Engineering, 2, 97-108.
20. Mayer, B. (1994). User Interface Software Tools. Advances in Human- Computer Interaction, 4, 110-150.
21. Miyoshi, T., Togashi, Y., & Azuma, M. (1989). Evaluating software development environment quality. Paper present at Proceedings of the 13th Annual International Computer Software and Applications Conference, COMPSAC. (pp. 501-508).
22. Nielsen, J. (1994). Chapter 5 – Usability Heuristics. In Usability Engineering (2nd ed., pp. 115-163). San Diego, California: Academic Press.
23. Owston, R. (2008). Models and Methods for Evaluation. Handbook of Research on Educational Communications and Technology (3rd ed., pp. 605-617). New York, NY: Routledge.
24. Rowley, J.E., (1992). Selection and evaluation of software. Aslib Proceedings, 45(3), 77-81.