logo

logo

logo

logo

logo

بيئة التطوير المتكاملة

بييه تطوير متكامله

Integrated development environment -

بيئة التطوير المتكاملة

محمد سعيد الدسوقي

مفاهيم أساسية

التطبيقات والاستخدامات

الآفاق المستقبلية

 

بيئة التطوير المتكاملة Integrated Development Environment (IDE) هي تطبيق برمجي يوفِّر للمبرمجين مجموعة من الأدوات الشاملة والمتكاملة التي تُشغَّلُ من واجهة استخدام واحدة، وتُستخدم لتطوير البرمجيات.

تتضمن بيئة التطوير المتكاملة:

  • محرِّر نصوص لكتابة الرماز البرمجي.
  • مترجماً compiler أو مفسِّراً interpreter.
  • أدوات توليد آلي للبرامج build automation.
  • أداة اكتشاف الأخطاء وتصحيحها debugger.

    يمكن أن تحتوي بعض بيئات التطوير المتقدمة على أدوات أخرى، مثل:

  • نظام تتبع الإصدارات version control system.
  • أدوات بناء واجهات الاستخدام البيانية.
  • أدوات مساعدة لرسم المخططات وعرضها.
  • أدوات تساعد على التعامل مع المكوّنات البرمجية المختلفة.

    تُعدّ بيئات التطوير المتكاملة أحد أنواع الأدوات المساعدة في هندسة النظم بمعونة الحاسوب Computer - Aided Systems Engineering (CASE)، لكنها تهتم فقط بالمرحلة الخاصة بالبرمجة من دورة حياة النظام، في حين تتوفر أدوات أخرى تنتمي إلى هذا المجال تهتم بالمراحل الأخرى كالتحليل والنمذجة والتصميم والاختبارات.

    مفاهيم أساسية

    تهـدف بيئة التطـوير المتكاملة إلى زيـادة إنتاجية المبرمجين بتزويدهم بأدوات متكاملة تساعدهم على بناء البرامج وتوليد أجزاء منها؛ وببعض المكوِّنات الجاهزة التي يمكنهم توظيفها ضمن برامجهم وإعادة استخدامها.

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

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

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

    الشكل (1) مثال على واجهة بيئة التطوير المتكاملة.

    حدَّد كارينغتون Carrington في دليل القاعدة المعرفية لهندسة البرمجيات Software Engineering Body Of Knowledge (SWEBOK) -الخاص بمعهد مهندسي الكهرباء والإلكترون الدولي Institute of Electrical and Electronics Engineers (IEEE)- أربع ميزات يجب أن تحققها أي بيئة تطوير برمجي:

  • تقليل الحمل الذهني على المطوِّر.
  • تفريغ المطوِّر للتركيز على الجوانب الإبداعية للإجراء.
  • تقليل الحمل الإداري المرافق لتطبيق منهجية برمجة يدوياً.
  • جعل إجراء التطوير أكثر انسيابية.

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

    التطبيقات والاستخدامات

    1- لغات البرمجة المدعومة:

    تختص بيئة التطوير المتكاملة عادةً بلغة برمجة معينة، فتوفِّر الوسائل التي تمكِّن من بناء البرامج بحسب مفاهيم اللغة التي تدعمها.

    مع ذلك هنالك بيئات تطوير متكاملة تدعم عدة لغات برمجة مثل:

    Eclipse, ActiveState Komodo, IntelliJ IDEA, Oracle JDeveloper, NetBeans, Microsoft Visual Studio, Genuitec MyEclipse, WinDev, Xcode.

    يكون دعم اللغات الإضافية عادةً باستخدام مكوّنات إضافية قابلة للربط والتحميل مع بيئة التطوير الأساسية، فعلى سبيل المثال تتضمن بيئتا Eclipse
    وNetbeans مكوّنات لدعم لغات البرمجة التالية:
    cC++, Ada, GNAT, Perl, Python, Ruby, PHP.

    2- بيئات التطوير المتكاملة في البرمجة المرئية:

    تظهر أهمية بيئات التطوير المتكاملة في البرمجة المرئية visual programming بوضوح، حيث يمكن للمبرمجين بناء التطبيقات عن طريق إنشاء مخططات البنى البرمجية المختلفة باستخدام لغة النمذجة المعيارية (UML) Universal Modeling Language، ثم توليد رماز code برمجي مقابل لها؛ ثم ترجمته أو تفسيره.

    يُعدّ نظام البرمجة المرئية Max من أوائل الأنظمة التي اعتمدت مفهوم بيئة التطوير المتكاملة لتطوير برامج عزف موسيقي في الزمن الحقيقي، وهنالك أيضاً نظام Prograph الذي يعتمد على مخططات تدفق المعطيات ويعمل على أجهزة ماكينتوش؛ وبيئة البرمجة البيانية Grape التي تُستخدم لبرمجة الروبوتات (الإنسالات) robots ضمن الأداة التعليمية qfix robot kits، ونظام Openlab المختص في معالجة الصور المجهرية ذات البعدين؛ والذي لا يتطلب استخدامه معرفة بالبرمجة، ونظام Mindscript وهو نظام مفتوح المصدر وله وظائف إضافية خاصة بالتشفير والتخاطب مع قواعد المعطيات.

    3- تباين استخدام بيئات التطوير المتكاملة بحسب منصات التشغيل:

    يَعدّ المبرمجون الذين يستخدمون نظام التشغيل Unix أنَّ أدوات موجِّه الأوامر التقليدي الذي يعتمد معيار واجهات أنظمة التشغيل المحمولة Portable Operating System Interface (POSIX) تشكِّل بيئة تطوير متكاملة ذات أسلوب مختلف وواجهات مختلفة. وما زال الكثير من المبرمجين يستخدمون أوامر مثل makefiles، في حين يستخدم مبرمجون آخرون بيئة Emacs أو Vim التي تدعم العديد من أدوات البناء المعيارية في نظام التشغيل Unix. كما يُعدّ نظام اكتشاف الأخطاء وتصحيحها Data Display Debugger واجهة بيانية متقدمة مقارنةً ببقية الأدوات المماثلة التي تعتمد على الكتابة النصية.

    في منصات التشغيل التي تعتمد نظام التشغيل Windows أصبح من النادر استخدام أدوات موجِّه الأوامر لأغراض التطوير البرمجي، مع أنَّ معظم مزوِّدي المترجمات يوفرون نسخاً مجانية من أدوات موجِّه الأوامر مثل: (Visual C++, Platform SDK, .NET, Microsoft Framework, SDK, nmake utility), Embarcadero Technologies (bcc32 compiler, make utility)، وأدوات: GNU gdb, GNU make gcc، ولكن هنالك الكثير من بيئات التطوير المتكاملة والأدوات والحلول المجانية أو المدفوعة، ولكلٍّ منها تصميمه الخاص.

    في نظام التشغيل ماكينتوش ثمة بيئات تطوير متعددة تعود إلى ثمانينيات القرن العشرين مثل C Macintosh Programmer&http://arab-ency.com.sy/tech/details/623/6#39;s Workshop, Turbo Pascal, THINK Pascal and THINK. يستخدم المبرمجون حالياً بيئات تطوير متكاملة؛ بعضها قديم مثل CodeWarrior، أو محدود مثل Xcode، أو حديث مثل MyEclipse، أو مفتوح المصدر مثل Eclipse, Netbeans, ActiveState Komodo.

    4- بيئات التطوير المتكاملة المجانية والمفتوحة المصدر والممتلكة:

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

    الآفاق المستقبلية

    تستمر بيئات التطوير المتكاملة بالتطوُّر والتحديث، وتسعى دوماً إلى تحويل عملية التطوير البرمجي إلى عملية سهلة بمتناول المبرمجين، وتحاول هذه البيئات توفير الأدوات اللازمة لتقليص المعلومات الواجب على المبرمج تقديمها ومضاعفة المعلومات المولّدة آلياً، فبعد أن كانت بعض هذه البيئات تسعى إلى توليد البرامج انطلاقاً من نماذج معطيات ووظائف مكتوبة بلغة UML، وتعمل وفق المفهوم "من النموذج إلى البرنامج" from models to programs، أصبح هنالك اليوم بعض بيئات تطوير متكاملة تنطلق من التوصيف from specifications to programs. بل ظهرت بيئات تطوير متكاملة تعتمد على الوِب Web Integrated Development Environment (WIDE) تطرح مفهوم "وصِّف وانشر specify and deploy"؛ وتولِّد برامج موزَّعة تعمل على الوِب.

    تمثل بيئات التطوير المتكاملة - التي تعتمد على الوِب وتسمح بتطوير تطبيقات تعمل على الوِب- مستقبل بيئات التطوير المتكاملة، ولاسيما مع التوجه نحو الحوسبة السحابية cloud computing التي تشجِّع المؤسسات على استخدام أدوات تطوير متوفرة على الوِب من دون الحاجة إلى شرائها وإرسائها على مخدّماتها.

    مراجع للاستزادة:

    - G. Blokdyk, Integrated development environment The Ultimate Step-By-Step Guide, 5STARCooks, 2018.

    - G. Blokdyk Integrated development environment
    A Complete Guide, 5STARCooks, 2019.

    - D. Carrington, P. Bourque, R. Dupuis, Software Engineering Tools and Methods, Guide to the Software Engineering Body of Knowledge (SWEBOK). IEEE Computer Society, Los Alamitos, 2004.

    - R. B. Klinea, A. Seffah, Evaluation of Integrated Software Development Environments: Challenges and Results from Three Empirical Studies, International Journal of Human-Computer Studies, 2005.


التصنيف : كهرباء وحاسوب
النوع : كهرباء وحاسوب
المجلد: المجلد السادس
رقم الصفحة ضمن المجلد : 0
مشاركة :

اترك تعليقك



آخر أخبار الهيئة :

البحوث الأكثر قراءة

هل تعلم ؟؟

عدد الزوار حاليا : 550
الكل : 27462591
اليوم : 72628