اذهب إلى المحتوى
  • 0

ما هي هندسة البرمجيات

Muhammed Hacibrahim

السؤال

Recommended Posts

  • 1

وعليكم السلام ورحمة الله وبركاته

هناك عدة تعريفات لهندسة البرمجيات ولكن وفقاُ لويكيبيديا

اقتباس

هندسة البرمجيات (بالإنجليزية: Software Engineering)‏ المجال الذي يهتم بتطوير، وتصميم البرمجيات، عالية الجودة آخذة بعين الاعتبار تخصيصات المستخدم، ومتطلباته على جميع المستويات. تهتم هندسة البرمجيات بتكوين البرنامج منذ مراحله الأولى أثناء تحليل المشكلة، ومن ثم التصميم، وكتابة البرنامج حتى القيام بتجريبه، واختباره، وتنصيبه على الأجهزة، والقيام بعملية صيانته. وهي حديثاً يمكن أن تنقسم لقسمين الحوسبة اللينة والحوسبة الصلبة

حيث هندسة البرمجيات تتكون من عدة مراحل كما هي مذكورة في التعريف اما البرمجة فقط فهي جزء من هندسة البرمجيات والفرق كالآتي

اقتباس

البرمجة هي كتابة الكود المصدري للبرنامج، وبالتالي تعتبر جزء من مرحلة التنفيذ (Implementation) في هندسة البرمجيات التي تعمل على بناء النظام البرمجي كمشروع متكامل.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

التعريفات و الأفكار حول هندسة البرمجيات متفاوتة و كثيرة . و قد يصب مجملها و سياقها العام في مفهوم واحد جامع . بحيث يمكن القول على أنها فرع من فروع الهندسة حيث يقوم على مجموعة من الأسس التي تهدف إلى تصميم و تطوير البرامج بجودة عالية تلبي بالدرجة الأولى احتياجات المُستخدمين . 

يمكن أيضا الاستعانة ببعض المراجع و المصادر العالمية في التعريف بها : 

اقتباس

” هي الفرع الهندسي المختص باستخدام الطرق المنهجية والقابلة للقياس، من أجل تطوير وتشغيل وصيانة البرامج. أي أنها علم تطبيق الهندسة في مجال البرامج “.

و أيضا :

اقتباس

” هندسة البرمجيات هي عملية بناء واستخدام المبادئ الهندسية المعروفة من أجل الحصول على برنامجٍ اقتصاديّ، والذي يتميز بكونه موثوق ويعمل بكفاءة على الآلات الحقيقية”.

مما سبق يمكن فهم أن هندسة البرمجيات ليست كتابة شيفرة أو تكويدا و فقط , فمثل ما شرح المدرب عبد الحميد في تعليق سابق هي جزء من مرحلة التنفيذ .

يمكن من هذا إستنتاج أن هندسة البرمجيات عملية إنتاجية لها عدة مراحل أساسية وضرورية للحصول على المُنتج البرمجي النهائي . بحيث يكون الهدف النهائي من أي برنامج هو الحصول على أفضل كفاءة ممكنة بأقل كلفة ممكنة. 

بحيث يطلق على مجمل هذه المراحل اسم دورة حياة تطوير النظام البرمجي أو بالإنجليزية : Software Development Life Cycle , و اختصارها " SDLC " . و كون فلسفاتها و نماذج بناءها كثيرة و متفاوتة سنأخذ أحد النماذج الكلاسيكية مثالا , هذا النموذج يعرف بنموذج الشلال أو Waterfall Model . 

