منتديات التقني عالم التجارة
SPTechs منتديات
 اسم المستخدم حفظ بيانات الدخول 
كلمة المرور
  منتديات SPTechs   > لغات برمجة
 thread

هندسة البرمجيات الجزء الأول

 

  الإثنين 20 أغسطس 2018 م الموافق ‏09/‏ذو الحجة/‏1439 هـ الساعة 1:6

 


الرد على الموضوع عدد القراءات : 4442   
Jamer
معلومات :   البلد : اليمن  : المدينة : صنعاء
« مشرف عام »
  عدد المشاركات : 1317
Jamer


[ الأربعاء 14 فبراير 2007 ]
 
 
 

هندسة البرمجيات الجزء الأول




هندسة البرمجيات هي علم جديد نسبياً من علوم الهندسة و هي تشتمل علي عدة قواعد أساسية تنظم بها عملية إنتاج البرمجيات ,و لا تعتني هندسة البرمجيات فقط بكتابة الأكواد أو الشفرات الخاصة بالبرامج و لكنها تهتم بجميع مراحل إنتاج البرمجيات من تحليل و تصميم و كتابة الأكواد ثم الاختبار بل و أيضاُ مراحل التسويق و الدعم الفني , و من تعريفها نلاحظ مدى أهمية هذا العلم الجديد من علوم الهندسة و بالتالي سننظر عملية إنتاج البرامج و النظم بقدر أكبر أهمية حيث أنه علم في حد ذاته و كلما اهتممنا بهذا العلم و تم إنتاج البرامج علي أصوله و مبادئه كلما ساهم هذا في زيادة جودة إنتاج البرمجيات مما يزهر هذا السوق الواعد
لما ذا هندسة البرمجيات ؟
اهتمام أصحاب هذه الصناعة و علمائها بهذا العلم ناتج عن أسباب كثيرة منها قوة هذه الصناعة و حجم المكاسب الناتجة منها و أيضاً حجم الخسائر , سرعة هذه الصناعة و تجدد أدواتها السريع فبمجرد من أتتقن أداه فتجد أنه قد تم تجديدها مما يستلزم أن تتعلم الأداة الجديدة وهكذا و منها أيضا تسارع قوى أجهزة الحاسب الآلي مما يعطي عبئ إضافي لهذه الصناعة و منها , تعلق الصناعة بطلبات العملاء و طموحاتهم التي لا تنتهي و منها , و صعوبة إيجاد الموارد البشرية القوية لإدارة و إنتاج البرمجيات حيث ينبني معظم عملها علي القوة العقلية فقط و القدرة علي التخيل و الإبداع و كل هذه القدرات هي صعبة الاستنتاج و صعبة التوفيق مع بعضها البعض بحيث يكون الفريق كله متكامل القوى لاستخراج منتج قوي و مبدع و أيضاً يعمل بالكفاءة المطلوبة و لا ننسى طبعاً قدر مهم من الأمان في المنتج و هذه هي المعادلة التي تكاد تكون مستحيلة في هذه الصناعة و ربما يتسع الوقت لاحقاً لعمل مقالة كاملة عن كل من هذه النقاط علي حدي
مقدمة
بعد تعلمك لأول مرة لغة من لغات البرمجة تتوق نفسك لكتابة أول برامجك و عند كتابتك لهذا البرنامج غالباً ما تبدأ مسرعا بكتابة الشفرات و الأكواد دون تحليل أو حتى هدف واضح لإخراج البرنامج في شكله النهائي و في كل الأحوال أنت مستعد لتعديل برنامجك الأول تحت ضغط أي فكرة جديدة تطرأ علي ذهنك و بالطبع ستمضي في كتابة الشفرات أو الأكواد دون أدني تفكير في كتابة ملاحظات علي هذه الشفرات Comments و ستعتقد أنك ستكون متذكرا دوماً فائدة كل سطر مكتوب و المراد من كتابته و لكنك تحت ضغط تسارع الأفكار في ذهنك فستفضل كتابة الشفرات سريعاً دون أن تعطل نفسك في كتابة الملاحظات حتى إذا اعتبرتها مهمة و هذا هو حالنا كلنا عند كتابة برامجنا الأولى. و لكن حالك كمبرمج مبتدأ غير حالك عندما تكون محترفاً و بالتالي عندما تكون منفرداً يختلف عندما تكون عضواً في فريق عمل في شركة كبيرة و اختلافك برنامج الصغير الولي الذي في الغالب يؤدي وظيفة أو وظيفتين يختلف عن برنامج كبير معقد يقوم بإدارة مؤسسة كبيرة و يعمل علية مئات الموظفين
الاحتياج لهندسة البرمجيات
تاريخ صناعة البرمجيات مثلما هو حافل بالإنجازات - و هذا ما يشهد به الجميع - لكنه أيضا حافل بكثير من حالات الفشل سواء كانت بسبب الميزانيات الضخمة أو سؤ بالتسويق أو التحليل و حتى في أفضل الظروف عند وصول البرنامج للسوق و يكون في يد العميل و يبدأ العمل به فأنه يفاجأ بكم كبير من الأخطاء Bugs و بالتالي تبدأ عمليات الإصلاح و التحديث اللذان لا ينتهيان و يبدوان كدائرة لا تنتهي , ثم المفاجأة الكبرى و هي أن العميل لا يرضى عن البرنامج بل أنه يفقد في معظم الأحيان لكثير من الوظائف التي يلان يحلم بها و يتخيلها و لكنها لم تضح في التحليل فلم تكن في التصميم ففقدها العميل في البرنامج ثم تبدأ عمليات التعديل و التحديث من جديد و كلما حدث هذا كلما تعقد البرنامج أكثر فأكثر و كلما فقدت السيطرة عليه بل ربما يتوحش حتى يتحول لوحش كاسر لا يستطيع المبرمج أن يضع سطر من الكود إضافي و بتحول المبرمج لجراح ينفذ إصبعه ممسكاً المشرط و يمدها بن العروق و الوصال لوضع سطر أو تصليح آخر بمنتهى الحذر حتى لا يصيب عضو آخر بالعطب أو يوقظ الوحش النائم و من هنا نعلم أن كتابة برنامج قوي يعتمد عليه ليست بالمسألة السهلة
اختلاف هندسة البرمجيات عن باقي أنواع الهندسة التقليدية
نستعجب كثيراً من كثرة حالات الفشل في هذه الصناعة عن باقي أنواع الصناعات , فمثلاً في صناعة السيارات ربما يحدث أخطاء و عيوب في صناعة السيارة و لكنها أبداً لا تتوقف فجأة دون إبداء أي سبب و تضطر لتضغط علي ثلاثة أزرار في نفس الوقت لكي تحاول إصلاح المشكلة أو إعادة الاستقرار لها , و لا يحدث أبداً أن تطالبك شركة مثل فورد بأن تشتري الإصدار الجديد من السيارة أو تحديث لها حتى تقوم بعملية الرجوع للخلف أو ما يسمى بالمارشدير و إحقاقاً للحق فإن المهندس المعماري أو المدني مثلاً لا يستطيع بناء عمارة أو مبني شاهق إلا بعد دراسة تاريخ البناء و المعمار منذ بدأت الحضارة و كيفية الرسم الهندسي و باقي العلوم المختلفة المهتمة بهذه العملية و بالتالي فهو عنده كم كبير من الخبرات الناتجة من خبرات السابقين و هذا ما يحدث ما يحدث منع الكيمائيين و الفيزيائيين و غيرهم. أما بالنسبة لصناعتنا فعمرها لا يتعدى عشرات المسني مما ينذر بقلة الخبرات و السبب الرئيسي هو التطور السريع جداً جداً لهذه التكنولوجيا المتحكمة في هذه الصناعة و لو لاحظنا أن منذ بناء الأهرامات إلي بناء برجي التجارة مثلاً (السابقين ) بينهما آلاف السنين و غالباً ما ينظر الناس للأهرامات باحترام و إعجاب أكثر من البرجين و هذا مثال في الهندسة المعمارية و لكن أنظر بين عدد السنين بين إنتاج نظامي تشغيل للحاسب ألا و هما DOS و Windows فبين إنتاجيهما أقل من عشر سنين و لكن لاحظ الفرق في القوة و الإمكانيات و التطوير الذي طرأ عليهما و النقلة الكبيرة التي حصلت مع إصدار نظام النوافذ Windows فإذا لاحظت الفرق بين المثالين الهندسة المعمارية و هندسة البرامج فستعذر كثير من القائمين علي هذه الصناعة و سنعلم الفرق جيداً بين هذه الهندسة و غيرها من مجالات الهندسة الأخرى.
فالتطور السريع لهذه التكنولوجيا يقود القائمين علي العمل في هذا المجال إلي الجنون - بل حدث هذا لبعضهم بالفعل -أضف إلي كل ما سبق عدم وجود طريقة محددة و مؤكدة للتأكد من كفاءة البرامج و النظم و خلوها من العيوب - علي كافة أنواع العيوب - و راعي أن هناك قاعدة عدم وجود برنامج أو نظام خالي من العيوب Bug-free فكثيراً ما تتكشف الأخطاء بعد مرور سنوات من استخدام البرامج بل و الأصعب من ذلك هو اكتشاف أسباب العيوب لحلها و ليست العيوب نفسها فقط , كل هذه العوامل تعمل ضد الصناعة و تعوقها و لتجنب حالات الفشل نشأ هذا العلم و هو علم هندسة البرمجيات Software Engineering



 

 



