مدينة الحب

منتديات مدينة الحب
 
الرئيسيةاليوميةمكتبة الصورس .و .جبحـثقائمة الاعضاءالمجموعاتالتسجيلدخول
بحـث
 
 

نتائج البحث
 
Rechercher بحث متقدم
المواضيع الأخيرة
» سوالف البنات بالكليه موضوع مو تبعي طبووووووو هههههههههههه
الأحد أكتوبر 23, 2011 9:16 am من طرف MERO

» قصة حب حزينة وروعة
الثلاثاء مارس 29, 2011 2:37 pm من طرف نــــــونــــــه

» قصه حب حزينة جداا
الثلاثاء مارس 29, 2011 9:20 am من طرف نــــــونــــــه

» ممكن ترحيييييب لـ ( أبو سالــــــم )
الثلاثاء مارس 29, 2011 4:43 am من طرف أبو سالم

» ممكن ترحيب
الإثنين مارس 28, 2011 3:08 pm من طرف امير حب البرامجيات

» 10 اكاذيب يقولها الرجال للنساء . نكشفها اليوم
الأربعاء مارس 16, 2011 8:23 am من طرف أبو سالم

» قشمرت الجرح من ردت اسولف بيـهِ
الثلاثاء مارس 15, 2011 4:37 am من طرف أبو سالم

» سجل حضورك اليومي بالصلاة على النبي الكريم وآله وصحبه
الإثنين مارس 14, 2011 5:43 am من طرف أبو سالم

» عباراات للردود على المواضيع
الثلاثاء مارس 01, 2011 7:19 am من طرف أبو سالم

بحـث
 
 

نتائج البحث
 
Rechercher بحث متقدم
المتواجدون الآن ؟
ككل هناك 2 عُضو متصل حالياً :: 0 عضو مُسجل, 0 عُضو مُختفي و 2 زائر

لا أحد

أكبر عدد للأعضاء المتواجدين في هذا المنتدى في نفس الوقت كان 11 بتاريخ الثلاثاء يونيو 25, 2013 2:54 am
أفضل 10 أعضاء في هذا المنتدى
$ملك الرافدين$
 
MERO
 
امير حب البرامجيات
 
أبو سالم
 
razak
 
osama x
 
S.RONALDO ALARAQY
 
اليساندرو M
 
نــــــونــــــه
 
ابو السيك
 

شاطر | 
 

 ماهي هندسة البرامجيات بصورة عامة ومفصلة

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
$ملك الرافدين$
المدير العام(مؤسس الموقع)
المدير العام(مؤسس الموقع)


عدد المساهمات : 104
نقاط : 194
تاريخ التسجيل : 12/03/2010
العمر : 25
الموقع : منتديات مدينة الحبhttp://citylove-com.nice-subject.com/index.htm?sid=9600791b170e5bdc3763b7f4c6353290

مُساهمةموضوع: ماهي هندسة البرامجيات بصورة عامة ومفصلة   الإثنين ديسمبر 20, 2010 3:02 pm

السلام عليكم ورحمة الله وبركاته
هندسة البرمجيات : وهي فرع من فروع علم الحاسب يهدف إلى تطوير الأسس والقواعد التي تؤدي إلى تحسين طرق تصميم و تطوير البرمجيات على جميع المستويات وذلك بطريقة تلبي احتياجات المستخدمين هندسة البرمجيات لا تهتم بكتابة البرنامج نفسه أي بكتابة شفرته بل تحسين عملية التطوير ويصنع البرنامج إبتدائا من المواصفات التي يصنعها المحترف وانتهائاً عند مشكلة صيانة البرنامج أو توسيعه وهي تقوم على دراسة احتياجات المستخدم و تصميم البرنامج المناسب لها قبل كتابة شفرته و الأخذ بعين الاعتبار العديد من الجوانب كالقدرة على تطوير البرنامج بسهولة لاحقا أو السرعة أو إمكانية إضافة ملحقات له بشكل ديناميكي . تاريخ هندسة البرمجيات :استخدمت هندسة البرمجيات كمفهوم نظري من حين لآخر في أواخر الخمسينيات وبداية الستينيات من القرن الماضي أما الاستخدام الأول لهذا المصطلح في مؤتمر عقد من قبل اللجنة العلمية في منظمة "حلف شمال الأطلسي" عام-1968- حول البرمجيات وقد أخذ هذا المصطلح بالانتشار منذ ذالك الحين ولاقى اهتماما ً متزايداً في نواح ٍ مختلفة وقد عقد المؤتمر لمعالجة ما يعرف"بأزمة البرمجيات "والتي ظهرت بسبب عدم استخدام منهجية في التفكير (software development process) عند بناء البرمجيات مما أدى إلى ظهور أخطاء كثيرة خلال عملية بناء وصيانة البرمجيات و بالتالي أصبحت البرمجيات تحتاج إلى وقت كبير لتطويرها ولصيانتها وأيضا ً لكلفة مالية عالية أكثر مما هو مخمن لها وبعد تحمل التأخير في الوقت وتجاوز الميزانية كانت البرمجيات ذات كفاءة ضعيفة في إنجاز الوظائف المطلوبة ,وقلة في الفعالية ,وذلك بعد تلبية كافة المتطلبات بالشكل الكامل الصحيح . مفهوم هندسة البرمجيات : البرمجة (software ) : شيء غير ملموس إلى حد ما بالمقارنة مع المنتجات الأخرى –وهي سلسة من آلاف أو ملايين الأوامر التي تطلب من الحاسب إجراء عمليات معينة مثل عرض المعلومات أو إجراء الحسابات أو تخزين البيانات وهذه البرمجيات هي بمثابة الروح من الجسد في النظام الحاسوبي وهي في توسع دائم وازدياد و المتطلبات والمهام التي تقوم بتنفيذها أما هندسة البرمجيات :وهي فرع من فروع الهندسة يقوم على مجموعة أسس وقواعد تهدف إلى تصميم البرنامج بوفرة ونوعية عالية تلبى احتياجات الهندسة . وتتميز بأنها لا تحتاج إلى رأس مال كبير على عماعندكم اخلاق مكانكم مو هنا بقية فروع الهندسة الأخرى . كما لايكفي لإيجاد البرمجية المتكاملة والجيدة عمل شخص واحد وإنما يتطلب ذلك فريق من المهندسين الجيدين وقد كان من الضروري إيجاد علم يعنى بهندسة البرمجيات لوضع الأسس والمعايير التي تصون هذه المهنة من المتطفلين بحيث يصبح بالإمكان تميز البرنامج الجيد من غير الجيد .


هندسة البرمجيات (بالإنكليزية: Software engineering) هي فرع من فروع علم الحاسوب.تهدف إلى تطوير مجموعة أسس وقواعد تؤدي إلى تحسين طرق تصميم وتطوير البرمجيات على جميع المستويات؛ وذلك بطريقة تلبي احتياجات المستخدمين. هندسة البرمجيات لا تهتم بكتابة البرنامج نفسه أي بكتابة شفرته، بل تحاول تحسين عملية تطوير، وصنع البرنامج ابتدائا من المواصفات التي يضعها المحترف، وانتهاء عند مشكلة صيانة البرنامج أو توسيعه. وهي تقوم على دراسة احتياجات المستخدم وتصميم البرنامج المناسب لها قبل كتابة شيفرته، والأخذ بعين الاعتبار العديد من الجوانب كالقدرة على تطوير البرنامج بسهولة لاحقا، أو السرعة، أو إمكانية إضافة ملحقات له بشكل ديناميكي.

[عدل] تاريخ هندسة البرمجيات
استخدمت هندسة البرمجيات كمفهوم نظري من حين لآخر في أواخر الخمسينات وبداية الستينات من القرن الماضي. أما الاستخدام الرسمي الأول لهذا المصطلح فكان في مؤتمر عقد من قبل اللجنة العلمية في منظمة حلف شمال الأطلسي 1968 حول البرمجيات، وقد أخذ هذا المصطلح بالانتشار منذ ذلك الحين ولاقى اهتماماً متزايداً في نواح مختلفة. عقد المؤتمر لمعالجة مايعرف "أزمة البرمجيات" والتي ظهرت بسبب عدم استخدام منهجية في التفكير (Software Development Process)عند بناء البرمجيات، مما أدى إلى ظهور أخطاء كثيرة خلال عملية بناء وصيانة البرمجيات، وبالتالي أصبحت البرمجيات تحتاج إلى وقت كبير لتطويرها ولصيانتها، وكلفة مالية عالية أكثر مما هو مخمن لها، وبعد تحمل التأخر في الوقت وتجاوز الميزانية كانت البرمجيات ذات كفاءة ضعيفة في إنجاز الوظائف المطلوبة، وقلة في الفعالية كذلك بعدم تلبية كافة المتطلبات بالشكل الكامل أو\و الصحيح.

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

