أدوات (أفضل الممارسات؟) نموذج مدفوعة التنمية ؟

StackOverflow https://stackoverflow.com/questions/262279

سؤال

نموذج مدفوعة تطوير البرمجيات.

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

التواصل بين الخبراء في المجال (العملاء) و المطورين أمر بالغ الأهمية لجعل هذه المنهجية في العمل.ما أريد معرفته هو ما إذا كان هناك أداة جناح أو مجموعة من أفضل الممارسات التي من شأنها أن تساعد في التوجه الأولي من MDSD?مرة واحدة في المجال بلورتها ماذا عن رسم هذا النموذج إلى ORM (أو أيا كان)?

أنا فقط الغوص في عالم MDSD و DSL لذلك أي أفكار بناءة أو التعليقات سوف تكون محل تقدير.

هل كانت مفيدة؟

المحلول

إذا تم تطوير على منصات مايكروسوفت، قد ترغب في التحقق من أوسلو أيضا. وهناك لمحة لطيفة هنا: HTTP: // www.pluralsight.com/community/blogs/aaron/archive/2008/11/03/introducing-quot-oslo-quot.aspx

وهنا طن من الروابط من كريس يبيع: http://www.sellsbrothers.com/news/showTopic.aspx؟ixTopic= 2197

وأنا لست على استعداد لمساواة المجال تصميم تحرك بدافع التنمية محرك نموذج فقط حتى الآن.

وأنت قد تحتاج أيضا إلى التحقق من نموذج العمارة مدفوعة (وOMG MDA) للمنظور وإن كان من المحتمل ليس كثيرا على المتداول بنفسك.

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

نصائح أخرى

وإذا كنت البرمجة في صافي يجب عليك قراءة "تطبيق المجال تصميم وأنماط انطلاقا" من قبل جيمي Nielsson. لديه أيضا قسم خاص ORM (NHibernate)، SOA والتبعية الحقن.

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

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

أعتقد MDSD لا يزال الكثير من ربط رمز جيل.

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

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

حتى هذه المنصات الجديدة/أطر تأخذ الكثير من الرياح أشرعة MDSD الحركة.

DSLs (نصية منها) هي اتجاه آخر أن يحاول تمكين التركيز الوحيد على الضروري التعقيد.في حين DSLs يمكن استخدامها كمصدر لتوليد رمز ، فهي ليست مرتبطة بالأساس رمز جيل.DSLs (خاصة الداخلية DSLs) أساسا إفتح تفسر/أعدم في وقت التشغيل.[وقت التشغيل رمز جيل هو في مكان ما بين].

حتى لو DSLs غالبا ما يذكر مع MDSD, أعتقد أنهم حقا بديل MDSD.و بالنظر إلى الضجة الحالية ، كما أنها تأخذ الزخم من MDSD الحركة.

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

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

من الوضع الحالي من الأدوات المعنية في MDSD يضيف مستوى آخر من عرضي التعقيد (أعتقد:التزامن ، diffing/دمج إعادة بيع ديون ...) الأساس الذي يلغي الهدف النهائي من التبسيط!

ننظر في ما يلي ActiveRecord نموذج كمثال نظريتي:

class Firm < ActiveRecord::Base
   has_many   :clients
   has_one    :account
   belongs_to :conglomorate
end

لا أعتقد أن هذا يمكن أن يكون أي أكثر بساطة.أيضا أي تمثيل رسومي مع مربعات وخطوط لن يكون هناك تبسيط و لا تقدم المزيد من الراحة (التفكير في تصميم, بناء, البحث, diffing ...).

MDD يمكن أن تكون معقدة أو بسيطة نسبيا.

إذا كنت ترغب في أتمتة التحول من نماذج مختلفة (في UML ، على سبيل المثال) إلى رمز و هل ذهابا وإيابا الهندسة كل ذلك, يمكنك الحصول على بعض الأدوات الهوى.

أو

يمكنك رسم نماذج بناء رمز أكثر أو أقل من جهة ، باستخدام طريقة (نموذج التعليمات البرمجية) التحول.

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

لم يكن لديك إلى نموذج كل شيء.يمكنك أن تبدأ MDD من خلال وجود نموذج البيانات -- مستقلة عن أي تنفيذ محددة.

  1. يمكنك رسم النموذج الخاص بك باستخدام UML.

  2. يمكنك تحويل UML إلى الدرجة التعاريف.

  3. يمكنك استخدام ORM طبقة (أو ODBMS) إلى خريطة النماذج الخاصة بك إلى نوع من التخزين.

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

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

يجب عليك قراءة هذا ممتاز ورقة حول MDSD أفضل الممارسات من ماركوس Voelter : http://www.jot.fm/issues/issue_2009_09/column6.pdf

فيما يتعلق MDSD/DSL الخيار ، EMF النظم الإيكولوجية (https://www.eclipse.org/modeling/emf/) يوفر العديد من مفيد لبنات :

  • تنفيذ metamodels و نموذج المحررين (EMF)
  • تطبق نموذج المحررين (EMF, سيريوس, Xtext...)
  • إدارة التعاون وتطويره (EMF-الصفقة ، CDO)
  • تنفيذ نموذج قواعد التحقق من الصحة (EMF-التحقق من صحة)
  • تنفيذ التعليمات البرمجية مولدات (Acceleo, Xtend/Xpand, Mwe...)
  • تنفيذ الوثيقة مولدات (pxDoc, m2doc...)

مثيرة للاهتمام الخيار للحد من الأدوات الاستثمارية يمكن أيضا استخدام الموسعة UML التماثيل ، و تحدد بنفسك UML ملامح عرف الأدوات في أعلى استخدامها التماثيل (القائمة السابقة لا تزال كافية إذا UML صانع التماثيل هو على أساس UML2/EMF التنفيذ).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top