ماذا تعرف عن هندسة البرمجيات ؟
+4
Amo0o0na
ayman azzam
عنتر2007
ENG:Ro3a
8 مشترك
صفحة 1 من اصل 1
ماذا تعرف عن هندسة البرمجيات ؟
ما هي هندسة البرمجيات ؟
كل ما يرد في هذه المقالة يأتي من فهمي لهذا التخصص وذلك للتبسيط فقط وهو على شكل حوار وأسئله سأجيب عليها .. !
مدخل ..
تخيل انك تريد عمل منزل ؟ ستذهب بالطبع لمهندس معماري وتذكر له احتياجاتك بدقة وسيقوم بعمل مخطط واضح لا يمكن للمقاول الخروج عليه، وبعدها ستذهب للمقاول لبدء البناء وفق المخطط.
هنا مهندس البرمجيات هو المهندس المعماري ، والمبرمج هو المقاول ، وأنت العميل ، والمبنى هو البرنامج. هذا التشبيه لإعطاء فكره عامة فقط
هندسة البرمجيات ؟
سميت هندسة لأنها تتّبع خطوات محددة لإنشاء برامج على مستوى عالي من الجودة وفق الوقت المحدد والميزانية المحددة.
ذكرت بأن هناك خطوات، ما هي ؟
الخطوات كالتالي:
- مرحلة جمع المتطلبات: وتعني معرفة ماذا يريد العميل بشكل واضح جداً ولا يقبل الالتباس.
- مرحلة التصميم: وهي مرحلة البدء بعمل الرسومات الخاصة بالبرنامج المقترح وهي مجموعة من الرسومات المتعارف عليها بمصطلح UML أو “لغة النماذج الموحدة” Unified Modeling Language بحيث يستطيع أي مبرمج فهمها والبدء بالبرمجة بناءً عليها مباشرة.
- مرحلة كتابة البرنامج: وهي مرحلة تحويل الرسومات الخاصة بالتصميم إلى شيفرة برمجية قابلة للتشغيل.
- مرحلة الاختبار: وهي الخطوة الأخيرة قبل تسليم البرنامج وتحتوي على عدة اختبارات منها ( مدى مطابقته لرغبة العميل - رضى العميل - سهولة الاستخدام - .. وغيرها )
- مرحلة الصيانة ( وهذه المرحلة ليست دائمة وتعتمد على العقد مع العميل ) : وتكون بتطبيق التعديلات الضرورية وفق رغبة العميل وتحسين أداء البرنامج وعمل صيانة دورية له
وأين هو مهندس البرمجيات ؟ ما عمله ؟
وظيفة مهندس البرمجيات تأتي في الربط ما بين المبرمج والعميل بحيث يقوم مهندس البرمجيات بعمل اللقاءات مع العميل ومحاولة معرفة احتياجاته ومشاكله الحالية وحلها بطريقة مناسبة عن طريق تصميم برامج توافق تطلعات العميل ووفق امكانياته.
إذن، هل مهندس البرمجيات ليس بمبرمج ؟
على العكس, يجب أن يكون متعمق في البرمجة بشكل كبير جداً لكي يعطي أفضل تصميم للبرنامج الذي يحل مشكلة العميل , وهو ما نقوم به في جامعة البترول حيث ندرس مادتي برمجة إضافية ليست مطلوبة من قسم علوم الحاسب.
هل تقصد بأن مهندس البرمجيات أفضل من طالب علوم الحاسب ؟
لا يوجد مقارنة, لأن لكل منهم مجاله الذي يبدع فيه ويتفوق فيه على الآخر , فمثلاً يتفوق طالب علوم الحاسب على مهندس البرمجيات ربما في عمل مترجمات اللغات, الشبكات بينما يتفوق مهندس البرمجيات بفهم طلبات العميل والتعبير عنها بوضوح ودقة, البرمجة.
وجميع هذه الأمور نسبية ولكن ذكرتها وفق ملاحظاتي للزملاء واحتكاكي بهم.
مثال: يوم أمس كان هناك طالب علوم حاسب لديه مشروع مشترك مع زميلي طالب نظم المعلومات الإدارية ويريد تسليم المتطلبات وهو يفهم البرنامج ولكن لا يعرف كيف يعبر أو يوضحه ولكن خلال 10 دقائق وكمهندس برمجيات ساعدته في فهم كيفية نسخ ما في العقل على الورق بعد اجتماع ساعة بينهم قبل حضوري دون نتائج ..
كل ما يرد في هذه المقالة يأتي من فهمي لهذا التخصص وذلك للتبسيط فقط وهو على شكل حوار وأسئله سأجيب عليها .. !
مدخل ..
تخيل انك تريد عمل منزل ؟ ستذهب بالطبع لمهندس معماري وتذكر له احتياجاتك بدقة وسيقوم بعمل مخطط واضح لا يمكن للمقاول الخروج عليه، وبعدها ستذهب للمقاول لبدء البناء وفق المخطط.
هنا مهندس البرمجيات هو المهندس المعماري ، والمبرمج هو المقاول ، وأنت العميل ، والمبنى هو البرنامج. هذا التشبيه لإعطاء فكره عامة فقط
هندسة البرمجيات ؟
سميت هندسة لأنها تتّبع خطوات محددة لإنشاء برامج على مستوى عالي من الجودة وفق الوقت المحدد والميزانية المحددة.
ذكرت بأن هناك خطوات، ما هي ؟
الخطوات كالتالي:
- مرحلة جمع المتطلبات: وتعني معرفة ماذا يريد العميل بشكل واضح جداً ولا يقبل الالتباس.
- مرحلة التصميم: وهي مرحلة البدء بعمل الرسومات الخاصة بالبرنامج المقترح وهي مجموعة من الرسومات المتعارف عليها بمصطلح UML أو “لغة النماذج الموحدة” Unified Modeling Language بحيث يستطيع أي مبرمج فهمها والبدء بالبرمجة بناءً عليها مباشرة.
- مرحلة كتابة البرنامج: وهي مرحلة تحويل الرسومات الخاصة بالتصميم إلى شيفرة برمجية قابلة للتشغيل.
- مرحلة الاختبار: وهي الخطوة الأخيرة قبل تسليم البرنامج وتحتوي على عدة اختبارات منها ( مدى مطابقته لرغبة العميل - رضى العميل - سهولة الاستخدام - .. وغيرها )
- مرحلة الصيانة ( وهذه المرحلة ليست دائمة وتعتمد على العقد مع العميل ) : وتكون بتطبيق التعديلات الضرورية وفق رغبة العميل وتحسين أداء البرنامج وعمل صيانة دورية له
وأين هو مهندس البرمجيات ؟ ما عمله ؟
وظيفة مهندس البرمجيات تأتي في الربط ما بين المبرمج والعميل بحيث يقوم مهندس البرمجيات بعمل اللقاءات مع العميل ومحاولة معرفة احتياجاته ومشاكله الحالية وحلها بطريقة مناسبة عن طريق تصميم برامج توافق تطلعات العميل ووفق امكانياته.
إذن، هل مهندس البرمجيات ليس بمبرمج ؟
على العكس, يجب أن يكون متعمق في البرمجة بشكل كبير جداً لكي يعطي أفضل تصميم للبرنامج الذي يحل مشكلة العميل , وهو ما نقوم به في جامعة البترول حيث ندرس مادتي برمجة إضافية ليست مطلوبة من قسم علوم الحاسب.
هل تقصد بأن مهندس البرمجيات أفضل من طالب علوم الحاسب ؟
لا يوجد مقارنة, لأن لكل منهم مجاله الذي يبدع فيه ويتفوق فيه على الآخر , فمثلاً يتفوق طالب علوم الحاسب على مهندس البرمجيات ربما في عمل مترجمات اللغات, الشبكات بينما يتفوق مهندس البرمجيات بفهم طلبات العميل والتعبير عنها بوضوح ودقة, البرمجة.
وجميع هذه الأمور نسبية ولكن ذكرتها وفق ملاحظاتي للزملاء واحتكاكي بهم.
مثال: يوم أمس كان هناك طالب علوم حاسب لديه مشروع مشترك مع زميلي طالب نظم المعلومات الإدارية ويريد تسليم المتطلبات وهو يفهم البرنامج ولكن لا يعرف كيف يعبر أو يوضحه ولكن خلال 10 دقائق وكمهندس برمجيات ساعدته في فهم كيفية نسخ ما في العقل على الورق بعد اجتماع ساعة بينهم قبل حضوري دون نتائج ..
ENG:Ro3a- Admin
- عدد الرسائل : 602
العمر : 35
الموقع : حيث يكون أحبتي أكون ..
الأوسمة :
تاريخ التسجيل : 24/01/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
يعطيك العافية عالمشاركة الرائعة
عنتر2007- برعم
- عدد الرسائل : 23
العمر : 104
الموقع : 50
تاريخ التسجيل : 19/02/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
مشاركة رائعة جدا جدا
اما فيما ذكرت عن المفارقة بين العلوم البرمجية و هندسة البرمجيات و ذلك في قولك طالب علوم الحاسب و مهندس البرمجيات فان التصنيف واضح و لا لبس فيه
حيث يصنف الاول مهندسا و هو مسؤول عن التحليل و حتى الوصول الى نتائج صحيحة لانه مصمم و لن يكون التصميم ذا معنى ان لم يعطي نتائج صحيحة
اما الثاني فهو مشغل و و منفذ لما عمله و جهزه الاول و قد يكون باحثا في مدى جدوى العمل او مدربا عليه و عمليا و بدون مجاملة او احراج فان مهندس البرمجيات هو اكثر الماما من علوم الحاسب بحكم المواضيع التي يدرسها بل و حتى طريقة دراستها
و شكرا
اما فيما ذكرت عن المفارقة بين العلوم البرمجية و هندسة البرمجيات و ذلك في قولك طالب علوم الحاسب و مهندس البرمجيات فان التصنيف واضح و لا لبس فيه
حيث يصنف الاول مهندسا و هو مسؤول عن التحليل و حتى الوصول الى نتائج صحيحة لانه مصمم و لن يكون التصميم ذا معنى ان لم يعطي نتائج صحيحة
اما الثاني فهو مشغل و و منفذ لما عمله و جهزه الاول و قد يكون باحثا في مدى جدوى العمل او مدربا عليه و عمليا و بدون مجاملة او احراج فان مهندس البرمجيات هو اكثر الماما من علوم الحاسب بحكم المواضيع التي يدرسها بل و حتى طريقة دراستها
و شكرا
ayman azzam- برعم
- عدد الرسائل : 26
العمر : 52
الموقع : www.sigma.ly
تاريخ التسجيل : 20/02/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
شكرا على مروركم
نورتوا الموضوع
نورتوا الموضوع
ENG:Ro3a- Admin
- عدد الرسائل : 602
العمر : 35
الموقع : حيث يكون أحبتي أكون ..
الأوسمة :
تاريخ التسجيل : 24/01/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
شكرا على الموضوع الأكثر من رائع ..
Amo0o0na- برعم
- عدد الرسائل : 28
العمر : 36
الموقع : الإمارات العربية المتحدة
تاريخ التسجيل : 03/03/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
Amo0o0na مرورك أروع
و أهلا وسهلا فيكي معانا
و أهلا وسهلا فيكي معانا
ENG:Ro3a- Admin
- عدد الرسائل : 602
العمر : 35
الموقع : حيث يكون أحبتي أكون ..
الأوسمة :
تاريخ التسجيل : 24/01/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
معلومات ما كنت أعرفها
شكرا روعة
شكرا روعة
ندى- سوبر ستار
- عدد الرسائل : 2077
العمر : 37
الموقع : ورد جوري
الأوسمة :
تاريخ التسجيل : 19/02/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
يسلموووووووووووووووووووووووووووووووو
يعطيكي العافيه
يعطيكي العافيه
لؤلؤة فلسطين- عضو متميز
- عدد الرسائل : 650
تاريخ التسجيل : 19/02/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
شكرا على التوضيح وبارك الله فيك** مع خالص حبى وتقديرى**
asooom- 4
- عدد الرسائل : 288
العمر : 37
الموقع : GAZASUN
الأوسمة :
تاريخ التسجيل : 13/08/2008
عاشقة المستحيل- 3
- عدد الرسائل : 175
العمر : 33
الموقع : غزة
الأوسمة :
تاريخ التسجيل : 19/12/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
سيسكو سيستمز, شركة أمريكية تعتبر الأولى عالميا في مجال المعدات الشبكية. استفادت من طفرة الإنترنت لتصبح إحدى أضخم شركات تقنية المعلوماتية من ناحية المعاملات و القيمة السوقية. قامت بعدة عمليات استحواذات في مجال الإتصالات.
و سيسكو بتعمل امتحانات أو الناس بياخدو امتحانات سيسكو هيا طبعا إلها علاقة بالنتووركس " شبكات الكمبيوتر " ..
التانية ما فهمت عليكي إذا بتجيبيلي اسمها بالإنجلش ممكن أفسرلك اياها ..
شاكرة إلك مرورك .. ودي و عبير وردي .. روعة
و سيسكو بتعمل امتحانات أو الناس بياخدو امتحانات سيسكو هيا طبعا إلها علاقة بالنتووركس " شبكات الكمبيوتر " ..
التانية ما فهمت عليكي إذا بتجيبيلي اسمها بالإنجلش ممكن أفسرلك اياها ..
شاكرة إلك مرورك .. ودي و عبير وردي .. روعة
ENG:Ro3a- Admin
- عدد الرسائل : 602
العمر : 35
الموقع : حيث يكون أحبتي أكون ..
الأوسمة :
تاريخ التسجيل : 24/01/2008
رد: ماذا تعرف عن هندسة البرمجيات ؟
كتير مشكورة روعة فعلا هدا اللي كنت ببحث عنوا
هي فعلا الها علاقة بالشبكة بس بدي توضيح كمان شوية عنها
بعني متلا ايش بيدرسوا فيها
هي فعلا الها علاقة بالشبكة بس بدي توضيح كمان شوية عنها
بعني متلا ايش بيدرسوا فيها
عاشقة المستحيل- 3
- عدد الرسائل : 175
العمر : 33
الموقع : غزة
الأوسمة :
تاريخ التسجيل : 19/12/2008
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى