الخميس، 21 نوفمبر 2019

ما هي متطلبات البرمجيات في هندسة البرمجيات what are the Software Engineering Software Requirements#

ما هي متطلبات البرمجيات في هندسة البرمجيات Software  Engineering Software Requirements# 

متطلبات البرمجيات في هندسة البرمجيات Software  Engineering Software Requirements#

ما هي متطلبات البرمجيات في هندسة البرمجيات Software  Engineering Software Requirements# 

متطلبات البرنامج هي وصف لميزات ووظائف النظام المستهدف. المتطلبات تنقل توقعات المستخدمين من منتج البرنامج. يمكن ان تكون المتطلبات واضحة أو مخفيه أو معروفه أو غير معروفه أو متوقعه أو غير متوقعه من وجهه نظر العميل.

شرح ما هي متطلبات الهندسة

ومن المعروف ان عمليه جمع متطلبات البرنامج من العميل ، وتحليل وتوثيق لهم والهندسة شرط.

والهدف من هندسه المتطلبات هو تطوير وصيانة وثيقة "مواصفات متطلبات النظام" المتطورة والوصفية.

ما هي المتطلبات العملية الهندسية

وهي عمليه من أربع خطوات ، والتي تشمل-
  • دراسة الجدوى
  • تجميع المتطلبات
  • مواصفات متطلبات البرامج
  • التحقق من صحة متطلبات البرامج
دعوانا نري العملية باختصار وجيز-

شرح ما هي دراسة الجدوى

عندما يقترب العميل من المؤسسة للحصول علي المنتج المطلوب تطويره ، فانه ياتي مع فكره تقريبيه حول ما جميع الوظائف التي يجب علي البرنامج تنفيذها والتي من المتوقع جميع الميزات من البرنامج.

الرجوع إلى هذه المعلومات ، يقوم المحللون بدراسة مفصله حول ما إذا كان من الممكن تطوير النظام المطلوب ووظائفه.

وتركز دراسة الجدوى هذه علي تحقيق هدف المنظمة. تحلل هذه الدراسة ما إذا كان المنتج البرمجي يمكن ان يتحقق عمليا من حيث التنفيذ ، ومساهمه المشروع في التنظيم ، وقيود التكلفة ، ووفقا لقيم وأهداف المنظمة. ويستكشف الجوانب التقنية للمشروع والمنتج مثل قابليه الاستخدام والصيانة والانتاجيه والقدرة علي التكامل.

وينبغي ان يكون ناتج هذه المرحلة تقرير دراسة جدوى يتضمن تعليقات وتوصيات كافيه للاداره بشان ما إذا كان ينبغي الاضطلاع بالمشروع ام لا.

شرح مفهوم تجميع المتطلبات

وإذا كان تقرير الجدوى إيجابيا نحو الاضطلاع بالمشروع ، تبدا المرحلة التالية بجمع المتطلبات من المستخدم. يقوم المحللون والمهندسون بالتواصل مع العميل والمستخدمين النهائيين لمعرفه أفكارهم حول ما يجب ان يقدمه البرنامج والميزات التي يريدون ان يتضمنها البرنامج.

شرح ما هي مواصفات متطلبات البرامج system requirement specifications 

SRS هو وثيقة تم إنشاؤها بواسطة محلل النظام بعد ان يتم جمع المتطلبات من مختلف أصحاب المصلحة.

يعرف SRS كيف سيتفاعل البرنامج المقصود مع الاجهزه ، واجات خارجيه ، سرعه التشغيل ، وقت استجابه النظام ، قابليه البرامج عبر منصات مختلفه ، الصيانة ، سرعه الاسترداد بعد تحطمها ، الأمن ، الجودة ، القيود الخ.
المتطلبات الواردة من العميل مكتوبه باللغة الطبيعية. فمن مسؤوليه محلل النظام لتوثيق المتطلبات في اللغة التقنية بحيث يمكن فهمها ومفيده من قبل فريق تطوير البرمجيات.

