مهندس برمجيات
مقدمة عن العمل > نماذج من أعمال مهندس البرمجيات

كتابة وثيقة الشروط الخارجية والداخلية
وثيقة الشروط الخارجية تُؤخذ من الزبون. تحتوي الوثيقة على متطلبات الزبون في ما يخص مواصفات البرنامج الذي يجب إنشاؤه. ثم تُحلل المتطلبات بشكل أولي ثم كتابة وثيقة شروط داخلية تحتوي على تفسير المواصفات التي يريدها الزبون بدقة أكبر، وبطريقة تتماشى مع مصطلحات المبرمجين. قد تكون طلبات الزبون متعارضة وفي هذه الحالة يُرجع إليه لتنقيح وثيقة الشروط. ثم يُحدّد عدد الساعات اللازمة للعمل وحساب التكلفة.
التحليل
في هذه العملية تجمع المعلومات بدقة ثم تحدد المتطلبات والمهام التي سيقوم بها البرنامج، وتوصف هذه المهام بدقة تامة، كما تدرس الجدوى المرجوة من البرنامج، فالمستخدم مثلاً يضع تصورًا للبرنامج ليقوم بعمليات معينة، ومهمة مهندس البرمجيات في هذه المرحلة هي استخلاص هذه الأفكار وتحديدها؛ لذلك فهي تتطلب مهارة عالية في التعامل مع الزبائن، وقدرة على التحليل الصحيح. ينتج في نهاية هذه المرحلة وثيقة تدعى جدول الشروط والمواصفات دينامكاميد.
التصميم
تصميم البرمجيات هي مرحلة من مراحل دورة حياة النظام، تساعدنا في تحديد كيفية حل المشكلة «كيف سنحل المشكلة؟»، والتخطيط للتوصل إلى حلول للمشكلة، والدخول في تفاصيل النظام. التصميم يحدد هيكلية وبنية النظام من خلال تجزأة النظام إلى مجموعة من الأنظمة الفرعية Sub-Systems مما يساهم في السيطرة على التعقيد في النظام System Complexity، وتحديد الواجهات ونوافذ المستخدم User Interfaces د، والمكونات Components، والوحدات Modules والبيانات للنظام كي يحقق النظام متطلبات الزبون. ونقوم بمرحلة التصميم باستخدام المتطلبات التي حددناها في مرحلة التحليل. خلال مرحلة التصميم يُوجِدُ التصميم الأمثل لنظام المعلومات الحاسوبي الذي يلبي احتياجات المستخدمين التي وُصفت في مرحلة التحليل. إن عملية التصميم في جوهرها هي عملية حل مشكلات، أي يجري البحث خلالها عن أفضل الحلول التصميمية لبناء نظم ذات أهداف محددة.
الترميز (كتابة الكود)
تحول الخوارزميات والمخططات Diagrams التي أُنتجت في مرحلة التصميم إلى إحدى اللغات البرمجية، وذلك لإنتاج برنامج أو نظام قابل للاستخدام من قبل الزبون، يلبي احتياجته الموضحة في وثيقة الشروط. خلال هذه المرحلة تتم بعض الاختبارات test على بعض أجزاء النظام للتاكد من عمله بطريقة صحيحة، علمًا ان مرحلة الاختبار Testing هي مرحلة منفصلة يتم العمل عليها لاحقاً.
الاختبار والتكاملية
تجمع الكتل مع بعضها ويختبر النظام للتأكد من موافقته لجدول الشروط والمواصفات، وخاصة إذا كانت الكتل قد كُتبت من قبل عدة أعضاء في الفريق.
التوثيق
وهي مرحلة هامة من مراحل بناء النظام البرمجي حيث يتم توثيق البناء الداخلي للبرنامج؛ وذلك بغرض الصيانة والتطوير. يفضل عادة أن يترافق التوثيق مع كل مرحلة من المراحل السابقة واللاحقة، وأن يكون هناك فريق خاص يهتم بعملية التوثيق لجميع المشاكل والحلول التي يمكن أن تظهر أثناء بناء البرمجية. وبدون التوثيق قد يصل مصنع البرمجية إلى مرحلة لا يعود بعدها قادراً على متابعة صيانتها وتطويرها؛ مما يزيد الكلفة المادية والزمنية الخاصة بهذه البرمجية إلى حدود غير متوقعة، أو بمعنى آخر الفشل في بناء برمجية ذات جودة عالية ودورة حياة طويلة. وهناك أكثر من طريقة للتوثيق -توثيق المبرمج وهو ممكن أن يكون بأضافة تعليقات داخل الشفرة البرمجية. -توثيق المحلل بكتابة مستندات شرح لدورة البرنامج المستندية وخلافة. -توثيق مختبر النظام وفيها تُسجل نقاط الخلل في البرنامج.
الصيانة والتطوير
إن هذه المرحلة هي المرحلة الأطول في حياة النظام البرمجي لبقاء النظام قادراً على مواكبة التطورات والمعدات الحديثة، جزءٌ من هذه المرحلة يكون في تصحيح الأخطاء، والجزء الآخر يكون في التطوير وإضافة تقنيات جديدة. إن هذه الخطوات كما نلاحظ مشابهة لخطوات الإنتاج في الهندسيات الأخرى.