Professional Documents
Culture Documents
هندسة برامجيات
هندسة برامجيات
تقرير مقدم الى كلية شط العرب الجامعة االهلية _قسم علوم الحاسبات
المرحلة(الثالثة)كأحد
متطلبات االمتحان النهائي لمادة(هندسة البرمجيات)للعام الدراسي _2019
.2020
اعداد الطالب:
زين العابدين قصي سهيل
اشــــــــراف:
د .باسم سهر ياسين
بســــــــــــــــم هللا الرحمن الرحيم
ان ِع ْل ًما َوقَااَل ْال َح ْم ُد هَّلِل ِ الَّ ِذي ﴿َ ولَقَ ْد آتَ ْينَا َدا ُوو َد َو ُسلَ ْي َم َ
ين] ﴾ النمل[15 : ير ِم ْن ِعبَا ِد ِه ْال ُم ْؤ ِمنِ َ ضلَنَا َعلَى َكثِ ٍ فَ َّ
المحتويات
2
مفهوم هندسة البرمجيات______________________________________4
الحاجة إلى هندسة البرمجيات _______________________________5
المصادر_______________________________________________7
3
مفهوم هندسة البرمجيات
اللين
يتكون أي نظام حاسوبي /من شقين أساسيين :العتاد الصلب Hardwareوالعتاد ّ
،Softwareأو البرمجية .بالنسبة للعتاد الصلب ،فهو /كل ما نشاهده ونلمسه بشكل مباشر،
مثل الشاشة ،لوحة المفاتيح ،الفأرة ،اللوحة األم ،وغيرها.
المنتجات األخرى، ٍ
بالمقارنة مع ُ
البرمجية ( )Softwareهي شيء غير ملموس إلى حد ما ُ
ٍ
عمليات ُمعينة مثل وهي سلسلة من آالف أو ماليين األوامر التي تطلب من الحاسوب إجراء
عرض المعلومات ،أو إجراء الحسابات ،أو تخزين البيانات .هذه البرمجيات هي بمثابة الروح
والمتطلبات /والمهام/
توسع دائم وازدياد /في التّعقيد ُ
ٍ النظام الحاسوبي /وهي في
من الجسد في ّ
التي تقوم بتنفيذها.
ببساطة ،فإن مبدأ عمل أي نظام حاسوبي هو التكامل ما بين العتاد الصلب والبرمجيات.
فالعتاد الصلب هو القطع الفيزيائية المادية المسؤولة عن تنفيذ العمليات والوظائف التي
نريدها ،بينما البرمجيات فهي األوامر التي تخبر العتاد الصلب كيف يجب أن يتصرف
والطريقة التي يجب أن يتصرف بها.
أما هندسة البرمجيات ،فهي فرع من فروع الهندسة يقوم على مجموعة من األسس والقواعد
المستخدمين .هذا ٍ
التي تهدف إلى تصميم وتطوير /البرامج بوفرة ونوعية عالية تُ ّلبي احتياجات ُ
يتميز بأنه ال يحتاج إلى رأس مال كبير وبالتالي الخسارة فيه قليلة على
الفرع من الهندسة ّ
المتكاملة والجيدة عمل
عكس بقية الفروع األخرى من الهندسة ،كما ال يكفي إليجاد البرمجية ُ
شخص واحد وإ نما يتطلب ذلك فريقاً من المهندسين الجيدين .وقد /كان ضرورياً إيجاد علم
المتطفلين
يختص بهندسة البرمجيات /لوضع األسس والمعايير التي تصون هذه المهنة من ُ
بحيث ُيصبح باإلمكان تمييز البرنامج الجيد من غير الجيد.
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