المشاركات

البرمجة الحديثة/الدرس الثالث

البرمجة الحديثة/الدرس الثالث
الكاتب-

متطلبات الجودةعدل

لكل نهج في عملية تطوير البرامج، يجب على البرنامج النهائي أن يحقق خصائص جوهرية، مثل:
  • الاعتماديةوهي كم عدد المرات التي تكون فيها نتائج البرنامج صحيحة. يعتمد هذا على الدقة النظرية للخوارزميات , وتقليل أخطاء البرمجة إلى الحد الأدنى مثل الأخطاء في إدارة الموارد (على سبيل المثال تجاوزات في مساحات التخزين المؤقة ) والأخطاء المنطقية (مثل القسمة على الصفر ).
  • المتانةمدى توقع البرنامج للمشاكل بسبب الأخطاء(errors) (وليس الأخطاء(bugs)). يتضمن ذلك مواقف مثل البيانات غير الصحيحة أو غير المناسبة أو التالفة وعدم توفر الموارد اللازمة مثل الذاكرة وخدمات نظام التشغيل واتصالات الشبكة وخطأ المستخدم وانقطاع الطاقة غير المتوقع.
  • الصلاحيةبيئة العمل الخاصة بالبرنامج : السهولة التي يمكن بها استخدام البرنامج للغرض المقصود منه أو حتى في بعض الحالات لأغراض غير متوقعة. يتضمن ذلك مجموعة واسعة من العناصر النصية والرسوماتية وفي بعض الأحيان للأجهزة التي تعمل على تحسين وضوح حدس تماسك واكتمال واجهة مستخدم البرنامج.
  • القابلية للنقل: مجموعة أجهزة الكمبيوتر وأنظمةالتشغيل الأساسية التي يمكنها تجميع / تفسير الشفرة المصدرية للبرنامج وتشغيلها. يعتمد هذا على الاختلافات في تسهيلات البرمجة التي توفرها الأنظمة الأساسية المختلفة بما في ذلك موارد الأجهزة ونظام التشغيل والسلوك المتوقع للجهاز ونظام التشغيل وتوافر مترجمين خاصين بالمنصة (وأحيانًا المكتبات) للغة الكود المصدري.
  • القابلية للصيانة: سهولة تعديل البرنامج بواسطة مطوريه الحاليين أو المستقبليين من أجل إجراء تحسينات أو تخصيصات أو إصلاح الأخطاء وثغرات الأمان أو تكييفها مع بيئات جديدة. الممارسات الجيدة [7] أثناء التطوير الأولي تحدث فرقًا في هذا الصدد. قد لا تكون هذه الجودة واضحة بشكل مباشر للمستخدم النهائي ولكنها قد تؤثر بشكل كبير على مصير البرنامج على المدى الطويل.
  • الفعالية/الأداءقياس موارد النظام التي يستهلكها البرنامج (وقت المعالج مساحة الذاكرة الأجهزة البطيئة مثل الأقراص عرض النطاق الترددي للشبكة وحتى تفاعل المستخدم إلى حد ما): كلما كان ذلك اقل كان ذلك أفضل. يتضمن ذلك أيضًا إدارة الموارد بعناية على سبيل المثال تنظيف الملفات المؤقتة والتخلص من تسرب الذاكرة.

القدرة على قراءة الشيفرة المصدريةعدل

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

التعقيد الخوارزميعدل

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

خوارزميات الشطرنج كمثالعدل

كانت "برمجة كمبيوتر للعب الشطرنج" في سنة 1950 عبارة عن ورقة تحمل خوارزمية "minimax" والتي هي جزء من تاريخ الخوارزميات المعقدة.
دورة "IBM Deep Blue" (شطرنج الحواسيب) هي جزء من البرنامج التعليمي لشعبة علوم الحاسوب بجامعة ستانفورد.

المنهجياتعدل

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

قياس استخدام اللغةعدل

