U3F1ZWV6ZTY0NTM0Mzc0OTUzODlfRnJlZTQwNzEzODY0MDYxNjY=

مصطلحات أساسية في هندسة البرمجيات يجب عليك معرفتها


مصطلحات أساسية في هندسة البرمجيات يجب عليك معرفتها



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




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




spaghetti code:


spaghetti code:

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




عادةً ما يحتوي رمز Spaghetti على الكثير من بيانات GOTO التي كانت شائعة في البرامج القديمة ، مما يعني أنه يمكنك القفز من مكان إلى آخر في الكود.




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





legacy code:

legacy code:



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




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




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





API:

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



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




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




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





Software Development Kit (SDK) أساسيات هندسة البرمجيات


Software Development Kit (SDK) أساسيات هندسة البرمجيات



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




مصممة للعمل مع أنظمة تشغيل أو أجهزة أو لغات حوسبة معينة ، تحتوي جميع حزم SDK تقريبًا على بعض المكونات الأساسية:

  • مكتبات الكود: هذا هو الكود الأولي الذي يقوم المطورون بتوصيله لجعل التطبيق يفعل ما يريدون.
  • API: يسمح للتطبيق بالاتصال بسهولة بالخدمات الأخرى.
  • بيئة التطوير المتكاملة (IDE): هذه هي الواجهة التي يبرمج المطورون من خلالها برامجهم الخاصة ، وتتضمن مترجمًا يترجم لغة البرمجة عالية المستوى لكود مصدر SDK إلى لغة منخفضة المستوى يمكن استخدامها لبناء التطبيقات.
  • التوثيق: هذه هي التعليمات التي تشرح كيف يجب على المطورين استخدام الكود. يعد التوثيق الواضح والشامل معيارًا مهمًا لـ SDK الجيد.
  • المصحح: يعمل التصحيح تلقائيًا على تصحيح الأخطاء الطفيفة ، مما يسهل عملية تطوير التطبيق.
  • نماذج التعليمات البرمجية: تساعد هذه العينات المطورين على البدء من خلال إعطائهم بعض الأمثلة على تشغيل التعليمات البرمجية ومساعدتهم على استخدامها بطرق بسيطة.




FrameWork:


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



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




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


Library:

 

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


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




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


في بيئات (MS-Windows) ، تحتوي ملفات المكتبة على ملحق DLL.




Coupling:

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


يعتبر الاقتران في هندسة البرمجيات جزءًا من مواصفات متطلبات البرامج (SRS) التي تُستخدم لتحديد عوامل الاعتماد على كل وحدة برمجية واستقلاليتها مع الوحدات الأخرى ، وتُستخدم كمؤشر على الترابط بين الوحدات ، حيث انخفض قيمة اقتران ، وارتفاع جودة البرنامج.




هناك نوعان من أدوات التوصيل:

  • Tightly coupled:


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


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




  • Loose coupling:


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



Unit testing:

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


اختبار الوحدة هو نوع من اختبار البرامج يتم فيه اختبار الوحدات الفردية أو مكونات البرنامج ، والغرض منه هو التحقق من أن كل وحدة من كود البرنامج تعمل كما هو متوقع.




يتم إجراء اختبار الوحدة أثناء تطوير التطبيق (مرحلة الترميز) من قبل المطورين. تقوم اختبارات الوحدة بعزل جزء من التعليمات البرمجية والتحقق من صحته. قد تكون الوحدة وظيفة واحدة ، أو طريقة ، أو إجراء ، أو وحدة نمطية ، أو كائن.




Test Driven Development (TDD):

Test Driven Development (TDD):



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




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




debugging:


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




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


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


يتم التصحيح أثناء وقت التشغيل ، مما يعني أنه ليس من الضروري إغلاق البرنامج للمسح.




Refactoring:


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


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


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




Hybrid vs Native vs PWA التطور في هندسة البرمجيات


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


التطبيقات الأصلية: تتم كتابة التطبيقات الأصلية بلغات التعليمات البرمجية لنظام التشغيل المعين الذي تم تطويرها من أجله. أولاً ، كانت Java لنظام Android ، و Objective-C لـ IOS ، ولكن نظرًا لتطور البرامج سريع الخطى الذي نواجهه منذ العقود القليلة الماضية ، تم استبدال هذه التقنيات بـ Kotlin لنظام Android و Swift لنظام Android. IOS.




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




PWA (تطبيقات الويب التقدمية): تطبيقات الويب التقدمية جديدة نسبيًا في عالم تطوير التطبيقات وهندسة البرمجيات حيث تم اعتمادها على نطاق واسع في السنوات الأخيرة ، وتسعى تطبيقات الويب هذه إلى الظهور والتصرف تمامًا مثل التطبيقات الأصلية.




هذا يعني أنه يمكن تثبيت تطبيقات الويب التقدمية والوصول إليها على الأجهزة المحمولة (تعمل دون اتصال بالإنترنت) ويمكنها أيضًا استخدام ميزات الأجهزة مثل الكاميرا ونظام تحديد المواقع العالمي (GPS).


تعليقات
ليست هناك تعليقات
إرسال تعليق

إرسال تعليق

الاسمبريد إلكترونيرسالة