الاثنين، ٢٠ أكتوبر ٢٠٠٨

يعنى إيه مبرمج ؟!!!!!!

بداية هذا المقال يعبر عن رأيى الشخصى المتواضع ..................................
المتعارف عليه إنى لو اتعلمت كام لغة برمجة أو لغة واحدة حتى أصبحت مبرمج !!!
طيب ... يعنى ايه برمجة !!
البرمجة هى وضع حل لمشكلة ما وترجمة ذلك الحل للحاسب الآلى لإتاحة إستخدامه العملى(طبعا أنا بتكلم عن برمجة الكمبيوتر)


واضح من التعريف أن هناك شيئيين (وضع حل)و (ترجمة ذلك الحل)

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


يبقى لو انا بعرف لغة برمجة فقط يبقى إسمى مترجم للحاسب!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

من هنا لكى أصبح مبرمج يجب أن أهتم بكيفية تصميم ووضع الحل النموذجى لتلك المشكلة
ويهتم بذلك عدة علوم للحاسب الآلى مثل علم هندسة البرمجيات ولغة التصميم لموحدة UML و البرمجة الكائنية OOP

أرجو أن أكون استطعت إضاحة وجة نظرى فى ذلك لموضوع



وللحديث بقية إنشاء الله

هندسة البرمجيات Software Engineering

هي فرع من فروع المعلوماتية تهدف إلى تطوير مجموعة أسس وقواعد تؤدي إلى تحسين طرق تصميم وتطوير البرمجيات على جميع المستويات؛ وذلك بطريقة تلبي احتياجات المستخدمين. 

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

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

عقد المؤتمر لمعالجة مايعرف "أزمة البرمجيات" والتي ظهرت بسبب استخدام الوسائل التقليدية في بناء البرمجيات، مما أدى إلى ظهور برمجيات تحتاج إلى وقت كبير لتطويرها، وكلفة مالية عالية أكثر مما هو مقدر لها، وكفاءة ضعيفة في إنجاز الوظائف المطلوبة.

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

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

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


وللحديث بقية إنشاء الله