ادارة جودة البرمجيات

مقدمة

عدل
  • القارئ المستهدف (Specific reader):

• مجتمع تكنولوجيا المعلومات ومهندسوا البرمجيات.

  • المعلومات المطلوبة وتنظيم الأفكار:

• تعريف بما هي ادارة جودة البرمجيات ، وبماذا يستفاد منها. • كيفية ادارة جودة البرمجيات بشكل صحيح.

  • قاموس المصطلحات:

تفسير المصطلحات الفنية المتداولة بين فئة المبرمجين المتعلقة بادارة جودة البرمجيات.

  • المرجعية:

مهندسين برمجيات.
مواقع تكنولوجيا.

التعاريف

عدل

- الهدف من ادارة جودة البرمجيات (SQM): هي ادارة جودة البرمجيات وعملية تطوره.
- جودة المنتج (البرنامج): هي واحدة من المتطلبات التي تلبي الاحتياجات وتقوم بارضاء المستخدم.
- ثقافة الجودة: هي البيئة التنظيمية للمنتج ، وحيث ينظر الى الجودة من الجميع بمسؤولية.

الوصف

عدل

عالم الكمبيوتر Ian Sommerville استخدم الـ SQM باعتبارها مظلة تضم طبقات الجودة التالية :

1) طبقة ضمان جودة البرمجيات (SQA) Software Quality Assurance:
أدلة على نوعية التنظيم:

  1. المعايير والانظمة والاجراءات ، لانتاج والتحقق والتقييم وتأكيد منتجات العمل خلال دورة حياة تطوير البرمجيات.
  2. تدرج أفضل الممارسات على قاعدة المعرفة.
  3. يتم تجهيز ادوات البرامج التي تم اختيارها ليتم تطبيقها على ما سبق.

2) طبقة خطة جودة البرمجيات Software Quality Plan (SQP):
خطة جودة المشروع تتم كتابتها من خلال كتابة كل مشروع على حدى ، ومن ثم يتم الاعلان بالالتزام بالمشروع لمتابعة مجموعة تطبيق المعايير والانظمة والاجراءات والادوات خلال دورة حياة التطوير ، وبالاضافة الى ذلك يجب ان يحتوي الـ SQP أهداف الجودة التي ينبغي تحقيقها ، والمخاطر المتوقعة وادارة المخاطر، وتستمد مصادر الـ SQP من:


  1. مكونات الـ SQA يتم اعتمادها كما هي او تخصيصها لاحتياجات المشروع.
  2. اجراءات جديدة ومعايير وادوات استكمال مكونات SQA الناقصة او الغير قابلة للتطبيق ، على أن يكون قد كتب على وجه الخصوص

للمشروع ، أو المستوردة من خارج المنظمة.

أي انحراف للـ SQP من SQA يجب تبريره من قبل مدير المشروع ويتم الموافقة عليه من قبل ادارة الشركة.

3) طبقة مراقبة جودة البرمجيات ( SQC ) Software Quality Control:
ويضمن في العملية التي يتم اتباعها سواء SQA و SQP من قبل فرق التطوير.
وتشمل أنشطة الـ SQC ما يلي:

  1. الارشاد ، كيفية انتاج الاعمال الفنية ، مثل: الوثائق الهندسية واضحة المعالم، باستخدام نماذج موحدة.
  2. الارشاد ، كيفية اجراء العمليات القياسية ، مثل: مراجعة عمليات الجودة.
  3. التنفيذ في عملية مراجعة عمليات الجودة ، للتحقق وتقييم وتأكيد الأعمال الفنية.
  4. التحقق والتقييم لتحسين استخدام أساليب واجراءات وادوات البرمجيات المعتمدة.


قواعد ادارة جودة البرمجيات Software Quality management (SQM)

عدل
  • ضمان تحقيق المستوى المطلوب من الجودة في منتجات البرمجيات.
  • تشجيع على مستوى الشركة " ثقافة الجودة " حيث ينظر الى الجودة من قبل الجميع.
  • الحد من منحنى التعلم والمساعدة في الاستمرارية في حالة تغيير مواقف اعضاء الفريق داخل المنظمة.
  • لتفعيل العملية بشكل صحيح تجنب الخطأ ومنع حدوث الخطأ من خلال التطوير السليم.

كثير من الناس تستخدم مصطلحات (SQM & SQA) Software quality assurance[1] , بالتبادل

إدارة جودة البرمجيات ودورة حياة البرمجيات

عدل

يمكن أن تتحقق ادارة جودة البرمجيات بعدة طرق اعتمادا على التنظيم ونوع المشروع المحقق[2] ، ولكن يجب دعم تطوير كامل (دورة حياة البرمجيات) [3]، وهذا يعني:

  • جمع المتطلبات وتحديد نطاق مشروع تكنولوجيا المعلومات ، والتركيز على التحقق اذا المتطلبات المحددة ستكون قابلة للاختبار ، ويمكن عمل استراتيجية لفحص احدى المتطلبات للمنتج.
  • تصميم التنفيذ ، يركز على التخطيط على عملية الفحص على سبيل المثال: ما هي انواع الاختبارات التي سوف يتم تنفيذها ، وكيف سوف يتم تنفيذها في خلال سياق اطار بيئات الاختبار وبيانات الاختبار . ويمكن وضع خطة الاختبار على جدول للمنتج المراد عمل الفحص عليه.
  • تنفيذ الحل بدعم من انشاء حالات الاختبار والسيناريوهات ، ويتم التنفيذ وتسجيل العيوب بما في ذلك طرق تصليح العيوب . المنتجات يمكن ان تكون حالات للاختبار والسيناريوهات ، وعمل تقارير من خلال تحقيق تكرار الاختبار.
  • ادارة التغيير ، مدعومة من التحقق من خلال كيفية التغييرات المخطط لها ان تؤثر على نوعية انشاء الحل والتغيير في نهاية المطاف على خطة الفحص ، ومن خلال احدى المنتجات يمكن التغيير على خطة الفحص والسيناريوهات.
  • اغلاق المشروع ، يكون مدعوم من عدد من الاختبارات التحقق التي تم تجربتها عليه ، ويتم التركيز على التحقق من الجودة الشاملة لانشاء حل للمشاكل التي سوف تواجه هذا المنتج، ويمكن أن تشمل الاختبارات منظومة متكاملة من الاختبارات ، بما في ذلك اختبارات قبول المستخدم و اختبارات تشغيل آلية القبول ، ويمكن أن تكون احدى المنتجات المطلوبة عن (انتاج تشغيل النظام)[4].