يجب ان ياتي SRS مع الميزات التالية:

  • يتم التعبير عن متطلبات المستخدم باللغة الطبيعية.
  • يتم التعبير عن المتطلبات التقنية باللغة المنظمة ، والتي تستخدم داخل المؤسسة.
  • يجب كتابه وصف التصميم في التعليمات البرمجية الوهمية .
  • تنسيق نماذج وطباعه الشاشة GUI.
  • الترميزات الشرطية والرياضية ل DFDs الخ.

شرح كيفيةالتحقق من صحة متطلبات البرامج

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

وتاتي هذه المتطلبات من مختلف أصحاب المصلحة. لأزاله الغموض والصراعات ، يتم مناقشتها للوضوح والصحة. فالمتطلبات غير الواقعية تتعرض للخطر بشكل معقول.

الوثائق-يتم توثيق جميع المتطلبات الرسمية وغير الرسمية والوظيفية وغير الوظيفية وأتاحها للمعالجة في المرحلة التالية.

شرح  تقنيات استنباط / استخراج  المتطلبات

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

هناك طرق مختلفه لاكتشاف المتطلبات

شرح وتعريف ما هي المقابلات

المقابلات هي وسيله قويه لجمع المتطلبات. يجوز للمنظمة اجراء عده أنواع من المقابلات مثل:

المقابلات المنظمة (المغلقة) ، حيث يتم البت في كل واحده من المعلومات لجمع مسبقا ، فانها تتبع نمط ومساله المناقشة بحزم.
المقابلات غير المهيكلة (المفتوحة) ، حيث لا يتم البت مسبقا في المعلومات التي يجب جمعها ، وأكثر مرونة واقل تحيزا.
  • المقابلات الشفوية
  • المقابلات الخطية
  • المقابلات التي تجري بين شخصين عبر الطاولة.
  • المقابلات الجماعية التي تعقد بين مجموعات من المشاركين. انها تساعد علي الكشف عن اي شرط في عداد المفقودين كما تشارك العديد من الناس.

شرح مفهوم ما هي الدراسات الاستقصائيه

يجوز للمنظمة اجراء دراسات استقصائية بين مختلف أصحاب المصلحة عن طريق الاستعلام عن توقعاتهم ومتطلباتهم من النظام القادم.

شرح مفهوم وتعريف ما هي الاستبيانات / الاستبيان 

ويتم تسليم وثيقة تتضمن مجموعه محدده مسبقا من الاسئله الموضوعية والخيارات الخاصة بها إلى جميع أصحاب المصلحة للاجابه عليها ، والتي يتم جمعها وتجميعها.

ومن أوجه القصور في هذه التقنية انه إذا لم يرد في الاستبيان خيار لبعض المسائل ، فقد تترك المسالة دون مراقبه. 

شرح مفهوم تحليل المهام

فريق من المهندسين والمطورين قد تحليل العملية التي مطلوب النظام الجديد. إذا كان العميل لديه بالفعل بعض البرامج لتنفيذ عمليه معينه ، يتم دراستها ويتم جمع متطلبات النظام المقترح.

شرح مفهوم ما هو تحليل المجال scope 

كل برنامج يقع في فئة المجال. يمكن للأشخاص الخبراء في المجال ان يكون عونا كبيرا لتحليل المتطلبات العامة والمحددة.

شرح مفهوم وتعريف ما هو العصف الذهني

وتجري مناقشه غير رسميه بين مختلف أصحاب المصلحة وتسجل جميع مدخلاتها لتحليل الاحتياجات الاضافيه.

ما هي النماذج

النماذج هو بناء واجهه المستخدم دون أضافه وظيفة التفاصيل للمستخدم لتفسير ميزات المنتج البرمجيات المقصودة. فانه يساعد علي إعطاء فكره أفضل من المتطلبات. إذا لم يكن هناك برامج مثبته في نهاية العميل لمرجع المطور والعميل ليس علي بينه من الاحتياجات الخاصة به ، يقوم المطور بإنشاء نموذج اولي استنادا إلى المتطلبات المذكورة في البداية. يتم عرض النموذج الاولي للعميل وملاحظه الملاحظات. ملاحظات العميل بمثابه مدخلات لجمع المتطلبات.

