الجزء ا8ول requirement engineering:علي معيوف partاعداد :د .مبروكه ربيع one 2020/07/20-2020 هندسة ا/تطلبات :الجزء ا#ول software engineering: part one ا/واضيع التي تمت تغطيتها ا1تطلبات الوظيفية وغير الوظيفية • وثيقة متطلبات البرمجية • مواصفات ا1تطلبات • عمليات هندسة ا1تطلبات • استنباط و تحليل ا1تطلبات • التحقق من صحة ا1تطلبات • إدارة ا1تطلبات • هندسة ا'تطلبات
عملية إنشاء الخدمات التي يحتاجها العميل من النظام •
.والقيود التي يعمل بموجبها وتطويرها
اMتطلبات نفسها هي أوصاف خدمات النظام والقيود التي •
.يتم إنشاؤها أثناء عملية هندسة اMتطلبات ما هي ا(تطلبات؟ قد يتراوح ذلك من بيان تجريدي رفيع ا,ستوى لخدمة أو • .قيود نظام إلى مواصفات وظيفية رياضية مفصلة هذا أمر Sمفر منه Pن ا,تطلبات قد تخدم وظيفة مزدوجة • قد تكون اPساس للعقد ب Wالزبون و ا,طور -لذلك يجب أن – مفتوحا للتفسير ؛ ً يكون قد يكون أساس العقد نفسه -لذلك يجب تحديده بالتفصيل ؛ – .كل هذه العبارات قد تسمى ا,تطلبات • )تجريد ا,تطلبات )ديفيس )requirements abstraction (Davis إذا كانت الشركة ترغب في السماح بعقد مشروع كبير" • لتطوير البرمجيات ،فيجب عليها تحديد احتياجاتها بطريقة مجردة بما فيه الكفاية بحيث Nيتم تحديد أي حل مسب ًقا .يجب كتابة اVتطلبات بحيث يمكن للعديد من اVقاول] تقديم عطاءات للعقد ،وتقديم طرق مختلفة ربما لتلبية احتياجات اVؤسسة العميلة .بمجرد منح العقد ، يجب على اVقاول كتابة تعريف للنظام للعميل بمزيد من التفاصيل حتى يفهم العميل ما يمكن أن يفعله البرنامج .يمكن تسمية كلتا الوثيقت] بوثيقة اVتطلبات " .للنظام أنواع ا'تطلبات متطلبات ا&ستخدم • بيانات باللغة الطبيعية با9ضافة إلى الرسوم البيانية للخدمات – .التي يوفرها النظام والقيود التشغيلية .مكتوبة للعم>ء متطلبات النظام • وثيقة منظمة تحدد اQوصاف التفصيلية لوظائف النظام – والخدمات والقيود التشغيلية .يحدد ما يجب تنفيذه بحيث يكون .جز ًءا من عقد ب] العميل وا&طور متطلبات ا&ستخدم حالة دراسية :نظام ا&علومات للصحة العقليةMHC-PMS نظام ا6علومات للصحة العقلية يهدف الى توفير معلومات • عن الصحة العقلية لكل زبون )مستخدم( سواء مريض ام G. اذا كان الزبون مريض يتم فتح ملف له و تسجيل بياناته و • .الطبيب ا6عالج له و بيانات زياراته و العSج ا6عطى له يصدر النظام شهريا ً تقارير ادارية تب Yتكلفة الدواء بكل • )عيادة تتبع هذا النظام )متطلبات مستخدم متطلبات النظام حالة دراسية :نظام ا2علومات للصحةMHC-PMS العقلية تقرير مختصرعن • في نهاية كل شهر ،يصدر النظام اDدوية و تكلفتها بكل عيادة يجب ان يكون النظام قادرا على اصدار التقرير تلقائيا ً • بعد الساعة 17:30في اخر يوم من الشهر يجب اصدار تقرير باDدوية خاص لكل عيادة يشمل اسم • الدواء و كمية الجرعة و الكمية اVتوفرة و التكلفة اذا كان الدواء يتوفر بجرعات مختلفة ،يجب ان يكون هناك • تقرير منفصل لكل دواء حسب الجرعة Dيسمح للوصول لتقاربر التكلفة ا Dللمخول^ فقط • قارئوا أنواع مختلفة من مواصفات ا5تطلبات ا.تطلبات الوظيفية functional requirementsا.تطلبات الوظيفية • بيانات الخدمات التي يجب أن يقدمها النظام ،وكيف يجب أن – يتفاعل النظام مع مدخGت معينة وكيف يجب أن يتصرف .النظام في مواقف معينة .قد يذكر ما Pينبغي للنظام القيام به – ا0تطلبات غير الوظيفية non functional requirements القيود ا0فروضة على الخدمات أو الوظائف التي يقدمها النظام – .مثل قيود التوقيت ،والقيود على عملية التطوير ،وا0عايير ،إلخ غالبًا ما تنطبق على النظام ككل بد ًOمن ا0يزات أو الخدمات – .الفردية متطلبات ا$جال Domain requirements
القيود ا$فروضة على النظام من مجال التشغيل •
ا.تطلبات الوظيفية .وصف وظيفة أو خدمات النظام • حسب نوع البرنامج وا:ستخدم 6ا:توقع 6ونوع النظام • .الذي يستخدم فيه البرنامج قد تكون متطلبات ا:ستخدم الوظيفية عبارة عن بيانات • .عالية ا:ستوى عما يجب أن يقوم به النظام يجب أن تصف متطلبات النظام الوظيفي خدمات النظام • .بالتفصيل مثال :ا.تطلبات الوظيفيةMHC-PMS لل قادرا على البحث في قوائم • ً يجب أن يكون ا8ستخدم .ا8واعيد لجميع العيادات يُنشئ النظام يوميًا ،لكل عيادة ،قائمة با8رضى الذين • .يتوقع منهم حضور ا8واعيد في ذلك اليوم يتم تحديد هوية كل موظف يستخدم النظام بشكل فريد • .من خ^ل رقم ا8وظف ا8كون من 8أرقام عدم دقة ا'تطلبات .تنشأ ا+شاكل عندما 2يتم ذكر ا+تطلبات بدقة • يمكن تفسير ا+تطلبات الغامضة بطرق مختلفة بواسطة • .ا+طورين وا+ستخدمG بالنظر في مصطلح "البحث" في الشرط • 1 تفسير ا+ستخدم -البحث عن اسم ا+ريض في جميع ا+واعيد – في جميع العيادات ؛ تفسير ا+طور -ابحث عن اسم ا+ريض في عيادة فردية .يختار – ا+ستخدم عيادة ثم البحث اكتمال و تناسق ا'تطلبات .من حيث ا-بدأ ،يجب أن تكون ا-تطلبات كاملة ومتسقة • تامة و مكتملة • .ينبغي أن تشمل أوصاف جميع الخدمات و ا-رافق ا-طلوبة – ثابتة • يجب أ Vيكون هناك تعارض أو تناقضات في أوصاف منشآت – .النظام في التطبيق العملي ،من ا-ستحيل إنتاج وثيقة متطلبات • .كاملة ومتسقة ا0تطلبات غير الوظيفية وهي تحدد خصائص النظام وقيوده مثل ا(وثوقية ووقت • اOستجابة ومتطلبات التخزين .القيود هي قدرة جهاز .اVدخال /اVخراج ،تمثيل النظام ،إلخ أو IDEيمكن ً أيضا تحديد عملية ا(تطلبات التي تتطلب • .لغة برمجة أو طريقة تطوير معينة قد تكون ا(تطلبات غير الوظيفية أكثر أهمية من ا(تطلبات • الوظيفية .إذا لم يتم اOيفاء بها ،فقد يكون النظام عديم .الفائدة تنفيذ متطلبات غير وظيفية قد تؤثر ا6تطلبات غير الوظيفية على البنية الكلية للنظام • .بد ًBمن ا6كونات الفردية على سبيل ا6ثال ،لضمان تلبية متطلبات اGداء ،قد تضطر – .إلى تنظيم النظام لتقليل اBتصاBت ب Nا6كونات قد يولد متطلب واحد غير وظيفي ،مثل متطلبات اGمان • ، عد ًدا من ا6تطلبات الوظيفية ذات الصلة التي تحدد .خدمات النظام ا6طلوبة .قد يؤدي ً أيضا إلى إنشاء متطلبات تقيد ا6تطلبات الحالية – تصنيفات غير الوظيفية متطلبات ا$نتج • ا$تطلبات التي تحدد أن ا$نتج الذي تم تسليمه يجب أن – يتصرف بطريقة معينة مثل سرعة التنفيذ وا$وثوقية وما إلى .ذلك ا$تطلبات التنظيمية • ا$تطلبات التي هي نتيجة للسياسات واUجراءات التنظيمية – .مثل معايير العملية ا$ستخدمة ،ومتطلبات التنفيذ ،إلخ ا$تطلبات الخارجية • ا$تطلبات التي تنشأ عن عوامل خارجة عن النظام وعملية – تطويره مثل متطلبات التشغيل البيني وا$تطلبات التشريعية ، أمثلة *تطلبات غيرMHC-PMS وظيفية في متطلبات ا*نتج • متاحة لجميع العيادات خ*ل MHC-PMSيجب أن تكون • ساعات العمل العادية )من ا@ثن= إلى الجمعة ،من 0830إلى .(17.30يجب أ Kتتجاوز فترة التوقف خ*ل ٍ ثوان في أي يوم واحد .ساعات العمل العادية خمس ا*تطلبات التنظيمية يجب على مستخدمي نظام • ا]صادقة على أنفسهم باستخدام بطاقة MHC-PMS .هوية ا]نطقة الصحية الخاصة بهم ا*تطلبات الخارجية يجب على النظام تنفيذ أحكام • ا-هداف وا'تطلبات قد يكون من الصعب تحديد ا3تطلبات غير الوظيفية بدقة • .وقد يكون من الصعب التحقق من ا3تطلبات غير الدقيقة هدف • .القصد العام للمستخدم مثل سهولة اFستخدام – شرط غير وظيفي يمكن التحقق منه • جمل باستخدام بعض التدابير التي يمكن اختبارها – .بموضوعية اYهداف مفيدة للمطورين Yنها تب Xنوايا مستخدمي • .النظام متطلبات قابلية ا'ستخدام يجب أن يكون النظام سهل ا0ستخدام من قبل الطاقم • الطبي ويجب تنظيمه بطريقة تقلل من أخطاء )اKستخدم) .هدف يجب أن يكون اKوظفون الطبيون قادرين على استخدام • جميع وظائف النظام بعد أربع ساعات من التدريب .بعد هذا التدريب ،يجب أ 0يتجاوز متوسط عدد اXخطاء التي يرتكبها اKستخدمون اKتمرسون اثن^ في الساعة من )استخدام النظام).متطلبات غير وظيفية قابلة ل`ختبار مقاييس لتحديد ا*تطلبات غير الوظيفية خاصية قياس
عدد اcنظمة ا-ستهدفة متطلبات ا$جال .ا/تطلبات على النظام يفرضها ا/جال التشغيلي للنظام • على سبيل ا/ثال ،يجب أن يأخذ نظام التحكم في القطار في – .اTعتبار خصائص الكبح في الظروف الجوية ا/ختلفة تكون متطلبات ا/جال متطلبات وظيفية جديدة أو قيو ًدا • .على ا/تطلبات الحالية أو تحديد حسابات محددة في حالة عدم تلبية متطلبات ا/جال ،قد يكون النظام غير • .قابل للتطبيق متطلبات ا$جال مثال :نظام حماية القطار لنظام حماية domain requirementهذا مجال متطلبات • :القطار :يحسب التباطؤ في القطار على النحو التالي • – Dtrain = Dcontrol + Dgradient التدرج /ألفا اEعوض * ms2هو Dgradient 9.81حيث – T.نواع مختلفة من القطار ms2 / alphaوتعرف قيم 9.81 من الصعب على غير اEتخصص فهم تداعيات ذلك وكيفية • .تفاعله مع اEتطلبات اTخرى مشاكل متطلبات ا$جال القابلية للفهم • يتم التعبير عن ا6تطلبات بلغة مجال التطبيق ؛ – غالبًا ما Dيفهم ذلك مهندسو البرمجيات الذين يقومون بتطوير – النظام الضمنية • يفهم اختصاصيو ا6جال ا6نطقة جي ًدا بحيث Dيفكرون في – .توضيح متطلبات ا6جال ملخص ما سبق تحدد متطلبات نظام البرنامج ما يجب على النظام فعله • .وتحديد القيود على تشغيله وتنفيذه اLتطلبات الوظيفية هي بيانات عن الخدمات التي يجب • على النظام توفيرها أو وصف لكيفية إجراء بعض .العمليات الحسابية غالبًا ما تقيد اLتطلبات غير الوظيفية النظام الجاري • .تطويره وعملية التطوير اLستخدمة غالبًا ما تتعلق بالخصائص الناشئة للنظام وبالتالي • .تنطبق على النظام ككل