لنقل أن هندسة البرمجيات وفق هذا النموذج تتبع بشكل عام المراحل التالية : 

  1. تحليل المتطلبات Requirement Analysis : في هاته المرحلة يتم تجميع المتطلبات لفهم المشكلة و متطلبات الزبون أو المشروع ، هنا أيضا يتم تقسيم أو توزيع كل موضوع كبير أو معقد إلى اجزاء اصغر من اجل اكتساب فهم أفضل وأسهل للمشكلة والاهداف .
  2. التصميم Design : في هاته المرحلة يتم تصميم حلول للمتطلبات التي جمعناها، عملية تحتوي على انشطة معينة مثل صياغة وترتيب، لتحقيق الاهداف , و لا يعنى بالتصميم التصميم بمعناه و إنما تصميم حلول افتراضية أو منمذجة في مخططات لأفضل ما يليق أو ما قد يليق بالمشروع .  

  3. التنفيذ Implementation : بعد تحديد المتطلبات والأهداف والاتفاق على لغة البرمجة ووضع الخطوط الأساسية للبرنامج وبنيته، يقوم الفريق بتنفيذ “ نموذج أولي Prototype ” للبرنامج .

  4. الاختبار Testing : في مرحلة الاختبار، يقوم الفريق باختبار البرنامج والتأكد من أنه يقوم بكافة الوظائف المطلوبة أو يتناسب مع المتطلبات التي تم تحديدها مسبقا .

  5. التطوير Evolution : يقوم الفريق بالبحث عن سبل تطوير البرنامج أو تطويره إنطلاقا من MVP (الحد الأدنى للمنتج أو Minimum Viable Product) . يتم اقتراح و إضافة ميزات جديدة له، كما تتم ماقشة إمكانية أو سبل جعله أكثر فاعلية وأكثر كفاءة .

المخطط التالي يشرح خطوات النموذج :

1(2).thumb.png.dfa8c70c0f0a204d4fdcc10c32756c46.pngو بالتالي فإنها عملية منهجية و منظمة للغاية , و في الغالب تتم بالتنسيق بين فرق من مجالات مختلفة .

يمكنك الاستزادة عن طرييق قراءة المقالات التالية : 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هندسة البرمجيات تعني بناء product جديد أو نظم جديدة أو التعديل وتطوير النظم القديمة وتحسين أخطائها إذا وجدت في تلك النظم بعض الأخطاء وكذلك تعني اكتشاف المشاكل الموجودة مسبقا حيث ان النظام هو مجموعة مكونات أو أجزاء تتفاعل مع بعضها البعض لتحقيق أهداف معينة وتلك الأهداف هي المرغوب بوجودها لحل بعض المشاكل الحياتية. وهندسة البرمجيات هي عبارة عن البرامج مع الdata  مع التوثيق ولانقصد هنا بالتوثيق وضع ال comments بين الاسطر فقط بل نعني بذلك أيضا توثيق كل الخطوات التي تقوم بها في تطوير أي نظام برمجي في كل مراحله من تحليل وتصميم وتنجيز واختبار وصيانة وذلك برسم المخططات في كل مرحلة من تلك المراحل وبالتالي في حال حدوث أي مشكلة عند تطوير النظام أو عند اختباره يمكننا العودة الى المخططات ومعرفة مكان المشكلة وحلها.
ويمكننا القول أن هندسة البرمجيات هي فرع من فروع علم الحاسوب المسؤولة عن تطوير البرمجيات وذلك من لحظة الفكرة وحتى لحظة خروجها عن الخدمة. والفرق بينها وبين هندسة النظم هو أن هندسة البرمجيات تركز على المواضيع البرمجية بشكل مطلق أما هندسة النظم فهي تركز على كل شيء فتشمل الhardware والsoftware وهي أوسع واشمل من هندسة البرمجيات. مثال:
نظام لإدارة الموارد البشرية لكن بعد 10سنوات أصبح هذا النظام قديم جداً لذلك تقوم هندسة البرمجيات باختيار أحد حلين
* أما أن نستبدل ذلك النظام بنظام برمجي آخر جديد.
*أو أن تقوم بتطوير النظام نفسه وذلك بتحسين أخطائه وإضافة خدمات جديدة وإلى ما هنالك.
 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...