مقدمة في هندسة البرمجيات (ITGS-213) - جامعة طرابلس - خريف 2020 PDF
Document Details
Uploaded by GrandMint7948
University of Tripoli
2020
ITGS
Marwa Solla
Tags
Related
- Software Engineering Requirements PDF
- Software Engineering - Lecture 3 - Requirements Engineering PDF
- CSE241/CMM341 Foundations of Software Engineering Requirements Engineering 2023 PDF
- Software Engineering Requirements PDF
- مقدمة في هندسة البرمجيات (ITGS-213) - محاضرة 4 - PDF
- Software Requirement Engineering ITGS-213 Lecture 5 (PDF)
Summary
These lecture notes cover the Introduction to Software Engineering course for ITGS-213 at Tripoli University in Fall 2020. The document discusses software requirement engineering, including functional and non-functional requirements, and various methods for gathering requirements.
Full Transcript
5/21/2022 جامعة طرابلس ـ كلية تقنية المعلومات مقدمة في هندسة البرمجيات Introduction to software Engineering ITGS-213 المحاضرة الثالثة – هندس...
5/21/2022 جامعة طرابلس ـ كلية تقنية المعلومات مقدمة في هندسة البرمجيات Introduction to software Engineering ITGS-213 المحاضرة الثالثة – هندسة المتطلبات البرمجية (مرحلة التحليل) Software Requirement Engineering خريف2020 مواضيع المحاضرة مقدمة تعريف المتطلبات وأنواعها أهداف هندسة المتطلبات البرمجية مشاكل التي تواجه هندسة المتطلبات النشاطات المستخدمة لجمع المتطلبات 2 Lect2_Fall2020 1 5/21/2022 هندسة المتطلبات البرمجية Software Requirement Engineering ظهر مصطلح Requirement Engineeringفي بداية التسعينات.والذي يمثل ما يعرف بمرحلة التحليل. يعتمد كمال النظام المستهدف على مدى جمع المتطلبات Requirement Gatheringبالصورة الصحيحة والكاملة العتماد المراحل التالية عليها. يتم جمع المتطلبات من قبل Stakeholdersوهم الزبون والمستخدم ومعد المنظومة كعملية جماعية. 3 المتطلباتRequirements تعريف المتطلباتRequirements: هي ملخص لمجموعة طلبات يرغبها الزبون في شكل وظائف وقدرات وخصائص ومعايير جودة خاصة بالمنظومة المطلوبة لجلب منفعة وقيمة للمستخدم. هي مجموعة من القدرات البرمجية المطلوبة في المنظومة لحل مشاكل المستخدم في النظام الحالي. المتطلب هو شرط أو قدرة التي يمتلكها البرنامج أو مكون من مكونات النظام من أجل حل مشكلة في العالم الحقيقي وصف المتطلبات كيف يجب أن يتصرف النظام أو يبدو أو ينفذ.لهذا ،عندما يطلب المستخدمون برنام ًجا، قادرا على القيام به ،وتختلف المتطلبات من تقديرا تقريبيًا لما يجب أن يكون النظام الجديد ً ً فإنهم يقدمون مستخدم آلخر ومن عملية تجارية إلى أخرى. 4 Lect2_Fall2020 2 5/21/2022 أنواع المتطلباتType of Requirements يمكن تصنيف المتطلبات البرمجية حسب اآلتي: اولا :المتطلبات الوظيفيةFunctional Requirements هي الوظائف أو األفعال المرغوب أداؤها من المنظومة البرمجية .أو هي المعامالت التي تحدث في المنظومة من قراءة ومعالجة البيانات والحصول على المخرجات. امثلة : .1النظام يسمح للمستخدم باضافة و الغاء المواد الدراسية. .2النظام يسمح للمستخدم بالبحث عن كتاب معين من خالل العنوان ،اسم الكاتب ،او الرقم الدولي للكتاب. انواع المتطلباتType of Requirements ثانيا ا :المتطلبات الغير وظيفيةNON Functional Requirements هي المتطلبات التي تعرف خصائص النظام و القيود.و من امثلتها :متطلبات االداء performance Requirementsزمن استجابة النظام إلنهاء عدد من المعامالت في فترة زمنية معينة. متطلبات القبولAcceptance Requirements Portability Requirementsمتطلبات قابلية النقل Reliability requirementsالموثوقية Usability requirementsسهولة االستخدام Lect2_Fall2020 3 5/21/2022 امثلة علي المتطلبات الوظيفيه والغير وظيفيه مثال متطلب وظيفي قادرا على استرداد معلومات مرضاه على سبيل المثال ،في نظام إدارة المستشفى ،يجب أن يكون الطبيب ً متطلب غير وظيفي يجب ان يكون الموقع قادرا علي التعامل مع 20مليون مستخدم معا دون التأثير علي ادائه يجب علي المستخدمين تغيير كلمة مرور تسجيل الدخول المعينة في بداية مباشره اول تسجيل دخول ناجح ،وال ينبغي أبدا اعادة استخدام كلمة المرور ذاتها يجب تحميل كل صفحة في غضون ثانيتين أهداف هندسة المتطلبات البرمجية التعرف على طرق الحصول على متطلبات. .1 تحليل المتطلبات البرمجية. .2 تكوين وكتابة مواصفات المتطلبات. .3 تقييم واعتماد المتطلبات البرمجيات. .4 ادارة اي تغييرات تحصل لهذه المتطلبات. .5 8 Lect2_Fall2020 4 5/21/2022 مصادر المتطلباتSources Of Requirements Stakeholders اصحاب المصلحة documents الوثائق Existing System النظام القائم 9 المتطلبات :المشاكل واألسباب أهم المشاكل التي تواجه هذه المرحلة: الزبون أو المستخدم ال يعرف ما هي متطلباته. عملية تحليل المتطلبات ناقصة او غير كاملة. التغيير المتكرر في اللوائح والقوانين وفي المتطلبات من جانب الزبون. الميزانية والمدة الزمنية غير معقولة أو غير مقبولة. التقليل من أهمية المراحل االبتدائية مقارنة بمرحلتي البرمجة واالختبار. عدم التواصل لفهم المتطلبات بين معد المنظومة وStakeholders. Lect2_Fall2020 5 5/21/2022 هندسة المتطلبات البرمجية Software Requirement Engineering هي كل النشاطات المستخدمة للتعرف على المتطلبات ،من جمع وتحليل وادارة المتطلبات للوصول الى متطلبات صحيحة وكاملة وواضحة لتلبي احتياجات المستخدم.وهذه النشاطات تتمثل في: Requirements elicitation جمع أو استنباط المتطلبات Requirements analysis تحليل المتطلبات Requirements specification توصيف وتحديد المتطلبات Requirements validation اعتماد المتطلبات Requirements Management إدارة المتطلبات جمع او استنباط المتطلبات Requirement Elicitation تعتبر أول خطوة في مرحلة التحليل .ويتم فيها استنباط المتطلبات من المستخدم والزبون من أجل اكتشاف وفهم احتياجات المستخدم. أصعب مهمة في عملية جمع المتطلبات هي محاولة مساعدة الزبون لفهم ما يحتاجه. يستخدم في هذا النشاط طرق جمع المتطلبات وهي: المقابلة الشخصية Interview. المالحظة observation. 12 Lect2_Fall2020 6 5/21/2022 جمع او استنباط المتطلبات العينات والوثائقdocument & sampling. االستبيانquestionnaire. تصميم التطبيق المشتركjoint app design JAD. جلسة توليد االفكارBrainstorming. العرض التجريبيprototyping. المقابلة الشخصيةInterview ويتم فيها اجراء مقابلة مع الزبون والمستخدم لفهم طبيعة العمل واللوائح والقوانين لتسيير العمل. وتوجد ارشادات يجب اتباعها لتكون المقابلة ناجحة: التجهيز الجيد للمقابلة. االستماع الجيد من قبل المحلل. إجراء المقابالت مع المستخدمين لمعرفة تفاصيل و دور كل منهم والتحديات التي تعترضهم. مقابلة المدراء لتحديد نطاق العمل واألهداف المرجوة. عيوبها :عدد مقابالت محدود– الوقت – الجهد. 14 Lect2_Fall2020 7 5/21/2022 االستبيانQuestionnaire تسمى ايضا ً المسحSurvey. تتميز بجمع المتطلبات من عدد هائل من الناس في زمن قليل. تحتوي على مجموعة متنوعة من االسئلة. يمكن ان تجرى على االنترنت. عيوبها :دقة المعلومات وكمالها غير مستوفاة. 15 المالحظةObservation في الطريقتين السابقتين المعلومات تأتي من المستخدمين والزبائن. أما في طريقة المالحظة فإن محلل النظم هو من يراقب سير العمل. هي طريقة مباشرة لدراسة وتفقد النظام الحالي تحت الدراسة. تساعد على الحصول على المعلومات كما هي وليس كما يعتقد ها المستخدم. تعد هذه الطريقة مساعدة للطرق السابقة للتحقق من المعلومات. عيوبها :تضليل المحلل من قبل المستخدم بالتصنع في مدى أداء عمله (موظف مثالي ).وبالتالي يفضل أداء هذه الطريقة دون انتباه الموظف. 16 Lect2_Fall2020 8 5/21/2022 جمع وتحليل العينات والوثائق Document gathering & Sampling Analysis جمع كل النماذج ) (formsوالوثائق ) (Documentsوالمخططات ذات العالقة بالنظام الحالي المستهدف وتحليلها. ال تقل أهمية عن الطرق االخرى. تساعد في مقارنة طريقة عمل النظام الحالي مع النظام المثالي او حسب اللوائح. 17 تصميم التطبيق المشترك Joint Application design JAD وهي عبارة عن جلسات مكثفة من قبل( Stakeholdersالزبون والمستخدمين والمبرمجين )في جميع المراحل لتحليل النظام وحل المشاكل. تكون الجلسة في مكان واحد ووقت واحد ولمدة تستغرق أسبوعا في هذه المرحلة. النقاط المستهدفة في الجلسات: لمحة عن النظام والمشاكل التي تعترضه. مناقشة تصميم النماذج والتقارير للمنظومة المقترحة. مناقشة الوظائف المنظومة وخصائص الجودة المطلوبة في هذه المنظومة. Lect2_Fall2020 9 5/21/2022 جلسة توليد األفكار brainstorming جمع واقتباس متطلبات المنظومة المستهدفة من قبل االشخاص ذوي العالقة بالمنظومة Stakeholdersفي مدة قصيرة. توليد أفكار بخصوص المزايا المرتقبة في المنظومة. في هذه الطريقة يتم اكتشاف متطلبات مخفية لم يتعرف عليها بالطرق االخرى. 19 البحث والتطبيقات المشابهة Research & Similar Applications تجهز طريقة البحث Researchمحلل النظم بالمعلومات الكافية القناع الزبون بمدى درايته بطريقة عمل النظام الحالي والمصطلحات المستخدمة فيه. حيث يقوم المحلل بالبحث في المكتبات واالنترنت ودراسة السوق ومراجعة تطبيقات مشابهة Similar Applicationsفي مؤسسات أخرى. مالحظة :يجب إلحاق المستخدم من البداية مع فريق إعداد المنظومة للحصول على متطلبات كاملة وصحيحة والعكس صحيح. 20 Lect2_Fall2020 10 5/21/2022 العرض التجريبي Prototyping تعرض هذه الطريقة نسخة تجريبية مبدئية للمنظومة Prototypeذات الوظائف المحدودة تبين قدرات المنظومة. تجهز المنظومة التجريبية في مدة وجيزة ،باستخدام لغات برمجة سهلة وسريعة التنفيذ مثل البيسك المرئي وقواعد بيانات اكسس. يتم إصدار أكثر من نسخة وعرضها على الزبون وأخذ المالحظات من المستخدم. تستخدم هذه الطريقة في حالة وجود صعوبة بين المحلل والمستخدم في تحديد المتطلبات. 21 The end. 22 Lect2_Fall2020 11