الأربعاء, أبريل 17, 2024
سوفت وير

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

Spread the love

يهدف هذا العلم الى بناء برمجيات عالية الجودة وقليلة التكلفة,بناء على اسس وقواعد يقوم عليها مجال هندسة البرمجيات, تسمي مراحل بناء النظام البرمجي.

ولد هذا العلم لمعالجة ماعرف ب”ازمة البرمجيات”التي ظهرت بعدم استخدام منهجية عند بناء البرمجيات التي كانت تؤدي الى كثرة الاخطاء وتكاليف زمنية ومالية.

هو احد فروع الهندسة الذي يهتم ببناء البرمجيات وتطويرها وصيانتها.

مراحل بناء البرنامج

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

دورة حياة النظام البرمجي هي عبارة عن تصورات ونمازج تصف عملية انتاج البرنامج والخطوات الازمة لذلك , وتنقسم الى دورات كلاسيكية ذات نمازج ثابتة ودورات حديثة تسمي المنظومة المرنة (Agile Process)التى  تعطي المزيد من المرونة والحرية للمشروع .

مثال لاحدي اشهر نمازج دورة حياة النظام الرمجي :

دورة الشلال(Waterfall Model)

  1. كتابة وثيقة الشروط الداخلية والخارجية

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

  1. التحليل

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

  1. التصميم

التصميم هي مرحلة من مراحل دورة حياة النظام تساعدنا في تحديد كيفية حل المشكلة , والتخطيط  للتوصل لحلول للمشكلة والدخول في تفاصيل النظام.التصميم يحدد هيكلية وبنية النظام من خلا ل تجزئة النظام الى المجموعة من الانظمة الفرعية(Sub-Systems) مما يساهم في السيطرة على التعقيد في النظام(System Complexity) وتحديد الواجهات ونوافذ المستخدم (User Interfaces) والمكونات (Components)والوحدات(Modules) والبيانات للنظام كي يحقق النظام متطلبات الزبون .

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

  1. الترميز

تحويل الخوارزميات والمخططات (Diagrams) التي تم انتاجها في مرحلة التصميم الى احدي لغات البرمجة لانتاج برنامج قابل للاستخدام من قبل الزبون. في هذه المرحلة تتم بعض الاختبارات (test) على بعض اجزاء النظام لاتأكد من عملة بطريقة صحيحة 

  1. الاختبار والتكاملية

تجمع الكتل مع بعضها ويختبر النظام للتأكد من موافقته لجدول الشروط والمواصفات، وخاصة إذا كانت الكتل قد كتبت من قبل عدة أعضاء في الفريق.

  1. التوثيق

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

  1. الصيانة والتطوير

إن هذه المرحلة هي المرحلة الأطول في حياة النظام البرمجي لبقاء النظام قادراً على مواكبة التطورات والمعدات الحديثة، جزء من هذه المرحلة يكون في تصحيح الأخطاء، والجزء الآخر يكون في التطوير وإضافة تقنيات جديدة. إن هذه الخطوات كما نلاحظ مشابهة لخطوات الإنتاج في الهندسيات الأخرى.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *