You are on page 1of 8

‫وزارة التعليم العالي والبحث العلمي‬

‫كلية شط العرب الجامعة االهلية‬

‫قسم علوم الحاسبات‬

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

‫تقرير مقدم الى كلية شط العرب الجامعة االهلية _قسم علوم الحاسبات‬
‫المرحلة(الثالثة)كأحد‬
‫متطلبات االمتحان النهائي لمادة(هندسة البرمجيات)للعام الدراسي ‪_2019‬‬
‫‪.2020‬‬

‫اعداد الطالب‪:‬‬
‫زين العابدين قصي سهيل‬

‫اشــــــــراف‪:‬‬
‫د‪ .‬باسم سهر ياسين‬
‫بســــــــــــــــم هللا الرحمن الرحيم‬

‫ان ِع ْل ًما َوقَااَل ْال َح ْم ُد هَّلِل ِ الَّ ِذي‬ ‫﴿‪َ  ‬ولَقَ ْد آتَ ْينَا َدا ُوو َد َو ُسلَ ْي َم َ‬
‫ين‪] ﴾ ‬النمل‪[15 :‬‬ ‫ير ِم ْن ِعبَا ِد ِه ْال ُم ْؤ ِمنِ َ‬ ‫ضلَنَا َعلَى َكثِ ٍ‬ ‫فَ َّ‬

‫المحتويات‬

‫‪2‬‬
‫مفهوم هندسة البرمجيات______________________________________‪4‬‬
‫الحاجة إلى هندسة البرمجيات _______________________________‪5‬‬

‫عالقة هندسة البرمجيات مع التخصصات األخرى______________________‪5‬‬

‫لماذا هندسة البرمجيات‪ /‬شائعة__________________________________‪6‬‬

‫المصادر_______________________________________________‪7‬‬

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

‫اللين‬
‫يتكون أي نظام حاسوبي‪ /‬من شقين أساسيين‪ :‬العتاد الصلب ‪ Hardware‬والعتاد ّ‬
‫‪ ،Software‬أو البرمجية‪ .‬بالنسبة للعتاد الصلب‪ ،‬فهو‪ /‬كل ما نشاهده ونلمسه بشكل مباشر‪،‬‬
‫مثل الشاشة‪ ،‬لوحة المفاتيح‪ ،‬الفأرة‪ ،‬اللوحة األم‪ ،‬وغيرها‪.‬‬
‫المنتجات األخرى‪،‬‬ ‫ٍ‬
‫بالمقارنة مع ُ‬
‫البرمجية (‪ )Software‬هي شيء غير ملموس إلى حد ما ُ‬
‫ٍ‬
‫عمليات ُمعينة مثل‬ ‫وهي سلسلة من آالف أو ماليين األوامر التي تطلب من الحاسوب إجراء‬
‫عرض المعلومات‪ ،‬أو إجراء الحسابات‪ ،‬أو تخزين البيانات‪ .‬هذه البرمجيات هي بمثابة الروح‬
‫والمتطلبات‪ /‬والمهام‪/‬‬
‫توسع دائم وازدياد‪ /‬في التّعقيد ُ‬
‫ٍ‬ ‫النظام الحاسوبي‪ /‬وهي في‬
‫من الجسد في ّ‬
‫التي تقوم بتنفيذها‪.‬‬
‫ببساطة‪ ،‬فإن مبدأ عمل أي نظام حاسوبي هو التكامل ما بين العتاد الصلب والبرمجيات‪.‬‬
‫فالعتاد الصلب هو القطع الفيزيائية المادية المسؤولة عن تنفيذ العمليات والوظائف التي‬
‫نريدها‪ ،‬بينما البرمجيات فهي األوامر التي تخبر العتاد الصلب كيف يجب أن يتصرف‬
‫والطريقة التي يجب أن يتصرف بها‪.‬‬
‫أما هندسة البرمجيات‪ ،‬فهي فرع من فروع الهندسة يقوم على مجموعة من األسس والقواعد‬
‫المستخدمين‪ .‬هذا‬ ‫ٍ‬
‫التي تهدف إلى تصميم وتطوير‪ /‬البرامج بوفرة ونوعية عالية تُ ّلبي احتياجات ُ‬
‫يتميز بأنه ال يحتاج إلى رأس مال كبير وبالتالي الخسارة فيه قليلة على‬
‫الفرع من الهندسة ّ‬
‫المتكاملة والجيدة عمل‬
‫عكس بقية الفروع األخرى من الهندسة‪ ،‬كما ال يكفي إليجاد البرمجية ُ‬
‫شخص واحد وإ نما يتطلب ذلك فريقاً من المهندسين الجيدين‪ .‬وقد‪ /‬كان ضرورياً إيجاد علم‬
‫المتطفلين‬
‫يختص بهندسة البرمجيات‪ /‬لوضع األسس والمعايير التي تصون هذه المهنة من ُ‬
‫بحيث ُيصبح باإلمكان تمييز البرنامج الجيد من غير الجيد‪.‬‬

‫فريدريخ باور (‪-1924‬‬


‫‪ )2015‬عالم حواسيب ألماني‪،‬‬
‫ساهم بوضع التعريف األساسي‪/‬‬
‫لهندسة البرمجيات خالل مؤتمر‬
‫حلف شمال األطلسي في عام‬
‫‪.1967‬‬

‫‪4‬‬
‫الحاجة إلى هندسة البرمجيات‬

‫تنشأ الحاجة إلى هندسة البرمجيات بسبب ارتف‪//‬اع مع‪/‬دل التغي‪//‬ير في متطلب‪/‬ات المس‪//‬تخدم والبيئ‪/‬ة‬
‫التي يعمل عليها البرنامج‪.‬‬

‫نظرا ألن‬
‫البرامج الكبيرة ‪ -‬من‪ ‬األسهل بناء جدار من منزل أو مبنى ‪ ،‬وبالمثل ‪ً ،‬‬ ‫‪‬‬
‫كبيرا في الهندسة ‪ ،‬يجب أن تتقدم إلعطائه عملية علمية‪.‬‬
‫حجم البرامج يصبح ً‬
‫قابلية التوسع ‪ -‬إذا لم تكن عملية البرمجيات تستند إلى مفاهيم علمية وهندسية ‪،‬‬ ‫‪‬‬
‫فسيكون من األسهل إعادة إنشاء برنامج جديد بدالً من توسيع نطاق‪ /‬البرنامج الحالي‪.‬‬
‫التكلفة ‪ -‬حيث أظهرت صناعة األجهزة مهاراتها‪ /‬وخفض التصنيع الضخم سعر‬ ‫‪‬‬
‫الكمبيوتر‪ /‬واألجهزة اإللكترونية‪ .‬لكن تكلفة البرامج ال تزال مرتفعة إذا لم يتم تكييف‬
‫العملية المناسبة‪.‬‬
‫طبيعة ديناميكية ‪ -‬تعتمد‪ ‬الطبيعة المتزايدة‪ ‬والمتكيفة‪ ‬للبرمجيات بشكل كبير على‬ ‫‪‬‬
‫دائما ‪ ،‬فيجب إجراء‬
‫البيئة التي يعمل فيها المستخدم‪ .‬إذا كانت طبيعة البرنامج تتغير ً‬
‫تحسينات جديدة في التحسينات الحالية‪ .‬هذا هو المكان الذي تلعب فيه هندسة‬
‫جيدا‪.‬‬
‫دورا ً‬
‫البرمجيات ً‬
‫إدارة الجودة ‪ -‬توفر‪ ‬عملية أفضل لتطوير البرامج منتج برامج أفضل وجودة‪.‬‬ ‫‪‬‬

‫عالقة هندسة البرمجيات مع التخصصات األخرى‬

‫‪‬‬
‫علوم الكمبيوتر‪ :‬يعطي األساس العلمي للبرنامج حيث تعتمد الهندسة الكهربائية بشكل‬
‫أساسي على الفيزياء‪.‬‬
‫‪ ‬علم اإلدارة‪ :‬هندسة البرمجيات‪ /‬هي عمل مكثف العمالة يتطلب التحكم الفني‬ ‫‪‬‬
‫واإلداري‪ .‬لذلك ‪ ،‬يتم استخدامه على نطاق واسع في علم اإلدارة‪.‬‬
‫‪ ‬االقتصاد‪ :‬في هذا القطاع ‪ ،‬تساعدك هندسة البرمجيات‪ /‬في تقدير الموارد‪ /‬ومراقبة‬ ‫‪‬‬
‫التكاليف‪ .‬يجب تطوير‪ /‬نظام الحوسبة ‪ ،‬ويجب الحفاظ على البيانات بانتظام‪ /‬ضمن‬
‫ميزانية معينة‪.‬‬

‫‪5‬‬
‫‪ ‬هندسة النظام‪ :‬معظم البرامج هي مكون لنظام أكبر بكثير‪ .‬على سبيل المثال ‪،‬‬ ‫‪‬‬
‫البرنامج في نظام مراقبة الصناعة أو برنامج الطيران على متن طائرة‪ .‬يجب تطبيق‪/‬‬
‫طرق هندسة البرمجيات لدراسة هذا النوع من األنظمة‪.‬‬

‫لماذا هندسة البرمجيات شائعة‬

‫‪ ‬أسباب مهمة وراء شعبية هندسة البرمجيات‬

‫‪6‬‬
‫‪‬‬
‫جدا بناء جدار من منزل أو‬
‫برامج كبيرة‪ - ‬في حياتنا الواقعية ‪ ،‬من المريح ً‬
‫كبيرا ‪ ،‬تساعدك هندسة البرامج‬
‫مبنى‪ .‬بنفس الطريقة ‪ ،‬عندما يصبح حجم البرنامج ً‬
‫على بناء البرنامج‪.‬‬
‫قابلية التوسع ‪ -‬إذا‪ ‬كانت‪ ‬عملية تطوير‪ /‬البرمجيات‪ ‬تستند إلى مفاهيم علمية‬ ‫‪‬‬
‫وهندسية ‪ ،‬فمن األسهل إعادة إنشاء برنامج جديد لتوسيع نطاق البرنامج الحالي‪.‬‬
‫القدرة على التكيف‪ : ‬كلما كانت عملية البرنامج تعتمد على العلوم والهندسة ‪ ،‬فمن‬ ‫‪‬‬
‫السهل إعادة إنشاء برنامج جديد بمساعدة هندسة البرمجيات‪.‬‬
‫التكلفة ‪ -‬أظهرت صناعة األجهزة مهاراتها وخفض التصنيع الضخم تكلفة الكمبيوتر‪/‬‬ ‫‪‬‬
‫واألجهزة اإللكترونية‪.‬‬
‫دائما‪ .‬يعتمد ذلك على‬
‫‪ - Dynamic Nature‬الطبيعة‪ ‬المتنامية والمتكيفة للبرنامج ً‬ ‫‪‬‬
‫البيئة التي يعمل فيها المستخدم‪.‬‬
‫إدارة الجودة‪ : ‬يقدم طريقة أفضل لتطوير البرمجيات لتوفير منتجات برمجيات عالية‬ ‫‪‬‬
‫الجودة‪.‬‬

‫المصادر‬

‫‪https://www.4electron.com/2015/05/4409/‬‬

‫‪https://www.guru99.com/what-is-software-engineering.html‬‬
‫‪ Abran et al. 2004, pp. 1–1‬‬

‫‪7‬‬
^ ACM (2007). "Computing Degrees & Careers". ACM.
Retrieved 2010-11-23.
^ Laplante, Phillip (2007). What Every Engineer Should Know
about Software 

You might also like