دليل تقييم النظم ومراجعتها
يُعد نموذج FURPS+ لتقييم أداء النظم من أقرب النماذج إلى قلبي. وربما يعود سر هذا الإعجاب إلى بساطة فكرته ووضوحها الشديد، وهو وضوح يجعله أداة مرنة وفعالة على كافة المستويات. فهو نموذج قابل للتطبيق مع المستخدم النهائي الذي لا يمتلك أي خلفية تقنية، وبنفس الكفاءة يمكن استخدامه للنقاش مع العميل، والممول، بل وحتى على المستوى التقني الدقيق مع المبرمجين، والمصممين، ومحللي النظم.
تعتمد الفلسفة الأساسية لهذا النموذج على مبدأ “الفصل من أجل التقييم”. فنحن ندرك تماماً أن النظام البرمجي هو كيان واحد متكامل ونسيج مترابط، ولكن لكي نتمكن من فحصه وتقييمه بدقة وموضوعية، نحتاج إلى تفكيكه ودراسته كأجزاء منفصلة.
أولاً: الوظائف (Functionality)
في هذا الجزء، ينصب تركيزنا حصرياً على الوظائف الفعلية والمُنفذة داخل النظام كما هي، بعيداً عن أمنياتنا أو اقتراحاتنا التطويرية. دورك كمُقيّم هنا واضح ومباشر، وهو الإجابة عن سؤال واحد: هل يؤدي النظام هذه الوظيفة المحددة أم لا؟ ومن الجدير بالذكر أن “الأمان” يُعد جزءاً أصيلاً ولا يتجزأ من هذه الوظيفة؛ فلا يمكن أبداً اعتبار الوظيفة “ناجحة” إذا كانت تحمل في طياتها ثغرات أو مخاطر أمنية.
مثال للتوضيح: لنتخيل نموذجاً لإنشاء حساب جديد؛ يقوم المستخدم بإدخال اسمه، وبريده الإلكتروني، وكلمة المرور، وبمجرد الانتهاء يصبح قادراً على تسجيل الدخول. قد ترى أنت -كمستخدم أو مُقيّم- أنه من الأفضل والأكثر أماناً أن يقوم النظام بإرسال رسالة تفعيل للتحقق من البريد الإلكتروني قبل السماح بتسجيل الدخول. ورغم وجاهة ومنطقية هذا الاقتراح، إلا أن غيابه لا يُعتبر “فشلاً وظيفياً” في النظام، ما لم يكن هذا التحقق مَطلباً أساسياً وقيداً تم الاتفاق عليه مسبقاً في خطة التصميم.
ثانياً: سهولة الاستخدام وتجربة المستخدم (Usability)
في هذه المحطة، ننتقل لتقييم الجانب الذي يلامس شعور المستخدم مباشرة: مدى بساطة وسلاسة التعامل مع النظام. تذكر أننا هنا نضع “الوظائف” جانباً ولا نسأل عنها أبداً؛ بل نركز بالكامل على التجربة نفسها.
التقييم هنا يدور حول أسئلة جوهرية تضعك مكان المستخدم: هل واجهة النظام بديهية وواضحة، أم أنه سيشعر بالضياع ويضطر للبحث في ملفات المساعدة ودلائل التعليمات لإنجاز مهمة بسيطة؟
كما نلتفت بتركيز إلى الترتيب البصري والتفاعل: هل الألوان المختارة مريحة ومناسبة لهوية النظام؟ هل الخطوط واضحة ومقروءة؟ هل أماكن الأزرار والعناصر منطقية وتخدم تدفق العمل؟ وحتى التفاصيل اليومية مثل سلاسة ووضوح الانتقال من شاشة إلى أخرى تأخذ حيزاً مهماً من تقييمنا هنا، لأنها تصنع الفارق الحقيقي بين نظام يُحب الناس استخدامه، ونظام ينفرون منه.
ثالثاً: الأداء (Performance)
هذه النقطة تُعد بمثابة القلب النابض للنظام، وهي غالباً العنصر الأهم والأكثر تأثيراً على رضا المستخدم النهائي. فقد يؤدي النظام وظائفه بدقة متناهية، وقد تكون واجهته في غاية الجمال، ولكن إن كانت استجابته بطيئة، فإن التجربة بأكملها تنهار وتصبح غير مقبولة عملياً.
تخيل معي هذا السيناريو: أنت تحاول الدخول لحسابك وتحتاج إلى رمز تحقق لمرة واحدة (OTP). النظام يعمل ويرسله بالفعل (أي أن الوظيفة سليمة)، لكن الرمز يصلك بعد 5 دقائق! أو تخيل أن عملية استخراج تقرير ببيانات الطلاب تستغرق يوماً كاملاً، أو أن النقر لفتح صفحة “الإعدادات” يجعلك تنتظر لعدة دقائق.
في كل هذه الحالات، القصور ليس في الوظيفة ولا في التصميم، بل في “الأداء”. إذن، السؤال المحوري هنا يتعلق بالسرعة، وكفاءة الاستجابة، واستهلاك الموارد: هل يقوم النظام بعمله في وقت قياسي ومقبول؟
رابعاً: الموثوقية (Reliability)
في هذه النقطة، نحن لا نبحث فقط عن نجاح النظام في أداء مهمته، بل نبحث عن “الاستمرارية والاستقرار”؛ أي معدل النجاح في كل مرة يُطلب منه أداء هذه المهمة. باختصار: هل يمكنني الاعتماد على هذا النظام دائماً؟
لنفترض أن النظام يتيح لك بالفعل ميزة استعادة كلمة المرور، ولكنك تضطر للضغط على زر الإرسال وإعادة المحاولة عدة مرات حتى تستلم الرسالة فعلياً. أو تخيل أن الانتقال من شاشة إلى أخرى يعمل معك بسلاسة تارة، ويتعطل تارة أخرى دون سبب واضح.
هذا التذبذب وعدم الاستقرار هو ما نسميه غياب الموثوقية. وفي عالم التقنية، تُعد الموثوقية الضعيفة سلاحاً فتاكاً كفيلاً بتدمير سمعة أي نظام تماماً وإفقاد المستخدم النهائي ثقته به، مهما كانت مزاياه الأخرى.
خامساً: الدعم والقابلية للصيانة (Supportability)
في هذه المرحلة، نلقي نظرة على المستقبل وما بعد إطلاق النظام. مصطلح “الدعم” هنا لا يقتصر فقط على خدمة العملاء المعتادة، بل يمتد ليشمل مرونة النظام، وقابليته للتكيف، وسهولة صيانته.
دعنا نطرح بعض الأسئلة العملية: هل النظام متوافق مع مختلف أنظمة التشغيل؟ إذا قررت فجأة تغيير جهازك، أو استخدام متصفح إنترنت مختلف، هل سيظل النظام يعمل بنفس الكفاءة أم ستواجهك المشاكل؟
كذلك، يشمل هذا الجانب مدى سهولة اكتشاف الأخطاء البرمجية وإصلاحها لاحقاً، وإمكانية تقديم الدعم الفني وتحديث النظام بسلاسة، دون الحاجة إلى إيقافه بالكامل أو إعادة تصميمه من الصفر. باختصار، نحن نقيس هنا مدى قدرة النظام على الصمود والتكيف مع المتغيرات التقنية من حوله.
سادساً: علامة الزائد (+) والقيود
أخيراً، نصل إلى علامة الزائد في نهاية اسم النموذج (FURPS+). هذه العلامة لم توضع عبثاً، بل أُضيفت لتشمل فئة هامة جداً وهي “القيود” (Constraints) والمتطلبات الإضافية التي لم تغطها الحروف الخمسة السابقة.
في الواقع، لا يوجد نظام يُبنى في فراغ؛ فدائماً ما تكون هناك محددات تفرض نفسها على مسار العمل. قد تكون هذه القيود تقنية (كإلزام فريق العمل باستخدام لغة برمجة معينة أو خوادم محددة)، أو قيوداً متعلقة بالتصميم وواجهة المستخدم (مثل الالتزام الصارم بهوية بصرية محددة للشركة الأم)، أو حتى قيوداً قانونية وتنظيمية. باختصار، علامة الزائد تضمن لنا أخذ هذه الحدود والمقاييس في الاعتبار عند تقييم أو بناء أي نظام.