اساليب تكنولوجيا المعلومات (IT)

عدل

ادارة جودة البرمجيات هو موضوع مرتبط بقوة مع ادارة المشاريع ، وطرق تطوير وتشغيل تكنولوجيا المعلومات لها طرق مختلفة مثل:

  • طريقة ادارة المشاريع ( (PRINCE2 [5] وتعرف:
    • مكونات (الجودة في بيئة المشروع) الذي يصف ضرورة السيطرة المزدوجة لفحص وموضوعية المنتجات التي تم انشاؤها ، ويتم الاقتراح باستخدام 4 عناصر : نظام ادارة الجودة ، مراقبة الجودة الوظيفية ، جودة التخطيط ومراقبة الجودة.
    • (تقنية مراجعة الجودة) التي تركز على التحقق اذا كانت المنتجات التي تم انشاءها تفي بمعايير الجودة.
  • طريقة ادارة المشاريع (PMBOK 4th edition) [6] وتعّرف منطقة المعرفة مشروع ادارة الجودة والعمليات التالية:
    • 3.4.12 خطة الجودة،
    • 3.5.2 أداء ضمان الجودة،
    • 3.6.7 أداء مراقبة الجودة.
  • تحديد طريقة تطوير (RUP) Rational Unified Process وفحص النظام ، التي تعمل في جميع المراحل بدءا من التأسيس ، والانتهاء في الانتقال.
  • تحديد طريقة تطوير(MSF) Microsoft Solutions Framework [7] ودور الفحص والاستقرار في هذه المرحلة ، التي تركز اساسا على فحص الحل.
  • الأساليب الرشيقة (Agile methods) لا تعرف بالضبط فحص دور الاليات المتعلقة بادارة جودة البرمجيات ، وانما تحدد باساليب التقنيات فقط مثل: التكامل المستمر وتطوير الفاحص، ومع ذلك هنالك طرق لفحص الاساليب الرشيقة.
  • طريقة التشغيل Capability Maturity Model Integration (CMMI) تعرف بين منطقة العمليات المتنوعة PPQA "Process and Product Quality Assurance", (عملية المنتج وضمان الجودة) ، وهو المطلوب اصلا في CMMI Level 2 .
  • تحديد طريقة التشغيل Control Objectives for Information and Related Technology (COBIT) (أهداف التحكم بالمعلومات ذات الصلة بالتكنولوجيا ) ، من بين امور اخرى ، عملية p08 ادارة الجودة.
  • طريقة التشغيلITIL ) Information Technology Infrastructure Library ( وتعرف من بين امور اخرى عن طريق النشر والتحسين المستمر للخدمة.
  • V-Model [8] – النموذج الذي يحدد دورة حياة تطوير البرمجيات وعمليات الفحص.
  • ISO 9000 – هو جزء من عائلة المعايير لنظم ادارة الجودة وتم تصميمه لمساعدة المنظمات للتأكد من انها تلبي احتياجات العملاء واصحاب المصلحة الاخرين ، في حين تتم تلبية المتطلبات القانونية والتنظيمية ذات الصلة بهذا المنتج.

المراجع

عدل
  1. ^ Software quality assurance. (2005, May 5). Retrieved December 22, 2014, from http://en.wikipedia.org/wiki/Software_quality_assurance
  2. ^ Kelemen, Z., Kusters, R., Grefen, P., & Trienekens, J. (2013). Process based unification for multi-model software process improvement / door Zádor Dániel Kelemen (2013 ed., Vol. Eindhoven). Technische Universiteit Eindhoven.
  3. ^ Application lifecycle management. (2006, June 8). Retrieved December 22, 2014, from http://en.wikipedia.org/wiki/Application_lifecycle_management
  4. ^ Maxim, B. (n.d.). Software Quality Management. In Software Quality Management. UM-Dearborn.
  5. ^ PRINCE2. (2003, October 31). Retrieved December 23, 2014, from http://en.wikipedia.org/wiki/PRINCE2
  6. ^ A Guide to the Project Management Body of Knowledge. (2003, March 30). Retrieved December 23, 2014, from http://en.wikipedia.org/wiki/A_Guide_to_the_Project_Management_Body_of_Knowledge
  7. ^ Chapter 18 - Stabilizing Phase. (2005, April 27). Retrieved December 23, 2014, from http://technet.microsoft.com/en-us/library/bb463142.aspx
  8. ^ V-Model. (2004, December 8). Retrieved December 23, 2014, from http://en.wikipedia.org/wiki/V-Model