Full Transcript

‫هندسة البرمجيات‬ ‫أ‪.‬ياسر محمد علي‬ ‫‪1‬المحاضرة رقم‬ ‫مقدمة‬ ‫مقدمة‬ ‫البرمجيات ‪Software‬‬ ‫ليست هى برامج الكمبيوتر فقط لكنها أيضا ً كل التوثيق المرتبط بها‪ ،‬وبيانات التجهيز والتكوين ‬ ‫الالزمة لجعل البرامج تعمل بصورة ص...

‫هندسة البرمجيات‬ ‫أ‪.‬ياسر محمد علي‬ ‫‪1‬المحاضرة رقم‬ ‫مقدمة‬ ‫مقدمة‬ ‫البرمجيات ‪Software‬‬ ‫ليست هى برامج الكمبيوتر فقط لكنها أيضا ً كل التوثيق المرتبط بها‪ ،‬وبيانات التجهيز والتكوين ‬ ‫الالزمة لجعل البرامج تعمل بصورة صحيحة‪.‬‬ ‫هناك نوعان من المنتجات البرمجية‪:‬‬ ‫وهى نظم مستقلة تنتج بواسطة منظمات التطوير وتباع فى السوق ألى عميل ‪Generic Products‬البرامج العامة الشاملة‬ ‫وأحيانا يطلق عليها أسم البرمجيات المغلقة‪.‬‬ ‫البرمجيات المخصصة ‪ Bespoke Products‬وهى نظم مخصصة‬ ‫لعميل معين يطلب تجهيزها ويتم تطويرها بواسطة شركة أو مطور‬ ‫تخصيصا لهذا العميل‪.‬‬ ‫‪Software Engineering‬هندسة البرمجيات‬ ‫هى فرع من المعرفة يهتم بكل أشكال إنتاج البرمجيات‪ ،‬ويجب أن يتبنى مهندس البرمجيات ‪‬‬ ‫اإلقتراب المنظم والنظامى فى عمله‪ ،‬ويستخدم األدوات المناسبة والتقنيات الضرورية إعتمادا‬ ‫على المشكلة التى يقوم بحلها وقيود التطوير المفروضة والموارد المتاحة‪.‬‬ ‫‪‬هى فرع من فروع المعرفة الهندسية يختص بكل أشكال إنتاج‬ ‫البرمجيات بدءا من المراحل المبكرة لخصائص النظام حتى‬ ‫صيانة هذا النظام بعد إستخدامه‪.‬‬ ‫‪Software Process‬عمليات البرمجيات‪:‬‬ ‫هى مجموعة من األنشطة والنتائج المرتبطة بها التى تنتج منتجات‬ ‫البرمجيات‪ ،‬أو هدفها تطوير وارتقاء البرمجيات‪ ،‬ويتم تنفيذ غالبية‬ ‫هذه األنشطة بواسطة مهندسى البرمجيات‬ ‫األنشطة العامة فى عمليات البرمجيات‪:‬‬ ‫مواصفات البرمجيات‪ :‬ما الذى يجب على النظام ان يفعله وما هى قيود تطويره‬ ‫تطوير البرمجيات‪ :‬إنتاج نظام البرمجيات ويجب أن تحقق‬ ‫البرمجيات المنتجة المواصفات‪.‬‬ ‫التثبت‪ :‬فحص وإختبار أن البرمجيات تحقق ما يريده العميل‪.‬‬ ‫إرتقاء البرمجيات‪ :‬تغيير وتطوير البرمجيات إستجابة‬ ‫لمقتضيات التغيير‪.‬‬ ‫‪Cost of SWE‬تكاليف هندسة البرمجيات‪:‬‬ ‫تكاليف تطوير بصفة تقديرية فإن حوالى ‪ %60‬من التكاليف تعتبر‬ ‫وحوالى ‪ %40‬هى تكاليف فحص وإختبار‪Development Cost‬‬ ‫‪ ،‬وبالنسبة للبرمجيات الخاصة فإن تكاليف اإلرتقاء ‪Testing Cost‬‬ ‫تتجاوز تكاليف التطوير‪.‬‬ ‫‪CASE‬هندسة البرمجيات بمساعدة الكمبيوتر‬ ‫هو إختصار كلمات هندسة البرمجيات بمساعدة الكمبيوتر ‪ CASE‬مصطلح‬ ‫ويغطى نطاقا واسعا من ‪Computer Aided Software Engineering‬‬ ‫أنواع البرامج المختلفة التى تستخدم فى دعم أنشطة عمليات البرمجيات مثل‬ ‫تحليل المتطلبات ونمذجة النظام وإكتشاف وتصحيح العلل واإلختبار‪.‬‬ ‫هندسة البرمجيات بمساعدة الكمبيوتر عبارة عن نظم برمجية توفر دعما ً آليا ً‬ ‫ألنشطة عمليات البرمجيات وتستخدم نظم ‪ CASE‬لدعم الطرق والمنهجيات‪.‬‬ ‫خصائص البرمجيات الجيدة‬ ‫الشرح‬ ‫المواصفات‬ ‫البد من وجود إمكانية تعديل البرنامج حتى يفى‬ ‫قابلية التعديل‬ ‫بحاجات العميل المتغيرة‪.‬‬ ‫(‪)Maintainability‬‬ ‫وهذا يتضمن مواصفات أخرى مثل التماسك‪ ،‬توفير‬ ‫اإلعتمادية‬ ‫األمن والسالمة‪ ،‬وإمكانية اإلطمئنان إلى أداء‬ ‫(‪)Dependability‬‬ ‫البرنامج‪ ،‬بمعنى أنه فى حالة إنهيار النظام‪ ،‬ال‬ ‫يجب أن يسبب البرنامج خسائر مادية أوإقتصادية‪.‬‬ ‫يجب أن يحسن البرنامج إستخدام الموارد المتاحة‬ ‫الفاعلية‬ ‫مثل الذاكرة وقدرة المعالج بأفضل صورة ممكنة‪.‬‬ ‫(‪)Efficiency‬‬ ‫يجب أن يملك البرنامج واجهة إستخدام مناسبة‪،‬‬ ‫سهولة اإلستخدام‬ ‫ومستندات مصاحبة لشرح إمكانياته وتوضيح‬ ‫(‪)Usability‬‬ ‫تصميمه‪.‬‬ ‫بعض التحديات تواجه هندسة البرمجيات‬ ‫هناك تحديات تواجه هندسة البرمجيات ومنها‪:‬‬ ‫‪Legacy Systems‬اإللتقاء مع النظم القديمة الموروثة‪.‬‬ ‫اإلستجابة لطلب تقليل وقت التسليم‪Delivery Times.‬‬ ‫‪‬‬ ‫المسئولية اإلحترافية واألخالقية‬ ‫‪Professional & Ethical Responsibility‬‬ ‫موضوعات المسئولية اإلحترافية واألخالقية‬ ‫الخصوصية‪Confidentiality.‬‬ ‫‪‬‬ ‫‪‬الكفاءة والتخصص‪Competence.‬‬ ‫المسئولية اإلحترافية واألخالقية‬ ‫‪Professional & Ethical Responsibility‬‬ ‫موضوعات المسئولية اإلحترافية واألخاليقية‬ ‫‪Intellectual property rights‬حقوق الملكية الفكرية‪.‬‬ ‫إساءة إستخدام الكمبيوتر‪Computer Misuse.‬‬ ‫‪‬‬ ‫النهاية‬

Use Quizgecko on...
Browser
Browser