You are on page 1of 24

‫جامعة القدس المفتوحة‬

‫مقرر هندسة البرمجيات‬


‫المشرفة‪ :‬أ‪ .‬طروب سعد (فرع جنين)‬
‫الفصل الدراسي االول ‪1151‬من العام ‪5201 /2016‬‬
‫اللقاء االفتراضي االول‬
‫مناقشة ومراجعة مواضيع هامة‬
‫لمادة قبل النصفي (أمثلة وتدريبات)‬
‫الخميس ‪15/10/2015‬‬
‫تذكير‬
‫ضرورة حضور الصفوف االفتراضية و تقديم النشاط في الموعد المحدد‪.‬‬ ‫•‬
‫هذا اللقاء مسجل ويمكنكم مشاهدته مرة أخرى‪.‬‬ ‫•‬
‫جميع المشاركين هم طالب في المقرر‪.‬‬ ‫•‬
‫يرجى االلتزام بتعليمات المشاركة‪ ،‬واستخدام األسماء الحقيقية للدارسين‪.‬‬ ‫•‬

‫‪2‬‬
‫‪Software Processes‬‬

‫اسس علمية جديدة في تطوير‬


‫هندسة البرمجيات‬
‫اسس علمية جديدة في تطوير هندسة البرمجيات‬

‫اسس علمية جديدة في تطوير هندسة البرمجيات‪ ،‬مثل ‪-:‬‬


‫أوالً‪ :‬المص داقية ‪(Reliability‬درج ة االعتماد عل ى ال برمجيات)‪:‬‬
‫أي خلو البرمجيات من االخطاء بحيث تطبق بثقة وعدم الخوف من نتائج‬
‫خاطئ ة وأيض ا ضمان تشغي ل ال برمجيات باحتمال قلي ل جدا م ن التعرض‬
‫للعطب او التوقف عن العمل‪.‬‬
‫ت ابع ‪...‬‬
‫يمكن تحقيق المصداقية (االعتمادية) بثالث طرق ‪:‬‬
‫‪.1‬تطوير برمجيات خالية من االخطاء‪.‬‬
‫‪.2‬تطوير برمجيات استثنائية تمكن البرمجيات من اداء العمل‪.‬‬
‫‪.3‬الكشف عن االخطاء‪.‬‬
‫ت ابع ‪...‬‬
‫ثانياً‪ :‬سهولة القراءة ‪Readability‬‬
‫أي تجنب االختصارات الغير الواضحة في كتابة البرامج واستخدام‬
‫أسماء تعكس المسميات‪.‬‬
‫‪.1‬تحقيقاً لذل ك اتجه ت األنظار ال ى مفهوم ال برامج الفرعي ة وكتابته ا‬
‫عل ى أجزاء متعددة يت م وضعه ا م ع بعضه ا البع ض وتكوي ن برمجي ة‬
‫متكاملة‪،‬‬
‫‪.2‬كذلك استخدام مفهوم برمجة الكيانات‪.‬‬
‫‪.3‬كذل ك اس تخدام األفعال ف ي تس مية ال برامج الفرعي ة واألس ماء ف ي‬
‫تسمية المتغيرات تحقق ‪Readability‬‬
‫ت ابع ‪...‬‬
‫• ثالثا‪ :‬جودة البرمجيات ‪Software Quality‬‬
‫تعن ي بناء برمجيات تؤدي المهمات المطلوب ة‬
‫للجه ة المس تفيدة منه ا بكفاء ة عالي ة‪ ,‬وتلتزم‬
‫بالمقايي س المتبع ة‪ ,‬وتحق ق خص ائص‬
‫البرمجيات المتعارف عليها بين مراكز صناعة‬
‫البرمجيات‪.‬‬
‫ت ابع ‪...‬‬

‫مفهوم الجودة لدى الجهات ذات العالقة‬


