You are on page 1of 30

‫جامعة القرآن الكريم والعلوم اإلسالمية‬

‫كلية علوم الحاسوب وتقانة المعلومات‬


‫هندسة البرمجيات‬
‫)‪Software Engineering (SW‬‬

‫د‪ /‬جالل الدين سليمان جبريل‬


‫هندسة البرمجيات‬
‫)‪SOFTWARE ENGINEERING (SE‬‬
‫مقدمة عن ھندسة البرمجیات‬
‫ف ي األربعینات والخمس ینات ظھرت م ا یس مى ال برمجیات أو‪Software‬‬
‫وم ع التدرج بدأ ت تظھ ر األنظم ة الت ي تقوم بترتیب وتنظیم أعمال اآلل ة‬
‫(الكمبيوتر) لتلبي إحتیاجات المستخدم والمقصود بھا ھي أنظمة التشغیل‪،‬‬
‫حیث كان اإلنسان إذا أراد أن یستخدم أي نظام یجب علیه أن یخاطب كل‬
‫جزء‪ ،‬ولیس كم ا ھو الیوم‪ ،‬حیث أص بح الیوم المس تخدم یتعام ل م ع‬
‫البرامج ذات المستوى العالي ‪( High Level Language‬فهي أقرب إلى‬
‫فهم البشر‪ ،‬بحيث ال تتطلب من المبرمج الدخول في تفاصيل قوانين تطبيق‬
‫أوامر البرمجة‪ ،‬وال على مستوى عتاد الحاسوب‪ ،‬وتتميز بسهولة كتابتها‬
‫وقراءتها وس هولة تعلمها‪ ،‬وه ي‪ ‬لغات قابل ة للتطوير‪ ،‬وم ن أمثلتها‪ :‬مث ل‬
‫‪)  Python، Visual Basic ،Delphi ...PHP، C#، Java‬‬
‫هندسة البرمجيات‬
‫تطورت كتاب ة‪ ‬البرمجيات‪ ‬من ذ بدايتها ف ي‪ ‬الستينيات‪ ‬إل ى مهن ة تهت م‬
‫بأفضل طرق زيادة جودة البرمجيات وكيفي ة إنشائها‪ .‬والجودة تشير‬
‫إل ى مدى قابلي ة ال برمجيات للص يانة‪ ،‬وثباتها‪ ،‬وس رعتها‪ ،‬وس هولة‬
‫إستخدامها‪ ،‬وقابلية اإلختبار‪ ،‬وسهولة القراءة‪ ،‬وحجمها‪ ،‬وتكلفتها‪،‬‬
‫وأمنها‪ ،‬وعدد العيوب أ و «األخطاء»‪ ،‬باإلضاف ة إل ى خص ائص أق ل‬
‫قابلية للقياس مثل‪ :‬األناقة‪ ،‬واإليجاز‪ ،‬ورضاء العمالء‪...،‬‬
‫باإلضاف ة إل ى مس ائل إدارية أوس ع مث ل حج م الفريق األمث ل‪،‬‬
‫والعملي ة‪ ،‬وأفض ل طريق ة لتقديم ال برمجيات ف ي الوق ت المحدد وف ي‬
‫أسرع وقت ممكن‪ ،‬و«ثقافة» مكان العمل (البيئة) ‪...‬‬
‫هندسة البرمجيات‬
‫وم ع تطور الحواس یب بدأ ت تظھ ر لغات البرمج ة المختلف ة‬
‫وأنظم ة التشغیل البس یطة وإس تمر ھذا التطورف ي وتیرة‬
‫متس ارعة ‪ ...‬إل ى أ ن ظھرت مشكل ة جدیدة س ميت أزم ة‬
‫ال برامجیات (‪ )Software Crisis‬وھي إنخفاض س عر‬
‫المعدات (‪ )Hardware‬مقاب ل إرتفاع أس عار ال برمجیات ب ل‬
‫ق د یص ل الحال إل ى أ ن یص یر س عر ال برمجیات أك برمن س عر‬
‫المعدات‪.‬‬
‫هندسة البرمجيات‬
‫وم ن األس باب الت ي أدت إل ى إرتفاع س عر ألـ ‪ Software‬وبالتال ي ظھور‬
‫ھذه الأزمة التالي‪:‬‬
‫‪ -1‬اإلحتفاظ بالحقوق الفكری ة لل برامج م ن قب ل الم برمجین أ و الشركات العامل ة‬
‫في ھذا المجال‪.‬‬
‫‪ -2‬السعر المرتفع الذي یضعه المبرمج لنفسه‪.‬‬
‫‪ -3‬الكم الھائل من البرمجیات الموجودة في سوق العمل والتي ال یحكمھا قانون‪.‬‬
‫‪ -4‬عدم وجود مھندسي البرمجیات (‪ )Software Engineer‬أو‬
‫ندرتھم في سوق العمل‪.‬‬
‫‪ -5‬إزدياد إعتماد اإلنس ان عل ى الحاس وب ف ي مختل ف نواح ي الحضارة المدني ة‬
‫الحديثة‪.‬‬
‫أزمة البرمجيات ‪Software Crisis‬‬
‫مصطلح إستخدم مع بدايات نشأة حقل‪ ‬البرمجيات هندسة‪ ،‬مع إزدياد‬
‫إعتماد اإلنسان على الحاسوب في مختلف نواحي الحضارة المدنية‬
‫الحديثة (الحياة)‪ ،‬كان ‪ -‬وما يزال لحد ما – كان من الصعوبة بمكان‬
‫كتاب ة شفرة برنام ج بشك ل ص حيح‪ ،‬بحي ث ينف ذ ك ل المطلوب دون‬
‫أخطاء‪ ،‬وذو دق ة عالي ة ينف ذ المطلوب كم ا ه و‪ ،‬وس هل للقراء ة م ن‬
‫قب ل الم برمجين اآلخرين‪ ،‬أ و حت ى الم برمج األص لي الذى كت ب‬
‫الشفرة‪ ،‬والتحق ق م ن عم ل ال برنامج وص يانته‪( .‬فم ن الممك ن أ ن‬
‫نعزي ونحم ل أس باب هذه الص عوبة ف ي كتاب ة ال برامج أن ه يعود‬
‫لطبيع ة ال برمجيات غي ر الملموس ة) فبالتال ي ال يمك ن قياس ها‪،‬‬
‫ولطبيعتها المركبة والمعقدة والمتشعبة‪ ،‬ولطبيعتها المتغيرة‪ ،‬وغير‬
‫ثابتة المتطلبات واألدوات‪.‬‬
‫أزمة البرمجيات ‪Software Crisis‬‬
‫أول م ن ص اغ مص طلح «أزم ة ال برمجيات» كان ‪ F. L. Bauer‬ف ي‬
‫المؤتم ر األول لهندس ة ال برمجيات الذي قام ب ه‪ ‬حلف شمال األطلسي‬
‫‪ -‬باعتباره من أهم الزبائن والمستخدمين للبرمجيات ‪ -‬سنة ‪1968‬م‬
‫ف ي ألماني ا‪ ،‬والس بب المباش ر وراء انعقاد هذا المؤتم ر ه و إلقتراح‬
‫الحلول ألزم ة ال برمجيات الت ي أص بحت ظاهرة شائع ة‪ ،‬وكان ت‬
‫مالمحها‪:‬‬
‫التأخر الكبير في تسليم مشاريع البرمجيات (تجازت العديد من‬ ‫•‬
‫المشاريع الجدول الزمني)‪.‬‬
‫التجاوز الكبير للميزانية في مشاريع البرمجيات (تجازت العديد من‬ ‫•‬
‫المشاريع تكلفة الميزانية المطروحة لها)‪.‬‬
‫قلة جودة البرمجيات المسلمة (عدم تلبيتها للمتطلبات)‪.‬‬ ‫•‬
‫الصعوبة البالغة في صيانة وتحديث البرمجيات‪.‬‬ ‫•‬
‫أزمة البرمجيات ‪Software Crisis‬‬
‫أضرار في الممتلكات نتيجة لعيوب في البرمجيات كاألمن السيئ‪.‬‬ ‫•‬
‫عدم القدرة على توظيف عدد كاف من المبرمجين المؤهلين‪.‬‬ ‫•‬
‫ضياع الوقت والمال والسمعة‪.‬‬ ‫•‬
‫الحياة والموت‪ :‬يمك ن للعيوب البرمجي ة أ ن تقت ل‪ ،‬فق د فشل ت بع ض‬ ‫•‬
‫األنظم ة المضمن ة المس تخدمة ف ي آالت العالج باألشع ة بشك ل كارث ي‬
‫لدرجة أنها أعطت جرعات إشعاع مميتة للمرضى‪.‬‬
‫وم ع ذل ك‪ ،‬ال تزال ال برمجيات ‪ -‬وخاص ةً برمجيات الوق ت الحقيق ي‬
‫ال ُمضمنة ‪ -‬خطرة ومنتشرة‪ ،‬واألهم أنها ال تحظى بالرضا‪.‬‬
‫أمثلة لبعض عيوب وأخطاء البرمجيات‬
‫(‪ )1‬خطأ أعوام القرن العشرين ‪:1900‬‬
‫ف‪+‬ي العام ‪1992‬م تلق‪+‬ت الس‪+‬يدة ماري م‪+‬ن والي‪+‬ة مينيس‪+‬وتا‬
‫دعوة لإللتحاق بروض‪++‬ة أطفال وه‪++‬ي تبل‪++‬غ م‪++‬ن العم‪++‬ر‬
‫‪ 104‬سنة!‬
‫مشكلة العام ‪2000‬‬

‫‪8 = 1992 - 2000‬‬


‫أمثلة لبعض عيوب وأخطاء البرمجيات‬
‫(‪ )2‬خطأ السنة الكبيسة‪:‬‬
‫ُغرم أح‪+‬د المتاج‪+‬ر بمبل‪+‬غ ‪ $1000‬بس‪+‬بب إحتفاظ‪+‬ه باللح‪+‬م‬
‫يوما ً إضافيا ً ف‪++‬ي ‪ 29‬شباط (ف‪++‬براير) ‪1988‬م‪ ،‬ويعود‬
‫الخط‪++‬أ ف‪++‬ي ذل‪++‬ك إل‪++‬ى ال‪++‬برنامج الذي أس‪++‬تخدم لطباع‪++‬ة‬
‫تاري‪++‬خ إنتهاء الص‪++‬الحية الذي ل‪++‬م يتنب‪++‬ه إل‪++‬ى أ‪++‬ن العام‬
‫‪ 1988‬هو سنة كبيسة‪.‬‬
‫قرأ البرنامج أن شهر فبراير ‪ 28‬يوم‬
‫أمثلة لبعض عيوب وأخطاء البرمجيات‬
‫(‪ )3‬تصميم سيئ للواجهات‪:‬‬
‫ف‪+‬ي نيس‪+‬ان ‪ 1990‬غادر قطار ف‪+‬ي لندن المحط‪+‬ة دون أ‪+‬ن‬
‫يكون الس‪+++‬ائق عل‪+++‬ى متن‪+++‬ه‪ ،‬فق‪+++‬د ضغ‪+++‬ط الس‪+++‬ائق زر‬
‫اإلنطالق‪ ،‬لك‪+‬ن ال‪+‬برنامج كان مص‪+‬مما ً بحي‪+‬ث ال يتحرك‬
‫القطار حت‪+++‬ى تكون جمي‪+++‬ع أبواب‪+++‬ه مغلقة‪ .‬وكان أح‪+++‬د‬
‫األبواب عالقا ً فنزل الس‪+‬ائق ليحرره وم‪+‬ا إ‪+‬ن أغل‪+‬ق الباب‬
‫حتى إنطلق القطار دون سائقه‪.‬‬
‫أمثلة لبعض عيوب وأخطاء البرمجيات‬
‫(‪ )4‬األمن‪:‬‬
‫إرتف‪+++++‬ع عدد الحوادث األمني‪+++++‬ة الت‪+++++‬ي ُأبلِ‪+++++‬غ به‪+++++‬ا(‬
‫‪( CERT )Computer Emergency Response Team‬المرك‪+‬ز‬
‫الوطن‪++‬ي لإلس‪++‬تعداد لطواري الحاس‪++‬بات والشبكات) م‪++‬ن ‪252‬‬
‫حادثا ً ف‪++‬ي العام ‪1990‬م إل‪++‬ى ‪ 21.756‬حادثا ً ف‪++‬ي العام‬
‫(‪2000‬م) وبلغ أكثر من ‪ 40000‬حادثا ً في (‪2001‬م)‪.‬‬
‫هنالك تزايد بسبب سوء األمنية‬
‫أمثلة لبعض عيوب وأخطاء البرمجيات‬
‫(‪ )5‬التسليم ضمن المدة‪:‬‬
‫بع‪++‬د (‪ 18‬شهراً) م‪++‬ن التطوي‪++‬ر ت‪++‬م تس‪++‬ليم نظام لشرك‪++‬ة‬
‫تأمي‪+‬ن ص‪+‬حي ف‪+‬ي ويس‪+‬كنسون بلغ‪+‬ت كلفت‪+‬ه ‪ 200‬مليون‬
‫دوالر‪ ،‬غي‪+‬ر أ‪+‬ن النظام ل‪+‬م يك‪+‬ن يعم‪+‬ل بشك‪+‬ل ص‪+‬حيح!‬
‫إحتاج تعديل‪+‬ه إل‪+‬ى دف‪+‬ع كلف‪+‬ة إضافي‪+‬ة وص‪+‬لت إل‪+‬ى ‪60‬‬
‫مليون دوالر وإستغرق األمر ثالث سنوات!‬
‫المالح‪+‬ظ أ‪+‬ن جمي‪+‬ع األخطاء اآلنف‪+‬ة الذك‪+‬ر نتج‪+‬ت ع‪+‬ن أخطاء ف‪+‬ي البرمج‪+‬ة‪،‬‬
‫عال‪ ،+‬فه‪+‬ي‬
‫وف‪+‬ي الحقيق‪+‬ة تعت‪+‬بر ال‪+‬برمجيات مص‪+‬نوعات بشري‪+‬ة ذات تعقي‪+‬د ٍ‬
‫تقوم بوظائ‪+‬ف كثيرة‪ ،‬ويطل‪+‬ب منه‪+‬ا أ‪+‬ن تحق‪+‬ق أهدافا ً ق‪+‬د تكون ف‪+‬ي كثي‪+‬ر م‪+‬ن‬
‫األحيان متعارضة‪.‬‬
‫كم‪+‬ا أنه‪+‬ا تتأل‪+‬ف م‪+‬ن مكونات عديدة ومعقدة ف‪+‬ي ح‪+‬د ذاته‪+‬ا‪ ،‬وأ‪+‬ن المشاري‪+‬ع‬
‫البرمجي‪+‬ة تتعرض أثناء مراح‪+‬ل التطوي‪+‬ر لكثي‪+‬ر م‪+‬ن التغيي‪+‬ر ف‪+‬ي المتطلبات‬
‫بسبب تطور اإلحتياجات وتطور السوق‪.‬‬
‫أم‪+‬ا م‪+‬ن حي‪+‬ث التكلف‪+‬ة‪ ،‬فل‪+‬و تأملن‪+‬ا أس‪+‬عار األنظم‪+‬ة الحالي‪+‬ة‪ ،‬لوجدن‪+‬ا أ‪+‬ن أس‪+‬عار‬
‫البرمجيات قد تجاوزت بكثير أسعار التجهيزات‪.‬‬
‫ول‪+‬و تابعن‪+‬ا عملي‪+‬ة التطوي‪+‬ر ال‪+‬برمجي ع‪+‬ن كث‪+‬ب‪ ،‬لالحظن‪+‬ا أ‪+‬ن التكلف‪+‬ة المدفوع‪+‬ة‬
‫ف‪+‬ي ص‪+‬يانة ال‪+‬برمجيات تفوق تكلف‪+‬ة بنائه‪+‬ا‪ ،‬حت‪+‬ى أ‪+‬ن الدراس‪+‬ات ق‪+‬د بين‪+‬ت أ‪+‬ن‬
‫تكلفة الصيانة يمك‪+‬ن أ‪+‬ن تصل إل‪+‬ى عدة أضعاف تكلفة البناء ف‪+‬ي األنظم‪+‬ة الت‪+‬ي‬
‫تستمر في العمل (تعيش) لسنوات طويلة‪.‬‬
‫فمن الطبيعي إذاً أن نمعن النظر في العلم الذي يعنى ببناء هذه‬
‫ال برمجيات والذي يسمى هندسة البرمجيات‪ ،‬وما يحتويه من‬
‫نظريات ومنهجيات وأدوات للمحترفين‪.‬‬
‫مواصفات مهندس البرمجيات الـ‪Software Engineer‬‬

‫‪ -1‬شھادة متخصصة في مجال الحاسوب‪.‬‬


‫(‪) Information Technology, Computer Sciences‬‬
‫أو أي تخصص حاسوبي‪.‬‬
‫‪ -2‬خبرة ال تقل عن سنة في مجال التخصص (إنشاء وتصمیم‬
‫الأنظمة الحاسوبیة)‪.‬‬
‫‪ -3‬التحدیث المستمر لمعلوماتك والمتابعة الدائمة لكل جدید‪.‬‬
‫الفرق بین ألـ‪Software‬‬
‫و الـ‪Computer Programs‬‬
‫ھناك فرق رئیس وھو أ ن ألـ‪ Software‬ھي برام ج جاھزة‬
‫لإلستخدام وأداء المهام وموثقة واإلعتمادیة فیھا تكون عالیة‪ ،‬أما‬
‫بالنسبة للبرمجیات فھي برامج تكون معدة من قبل المبرمج ولكنھا‬
‫لیس ت نھائیة أ ي أنھ ا برام ج مبدئیة‪ ،‬ویكون الھدف فیھ ا تحقي ق‬
‫غرض معي ن (بحي ث ال یس تطیع التعام ل معھ ا إال الجهة المعدة‬
‫والمنتجة لها)‪.‬‬
‫م ع العل م أ ن مرحل ة الـ‪ Computers Programs‬أ و ال برمجیات‬
‫تكون مرحلیة ومن ثم تتحول الى ‪ Software‬فور‬
‫اإلنتھاء منھا‪.‬‬
‫ما هي البرمجيات ‪Software‬‬
‫ویمكننا أن نعرف الـ ‪ Software‬أنھا مصطلح عام يطلق على‬
‫أ ي برنام ج منفرد أومجموع ة م ن األنظم ة البرمجیة المس تقلة‬
‫والمترابطة مع بعضھا البعض وموثقة‪.‬‬

‫‪ ‬والمقصود ھنا بالمستقلة ‪ :‬أي لكل برنامج كیانه الخاص‪.‬‬


‫‪ ‬أما المقصود بالمترابطة ‪ :‬أي أن بینھا قنوات ربط‪.‬‬
‫أنواع البرمجیات ‪Software‬‬
‫ھناك نوعان من البرمجیات حسب اإلستخدام‪:‬‬
‫‪ )Generic Programs/1‬البرامج العامة)‬
‫وھي البرمجیات التي تكون منتجة ألغراض عامة ویمكن أن یستخدمھا أي‬
‫شخص وهي طورت لتناسب إحتياجات العديد من الزبائن المختلفين أو أي‬
‫شرك ة م ن الشركات مث ل معال ج النص وص ‪ ...Word،Excel‬أ ي كام ل‬
‫البرامج المكتبیة المنتجة من قبل شركة مایكروسوفت وغیرھا من البرامج‬
‫األخرى‪.‬‬
‫‪ )Bespoke Programs /2‬البرامج الخاصة)‬
‫وھي ال برامج المعدة خص یصاً للمس تخدم حیث تكون معدة حس ب مایری د‬
‫بناء عل ى المتطلبات الت ى‬
‫ً‬ ‫الزبون أ و الشرك ة الت ي طلب ت ھذا ال برنامج‬
‫يضعها‪ ،‬وعادة م ا تكون ذات حج م ص غير مقارن ة م ع ال برامج العام ة‬
‫اإلس تخدام‪ ،‬ومتعب ة ف ي نف س الوق ت للم برمج وتكون إیراداتھ ا أق ل م ن‬
‫البرامج العامة‪.‬‬
‫من خالل ما سبق یمكننا أن نحدد النقاط ألتي یجب على‬
‫المس تخدم أ ن یقوم بمراعاتھ ا قب ل وبع د وأثناء تص میمه ألح د‬
‫هذين النوعین من البرمجیات‪:‬‬
‫‪ -1‬الزمن‪: Time‬ونقصد بالزمن ثالث نقاط أساسیة‪:‬‬
‫–تحدید موعد تسلیم النظام‪.‬‬
‫–تحدید الفترة الزمنیة‪ :‬للمبرمجین إلنتاج ھذا النظام‪.‬‬
‫–تحدید سرعة النظام‪ :‬أو ما یسمى إستغالل موارد النظام‪.‬‬
‫‪- 2‬الجودة‪: Quality‬ویمكننا أن ننطر إلى الجودة من ثالث‬
‫وجھات نظر‪:‬‬
‫–المالك ‪ : Customer‬بالنسبة إلى المالك فإنه یھمه من ناحیة الجودة اآلتي‪:‬‬
‫(‪ )1‬تسلیم النظام في الموعد المحدد‪.‬‬
‫(‪ )2‬تحقیق اإلعتمادیة واألمنیة واألمان في النظام ‪.‬‬
‫‪Security)& (Reliability & Dependability‬‬
‫‪ -‬نقصد باإلعتمادیة تنفیذ األعمال من دون أخطاء‪.‬‬
‫‪ -‬الكفاءة (تنفیذ أكبر قدر ممكن من العملیات في أقصر وقت)‬
‫‪ -‬قابلیة الصیانة ‪ ) )Maintainability‬المرونة الكافیة للتعدیل في العملیات أو إضافتھا‬
‫أوتغییر الصالحیات والمستخدمین ‪.....‬‬
‫ب‪ -‬المستخدم ‪ : User‬ینظر المستخدم إلى جودة النظام من حیث‪:‬‬
‫‪ /1‬أن یكون مرن وسھل التعلم جید التصمیم ‪.‬‬
‫‪ /2‬اإلعتمادیة ‪.‬‬
‫‪ /3‬الكفاءة ‪.‬‬
‫ج‪ -‬المطور ‪:Engineer Software Or Developer‬‬
‫بالنسبة للجودة في نظر مھندس البرامجیات فھو ینظر لھا من‬
‫اإلتج ِھات اآلتية‪:‬‬
‫جدا‪.‬‬
‫‪ -‬عامل األمن واألمان یكون عالیاً ً‬
‫‪ -‬جودة التصمیم الخارجي ‪.Design‬‬
‫‪ -‬اإلعتمادیة ‪.‬‬
‫‪ -‬الكفاءة ‪.‬‬
‫‪ -‬قابلیة الصیانة‪.‬‬
‫معايير الجودة‬
‫• كیف یمكنن ا أ ن نحك م عل ى النظام بأن ه نظام جید أ و غیر جید‬
‫(المعاییر ألتي تحدد جودة النظام)‪:‬‬
‫‪ /1‬قابلیة الصیانة‪.‬‬
‫‪ /2‬الكفاءة‪.‬‬
‫‪ /3‬اإلعتمادیة‪.‬‬
‫‪ /4‬قابلیة اإلستخدام ‪ Usability‬ونقصد بھا مدى إمكانیة تعلم‬
‫النظام بسھولة‪.‬‬
‫(وتكون األنظمة متأرجحة ما بین تلك المعاییر بین صعود وھبوط‬
‫وبالتالي على مدى إمكانیة توفير تلك المعاییر تكون أفضلية األنظمة)‪.‬‬
‫ماهو الـ ‪Software Engineering )SE( :‬‬

‫یمكننا أن نعرف ھندسة البرمجیات بأنھا‪ :‬فرع من فروع المعرفة‬


‫والت ي تھت م بإنتاج وص ناعة وتطویرالـ ‪Software‬‬
‫(ال برمجیات) بشرط أ ن تكون ذات جودة عالیة وقليل ة التكلف ة‬
‫وتسلم في الوقت المناسب‪،‬‬
‫أ ي أ ن ھذه المادة یمكنن ا م ن خاللھ ا معرف ة أ ن النظام ذو جودة‬
‫عالیة أ و منخفض ة وبالتال ي یمك ن أ ن یحدد الس عر ل ه‪ ،‬وكذل ك‬
‫اإللتزام بمواعید التس لیم وكیفیة تحدی د الفترة الزمنیة لذل ك وف ق‬
‫معاییر وضوابط وشروط معینة‪.‬‬
‫الطبقات التقنیة لھندسة البرامجیات‬
‫(‪1 - )Tools‬ونقصد بھا قسمین رئیسیین‪:‬‬
‫– ‪Software‬‬
‫ب‪Hardware -‬‬
‫وال‪ : Software‬یراد بذلك ماھي اللغة البرمجیة‪ ،‬والتي سميت‬‫أ ً‬
‫إص طالحا بالأدوات والت ي س وف نس تخدمھا ف ي إنشاء النظام‬
‫بحیث تكون الإعتمادیة على النظام أعلى‪.‬‬
‫ثانیاً‪ Hardware :‬ويقص د ب ه ھو األدوات ألت ي س وف تس تخدم‬
‫للنظام من قطع ولوازم أخرى‪.‬‬
‫الطبقات التقنیة لھندسة البرامجیات‬
‫‪Methods: -2‬‬
‫وھي الطرق أو الخوارزمیات المختلفة إلنشاء وتصمیم النظام‬
‫أو البرنامج وكیفیة تدفق البیانات من وجھة نظر المھندس‪.‬‬
‫‪Development Process -3:‬‬
‫وھي الكود البرمجي وهو ما يعرف بالتطویر لأن المھندس یقوم‬
‫سواءا كان یدوي أم آلي‪.‬‬
‫ً‬ ‫بتطویر النظام الحالي‬
‫‪Focus on Quality -4:‬‬
‫حیث یج ب عل ى مھندس ال برامجیات التركیز عل ى الجودة ف ي ك ل مم ا‬
‫س بق بحیث أ ن ك ل طبق ة م ن الطبقات الس ابقة مرتبط ة ومعتمدة عل ى‬
‫الأخرى‪.‬‬
‫المسؤلیة األخالقیة واإلحترافیة‬
‫یجب على مھندس البرامجیات الإھتمام بالنقاط التالیة‪:‬‬
‫‪– 1‬الخص وصیة و(الس رية)‪ : Confidentiality‬خص وصیة‬
‫العمالء الذی ن يت م التعام ل معھ م‪ ،‬بحیث یج ب عل ي المھندس ین‬
‫الحفاظ علي أسرارھم‪ ،‬فعند تصمیم النظام یجب مراعاة ذلك‪.‬‬
‫‪– 2‬التخص صیة (المهارة)‪: Competence‬ال يض ع الشخ ص‬
‫نفسه في مكان لیس مكانه فیجب علیه تحدید تخصصه للعمیل‪.‬‬
‫‪- 3‬الحفاظ على حقوق الملكیة‪.‬‬
‫‪ – 4‬س وء إس تخدام الحاس وب‪ Misuse Computer :‬أ ن ال‬
‫یستخدم الحاسوب إال في الشئ الذي أعد من أجله‪.‬‬
‫األشیاء ألتي تعمل على رفع اإلعتمادیة‬
‫اإلعتمادیة هي مدى ثقة المنظمة بالنظام‪ ،‬أما الأشیاء ألتي تعمل‬
‫على رفع الأعتمادیة فھي‪:‬‬
‫‪( Hardware Reliability/1‬الوثوق بالمعدات)‬
‫فلو كان لدینا نظام ذو جودة عالیة لكن المعدات كانت ردیئة حتما ً ذلك یؤدي إلى‬
‫ضعف اإلعتمادية‪.‬‬
‫‪( Software Reliability /2‬الوثوق بالبرمجيات)‬
‫بالمث ل ل و أ ن المعدات عالیة المس توى وم ن ث م یكون النظام ردئ أ و أ ن تكون‬
‫قاعدة البیانات الخاصة بالنظام ضعیفة الحمایة فذلك یؤدي إلى ضعف الإعتمادیة‬
‫في النظام‪.‬‬
‫‪( Operator Reliability /3‬الوثوق بالمشغل)‬
‫ل و كان المس تخدم ال یجید إس تخدام النظام فق د یقوم بعم ل أشیاء تض ر بالمنظم ة‬
‫ككل‪.‬‬
‫األنظمة و بیئة العمل الخاصة بھا‬
‫یقصد بالبیئة بیئة العمل المحیطة بالنظام‪ ،‬و كذلك البیئة‬
‫الطبیعیة‪ ،‬فعندما تكون البیئة الخارجیة أو الطبیعیة سيئة أو غير‬
‫مناس بة ق د تؤث ر ف ي النطام كان یتاث ر النظام بدرج ة الحرارة‬
‫العالیة‪ ،‬أو أن یتفاعل مع الضغط المتزاید في الغرفة مثالً فیقوم‬
‫بإجراء معین وھكذا ‪...‬‬

You might also like