تحليل متطلبات العميل
تهتم هندسة البرمجيات اهتماما كبيرا بعملية توليد منتج برمجي خال من العيوب و قادر على تحمل التطويرات المستمرة التي يمكن أن يتطلبها المنتج ليتمكن من إستيفاء متطلبات العميل..هذه العملية تمر بالعديد من المراحل ابتداء من التخطيط و التحليل مرورا بالتصميم مرورا بالتطبيق و إنتهاءا بالتركيب و الصيانة..
تعتبر تحليل المتطلبات إحدى العمليات التي تتم في مرحلة التخطيط و التحليل و لكنها سابقا كانت تعتبر من أسهل المراحل إلى أن تم الاعتراف بأنها من أكثر هذه الخطوات حاجة إلى الدقة و التأكد من أن كل المتطلبات تم تحليلها بشكل جيد ويتم ذلك بتطبيق الخطوات التالية :
1- تعريف القضايا الشائكة و المهام.
2- تحديد المدخلات و المخرجات لكل قضية أو مهمة.
3- توثيق هذه المدخلات بطريقة واضحة و سهلة لا لبس فيها.
يمكن القول بأنه خلال عملية تحليل المتطلبات تحدث الكثير من المشاكل التي يمكن تقسيمها إلى نوعين:
أولا :مشاكل مرتبطة بالعميل:
1-عدم فهم العميل العميق لما يحتاجه.
2- عدم كتابة العميل للمتطلبات التي يحتاجها بوضوح
3-إصرار العميل على إضافة أو تعديل المتطلبات حتى في مراحل متأخرة من عملية تطوير المنتج البرمجي.
4- بدء عملية التواصل مع العميل.
5- لا يشارك العميل في عمليات المراجعة و التدقيق الخاصة بتحليل المنتج البرمجي.
6- عدم إلمام العميل بالقضايا التقنية.
7- عدم معرفة العميل بدورة تطوير المنتجات البرمجية.
ثانيا مشاكل مرتبطة بالمطورين:
1- أختلاف المفردات التي يستخدمها المطور عن العميل.
2- حرص المطورين على أن تلائم متطلبات العميل متطلبات عميل أخر أو منتج برمجي أخر رغبة في عدم تكرار العمل حتى لو كان هناك تباين كبير بينهما
3- القيام بعملية التحليل بواسطة المبرمجين.
أخطاء يتم إرتكابها أثناء جمع متطلبات العميل:
1- عدم مقابلة الأشخاص ذوي الخبرة أو الذين يستفيدون من المنتج البرمجي بشكل مباشر, و الاكتفاء بمقابلة أي شخص.
2- عدم إكتمال الفكرة لدى الأشخاص الذين تتم مقابلتهم.
3- إستخدام أدوات غير مناسبة في التحليل.
4- عدم القيام بالتحليل من قبل شخص متمرس أو متخصص.
حلول هذه المشكلة :
1- القيام بهذه المهمة من قبل اشخاص متخصصين لديهم القدرات المناسبة في التحليل و الإستقراء . يطلق على هؤلاء business Analystو System Analyst يقع على هذا الشخص ردم الهوة التي تقع بين المطور و بين العميل
2- إستخدام تقنيات جديدة في التحليل مثل UML و Aigle Software development و Extreme Programming.
أرشح لكم البرمجة القصوى
3- حتى بعد الإنتهاء من التحليل و التصميم و بدء مرحلة التطبيق لابد أن يكون المنتج البرمجي قابلا للتطوير و التعديل سواءا بالنقص أو بالزيادة و الحرص على أن تكون الوحدات البرمجية التي تكتب قابلة مستقلة و قابلة للتعديل.