هندسة البرمجيات (1)
مقرر أساسي في هندسة المعلوماتية يغطي مفاهيم جوهرية مشتركة بين جميع الاختصاصات.
المتطلبات السابقة المباشرة
مقررات تعتمد على هذا المقرر
كامل سلسلة المتطلبات السابقة
توصيف المقرر
أهداف المقرر
يهدف هذا المقرر إلى تعريف الطالب بأهم المواضيع التي تتناولها هندسة البرمجيات والتي تعتبر الإطار العام الذي تجري ضمنه عمليات تطوير البرمجيات. يسمح المقرر بفهم آليات ومنهجيات تطوير البرمجيات والتقنيات المعتمدة في إدارتها. وهو يمكن الطالب بشكل محدد من:
أولاً: فهم منهجيات تطوير البرمجيات وأهميتها والأسس التي تقوم عليها.
ثانياً: استيعاب نماذج الإجراءات البرمجية ونشاطاتها وتطويرها.
ثالثاً: التعرف على هندسة المتطلبات وإجراءاتها والتحقق من صحة المتطلبات.
رابعاً: فهم نمذجة الأنظمة البرمجية من حيث البنية والتفاعل والسلوك والتفاعل بين مكوناتها.
خامساً: القدرة على تصميم وتنفيذ الأنظمة البرمجية واستخدام المخططات في ذلك.
سادساً: معرفة تقنيات وأنواع الاختبارات للبرمجيات والأنظمة البرمجية.
سابعاً: إمكانية إدارة وتخطيط المشاريع البرمجية من حيث إدارة المخاطر والأشخاص وفرق العمل في المشاريع البرمجية. بالإضافة إلى وضع خطة تنفيذ المشروع.
النتائج التعليمية المرجوة
- فهم منهجيات تطوير البرمجيات وأهميتها والأسس التي تقوم عليها.
- استيعاب نماذج الإجراءات البرمجية ونشاطاتها وتطويرها.
- التعرف على هندسة المتطلبات وإجراءاتها والتحقق من صحة المتطلبات مع التركيز على مفاهيم المتطلبات الوظيفية وغير الوظيفية وطريقة كتابة المتطلبات.
- معرفة نمذجة الأنظمة البرمجية من حيث البنية والتفاعل والسلوك بين مكوناتها.
- القدرة على تصميم وتنفيذ الأنظمة البرمجية واستخدام المخططات في ذلك.
- معرفة تقنيات وأنواع الاختبارات للبرمجيات والأنظمة البرمجية.
- إمكانية إدارة وتخطيط المشاريع البرمجية من حيث إدارة المخاطر والأشخاص وفرق العمل في المشاريع البرمجية، والتخطيط للمشروع.
مفردات المقرر (الفصول)
| # | عنوان الفصل | محتوى الفصل |
|---|---|---|
| CH1 | مدخل إلى هندسة البرمجيات | 1. تطوير البرمجيات المهنية. 2. أخلاقيات هندسة البرمجيات. 3. دراسات حالة. |
| CH2 | الإجرائيات البرمجية | 1. نماذج إجرائية البرمجيات. 2. أنشطة إجرائية البرمجيات. 3. التعامل مع التغيير. 4. تحسين إجرائية البرمجيات. |
| CH3 | هندسة المتطلبات | 1. المتطلبات الوظيفية وغير الوظيفية. 2. إجراءات هندسة المتطلبات. 3. استنباط المتطلبات. 4. توصيف المتطلبات. 5. التحقق من المتطلبات. 6. تغيير المتطلبات. |
| CH4 | نمذجة النظام | 1. نماذج السياق. 2. نماذج التفاعل. 3. النماذج الهيكلية. 4. النماذج السلوكية. 5. الهندسة المعتمدة على النموذج. |
| CH5 | التصميم والتنجيز | 1. تصميم غرضي التوجه باستخدام UML. 2. أنماط التصميم. 3. قضايا التنجيز. 4. تطوير المصادر المفتوحة. |
| CH6 | اختبار البرمجيات | 1. اختبار التطوير. 2. التطوير القائم على الاختبار. 3. اختبار الإصدار. 4. اختبار المستخدم. |
| CH7 | تطور وارتقاء البرمجيات | 1. عمليات التطور والارتقاء. 2. النظم القديمة. 3. صيانة البرمجيات. |
| CH8 | إدارة المشاريع البرمجية | 1. إدارة المخاطر. 2. إدارة الأشخاص. 3. فريق العمل. |
| CH9 | تخطيط المشاريع البرمجية | 1. كلفة البرمجيات. 2. التطوير المعتمد على الخطة. 3. جدولة المشروع. 4. التخطيط الرشيق. 5. تقنيات التقدير. |