‫ان الهدف الرئي س م ن هندس ة ال برمجيات ه و انتاج‬
‫انظم ة برمجيات ذات جودة عالي ة‪ ,‬ويختل ف مفهوم‬
‫الجودة من جهة اخرى‪ ,‬فعندما تبدأ مرحلة تشغيل نظام‬
‫البرمجيات‪ ,‬فإن المفاهيم تتداخل بين ثالث جهات‪.‬‬
‫ت ابع ‪...‬‬
‫صفات البرمجيات الجيدة‬
‫البرمجيات االقصر هي األيسر متابعة‪.‬‬ ‫‪.1‬‬
‫تفضيل البرمجيات ذات القرارات األقل‪.‬‬ ‫‪.2‬‬
‫تجنب تداخل القرارات‪.‬‬ ‫‪.3‬‬
‫التحديد الجيد لتركيب البيانات‪.‬‬ ‫‪.4‬‬
‫اإلكثار من التوضيح والشرح‪.‬‬ ‫‪.5‬‬
‫االنسجام‪.‬‬ ‫‪.6‬‬
‫التكامل‪.‬‬ ‫‪.7‬‬
‫الكفاءة‪.‬‬ ‫‪.8‬‬
‫الفاعلية‪.‬‬ ‫‪.9‬‬
Software Processes
Different Methodologies
‫مقدمة‬
‫عمليات البرمجيات ‪Software Processes‬‬
‫• هى مجموعة من األنشطة المترابطة المتماسكة المطلوبة لتطوير وإ نتاج النظم‬
‫البرمجية‪.‬‬

‫• واألنشط ة العام ة ه ى‪ :‬توص يف المتطلبات‪ ،‬التص ميم‪ ،‬التنفي ذ‪ ،‬االختبار‪،‬‬


‫التحقق‪ ،‬الصيانة‪ ،‬ارتقاء النظم البرمجية‪.‬‬

‫• وتمثل هذه األنشطة فى نموذج عمليات البرمجيات‪.‬‬


‫منهجيات هندسة البرمجيات‬
‫• نموذج العملي ة البرمجي ة ‪ Software Ware Process‬ه و تمثي ل مجرد‬
‫لوصف العملية من منظور معين‪ ،‬ومن النماذج العامة لمنهجيات البرمجيات‪:‬‬
‫‪ ‬نموذج الشالل ‪ : The waterfall model‬وه ى عبارة ع ن مراح ل واضح ة‬
‫المعالم منفصلة لوضع المواصفات والتطوير‪.‬‬
‫‪ ‬التطوير اإلرتقائى ‪ :Evolutionary development‬وفيه تتداخل المواصفات‬
‫مع التطوير‪.‬‬
‫‪ ‬التطوي ر المعتم د عل ى إعادة االس تخدام ‪: Reuse-based development‬‬
‫بتجميع النظام من مكونات موجودة‪.‬‬
‫‪ ‬التطوير المتزايد او الحلزوني‪.‬‬
Waterfall model ‫نموذج الشالل‬

:‫مراحله‬
Requirements analysis and .‫• تعري ف وتحلي ل وتحديد المتطلبات‬
definition

System and software design .‫• تصميم النظام وتصميم البرمجيات‬


Implementation and unit testing .‫• تنفيذ واختبار وحدات النظام‬

Integration and system testing .‫• تجميع النظام واختباره‬


Operation and maintenance .‫عمل النظم وصيانته‬
Waterfall Model
Waterfall Model
Requirements
definition

System and
software design

Implementation
and unit testing

Integr ation and


system testing

Operation and
maintenance
‫‪ ... Waterfall model‬يتبع‬ ‫نموذج الشالل‬

‫• من عيوب نموذج الشالل صعوبة تقدير وتكييف التغييرات أثناء العملية‪.‬‬


