Document Details
Tags
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. النهاية