كيفية القيام بمراجعة الهندسة المعمارية قبل المشروع

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

  •  25-09-2019
  •  | 
  •  

سؤال

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

نحن نخطط لتنفيذ مراجعات الهندسة المعمارية قبل بدء الترميز.

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

هل لدى أي شخص مقاربة أكثر تنظيماً ، ربما مع "هل فكرت في" أو "كيف ستفعل".

كنت أفكر في شيء مثل:

  • حماية
  • تسجيل
  • الدخول الى البيانات
  • تعيين
  • الترقية
هل كانت مفيدة؟

المحلول

عناصر إضافية لإضافتها إلى قائمتك ، في أي ترتيب معين:

  • الأداء - إما الكمون أو النطاق الترددي أو التحجيم أو العوامل الأخرى المتعلقة بالتسليم
  • قابلية الدعم-لديك بالفعل تسجيل ، ولكن ماذا عن السباكة في قياسات تشخيصية أخرى (Java-JMX ، عدادات Windows-WMI/الأداء أو شيء مخصص)
  • المرونة - صعوبة في تغيير الهندسة المعمارية لاحقًا (عادة ما تكون هذه الأشياء التي يتم إجراؤها بشكل مفرط وتسبب مشاكل أكثر من اللازم ، ولكن يجب أن تكون المناقشة موجودة عند تقييم التصميم)
  • طراز الخيوط / نموذج القفل - هل من الواضح كيف سيتم حماية البيانات؟ كيف سيتم معالجة خلاف الموارد؟
  • متطلبات الموارد - استهلاك الذاكرة على مستويات مختلفة من الاستخدام. هل تتناسب مع قيودك؟
  • معالجة الأخطاء - عندما يفشل شيء ما في المنتج ، هل تدعم الهندسة المعمارية المناولة النظيفة وإخطار المشكلات؟
  • مفهومة - تميل البنى المعقدة للغاية إلى نسيانها أثناء التنفيذ. إذا كان غالبية الفريق ، وخاصة العملاء المتوقعين ، لا يمكنهم الاحتفاظ بالهندسة المعمارية ، فإن الفلسفات والقواعد ، في رؤوسهم ، لن تكون الهندسة المعمارية مهمة.
  • التناسق. هل يحاول استخدام كل نمط ممكن أو التركيز على الأنماط العادية المتكررة. ليس أن اختيار النمط الصحيح لكل مشكلة ليس شيئًا جيدًا ، ولكن وجود الكثير من الأنماط يمكن أن يؤثر على قابلية الفهم ويؤدي إلى أخطاء التنفيذ. يجب أن يحاول المهندس المعماري إظهار كل ما يعرفونه (أو أحدث شيء رائع) في كل مشروع.
  • قابلة للاختبار - هل يساعد التصميم أو يؤذي جهود الاختبار (النظام والتكامل). هل يمكن أن يكون الاختبار آليًا أم أنك ستعتمد على جيش من المختبرين لتكرار اختبار الانحدار بشكل مستمر حتى تعرف أن فريقك لم يكسر المنتج؟
  • هل تعالج الهندسة المعمارية في الواقع المشكلة التي تحاول حلها وفي نطاق المشكلة؟ لا تنشئ سمك السماء عندما تكون دوبلكس كافية.

نصائح أخرى

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

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

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

من السهل نسبيًا رؤية أخطاء الهندسة المعمارية عند انتهاء المشروع ، ولكن هذا يكمن في طبيعة ما نقوم به.

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

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

في النهاية توصي بحل للإدارة بأسباب وربما مخطط بنية عالية المستوى لتصور الحل.

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