صفحة بال مون على الموقع التواصل الاجتماعي فيسبوك

-







لعيون ستارتيمز \"- أسرار البرمجة - طرق التحليل وقواعد البيانات -\"
لغات البرمجة




المنتدى | upload|books-computer games-software| Palmoon Market| games لغات البرمجة|الأرشيف|الرئيسية






***

لعيون ستارتيمز \"- أسرار البرمجة - طرق التحليل وقواعد البيانات -\"



۞.•ˆ•.۞الحصــ ـ,ــ,ــاد الــــ يومــــ,ــ,ـي --۞.•ˆ•.۞ 2009/04/05 - لعيون ستارتيمز \"- أسرار البرمجة - طرق التحليل وقواعد البيانات -\" - aidez moi svp cours flex programmer 1 mini compilateur
لغات البرمجة|الأرشيف|الرئيسية
****

 

عموميات في البرمجة :


لنفرض انه طلب من شخص إنشاء مشروع لمؤسسة معينة , فما هي المعطيات التي يجب أن تكون في يدك كمبرمج أو كمطور . ولكي يستطيع أي مبرمج أن ينجز المشروع لابد أن يكون على خبرة في لغة برمجة قوية  و على دراية كافية في دراسة قواعد البيانات , هذه الدراسة تدعى النظام المعلوماتي Système Informatise  .

تعريف البرمجة

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



لغة البرمجة

هي لغة يتم كتابة وتطوير البرامج بواسطتها ليقوم جهاز الحاسوب بتنفيذها و تقسم لغات البرمجة للحاسوب لعدة أجيال ، وهناك اللغات العالية المستوى كلغة الوينديف والدلفي التي تعتمد على البرمجة الكائنية واللغات الأم كلغات قواعد البيانات مثل ++C  .

خصائص لغات البرمجة

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

·        المعلومات و تخزينها

· &nbs p;      الأوامر و تنظيم سيرها

·        التصميم الخاص

المعلومات و تخزينها

إن المعلومات في الأجهزة الحالية يتم تخزينها على شكل أرقام بنظام العد الثنائي و بصفة عامة فان المعالجات الحديثة لا تقوم بالتعامل مع البت الواحد بل مع مجموعات من البايتات يمكن أن تضم :

8 بت = بايت وهي أصغر وحدة تخزين معلومات .

16, 32, 64, أو 168 بت

و باستعمال 8 بت مثلا, يمكن تشكيل 256 قيمة مختلفة, و يمكن أن تكون هذه القيمة بين 0 و 255 و تمثل وظيفة لغة البرمجة استغلال وحدة أو مجموعة من الوحدات لتخزين معلومات من الحياة الواقعية مثل الأسماء أو القياسات أو أرقام الحسابات البنكية

الأوامر و تنظيم سيرها

يقوم المبرمج بإجراء عمليات على وحدات المعلومات مثل تخزينها و قراءتها و مقارنتها و إجراء عمليات حسابية عليها أيضا, وتتبع عمليات القواعد المحددة للغة. و للغة البرمجة دور آخر و هو التحكم في تنظيم إجراء العمليات, حيث تحرص على إجرائها بنفس تنظيم كتابتها من طرف المبرم ج و تمكن اللغة أيضاً من إجراء عملية اختيار و تفرع, فلنفترض أن البرنامج الذي يريد المبرمج صنعه يقوم بقسمة عددين يختارهما المستعمل, و إظهار النتيجة على الشاشة, و من المعروف أن القسمة على صفر لا تجوز, و هنا يقوم البرنامج بالاختيار : فإذا كان القاسم مخالفا لصفر فان البرنامج يقوم بإجراء العملية و يعطي النتيجة, أما إذا كان القاسم صفراً فان البرنامج لا يقوم بإجراء العملية و إنما ينبه إلى أن المستعمل حاول القسمة على صفر. و يمكن تنظيم الأوامر بصفة أخرى, حيث يقع تنفيذ أمر أو مجموعة من الأوامر بصفة متكررة (Fréquence ) و يمكن تقسيم الأوامر أيضاً إلى وحدات فرعية تقوم كل وحدة بانجاز عمل محدد, و الهدف هو تقسيم العمل إلى أجزاء يسهل العمل عليها كل على حدة (boucle)

التصميم الخاص

تتمتع كل لغة بتصميم خاص يختلف عن طريقة كل لغة في التعامل مع المعطيات, و عن طبيعة الطرق و التسهيلات التي توفرها اللغة للتعامل مع مشكلة معينة.

يمكن تصنيف لغات البرمجة من حيث طريقة بناء البرامج إلى لغات إجرائية (Basic, Fortran) وهي لغات تسلسلية، أساس بناؤها هو الإجراءات المطلوب تطبيقها على الأشياء والمتحولات. ولغات شيئية (C, Java, Delphi, WinDev..) وهي لا تسلسلية، وتقوم على أساس العناصر والمتحولات المستخدمة ضمن البرنامج المطلوب تحويرها، من خلال تطبيق مجموعة معينة من الإجراءات عليها.

وهنا تبرز الحاجة لهندسة من نوع آخر قبل عملية البرمجة والتطوير ألا وهي هندسة المعطيات والبرمجيات وطرق التحليل التي تنظم عمل المبرمج وبالتالي إبراز البرنامج بطريقة سلسة .

هندسة البرمجيات (Software engineering) :

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

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

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

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

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

