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

هندسة البرمجيات بمساعدة الحاسوب ( CASE ) هي مجالٌ لأدوات البرمجيات المستخدمة في تصميم التطبيقات وتنفيذها. تشبه أدوات CASE أدوات التصميم بمساعدة الحاسوب (CAD) المستخدمة في تصميم المنتجات المادية، وهي مستوحاة منها جزئيًا. تهدف أدوات CASE إلى المساعدة في تطوير برمجيات عالية الجودة وخالية من العيوب وسهلة الصيانة. [ 1 ] غالبًا ما ارتبطت برمجيات CASE بأساليب تطوير نظم المعلومات، بالإضافة إلى الأدوات الآلية التي يمكن استخدامها في عملية تطوير البرمجيات . [ 2 ]
تاريخ
أثار مشروع نظام تصميم وتحسين نظم المعلومات (ISDOS)، الذي بدأ عام 1968 في جامعة ميشيغان ، اهتمامًا كبيرًا بمفهوم استخدام أنظمة الحاسوب لمساعدة المحللين في عملية تحليل المتطلبات وتطوير الأنظمة، وهي عملية بالغة الصعوبة. وقد ألهمت العديد من الأبحاث التي نشرها دانيال تيكرو جيلًا كاملًا من المتحمسين لإمكانات تطوير الأنظمة المؤتمتة. وكانت أداة لغة بيان المشكلة/محلل بيان المشكلة (PSL/PSA) التي طورها أداةً من أدوات هندسة البرمجيات بمساعدة الحاسوب (CASE)، على الرغم من أنها سبقت هذا المصطلح. [ 3 ]
برز مسار رئيسي آخر كامتداد منطقي لقاموس بيانات قاعدة البيانات . فمن خلال توسيع نطاق البيانات الوصفية المُخزّنة، أصبح بالإمكان تخزين سمات التطبيق داخل قاموس واستخدامها أثناء التشغيل. وقد شكّل هذا "القاموس النشط" النواة الأولى لقدرات هندسة البرمجيات الحديثة القائمة على النماذج . مع ذلك، لم يُقدّم القاموس النشط تمثيلاً بيانياً لأي من البيانات الوصفية. وكان ربط مفهوم القاموس الذي يحتوي على البيانات الوصفية للمحللين، والمستمدة من استخدام مجموعة متكاملة من التقنيات، بالتمثيل البياني لهذه البيانات هو ما أدى إلى ظهور الإصدارات الأولى من هندسة البرمجيات بمساعدة الحاسوب (CASE). [ 4 ]
كان برنامج Excelerator من شركة Index Technology في كامبريدج، ماساتشوستس، هو المنافس التالي في السوق. فبينما كان برنامج DesignAid يعمل على حواسيب Convergent Technologies، ولاحقًا على حواسيب Burroughs Ngen الشبكية، أطلقت Index برنامج Excelerator على منصة IBM PC/AT . ورغم أن منصة IBM، عند إطلاقها ولعدة سنوات، لم تكن تدعم الشبكات أو قواعد البيانات المركزية كما هو الحال في أجهزة Convergent Technologies أو Burroughs، إلا أن جاذبية IBM كانت قوية، وبرز برنامج Excelerator. وعقب نجاح Excelerator مباشرةً، ظهرت مجموعة من البرامج من شركات مثل Knowledgeware (جيمس مارتن، وفران تاركنتون ، ودون أدينغتون)، و CA Gen من شركة Texas Instruments، ومجموعة أدوات FOUNDATION من شركة Andersen Consulting (DESIGN/1، وINSTALL/1، وFCP). [ 5 ]
بلغت أدوات هندسة البرمجيات بمساعدة الحاسوب (CASE) ذروتها في أوائل التسعينيات. [ 6 ] ووفقًا لمجلة PC Magazine الصادرة في يناير 1990، كانت أكثر من 100 شركة تقدم ما يقرب من 200 أداة CASE مختلفة. [ 5 ] في ذلك الوقت ، اقترحت شركة IBM مشروع AD/Cycle، وهو تحالف لموردي البرمجيات يتمحور حول مستودع برامج IBM باستخدام قاعدة بيانات IBM DB2 في الحواسيب المركزية ونظام التشغيل OS/2 .
- يمكن الحصول على أدوات تطوير التطبيقات من مصادر متعددة: من شركة IBM، ومن الموردين، ومن العملاء أنفسهم. وقد أبرمت IBM شراكات مع شركات Bachman Information Systems وIndex Technology Corporation و Knowledgeware ، حيث سيتم تسويق منتجات مختارة من هذه الشركات من خلال برنامج تسويقي تكميلي تابع لشركة IBM، وذلك لتوفير عروض تساعد على تحقيق تغطية شاملة لدورة حياة المنتج . [ 7 ]
مع تراجع الحواسيب المركزية، اندثرت أدوات AD/Cycle وBig CASE، مما فتح المجال أمام أدوات CASE السائدة اليوم. استحوذت شركة Computer Associates على العديد من الشركات الرائدة في سوق CASE في أوائل التسعينيات ، بما في ذلك IEW وIEF وADW وCayenne وLearmonth & Burchett Management Systems (LBMS). ومن العوامل الأخرى التي ساهمت في تطور أدوات CASE ظهور أساليب وأدوات البرمجة الكائنية. أضافت معظم شركات توريد الأدوات دعمًا لهذه الأساليب والأدوات. كما ظهرت منتجات جديدة مصممة خصيصًا لدعم منهجية البرمجة الكائنية. طورت شركة Andersen مشروعها Eagle كبديل لـ Foundation. وقد طور العديد من رواد تطوير البرمجيات الكائنية منهجياتهم الخاصة ومجموعات أدوات CASE الخاصة بهم، مثل Jacobson و Rumbaugh و Booch وغيرهم. وفي النهاية، تم توحيد هذه الأدوات والأساليب المتنوعة من خلال معايير قادتها مجموعة إدارة الكائنات (OMG). تعتبر لغة النمذجة الموحدة (UML) التابعة لمجموعة إدارة الكائنات (OMG ) حاليًا معيارًا صناعيًا مقبولًا على نطاق واسع للنمذجة الموجهة للكائنات .
برنامج CASE
أدوات
تدعم أدوات هندسة البرمجيات بمساعدة الحاسوب (CASE) مهامًا محددة في دورة حياة تطوير البرمجيات. ويمكن تقسيمها إلى الفئات التالية:
- نمذجة الأعمال والتحليل: أدوات النمذجة الرسومية. على سبيل المثال، نمذجة الكيانات والعلاقات، ونمذجة الكائنات، وما إلى ذلك.
- التطوير: مراحل التصميم والبناء لدورة حياة المنتج. بيئات تصحيح الأخطاء. على سبيل المثال، معهد علوم وهندسة البرمجيات في لكناو .
- التحقق والتحقق من الصحة : تحليل التعليمات البرمجية والمواصفات للتأكد من صحتها وأدائها وما إلى ذلك.
- إدارة التكوين: التحكم في عمليات تسجيل الدخول والخروج من كائنات وملفات المستودع. على سبيل المثال، SCCS وIISE.
- المقاييس والقياس: تحليل الكود من حيث التعقيد، والنمطية (على سبيل المثال، عدم وجود "انتقالات")، والأداء، وما إلى ذلك.
- إدارة المشاريع: إدارة خطط المشاريع، وتوزيع المهام، والجدولة.
من الطرق الشائعة الأخرى لتمييز أدوات هندسة البرمجيات بمساعدة الحاسوب (CASE ) التمييز بين هندسة البرمجيات العليا (Upper CASE) وهندسة البرمجيات الدنيا (Lower CASE). تدعم أدوات هندسة البرمجيات العليا نمذجة الأعمال والتحليل، وتدعم لغات التخطيط التقليدية مثل مخططات الكيانات والعلاقات (ER) ، ومخططات تدفق البيانات ، ومخططات الهيكلة ، وأشجار القرارات ، وجداول القرارات ، وغيرها. أما أدوات هندسة البرمجيات الدنيا فتدعم أنشطة التطوير، مثل التصميم المادي، وتصحيح الأخطاء، والبناء، والاختبار، وتكامل المكونات، والصيانة، والهندسة العكسية. وتشمل جميع الأنشطة الأخرى دورة حياة المشروع بأكملها، وتنطبق بالتساوي على هندسة البرمجيات العليا والدنيا. [ 8 ]
طاولات العمل
تدمج منصات العمل أداتين أو أكثر من أدوات هندسة البرمجيات بمساعدة الحاسوب (CASE) وتدعم أنشطة محددة في عمليات البرمجيات. وبالتالي، فإنها تحقق ما يلي:
- واجهة متجانسة ومتسقة (تكامل العرض)
- التكامل السلس للأدوات وسلاسل الأدوات (التحكم وتكامل البيانات )
من الأمثلة على بيئات العمل بيئة برمجة Visual Basic من مايكروسوفت . فهي تتضمن العديد من أدوات التطوير: أداة إنشاء واجهة المستخدم الرسومية، ومحرر أكواد ذكي، ومصحح أخطاء، وغيرها. كانت معظم منتجات CASE التجارية عبارة عن بيئات عمل تدمج بسلاسة أداتين أو أكثر. ويمكن تصنيف بيئات العمل بنفس طريقة تصنيف الأدوات؛ حيث تركز على التحليل، والتطوير، والتحقق، وما إلى ذلك، بالإضافة إلى تركيزها على الأحرف الكبيرة، أو الأحرف الصغيرة، أو على عمليات مثل إدارة التكوين التي تغطي دورة الحياة الكاملة.
البيئات
البيئة هي مجموعة من أدوات أو منصات عمل هندسة البرمجيات بمساعدة الحاسوب (CASE) التي تسعى لدعم عملية تطوير البرمجيات بأكملها. وهذا يختلف عن الأدوات التي تركز على مهمة محددة أو جزء معين من دورة حياة تطوير البرمجيات. وقد صنف فوجيتا بيئات هندسة البرمجيات بمساعدة الحاسوب (CASE) على النحو التالي: [ 9 ]
- مجموعات الأدوات: هي مجموعات أدوات غير مترابطة بشكل وثيق. تعتمد هذه المجموعات عادةً على بيئات عمل أنظمة التشغيل، مثل بيئة عمل مبرمج يونكس أو مجموعة VMS VAX. وتُجري عادةً التكامل عبر التوجيه أو آلية أساسية أخرى لتبادل البيانات ونقل التحكم. إلا أن سهولة التكامل تُعدّ في الوقت نفسه أحد عيوبها. فنقل المعاملات البسيط عبر تقنيات مثل برمجة سطر الأوامر لا يُتيح التكامل المُعقد الذي تُوفره قاعدة بيانات مركزية.
- الجيل الرابع: تُعرف هذه البيئات أيضًا باسم 4GL، اختصارًا لبيئات لغات الجيل الرابع، نظرًا لأن البيئات الأولى صُممت حول لغات برمجة محددة مثل Visual Basic. وكانت هذه البيئات الأولى التي توفر تكاملًا عميقًا بين أدوات متعددة. وعادةً ما كانت هذه البيئات تركز على أنواع محددة من التطبيقات، مثل التطبيقات التي تعتمد على واجهة المستخدم وتُجري معاملات ذرية قياسية مع قاعدة بيانات علائقية. ومن الأمثلة على ذلك Informix 4GL وFocus.
- البيئات المرتكزة على اللغة: هي بيئات تعتمد على لغة واحدة، غالباً ما تكون كائنية التوجه، مثل بيئة Symbolics Lisp Genera أو VisualWorks Smalltalk من Parcplace. في هذه البيئات، تُعامل جميع موارد نظام التشغيل ككائنات ضمن اللغة الكائنية التوجه. يوفر هذا إمكانيات قوية لتصحيح الأخطاء ورسومات توضيحية، لكن الكود المُطور يقتصر في الغالب على تلك اللغة المحددة. لهذا السبب، كانت هذه البيئات تُعتبر مجالاً متخصصاً ضمن هندسة البرمجيات بمساعدة الحاسوب (CASE). واقتصر استخدامها في الغالب على مشاريع النماذج الأولية والبحث والتطوير. تمثلت الفكرة الأساسية المشتركة لهذه البيئات في واجهة المستخدم MVC، التي سهّلت الحفاظ على اتساق عروض متعددة للتصميم نفسه مع النموذج الأساسي. وقد اعتمدت أنواع أخرى من بيئات CASE، بالإضافة إلى العديد من التطبيقات التي بُنيت باستخدامها، بنية MVC.
- بيئات متكاملة: تُعدّ هذه البيئات مثالًا لما يتبادر إلى ذهن معظم متخصصي تكنولوجيا المعلومات عند التفكير في هندسة البرمجيات بمساعدة الحاسوب (CASE). ومن أمثلة هذه البيئات: AD/Cycle من IBM، وFOUNDATION من Andersen Consulting، ونظام ICL CADES ، وDEC Cohesion. تسعى هذه البيئات إلى تغطية دورة حياة البرمجيات بالكامل، بدءًا من التحليل وصولًا إلى الصيانة، وتوفير مستودع قاعدة بيانات متكامل لتخزين جميع مُخرجات عملية تطوير البرمجيات. وكان مستودع البرمجيات المتكامل السمة المميزة لهذه الأدوات. كما أنها توفر نماذج تصميم متعددة، بالإضافة إلى دعمها للبرمجيات المكتوبة بلغات برمجة متنوعة. وكان من أهم أهداف هذه البيئات "الهندسة الشاملة": أي القدرة على إجراء تغييرات على مستوى التصميم، بحيث تنعكس هذه التغييرات تلقائيًا في الكود، والعكس صحيح. وعادةً ما ترتبط هذه البيئات بمنهجية محددة لتطوير البرمجيات. فعلى سبيل المثال، كانت مجموعة FOUNDATION CASE من Andersen مرتبطة ارتباطًا وثيقًا بمنهجية Andersen Method/1.
- التكامل المرتكز على العمليات: يُعدّ هذا النوع من التكامل الأكثر طموحًا. تسعى هذه البيئات ليس فقط إلى تحديد عناصر التحليل والتصميم لعملية تطوير البرمجيات بشكل رسمي، بل إلى تحديد العملية نفسها، واستخدام هذه العملية الرسمية للتحكم في مشاريع البرمجيات وتوجيهها. من الأمثلة على ذلك: East وEnterprise II وProcess Wise وProcess Weaver وArcadia. ترتبط هذه البيئات، بحكم تعريفها، بمنهجية معينة، لأن عملية تطوير البرمجيات نفسها جزء لا يتجزأ من البيئة، ويمكنها التحكم في العديد من جوانب استدعاء الأدوات.
عمليًا، كان التمييز بين بيئات العمل وبيئات التطوير مرنًا. فمثلاً، كانت لغة Visual Basic بيئة عمل برمجية، ولكنها اعتُبرت أيضًا بيئة من الجيل الرابع للغات البرمجة من قِبل الكثيرين. وتتمثل السمات التي ميزت بيئات العمل عن بيئات التطوير في التكامل العميق عبر مستودع مشترك أو لغة مشتركة، ونوع من المنهجية (بيئات متكاملة ومتمحورة حول العمليات) أو التخصص في مجال معين (الجيل الرابع للغات البرمجة). [ 9 ]
عوامل الخطر الرئيسية للحالات
تتضمن بعض أهم عوامل الخطر التي تواجه المؤسسات التي تتبنى تقنية CASE ما يلي:
- عدم كفاية التوحيد القياسي: عادةً ما تضطر المؤسسات إلى تكييف المنهجيات والأدوات واعتمادها وفقًا لمتطلباتها الخاصة. وقد يتطلب ذلك جهدًا كبيرًا لدمج التقنيات والأساليب المتباينة. على سبيل المثال، قبل اعتماد معيار UML، كانت اصطلاحات المخططات وأساليب تصميم النماذج الموجهة للكائنات مختلفة اختلافًا كبيرًا بين أتباع جاكوبسون وبوتش ورومباو .
- توقعات غير واقعية: غالبًا ما يبالغ مؤيدو تقنية CASE - وخاصةً البائعين الذين يسوّقون مجموعات أدوات باهظة الثمن - في توقعاتهم بأن هذا النهج الجديد سيكون حلاً سحريًا لجميع المشاكل. في الواقع، لا يمكن لأي تقنية من هذا القبيل أن تفعل ذلك، وإذا تعاملت المؤسسات مع تقنية CASE بتوقعات غير واقعية، فستصاب بخيبة أمل لا محالة.
- التدريب غير الكافي: كما هو الحال مع أي تقنية جديدة، يتطلب استخدام برامج التصميم بمساعدة الحاسوب (CASE) وقتًا لتدريب الأفراد على كيفية استخدام الأدوات واكتساب الخبرة اللازمة. قد تفشل مشاريع CASE إذا لم يُمنح الممارسون وقتًا كافيًا للتدريب، أو إذا كان المشروع الأول الذي يُنفذ باستخدام هذه التقنية الجديدة بالغ الأهمية ومحفوفًا بالمخاطر.
- عدم كفاية التحكم في العمليات: توفر برامج CASE إمكانيات جديدة هامة لاستخدام أنواع جديدة من الأدوات بطرق مبتكرة. ولكن بدون التوجيه والتحكم المناسبين في العمليات، قد تتسبب هذه الإمكانيات الجديدة في مشاكل جديدة هامة أيضًا. [ 10 ]
انظر أيضاً
مراجع
- ↑ كون، د. ل. (1989). "اختيار واستخدام أداة هندسة البرمجيات بمساعدة الحاسوب بفعالية". ندوة ويستنجهاوس السنوية للحاسوب؛ 6-7 نوفمبر 1989؛ بيتسبرغ، بنسلفانيا (الولايات المتحدة الأمريكية)؛ مشروع وزارة الطاقة الأمريكية.
- ↑ ب. لوكوبولوس وف. كاراكوستاس (1995). هندسة متطلبات النظام: برمجيات ذات أداء فعال.
- ↑ تايكرو، دانيال؛ هيرشي، إرنست ألين (1976). "PSL/PSA: تقنية بمساعدة الحاسوب للتوثيق والتحليل المنظم لأنظمة معالجة المعلومات" . وقائع المؤتمر الدولي الثاني لهندسة البرمجيات ICSE '76 . مطبعة جمعية مهندسي الكهرباء والإلكترونيات (IEEE). مؤرشف من الأصل بتاريخ 8 ديسمبر 2018. تم الاطلاع عليه بتاريخ 25 نوفمبر 2014 .
- ↑ كورونيل، كارلوس؛ موريس، ستيفن (4 فبراير 2014). أنظمة قواعد البيانات: التصميم والتنفيذ والإدارة . سينجايج ليرنينج. الصفحات 695-700 . ISBN 978-1285196145تم الاطلاع عليه بتاريخ 25 نوفمبر 2014 .
- 1 2 PC Mag . Ziff Davis, Inc. 1990-01-30.
- ↑ يوردون، إد (23 يوليو 2001). "هل يمكن لمشاريع XP أن تنمو؟" . كمبيوتر وورلد . تم الاسترجاع في 25 نوفمبر 2014 .
- ↑ "استراتيجية وهندسة دورة التطوير"، مجلة أنظمة IBM، المجلد 29، العدد 2، 1990؛ ص 172.
- ↑ هندسة البرمجيات: الأدوات والمبادئ والتقنيات، تأليف سانجيتا سابهاروال، منشورات أوميش
- ألفونسو فوجيتا (ديسمبر 1993). "تصنيف تقنية CASE" . مجلة الكمبيوتر . 26 (12): 25-38 . رمز Bibcode : 1993Compr..26l..25F . doi : 10.1109/2.247645 . S2CID 954775. مؤرشف من الأصل بتاريخ 7 يونيو 2009. تاريخ الاسترجاع: 14 مارس 2009 .
- ↑ هندسة البرمجيات بمساعدة الحاسوب. مؤرشف بتاريخ 20 يناير 2012 في أرشيف الإنترنت . ضمن: قاعدة بيانات دليل فحص تكنولوجيا المعلومات التابع لمجلس فحص المؤسسات الفيدرالية . تم الاطلاع عليه بتاريخ 3 مارس 2012.
للمزيد من القراءة
- أدوات هندسة البرمجيات بمساعدة الحاسوب
- إدارة البيانات