اضافة رد على الموضوع




  منتديات SPTechs : مشاركات شبيهة .  لموضوع : هندسة البرمجيات الجزء الأول

   .   رسائل الحب والعشق اكثر من الف رسالة
   .   علامات يوم القيامة .. العلامات الكبرى
   .   برنامج روعة للتنزيل من النت افلام العاب مصارعة من غير مواقع
   .   اسرار وخفايا المسنجر حصرياامن الالف الى الياء
   .   اسماء الصحابة رضوان الله عليهم و معاني القابهم
   .   وسام الديب .. برنامج فوتوشوب مشروح بالصور .. رائع لا يفوت ال
   .   واخيرا تم رفع لعبة Red Alert 2 ناطقة بالعربية
   .   اكتب اسمك بكل الطرق الممكنه
   .   استشارات جنسية (طبيا ودينيا ونفسيا)
   .   شجرة نسب الرسول صلى الله عليه وسلم


  منتديات SPTechs : مشاركات Jamer  
   .   توضيح مامعنى اسم محمد ؟؟
   .   كتاب تعليم فيجوال بيسك
   .   قصة أعظم ضابط مخابرات مصري أعاد الجاسوسة هبة سليم التي جنّدت
   .   ما يجب على العروس للتحضر قبل الزفاف ؟ملف كامل ؟
   .   كتاب تعليم لغة سي c
   .   كتاب تعليم فلاش ام اكس
   .   خلطة لتبييض الوجه ؟
   .   هل توافق على ان تتعلم الفتاة قيادة السيارة ؟
   .   تعريف لغة السي شارب (C#) .
   .   كيفية عمل تقرير بواسطة فيجوال بيسك بسهوله اليكم الطريقة

  | فيلم عمروسلمى الجزء الثانى  |  


اسم المستخدم                        كلمة المرور

حفظ معلومات الاشتراك

# هندسة البرمجيات الجزء الأول

register
 مستخدم جديد