Midterm Flashcards
قارني بين المتطلبات الوظيفية والغير وظيفية
وظيفية: القدرة على عمل الوظيفة المعينه مثل الاعجاب
الغير وظيفية : قيود وخصائص الجودة التي يجب ان يفي بها البرنامج
تحديد المشكلة التي يجب حلها وتحديد متطلبات الحل
التحليل
المرحلة التي تحدد فيها انواع البيانات وطريقة تخزينها وتصميم الواجهات الداخلية والخارجية
التصميم
تحويل المتطلبات والمواصفات الى مقاطع برمجية اي مرحلة
التطوير والاختبار
عللي لا يمكن الفصل بين مرحلتي التطوير والاختبار
لان يجب اختبار النظام اثناء تطويره لضمان بعد المشاكل
عللي يجب تقييم النظام بشكل مستمر في مرحلة الصيانة
لضمان حداثته وتقديم تحسينات تضمن الاحتياجات المستقبلية
ما هي مرحلة التوثيق وما وظيفتها
هي وصف جميع تفاصيل المراحل السابقة لها بقاعدة معرفية لكيفية عمل النظام ويتم الرجوع لها عند الحاجة الى التغيير او الاصلاح وهدفها هو زيادة كفاءة النظام وسهولة التدريب وتحديث النظام
ما هي منهجية waterfall
هي اقدم منهجية لتطوير البرمجيات وهي احادية الاتجاه اي انه عند الانتهاء من مرحلة لا يمكن العودة للمرحلة السابقة وتكون مخرجات كل مرحلة مدخلات المرحلة التي تليها
عددي مميزات وعيوب منهجية الwaterfall
مراحلها ومحددة لا تتداخل
سهوله ادارة المشروع وتخطيطه بسبب عدم تداخل المراحل
صعوبة التعديل لان كل مرحلة تعتمد على السابقة لها
لا يمكن البدء بمرحلة جديده قبل اتمام المرحلة السابقة لها
ما المرحلة التي تطور نماذج اولية للحصول على التغذية الراجعة في المراحل الاولى من التطوير
RAD
ما مزايا وتحديات RAD
تلقي التغذية الراجعة المستمرة يودي الى تقليل احتمالات الفشل وتكلفة التعديل
يساهم استخدام الدورات التكرارية في تقليل الوقت
تعد دورة التطوير اكثر تعقيدا ويجب اداراتها بعناية
تحتاج الى فريق عمل من المبرمجين المصممين ذوي تأهيل عالي
ما الفرق بين ال agile and RAD
الrad هو تقديم نموذج اولي غير قابل للاستخدام للتغذية الراجعة فقط ام agile هو تقديم نموذج مكتمل يمكن للمستخدم استخدامهم الحصول على التغذية الراجعة
مزايا وعيوب agile
يمكن انجاز الاصدار الاول. بوقت قصير
تتيح مشاركتة اصحاب المصلحة في تطوير النظام ثقه بالبرنامج
تاثير استجابة المستخدمين على سرعة الانتاج وجودة المنتج
يمكن ان يودي التغيير المتكرر الى تعطيل المشروع باكمله
ما المنهجية التي لا تناسب البرامج التي يمكن ان تخضع للتغيير خلال مراحل المشروع
Waterfall
ما المنهجية الاقل من ناحية التوثيق
Agile
من مطور لغة ليسب وما خصائصها
MITلغة خاصة بالذكاء الاصطناعي
من مطور لغة بيسك وما خصائصها
دارتموث
متعدده الاستخدامات
من مطور لغة جافا وما استخداماتها
انظمة Sun
لغة برمجة موجهه للكائنات لتطوير التطبيقات التي يمكن تشغيلها على مجموهة كبيره من اجهزة الحاسب او انظمة التشغيل المختلفه
على ماذا تعمل لغات البرمجة عالية المستوى
تقليل الوقت وتكلفة تطوير البرامج
مميزات لغات البرمجة عالية المستوى
تستخدم صيغة منطقية وبرمجية قريبة من لغة الانسان
لا ترتبط بنوع حاسب معين
يمكن تعلمها بسهوله ووقت اقل من لغة التجميع
تعد عملية تصحيح الاخطاء والصيانه اسهل
تقلل وقت وتكلفة التطوير بالمقارنه مع اللغات منخفضة المستوى
ما الهدف من لغات الجيل الرابع
يمكن للاشخاص العاديين غير ذوي الاختصاص استعمالها
في ماذا تستخدم لغات الجيل الرابع
اتمتة العمليات المتكررة وتبسيط العمليات المعقده والتطبيقات منخفضة الاداء
ما تصنيفات لغات البرمجة
اجرائية
موجهه للكائنات
قارني بين المترجم والمفسر من حيث الهدف ومثال والتعريف والفرق عند التعامل مع الاخطاء
المترجم: يقوم بقراءة البرنامج ككتلة ثم ينفذه
يستعمل في البرامجالحديثه التي تكون السرعه فيها مهمه
مثل c/c++/c#/java
عند التعامل مع خطا يقوم باظهار رسالة تيرنر ولا ينقذ البرنامج ركامل
المفسر:
يقوم بتنفيذ البرنامج سطر تلو الاخر
يتم استعماله في البرامج البسيط التي لا تعد السرعة فيها معيارا مهم
مثل JavaScript/basic/lisp
عند التعامل مع خطا يقوم بتنفيذ جميع السطور السابقة للخطا ويتوقف عند الوصول للخطا