ما هي المراقبه

فريق من الخبراء زيارة منظمه العميل أو مكان العمل. وهم يراقبون العمل الفعلي للنظم القائمة المثبتة. يراقبون سير العمل عند نهاية العميل وكيفيه معالجه مشاكل التنفيذ. ويستخلص الفريق نفسه بعض الاستنتاجات التي تساعد علي تشكيل المتطلبات المتوقعة من البرنامج.
خصائص متطلبات البرمجيات
جمع متطلبات البرمجيات هو أساس مشروع تطوير البرمجيات بأكمله. ومن ثم يجب ان تكون واضحة وصحيحه ومحدده جيدا.

يجب ان تكون مواصفات متطلبات البرامج الكاملة:
  • واضحه
  • صحيح
  • متسقه
  • متماسكه
  • مفهومه
  • التعديل
  • يمكن التحقق منها
  • الاولويه
  • لا لبس فيها
  • يمكن عزوها
  • مصدر موثوق

ما هي متطلبات البرمجيات

وينبغي ان نحاول ان نفهم اي نوع من المتطلبات قد تنشا في شرط استنباط المرحلة وما هي أنواع المتطلبات المتوقعة من نظام البرمجيات.

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

شرح وتعريف ما هي المتطلبات الوظيفية

وتندرج المتطلبات المتعلقة بالجانب الوظيفي للبرمجيات في هذه الفئة.

وهي تحدد الوظائف والوظائف داخل نظام البرامج ومنه.

أمثله
خيار البحث المعطي للمستخدم للبحث من الفواتير المختلفة.
يجب ان يكون المستخدم قادرا علي إرسال اي تقرير إلى الاداره.
يمكن تقسيم المستخدمين إلى مجموعات ويمكن منح المجموعات حقوقا منفصلة.
يجب ان تمتثل لقواعد العمل والوظائف الاداريه.
يتم تطوير البرنامج مع الحفاظ علي التوافق الهبوطي سليمه.

شرح وتعريف ما هي المتطلبات غير الوظيفية

وتندرج المتطلبات ، التي لا تتعلق بالجانب الوظيفي للبرمجيات ، في هذه الفئة. وهي الخصائص الضمنية أو المتوقعة للبرمجيات ، التي يقوم المستخدمون بافتراضها.

وتشمل المتطلبات غير الوظيفية-

  • الامن
  • تسجيل
  • تخزين
  • تكوين
  • الاداء
  • تكلفه
  • التشغيل المتداخل
  • المرونه
  • التعافي من الكوارث
  • امكانيه الوصول
وتصنف المتطلبات منطقيا علي انها

يجب ان يكون: البرمجيات لا يمكن ان يقال التشغيلية بدونها.
ينبغي ان يكون: تعزيز وظائف البرمجيات.
يمكن ان يكون: البرمجيات لا تزال تعمل بشكل صحيح مع هذه المتطلبات.
قائمه الرغبات: لا يتم تعيين هذه المتطلبات إلى اي أهداف من البرامج.
اثناء تطوير البرمجيات ، يجب تنفيذ "يجب ان يكون" ، "يجب ان يكون" هو مساله نقاش مع أصحاب المصلحة والنفي ، في حين "يمكن ان يكون" و "قائمه الرغبات" يمكن الاحتفاظ بها لتحديثات البرامج.

ما هي متطلبات واجهه المستخدم

UI هو جزء مهم من اي برنامج أو الاجهزه أو النظام الهجين. يتم قبول البرنامج علي نطاق واسع إذا كان-
  • من السهل ان تعمل
  • سريعة في الاستجابة
  • معالجه الأخطاء التشغيلية بفعالية
  • توفير واجهه مستخدم بسيطه ولكن متناسقة