من الصعب جدًا تحديد أكثر لغات البرمجة الحديثة شيوعًا.تتضمن طرق قياس شعبية لغة البرمجة ما يلي: حساب عدد إعلانات الوظائف التي تذكر اللغة [10] عدد الكتب المباعة والدورات التعليمية التي تدرس اللغة (هذا يبالغ في تقدير أهمية اللغات الأحدث) وتقديرات عدد الخطوط الحالية من الشفرة المكتوبة باللغة (هذا يقلل من عدد مستخدمي لغات العمل مثل COBOL).
تحظى بعض اللغات بشعبية كبيرة لأنواع معينة من التطبيقات بينما تستخدم بعض اللغات بانتظام لكتابة العديد من أنواع التطبيقات المختلفة. على سبيل المثال لا يزالCOBOL قويًا في مراكز بيانات الشركات [11] غالبًا علىأجهزة الكمبيوتر الكبيرة و Fortran في التطبيقات الهندسية ولغات البرمجة النصية في تطوير الويب و C فيالبرامج المدمجة. تستخدم العديد من التطبيقات مزيجًا من عدة لغات في بنائها واستخدامها. يتم تصميم اللغات الجديدة عمومًا حول لغة سابقة مع إضافة وظيفة جديدة (على سبيل المثال يضيف C ++ اتجاه الكائناتي (OPP) إلى C ويضيف Javaإدارة الذاكرة والرمز الثانوي إلى C ++ ونتيجة لذلك يفقد الكفاءة والقدرة على التلاعب بالبيانات على مستوى منخفض )

التنقيحعدل

يتعد عملية تصحيح الأخطاء مهمة مهمة للغاية في عملية تطوير البرامج حيث أن وجود عيوب في أحد البرامج قد يكون له عواقب وخيمة على مستخدميه. تكون بعض اللغات أكثر عرضة لبعض أنواع الأخطاء لأن مواصفاتها لا تتطلب من المترجمين(compilers) أن يقوموا بالتحقق على قدر اللغات الأخرى. يمكن أن يساعد استخدام أداة تحليل الشفرة الثابتة فياكتشاف بعض المشكلات المحتملة. عادةً ما تكون الخطوة الأولى في تصحيح الأخطاء هي محاولة إعادة إنشاء المشكلة. قد تكون هذه مهمة غير تافهة على سبيل المثال مع العمليات المتوازية أو بعض الأخطاء البرمجية غير المعتادة. أيضًا يمكن أن تجعل بيئة المستخدم ومحفوظات الاستخدام من الصعب إعادة إنتاج المشكلة.
بعد إعادة إنتاج الخلل قد يحتاج الأمر إلى تبسيط إدخال البرنامج لتسهيل تصحيحه. على سبيل المثال يمكن أن يؤدي وجود خطأ في برنامج التحويل البرمجي إلى تعطله عند تحليل بعض ملفات المصدر الكبيرة. ومع ذلك بعد تبسيط حالة الاختبار يمكن أن تكون الأسطر القليلة فقط من الملف المصدر الأصلي كافية لإعادة إنتاج نفس التعطل. يمكن إجراء هذا التبسيط يدويًا باستخدام نهج الفجوة والقهر. سيحاول المبرمج إزالة بعض أجزاء حالة الاختبار الأصلية والتحقق من استمرار المشكلة. عند تصحيح المشكلة في واجهة المستخدم الرسومية يمكن للمبرمج محاولة تخطي بعض تفاعلات المستخدم من وصف المشكلة الأصلي ومعرفة ما إذا كانت الإجراءات المتبقية كافية لظهور الأخطاء.
غالبًا ما يتم تصحيح الأخطاء باستخدام بيئة تطوير متكاملة مثل إكليبس و Visual Studio و Xcode وKdevelop و NetBeans و Code :: Blocks. يتم استخدام مصححات الأخطاء المستقلة مثل GDB أيضًا وغالبًا ما توفر هذه الأجهزة بيئة بصرية أقل وعادة ما تستخدم سطر أوامر. تسمح بعض برامج تحرير النصوص مثل Emacsباستدعاء GDB من خلالهم لتوفير بيئة بصرية.

حول الكاتب

لا تسأل الليم حاجتآ… فأن لگ ربآ كريم متى ماسأ لته اجابك. وانت الفقير لربك .. وهو الغني إذا طلبت منه أعطاك. كن قنوعآ بما قسم لك المليگ… تعش حياتك بكل سعادة.

إرسال تعليق

اتقي الله اخي/اختي فيما تكتبو
تزكرو الله كثيرآ
الموافقة علي ملفات الارتباط
يستخدم هذا الموقع ملفات تعريف الارتباط لضمان حصولك على أفضل تجربة على موقعنا.
اوبس❗
يبدو ان الانترنت لديك به عطبآ راجع اعدادات الانترنت لديك وحاول مرة اخري.
A+
A-
📇