مراحل بناء النظام البرمجي

في هندسة البرمجيات، بناء النظام البرمجي ليس مجرد كتابة شفرة، وإنما هي عملية إنتاجية لها عدة مراحل أساسية وضرورية للحصول على المنتج، وهو البرنامج بأقل كلفة ممكنة وأفضل أداء محتمل. يطلق على هذه المراحل اسم دورة حياة النظام البرمجي (cycle vie Système programme ) التي قد يبدو بعضها ليس له علاقة بالبرمجة. وهناك الكثير من التصورات والنماذج في هندسة البرمجيات تصف عملية إنتاج برنامج والخطوات اللازم ة لذلك. كما أن هذه الدورة خاضعة للتطوير دائما، حيث بالإضافة للدورات الكلاسيكية، ظهر مفهوم المنظومة المرنة (tenu Liant) والتي تتخلي عن النموذج الثابت للمنظومة الكلاسيكية في سبيل المزيد من حرية الحركة للمشروع .

كتابة وثيقة الشروط الخارجية والداخلية

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

التحليل

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

التصميم

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

الترميز

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

الاختبار والتكاملية

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

التوثيق

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

الصيانة والتطوير

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

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

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

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

التكرار Looping
التفرع Branching  
الاختيار Selection
التتابع    Sequence


البرمجة كانية المنحي (الشيئية) :

البرمجة كائنيه المنحى Object-oriented programming - OOP (ويطلق عليها أحيانا اسم: برمجة غرضيه المنحى ، أو برمجة شيئية مع أن هذه الأخيرة لا تعتبر ترجمة محبذة) عبارة عن نمط برمجة متقدم، وفيه يقسم البرنامج إلى وحدات تسمى الكائنات (Objects)، كل كائن عبارة عن حزمة (تعليب) من البيانات (المتغيرات والثوابت) والدوال ووحدات التنظيم وواجهات الاستخدام . ويتم بناء البرنامج بواسطة استخدام الكائنات وربطها مع بعض وواجهة البرنامج الخارجية باستخدام هيكلية البرنامج وواجهات الاستخدام الخاصة بكل كائن.

أسماء أخرى للبرمجة الشيئية:

    * برمجة موجهة
    * برمجة كائنيه (برمجة كينونة) .
    * برمجة كائنيه التوجه .
    * برمجة غرضيه التوجه .
    * برمجة كائنيه المنحى (أو المنحى) .
    * برمجة بالعناصر .
    * البرمجة بالكائنات .

البرمجة الكائنة هي عبارة عن نمط برمجة متخصص في المفاهيم التالية:

    * الكائنات Objects - حزم وتعليب البيانات والدوال الوظيفية معاً في وحدات تعمل ضمن برنامج نشط. الكائنات هي أساس هيكلية برمجة الحاسوب الكائنية.
    * التجريد Abstraction - قدرة البرنامج على تجاهل بعض واجهات المعلومات المتلاعبة، أي التركيز على المفهوم الأساسي للكائن وهيكلته النظرية وتجريده من طريقة العمل النهائية والت وجهات الخارجية.
    * التغليف Encapsulation - التأكد أن المستخدم لا يستطيع أن يغير البيانات الداخلية لكائن بطريقة مفاجئة، فقط دوال الكائن الداخلية يسمح لها بتعديل حالة الكائن وبياناته. أي أن لا يمكن التلاعب بالكائن وتغير معلوماته بأي طريقة بل أن هناك واجهة استخدام خاصة يضعها المبرمج ومن خلالها يمكن تغيير بيانات الكائن الداخلية وحالته.
    * تعدد الأوجه Polymorphism - بدلاً من استدعاء الإجراءات الفرعية مباشرة، تستطيع البرمجة الشيئية إرسال رسائل، الإجراء المعين الذي يتم نداؤه نتيجة الرسالة يعتمد على نوع الكائن الذي أُرسل له. أي أنه باستخدام نفس اسم الاستدعاء يمكن استدعاء إجراءات ودوال مختلفة اعتماداً على نوع الكائن .

    * - يستطيع الكائن وراثة خصائص كائن معين والزيادة عليها دون أن يتأثر الكائن الأصلي. فقد يكون هناك كائن اسمه مركبة في الخصائص العامة لكل المركبات مثل الاسم واللون ورقم التسجيل، الكائن الطائرة ممكن أن يرث الكائن مركبة ويضيف عليه خصائص الطائرة، كذلك يمكن أن يكون هناك مثلاً كائن مربع فيه خصائص الطول والعرضShawano  وي مكن للكائن مكعب أن يرث من المربع ويضيف عليه خصائص العمق والحجم.

في انتظار ردودكم المشجعة تقبلوا تحياتي

 

", "",521644477,1675469,"y010825",0,0,"","السلام عليكم
مشكور أخي روعة في الطرح و التحليل
تنقصك كلمة فقط
واصل



***


۞.•ˆ•.۞الحصــ ـ,ــ,ــاد الــــ يومــــ,ــ,ـي --۞.•ˆ•.۞ 2009/04/05 - لعيون ستارتيمز \"- أسرار البرمجة - طرق التحليل وقواعد البيانات -\" - aidez moi svp cours flex programmer 1 mini compilateur
لغات البرمجة|الأرشيف|الرئيسية


-----




****


--





palmoon tool bar
privacy policy