قبول المستخدم محوري يعتمد علي كيفيه المستخدم يمكن استخدام البرنامج. واجهه المستخدم هي الطريقة الوحيدة للمستخدمين لادراك النظام. ويجب أيضا ان يكون نظام البرامج الجيدة الأداء مجهزا بواجهة مستخدم جذابة وواضحة ومتسقة ومتجاوبة. والا فان وظائف نظام البرمجيات لا يمكن استخدامها بطريقه مريحه. ويقال ان النظام يكون جيدا إذا كان يوفر وسائل لاستخدامه بكفاءة. يتم ذكر متطلبات واجهه المستخدم بإيجاز أدناه-

  • عرض المحتوي
  • سهوله التنقل
  • واجهه بسيطه
  • استجابه
  • عناصر واجهه المستخدم المتناسقة
  • اليه التغذية المرتدة
  • الإعدادات الافتراضية
  • تخطيط هادفه
  • الاستخدام الاستراتيجي للألوان والملمس.
  • توفير معلومات التعليمات
  • نهج تتمحور حول المستخدم
  • إعدادات العرض المستندة إلى مجموعه.

شرح وتعريف من هو محلل نظام البرمجيات

محلل النظام في منظمه تكنولوجيا التشغيل هو الشخص الذي يحلل متطلبات النظام المقترح ويضمن ان يتم تصور المتطلبات وتوثيقها بشكل صحيح وصحيح. يبدا دور المحلل اثناء مرحله تحليل البرامج من SDLC. ومن مسؤوليه المحلل للتاكد من ان البرمجيات المتقدمة يلبي متطلبات العميل.

ويتحمل محللو النظام المسؤوليات التالية:

  • تحليل وفهم متطلبات البرامج المقصودة
  • فهم الكيفية التي سيساهم بها المشروع في تحقيق أهداف المنظمة
  • تحديد مصادر المتطلبات
  • التحقق من المتطلبات
  • وضع وتنفيذ خطه أداره المتطلبات
  • توثيق متطلبات الاعمال والتقنية والعمليات والمنتجات
  • التنسيق مع العملاء لتحديد أولويات المتطلبات وإزالت والغموض
  • الانتهاء من معايير القبول مع العميل وأصحاب المصلحة الآخرين

ما هي قياسات ومقاييس البرمجيات

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

توفر مقاييس البرامج مقاييس لمختلف جوانب عمليه البرمجيات ومنتجات البرمجيات.

تدابير البرمجيات هي الشرط الأساسي للهندسة البرمجيات. انها لا تساعد فقط علي السيطرة علي عمليه تطوير البرمجيات ولكن أيضا المعونة للحفاظ علي جوده المنتج في نهاية المطاف ممتازة.

وفقا لتؤم DeMarco ، (مهندس البرمجيات) ، "لا يمكنك السيطرة علي ما لا يمكن قياس." بقوله ، من الواضح جدا مدي اهميه التدابير البرمجية.

دعوانا نري بعض المقاييس البرمجيات:
قياسات الحجم-LOC (خطوط التعليمات البرمجية) ، التي تم حسابها في آلاف من خطوط التعليمات البرمجية المصدر التي تم تسليمها ، والمشار اليها ك KLOC.

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

مقاييس التعقيد-ان التعقيد الحلقي الذي يقوم به ماكابي يحدد قيمه الحد الأعلى لعدد المسارات المستقلة في البرنامج ، والذي يعتبر معقدا للبرنامج أو لوحداته النمطية. وهي ممثله من حيث مفاهيم نظرية الرسم البياني باستخدام الرسم البياني تدفق التحكم.
مقاييس الجودة-العيوب ، وأنواعها وأسبابها ، والنتيجة ، وشده الشدة والآثار المترتبة عليها تحدد نوعيه المنتج.

عدد العيوب التي تم العثور عليها في عمليه التطوير وعدد العيوب التي تم الإبلاغ عنها من قبل العميل بعد تثبيت المنتج أو تسليمه في نهاية العميل ، وتحديد جوده المنتج.

مقاييس العملية-في مراحل مختلفه من SDLC ، والأساليب والاداات المستخدمة ، ومعايير الشركة وأداء التنمية هي مقاييس عمليه البرمجيات.
تمثل مقاييس الموارد-الجهد والوقت والموارد المختلفة المستخدمة ، مقاييس لقياس الموارد.





التسميات: