هندسة البرمجيات ( Software Engineering) هي دراسة نظامية لعملية تحليل و تصميم لبرامج الحاسوب و التي تشمل وسائل و أدوات بناء برامج الحاسوب. كما تدرس هندسة البرامج دورة حياة البرامج، وتعطي أشكالاً متعددة لعملية بناء البرامج. و يتضمن هذا العلم هندسة البرامج المدعومة من الحاسوب.
لهندسة البرمجيات أهمية كبيرة، إذ أنها تساعد في زيادة المردود لشركات البرمجة، ومستخدمي البرامج، من خلال التوزيع السليم للموارد المتوفرة، والتصميم الجيد لهذه البرامج. مما يقلل من تكاليف إنتاج البرامج، مع زيادة وتحسين مستوى الجودة في هذه البرامج.
أدى توسع مجالات استخدام الحاسوب إلى زيادة تعقيد المسائل التي تتطلب إلى حل بينما ظل تصميم وتطوير البرامج يعتمد على تقنيات غير منظمة ( AD HOC Techniques ). كانت مرحلة تطوير البرمجيات تفتقر إلى المعايير و بذلك كان يتم في كل برنامج ابتكار ما قد تم ابتكاره سابقا في برنامج آخر. نتج عن ذلك فشل العديد من المشاريع البرمجية ، أو زيادة الوقت اللازم لإنجازها. وحتى تلك النظم البرمجية التي تم تصميمها و إنجازها كانت غالبا ما تعاني من نقص في التوثيق و ظهور العديد من الأخطاء التي لم يكن بالإمكان توقعها إضافة لدعم وثائقي ضعيف و عدم تلبيتها للشروط و المتطلبات التي وضعت لأجلها بشكل كامل. لحل هذه المشاكل و الصعوبات كان من اللازم إعادة النظر و تقيم جميع الجوانب المتعلقة بتصميم و تطوير البرمجيات. مما أدى إلى ظهور هندسة البرمجيات كنتيجة للنقاشات حول ما عرف بأزمة البرمجيات حيث تم لأول مرة الإشارة إلى طرق تصميم وتطوير البرامج.
وأحد أحدث أساليب هندسة البرامج هي ما يُعرف بـ UML و هي طريقة تُستخدم لتمثيل مكونات النظام و المتفاعلين معه. وهذه الطريقة أصبحت تناسب البرامح الحديثة التي يتم تطويرها و برمجتها بلغات كائنية التوجه Object Oriented Languages.
يجب على مشاريعنا الّتي نطوّرها أن تتعامل مع المستخدمين، الآلات، نظم التّشغيل و البرامج وهكذا . لذا في كلّ تصميم نظام ينبغي أن نعرّف عناصر النّظام و الحدود .
أيّ نظام مكوّن من الأشياء، الأنشطة و تعريف العلاقة بينهم . بجانب أنّ قائمة إدخالات النّظام و نواتج يجب أن تُعَرَّف .
الخطوة الأولى نحتاج للعمل عند الامتلاك نظام جديد هو يعرّف النّظام الجديد مطالب النّظام، ثمّ يجيء تصميم النّظام . بعد ذلك تصميم البرنامج و تصميم النّظام . ستتكوّن المرحلة النّهائيّة من ة من الاختبار، تسليم النّظام ثمّ الحفاظ على مساعدة عميل
لهندسة البرمجيات أهمية كبيرة، إذ أنها تساعد في زيادة المردود لشركات البرمجة، ومستخدمي البرامج، من خلال التوزيع السليم للموارد المتوفرة، والتصميم الجيد لهذه البرامج. مما يقلل من تكاليف إنتاج البرامج، مع زيادة وتحسين مستوى الجودة في هذه البرامج.
أدى توسع مجالات استخدام الحاسوب إلى زيادة تعقيد المسائل التي تتطلب إلى حل بينما ظل تصميم وتطوير البرامج يعتمد على تقنيات غير منظمة ( AD HOC Techniques ). كانت مرحلة تطوير البرمجيات تفتقر إلى المعايير و بذلك كان يتم في كل برنامج ابتكار ما قد تم ابتكاره سابقا في برنامج آخر. نتج عن ذلك فشل العديد من المشاريع البرمجية ، أو زيادة الوقت اللازم لإنجازها. وحتى تلك النظم البرمجية التي تم تصميمها و إنجازها كانت غالبا ما تعاني من نقص في التوثيق و ظهور العديد من الأخطاء التي لم يكن بالإمكان توقعها إضافة لدعم وثائقي ضعيف و عدم تلبيتها للشروط و المتطلبات التي وضعت لأجلها بشكل كامل. لحل هذه المشاكل و الصعوبات كان من اللازم إعادة النظر و تقيم جميع الجوانب المتعلقة بتصميم و تطوير البرمجيات. مما أدى إلى ظهور هندسة البرمجيات كنتيجة للنقاشات حول ما عرف بأزمة البرمجيات حيث تم لأول مرة الإشارة إلى طرق تصميم وتطوير البرامج.
وأحد أحدث أساليب هندسة البرامج هي ما يُعرف بـ UML و هي طريقة تُستخدم لتمثيل مكونات النظام و المتفاعلين معه. وهذه الطريقة أصبحت تناسب البرامح الحديثة التي يتم تطويرها و برمجتها بلغات كائنية التوجه Object Oriented Languages.
يجب على مشاريعنا الّتي نطوّرها أن تتعامل مع المستخدمين، الآلات، نظم التّشغيل و البرامج وهكذا . لذا في كلّ تصميم نظام ينبغي أن نعرّف عناصر النّظام و الحدود .
أيّ نظام مكوّن من الأشياء، الأنشطة و تعريف العلاقة بينهم . بجانب أنّ قائمة إدخالات النّظام و نواتج يجب أن تُعَرَّف .
الخطوة الأولى نحتاج للعمل عند الامتلاك نظام جديد هو يعرّف النّظام الجديد مطالب النّظام، ثمّ يجيء تصميم النّظام . بعد ذلك تصميم البرنامج و تصميم النّظام . ستتكوّن المرحلة النّهائيّة من ة من الاختبار، تسليم النّظام ثمّ الحفاظ على مساعدة عميل
السبت 29 يناير 2011, 10:08 pm من طرف يونس صيام
» كتاب شامل لقواعد البيانات و SQL
الثلاثاء 25 يناير 2011, 11:17 pm من طرف asoma_sh
» إعلان هام لطلاب جامعة الحسين بن طلال ذكور وإناث
الخميس 16 ديسمبر 2010, 5:43 pm من طرف الهلالي
» لغز حلو
الخميس 16 ديسمبر 2010, 1:47 am من طرف نواره
» لعبة حلوة
الخميس 09 ديسمبر 2010, 4:36 am من طرف نواره
» كلية المناهج والتدريس
الخميس 09 ديسمبر 2010, 1:42 am من طرف sama
» القهوة المالحة ... حاولوا تدرجوا آرائكم
السبت 04 ديسمبر 2010, 3:57 am من طرف الحجير
» دفع أجور الطلبة بالبطاقة الذكية مطلع العام المقبل
السبت 04 ديسمبر 2010, 3:48 am من طرف الحجير
» اطلاق مهرجان القراءة للجميع 2010 يوم الاحد 5/12/2010 حتى الاربعاء 8/12/2010
السبت 04 ديسمبر 2010, 3:44 am من طرف الحجير
» الامل
الخميس 02 ديسمبر 2010, 5:01 am من طرف نواره
» حاقده على الشباب
الخميس 02 ديسمبر 2010, 4:57 am من طرف نواره
» الحدود الدنيا للمعدلات التنافسية 2007-2008-2009 في جامعة الحسين بن طلال
الخميس 02 ديسمبر 2010, 4:54 am من طرف نواره
» هل انت راضي عن تخصصك الجامعي؟؟
الأربعاء 01 ديسمبر 2010, 3:30 am من طرف fsdima
» الرجاء المساعدة بخصوص السكن
الجمعة 26 نوفمبر 2010, 2:52 am من طرف just_eman
» للبنات فقط
الجمعة 26 نوفمبر 2010, 12:47 am من طرف الحجير
» شوف هالصورة !
الجمعة 26 نوفمبر 2010, 12:43 am من طرف الحجير
» هل تعلم ان الرجل اجمل من المرأة ..ادخل لترى
الجمعة 26 نوفمبر 2010, 12:32 am من طرف الحجير
» كل واحد
الجمعة 26 نوفمبر 2010, 12:29 am من طرف الحجير
» ريال مدريد يفوز على أياكس الهولندي برباعية نظيفة .
الأربعاء 24 نوفمبر 2010, 4:31 pm من طرف nar0708
» كتاب شبكات الحاسوب
الأحد 21 نوفمبر 2010, 5:26 pm من طرف nawras_2009