نظرة عامة على هندسة البرمجيات Software Engineering Overview#
نظرة عامة على هندسة البرمجيات Software Engineering Overview#
دعونا أولاً نفهم ما ترمز إليه هندسة البرمجيات. يتكون المصطلح من كلمتين ، البرامج والهندسة.
البرنامج أكثر من مجرد رمز البرنامج. البرنامج عبارة عن رمز قابل للتنفيذ ، والذي يخدم بعض الأغراض الحسابية. يعتبر البرنامج مجموعة من رموز البرمجة القابلة للتنفيذ والمكتبات والوثائق المرتبطة بها. البرمجيات ، عندما صنعت لمتطلبات محددة تسمى منتج البرنامج.
الهندسة ، من ناحية أخرى ، تدور حول تطوير المنتجات ، وذلك باستخدام مبادئ وأساليب علمية واضحة المعالم.
هندسة البرمجيات هي فرع هندسي مرتبط بتطوير منتجات البرمجيات باستخدام مبادئ وأساليب وإجراءات علمية واضحة المعالم. نتائج هندسة البرمجيات هي منتج برامج فعال وموثوق.
التعاريف
يعرّف IEEE هندسة البرمجيات بأنها:
(1) تطبيق نهج منهجي ومنضبط وقابل للقياس لتطوير البرمجيات وتشغيلها وصيانتها ؛ وهذا هو ، تطبيق الهندسة على البرمجيات.
(2) دراسة النهج كما في البيان أعلاه.
يعرف فريتز باور ، عالم الكمبيوتر الألماني ، هندسة البرمجيات بأنها:
هندسة البرمجيات هي إنشاء واستخدام مبادئ هندسة الصوت من أجل الحصول على برامج اقتصادية موثوقة وتعمل بكفاءة على الأجهزة الحقيقية.
تطور البرمجيات
يشار إلى عملية تطوير منتج برنامج باستخدام مبادئ وأساليب هندسة البرمجيات باسم تطور البرمجيات. يتضمن ذلك التطوير الأولي للبرنامج وصيانته وتحديثاته ، حتى يتم تطوير منتج البرنامج المطلوب ، والذي يفي بالمتطلبات المتوقعة.
التطور يبدأ من عملية جمع المتطلبات. بعد ذلك يقوم المطورون بإنشاء نموذج أولي للبرنامج المقصود وعرضه على المستخدمين للحصول على تعليقاتهم في المرحلة المبكرة من تطوير منتجات البرنامج. يقترح المستخدمون تغييرات ، والتي تتغير فيها العديد من التحديثات والصيانة المتتالية أيضًا. تتغير هذه العملية إلى البرنامج الأصلي ، حتى يتم إنجاز البرنامج المطلوب.
حتى بعد أن يكون لدى المستخدم البرنامج المطلوب ، فإن التكنولوجيا المتقدمة والمتطلبات المتغيرة تجبر منتج البرنامج على التغيير وفقًا لذلك. إن إعادة إنشاء البرنامج من نقطة الصفر والانتقال مع المتطلبات الفردية أمر غير ممكن. الحل الوحيد الممكن والاقتصادي هو تحديث البرنامج الحالي لمطابقة أحدث المتطلبات.
قوانين تطور البرمجيات
أعطى ليمان قوانين لتطوير البرمجيات. قام بتقسيم البرنامج إلى ثلاث فئات مختلفة:
S-type (نوع ثابت) - هذا برنامج يعمل بدقة وفقًا للمواصفات والحلول المحددة. الحل وطريقة تحقيقه ، يتم فهمهما على الفور قبل الترميز. البرنامج الأقل نوعًا عرضة للتغييرات ، وهذا هو أبسط شيء على الإطلاق. على سبيل المثال ، برنامج آلة حاسبة لحساب الرياضية.
نوع P (نوع عملي) - هذا برنامج يحتوي على مجموعة من الإجراءات. يتم تعريف هذا بالضبط ما يمكن أن تفعله الإجراءات. في هذا البرنامج ، يمكن وصف المواصفات ولكن الحل ليس واضحًا على الفور. على سبيل المثال ، برامج الألعاب.
E-type (نوع مضمن) - يعمل هذا البرنامج عن كثب كشرط لبيئة العالم الحقيقي. يحتوي هذا البرنامج على درجة عالية من التطور حيث توجد تغييرات مختلفة في القوانين والضرائب وما إلى ذلك في مواقف العالم الحقيقي. على سبيل المثال ، برنامج التداول عبر الإنترنت.
تطور البرمجيات من النوع E
تطور البرمجيات من النوع E
أعطى ليمان ثمانية قوانين لتطوير البرمجيات من النوع E -
التغيير المستمر - يجب أن يستمر نظام البرمجيات من النوع E في التكيف مع التغيرات في العالم الحقيقي ، وإلا يصبح أقل فائدة بشكل تدريجي.
زيادة التعقيد - مع تطور نظام البرمجيات من النوع E ، يميل التعقيد إلى الزيادة ما لم يتم العمل للحفاظ عليه أو الحد منه.
الحفاظ على الألفة - الإلمام بالبرنامج أو معرفة كيفية تطويره ، ولماذا تم تطويره بهذه الطريقة بالذات ، وما إلى ذلك ، يجب الإبقاء عليه بأي ثمن ، لتنفيذ التغييرات في النظام.
نمو مستمر- من أجل نظام من النوع E يهدف إلى حل بعض مشكلات الأعمال ، يزداد حجم تطبيق التغييرات وفقًا لتغيرات نمط الحياة في العمل.
خفض الجودة - ينخفض نظام البرمجيات من النوع E في الجودة ما لم تتم صيانته وتكييفه بدقة مع بيئة تشغيل متغيرة.
أنظمة التغذية المرتدة - تشكل أنظمة البرمجيات من النوع E أنظمة تغذية مرتدة متعددة الحلقات ومتعددة المستويات ويجب معاملتها على أنها قابلة للتعديل أو التحسين بنجاح.
التنظيم الذاتي - تعد عمليات تطوير النظام من النوع E ذاتية التنظيم مع توزيع مقاييس المنتج والعمليات بالقرب من المعتاد.
الاستقرار التنظيمي - يعد متوسط معدل النشاط العالمي الفعال في نظام متطور من نوع E ثابتًا طوال عمر المنتج.
نماذج البرامج
تشير نماذج البرامج إلى الأساليب والخطوات التي يتم اتخاذها أثناء تصميم البرنامج. هناك العديد من الطرق المقترحة وهي تعمل اليوم ، لكننا بحاجة إلى معرفة موقع نماذج البرامج هذه. يمكن دمجها في فئات مختلفة ، على الرغم من أن كل واحدة منها موجودة في بعضها البعض:
نموذج البرمجة هو مجموعة فرعية من نموذج تصميم البرمجيات والذي يعد أيضًا مجموعة فرعية من نموذج تطوير البرامج.
نموذج تطوير البرمجيات
يعرف هذا النموذج باسم نماذج هندسة البرمجيات حيث يتم تطبيق جميع المفاهيم الهندسية المتعلقة بتطوير البرمجيات. ويشمل البحث وجمع المتطلبات المختلفة التي تساعد على بناء منتج البرنامج. يتكون من -
جمع المتطلبات
تصميم البرمجيات
برمجة
نموذج تصميم البرمجيات
هذا النموذج هو جزء من تطوير البرمجيات ويشمل -
تصميم
صيانة
برمجة
نموذج البرمجة
يرتبط هذا النموذج ارتباطًا وثيقًا بالجانب البرمجي لتطوير البرامج. وهذا يشمل -
الترميز
تجريب او الإختبار
التكامل
الحاجة إلى هندسة البرمجيات
تنشأ الحاجة إلى هندسة البرمجيات بسبب ارتفاع معدل التغير في متطلبات المستخدم والبيئة التي يعمل عليها البرنامج.
برنامج كبير - من الأسهل بناء جدار من المنزل أو المبنى ، كذلك ، نظرًا لأن حجم البرنامج يصبح هندسة كبيرة يجب أن يتدخل لإعطائه عملية علمية.
قابلية التوسع - إذا لم تكن عملية البرنامج قائمة على المفاهيم العلمية والهندسية ، فسيكون إعادة إنشاء برامج جديدة أسهل من توسيع نطاق برنامج موجود.
التكلفة - كما أظهرت صناعة الأجهزة مهاراتها والتصنيع الضخم خفضت سعر الكمبيوتر والأجهزة الإلكترونية. ولكن تظل تكلفة البرنامج مرتفعة إذا لم يتم تكييف العملية المناسبة.
الطبيعة الديناميكية - تعتمد الطبيعة المتنامية والمتكيفة للبرامج اليوم على البيئة التي يعمل فيها المستخدمون. إذا كانت طبيعة البرنامج تتغير دائمًا ، فيجب إجراء تحسينات جديدة في التحسينات الحالية. هذا هو المكان الذي تلعب فيه هندسة البرمجيات دورًا جيدًا.
إدارة الجودة - توفر عملية تطوير البرمجيات بشكل أفضل منتج برامج أفضل وجودة.
خصائص البرنامج الجيد
يمكن الحكم على منتج البرنامج وفقًا لما يقدمه ومدى إمكانية استخدامه. يجب أن يفي هذا البرنامج بالأسباب التالية:
تشغيل
انتقالي
صيانة
من المتوقع أن يكون للبرنامج الذي تم تصميمه جيدًا وصياغة الخصائص التالية:
تشغيل
هذا يخبرنا كيف يعمل البرنامج بشكل جيد في العمليات. يمكن قياسه على:
الميزانيات
الاستخدام
كفاءة
صحة
وظائف
الجدارة
أمن
سلامة
انتقالي
هذا الجانب مهم عندما يتم نقل البرنامج من منصة إلى أخرى:
قابلية
التوافقية
إعادة استخدام
تكيف
صيانة
يشرح هذا الجانب مدى قدرة البرنامج على الحفاظ على نفسه في بيئة دائمة التغير:
نمطية
الصيانة
مرونة
التدرجية
باختصار ، هندسة البرمجيات هي فرع من فروع علوم الكمبيوتر ، والتي تستخدم مفاهيم هندسية محددة جيدًا مطلوبة لإنتاج منتجات برامج فعالة ودائمة وقابلة للتطوير وفي الميزانية وفي الوقت المحدد.
التسميات: Software Engineering هندسة البرمجيات#
<< الصفحة الرئيسية