‫• م ن مشاك ل نموذج الشالل‪ :‬التقس يم غي ر المرن للمشروع إل ى مراح ل منفص لة‪،‬‬
‫يزي د م ن ص عوبة االس تجابة ع ن تغيي ر متطلبات المس تهلك‪ ،‬لهذا يص بح هذا‬
‫النموذج مفيداً فقط ومرغوباً عند التفهم الكامل للمتطلبات وقلة التغييرات فيها إلى‬
‫الحد األدنى‪.‬‬
‫التطوير المبنى على إعادة االستخدام‬
‫‪Reuse-oriented development‬‬

‫• يعتمد على إعادة االستخدام التقليدي حيث يتم تجميع النظام من عدة مكونات موجودة أو من نظم‬
‫أخرى (‪. )Commercial-off-the-shelf‬‬
‫• مراحل العمليات‪: Process :‬‬
‫– توصيف المتطلبات‪Requirements Specifications :‬‬

‫– تحليل المكونات‪Component analysis .‬‬

‫– تعديل االحتياجات‪Requirements modification .‬‬


‫– تصميم النظام بإعادة االستخدام‪System design with reuse .‬‬
‫– التطوير والتجميع‪Development and integration .‬‬
‫– التحقق من النظام‪System Validation‬‬
Reuse-oriented Development

Requirements Component Requirements System design


specification analysis modification with reuse

Development System
and integration validation
‫تكرار العمليات ‪Process iteration‬‬
‫• دائم ا م ا تس تخرج متطلبات النظام م ن س ير المشروع لهذا تتكرر‬
‫العملي ة ويعاد العم ل عل ى المراح ل المبكرة م ن المشروع خاص ة ف ى‬
‫النظ م الك بيرة‪ ،‬وق د يت م التكرار المتتال ى ف ى أ ى عملي ة أ و ف ى أ ى‬
‫نموذج‪ ،‬وهناك منهجيتان للتكرار هما‪:‬‬
‫• التطوير المتزايد أو‬
‫• التطوير بنموذج الحلزون‪.‬‬
‫التطوير الحلزونى‬
‫‪Spiral development‬‬
‫• يمثل تطوير العمليات على هيئة لولبية بدال من تتابع متتال لألنشطة‬
‫أو التتابع المتتالى مع الرجوع عكسيًا لمزيد من التحسين‪ ،‬وتمثل كل‬
‫حلقة من الحلزون مرحلة من مراحل العملية‪ ،‬وال توجد مراحل ثابتة‬
‫مث ل توص يف المتطلبات أ و التص ميم‪ ،‬ويت م اختيار الحلقات ف ى‬
‫الحلزون بناء عل ى م ا ه و مطلوب‪ ،‬ويت م تقدي ر المخاط ر وتحليله ا‬
‫وحل أمورها خالل العمليات‪.‬‬
Spiral model of the software process
Determine objectives
Evaluate alternatives
alternatives and identify, resolve risks
constraints Risk
analysis
Risk
analysis
Risk
analysis Opera-
Prototype 3 tional
Prototype 2 protoype
Risk
REVIEW analy sis Proto-
type 1
Requirements plan Simulations, models, benchmarks
Life-cycle plan Concept of
Operation S/W
requirements Product
design Detailed
Requirement design
Development
plan validation Code
Design Unit test
Integration
and test plan V&V Integr ation
Plan next phase test
Acceptance
Service test Develop, verify
next-level product
Spiral model of the software process
‫قطاعات نموذج الحلزون‬
‫‪Spiral model sectors‬‬
‫• فى الربع األول من الحلزون يتم تحديد األهداف والبدائل والقيود‪ ،‬فى‬
‫الرب ع الثان ى يت م تقيي م البدائ ل وتعري ف وتحلي ل المخاط ر‪ ،‬ف ى الرب ع‬
‫الثال ث يت م التطوي ر والتأك د م ن منت ج المرحل ة التالي ة‪ ،‬وف ى الرب ع‬
‫األخير يتم تخطيط المرحلة التالية‪.‬‬

You might also like