هندسة البرمجيات؟
هي دراسة متخصصة بكيفية إنجاح المشاريع البرمجية
"ركز ترا هذا التعريف من كيسي وليس هو التعريف الرسمي"
الرسمي: هي دراسة متخصصة في تصميم وتطوير وصيانة البرمجيات.
محاورها الرئيسية:
متطلبات
تحليل
تصميم
برمجة (كود)
اختبار
توثيق
تشغيل (إطلاق)
صيانة
كل السابق مترابط https://t.co/vO9w1Gd82J
في البرمجيات هناك مصطلح معروف جدا وهو
SDLC (Software Development Life Cycle)
الي هي دورة حياة تطوير البرمجيات وهي تتمحور بالنقاط الي ذكرتها سابقا وبما إنها دورة حياة، إذن كل خطوة تعتبر ناقصه بدون الخطوة الي قبلها
وهيا بنا نشوف كل مرحلة من هالمراحل ايش هي
جمع المتطلبات Requirements
هنا مرحلة "مالذي نرغب ببناؤه" في متطلبات خام نجمعها بحيث نعرف الهدف النهائي بالنسبة لنا وهالمتطلبات غالبا ماتخرج عن نوعين
Functional/Non-Functional
المقصود بالوظيفية functional
هي المتطلبات الي يتوقع انه يشوفها المستخدم ويتعامل معها
تابع..
المقصود بالمتطلبات غير الوظيفية non-functional
هل الأمور الي من خلالها نقدر نحكم على قدرة البرنامج على العمل بشكل جيد مثل السرعة والحماية والتخزين
اذن "الوظيفية" ايش المفروض يقدم البرنامج
"غير الوظيفية" كيف المفروض إنه يشتغل هالبرنامج
التحليل Analysis
هنا يتم دراسة المتطلبات حتى تحقق أهداف النظام المبني (إيش ناقصنا وايش نحتاج نوصل له وهل المطلوب الآن يؤدي للغاية المطلوبة أو المطلوب الآن أكثر من المتوقع؟)
غالبا هذي دراسة تفصيلية مرتبطة بأسباب بناء النظام أكثر من أنها تقنية بحته