Admin Admin
عدد المساهمات : 59 تاريخ التسجيل : 20/05/2009 العمر : 37
| موضوع: ماهي هندسة البرمجيات.....؟ الثلاثاء مايو 26, 2009 4:56 pm | |
| ما هي هندسة البرمجيات ؟
كل ما يرد في هذه المقالة يأتي من فهمي لهذا التخصص وذلك للتبسيط فقط وهو على شكل حوار وأسئله سأجيب عليها .. !
مدخل .. تخيل انك تريد عمل منزل ؟ ستذهب بالطبع لمهندس معماري وتذكر له احتياجاتك بدقة وسيقوم بعمل مخطط واضح لا يمكن للمقاول الخروج عليه، وبعدها ستذهب للمقاول لبدء البناء وفق المخطط. هنا مهندس البرمجيات هو المهندس المعماري ، والمبرمج هو المقاول ، وأنت العميل ، والمبنى هو البرنامج. هذا التشبيه لإعطاء فكره عامة فقط
هندسة البرمجيات ؟ سميت هندسة لأنها تتّبع خطوات محددة لإنشاء برامج على مستوى عالي من الجودة وفق الوقت المحدد والميزانية المحددة.
ذكرت بأن هناك خطوات، ما هي ؟ الخطوات كالتالي: - مرحلة جمع المتطلبات: وتعني معرفة ماذا يريد العميل بشكل واضح جداً ولا يقبل الالتباس. - مرحلة التصميم: وهي مرحلة البدء بعمل الرسومات الخاصة بالبرنامج المقترح وهي مجموعة من الرسومات المتعارف عليها بمصطلح UML أو “لغة النماذج الموحدة” Unified Modeling Language بحيث يستطيع أي مبرمج فهمها والبدء بالبرمجة بناءً عليها مباشرة. - مرحلة كتابة البرنامج: وهي مرحلة تحويل الرسومات الخاصة بالتصميم إلى شيفرة برمجية قابلة للتشغيل. - مرحلة الاختبار: وهي الخطوة الأخيرة قبل تسليم البرنامج وتحتوي على عدة اختبارات منها ( مدى مطابقته لرغبة العميل - رضى العميل - سهولة الاستخدام - .. وغيرها ) - مرحلة الصيانة ( وهذه المرحلة ليست دائمة وتعتمد على العقد مع العميل ) : وتكون بتطبيق التعديلات الضرورية وفق رغبة العميل وتحسين أداء البرنامج وعمل صيانة دورية له
وأين هو مهندس البرمجيات ؟ ما عمله ؟ وظيفة مهندس البرمجيات تأتي في الربط ما بين المبرمج والعميل بحيث يقوم مهندس البرمجيات بعمل اللقاءات مع العميل ومحاولة معرفة احتياجاته ومشاكله الحالية وحلها بطريقة مناسبة عن طريق تصميم برامج توافق تطلعات العميل ووفق امكانياته.
إذن، هل مهندس البرمجيات ليس بمبرمج ؟ على العكس, يجب أن يكون متعمق في البرمجة بشكل كبير جداً لكي يعطي أفضل تصميم للبرنامج الذي يحل مشكلة العميل , وهو ما نقوم به في جامعة البترول حيث ندرس مادتي برمجة إضافية ليست مطلوبة من قسم علوم الحاسب.
هل تقصد بأن مهندس البرمجيات أفضل من طالب علوم الحاسب ؟ لا يوجد مقارنة, لأن لكل منهم مجاله الذي يبدع فيه ويتفوق فيه على الآخر , فمثلاً يتفوق طالب علوم الحاسب على مهندس البرمجيات ربما في عمل مترجمات اللغات, الشبكات بينما يتفوق مهندس البرمجيات بفهم طلبات العميل والتعبير عنها بوضوح ودقة, البرمجة. وجميع هذه الأمور نسبية ولكن ذكرتها وفق ملاحظاتي للزملاء واحتكاكي بهم.
انا أريد التخصص فبماذا تنصحني ؟ ذكر لي أحد الدكاتره بأن العالم العربي لم يعد بحاجة طلبة علوم حاسب ولكن بحاجة مهندسي برمجيات، لأن البرامج العربية الحالية غالباً تكون دون دراسة دقيقة وتحوي العديد من المشاكل ولا يوجد برنامج عربي لا يحوي مشاكل. [ الدكتور عمل سنوات طويلة في شركات برمجة عربية قبل أن يعود ليدرّس في الجامعة ] انا لا أنصحك بشيء ولكن بالنسبة لي أرى أن هندسة البرمجيات من أكثر التخصصات متعة وتعطيك صورة من الأعلى للبرمجة والمعلومات وكيفية تسخيرها لما يفيد.
بجد فخور انى بدرس هذيه الدراسه دراسه هندسه البر مجيات بحس فيهاااا بمتعه العلم والتفوق
| |
|