[عدل] مراحل بناء النظام البرمجي
في هندسة البرمجيات، بناء النظام البرمجي ليس مجرد كتابة شفرة، وإنما هي عملية إنتاجية لها عدة مراحل أساسية وضرورية للحصول على المنتج، وهو البرنامج بأقل كلفة ممكنة وأفضل أداء محتمل. يطلق على هذه المراحل اسم دورة حياة النظام البرمجي(Software Lifecycle) التي قد يبدو بعضها ليس له علاقة بالبرمجة. وهناك الكثير من التصورات والنماذج في هندسة البرمجيات تصف عملية إنتاج برنامج والخطوات اللازمة لذلك. كما أن هذه الدورة خاضعة للتطوير دائما، حيث بالإضافة للدورات الكلاسيكية، ظهر مفهوم المنظومة المرنة (Agile Process) والتي تتخلي عن النموذج الثابت للمنظومة الكلاسيكية في سبيل المزيد من حرية الحركة للمشروع.

و فيما يلي عرض لإحدى أشهر دورات حياة النظام البرمجي الكلاسيكية وهي دورة الشلال (Waterfall Model):

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

[عدل] التحليلٍ
في هذه العملية تجمع المعلومات بدقة ثم تحدد المتطلبات والمهام التي سيقوم بها البرنامج، وتوصف هذه المهام بدقة تامة، كما تدرس الجدوى المرجوة من البرنامج، فالمستخدم مثلاً يضع تصوراً للبرنامج ليقوم بعمليات معينة، ومهمة مهندس البرمجيات في هذه المرحلة هي استخلاص هذه الأفكار وتحديدها؛ لذلك فهي تتطلب مهارة عالية في التعامل مع الزبائن، وقدرة على التحليل الصحيح. ينتج في نهاية هذه المرحلة وثيقة تدعى جدول الشروط والمواصفات دينامكاميد

[عدل] التصميم
في هذه المرحلة، تقسم البرمجية إلى كتل وتعرف العلاقات بين هذه الكتل ثم توضع الخوارزميات الملائمة لكل كتلة. في نهاية هذه العملية تكون البرمجية جاهزة لعملية الترميز، كما يتم اختيار لغة أو لغات البرمجة الملائمة لهذا البرنامج.

[عدل] الترميز
تحول الخوارزميات السابقة إلى إحدى اللغات البرمجية، والتأكد من صحتها لكل كتلة من الكتل. ثم تحول إلى لغة الآلة التي يتعامل بها جهاز الحاسب فقط.

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

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

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

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

[عدل] المجالات المختلفة التي لها علاقة بهندسة البرمجيات
الرياضيات: يحتوى أغلب البرنامج على عناصر رياضيات مثل (algorithms) لذلك فإن مطوري هذا النوع من البرامج يكونون على اطلاع بالعديد من النواحي الرياضية.
العلوم: البرنامج له مواصفات علمية قياسية عديدة، مثل: الأداء وحجم البرنامج وتنوع الأحمال.network speed المعادلات الرياضية الطرق الحديثة لقواعد البيانات
الهندسة
التصنيع: البرامج عبارة عن مجموعة من الخطوات. كل خطوة يتم تحديدها وتنفذ بدقة. مثل الكثير من الصناعات، لتحسين وتطوير خطوط الآنتاج والوصول إلى مستوى الجودة المطلوب.
إدارة المشروعات: سواء كان تجاريا أو غير تجارى فإنة يحتاج إلى إدارة. مثل: جدول زمني وتكلفة تخصص له. عوامل بشرية للإدارة ومصادر مثل مكتب وأجهزة كمبيوتر.

_________________
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://citylove-com.nice-subject.com
 
ماهي هندسة البرامجيات بصورة عامة ومفصلة
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

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