أساسيات معمارية الواجهات الأمامية › فهم المشكلة 2 / 5 السابق التالي

المتطلبات المعمارية

الدرس 13 من 38 · فهم المشكلة · 7 دقيقة و44 ثانية

الفيديو الأصلي باللغة الإنجليزية. إذا تعذّر تشغيله هنا، شاهده على موقع المؤلف. التفريغ النصي العربي الكامل أدناه.

الموارد

التفريغ النصي

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

[00:24] لذلك قمت بتجميع هذه الوثيقة مع المتطلبات المعمارية لمشروع FullSnack. في مشروع حقيقي، ربما تريد أن يكون لديك وثيقة، كما تعلمون، منظمة بشكل جيد مثل هذا. سوف تحتاج إلى معرفة المتطلبات بنفسك. هناك عدد من الأشياء التي يمكنك القيام بها لاكتشاف المتطلبات المعمارية لمشاريعك الخاصة، وسنتحدث عن ذلك في نهاية هذا الفيديو. في الوقت الحالي، أريد فقط التركيز على مراجعة بعض المتطلبات الأكثر أهمية في بنية FullSnack.

[00:54] لذا فإن الطريقة التي يتم بها تنظيم المستند هي استخدام نفس الفئات وأنواع مختلفة من برامج التشغيل التي تحدثنا عنها في الفيديو السابق. لذلك لدينا قسم لأهداف الأعمال. لدينا بعض القيود، وبعض سمات الجودة، والمتطلبات الوظيفية المؤثرة وغيرها من المؤثرين، والتي ليست متطلبات في حد ذاتها، ولكن هذه هي الأشياء التي ستؤثر بالتأكيد على بنيتنا أيضًا.

[01:18] دعونا نستعرض بعض المتطلبات المعمارية الأكثر أهمية في مشروع FullSnack. أولاً وقبل كل شيء، لدينا أهداف تجارية وكما ذكرنا سابقًا، غالبًا ما يتم التغاضي عنها لأن هذه أشياء نعتبرها أحيانًا أمرًا مسلمًا به، ولكنها مهمة بشكل واضح لأن هذه هي الأشياء التي قد يكون لدى أشخاص آخرين في الفريق وأصحاب المصلحة الآخرين معايير النجاح في أذهانهم للهندسة المعمارية.

[01:42] لذلك يريد الرئيس التنفيذي الاستثمار في هذا التطوير لهذا التطبيق لأنهم يريدون زيادة طلبات العملاء. نائب الرئيس للهندسة يريد زيادة السرعة. يهتم مطور الواجهة الأمامية في الفريق بالشحن إلى الإنتاج بثقة دون خوف من كسر ميزات زملائه في الفريق. ويهتم المستهلك بطلب الطعام من هاتفه أو جهاز الكمبيوتر الخاص به وتسليمه في أسرع وقت ممكن.

[02:08] الآن، هذه أشياء قد يبدو بعضها واضحًا، بالطبع، ولكن علينا أن نضع في اعتبارنا أنه حتى لو قمنا بتطوير أجمل تصميم معماري، أسرع معمارية في العالم، فإنه يزيد من السرعة بنسبة 100٪، لكنه لا يسمح للعملاء بطلب الطعام، ثم لا يمكننا القول حقًا أن المعمارية ناجحة.

[02:30] ثم لدينا بعض القيود. لدينا بعض القيود التقنية. واحد منهم هو أننا يجب أن نشر إلى البنية التحتية أوس. ذلك لأن فريق DevOps الخاص بنا يدعم AWS فقط ونريد الحصول على الدعم منهم ومن ثم يتعين علينا استخدامه. ثم لدينا أننا يجب أن تكون استجابة وتعمل بكامل طاقتها على الأجهزة النقالة لأننا لم يكن لديك حتى الآن تطبيق الهاتف المحمول. وأننا يجب أن السفينة إلى الإنتاج في غضون أربعة أشهر.

[02:55] هذه هي تذكر، وهذه هي غير قابلة للتفاوض. في هذه الحالة، علينا أن نتماشى مع بعض مبادرات التسويق، لذلك يتعين علينا شحن شيء ما في غضون أربعة أشهر. هذا لا يعني أنه يتعين علينا شحن جميع الميزات، ولكن الأمر متروك لنا لتحديد، كما تعلمون، أولوية الميزات. لتحديد الوظائف الأساسية التي سنشحنها في غضون أربعة أشهر ومن ثم الميزات التي ليست ضرورية.

[03:16] ثم لدينا قسم عن سمات الجودة وهذه هي بعض، لذلك لدينا اثنين من سمات الجودة ذات الأولوية العالية، واحدة تتعلق بالأداء، وهو اختبار أن المستخدم على جهاز محمول مع اتصال 4G يمكن تحميل التطبيق في 5 ثوان أو أقل. هذه هي، قد تعرف هذه المتطلبات غير الوظيفية كذلك. أحب استخدام مصطلح سمات الجودة لأنه ليس كلهم غير وظيفيين حقًا ويمكننا الجدال حول ما هو وظيفي، وما هو غير وظيفي، لكن سمات الجودة تشير أكثر إلى الخصائص الفعلية التي نحاول الترويج لها.

[03:49] سيكون الأداء وقابلية التوسّع وإمكانية الوصول والمتطلبات غير الوظيفية أكثر ارتباطًا بالسيناريو، أليس كذلك؟ لذلك هذه سيناريوهات محددة حيث يجب علينا الامتثال لهذا. هذه هي سمات الجودة لعمارتنا لتكون ناجحة. هذا سيحدد، كما تعلمون، ما هو المهم، كيف يمكننا إجراء مقايضات معينة.

[04:10] ثم لدينا بعض المتطلبات الوظيفية المؤثرة، والتي سنتحدث عنها في دقيقة واحدة، ثم المؤثرين الآخرين الذين قد يأتون إلى، نعم، سيلعبون دورًا بينما نواصل العمل على تصميم المعمارية. أولاً لدينا أن فريق الواجهة الأمامية لدينا هو فريق واحد من أربعة مطورين في الوقت الحالي، لكننا سننمي الفريق في الحجم. سنتضاعف ثلاث مرات خلال العام المقبل، لذلك قد يتغير تكوين الفريق. هذا سيحدث. قد يكون لدينا فرق متعددة بدلا من واحد فقط. لذلك ربما الطريقة التي ننظم بها الشيفرة ستتأثر بهذه الفرق المختلفة.

[04:43] ثم لدينا مؤثر آخر هو أن مطوري الواجهة الأمامية لديهم خبرة مع React و NextJS. نعم، وبعضها مريح باستخدام Vue و Laravel أيضًا. قد يحدث هذا أيضًا عندما نتخذ قرارات معمارية حول التقنيات التي سنختارها. وأخيرًا، لا يشعر الجميع في الفريق بالراحة في العمل مع TypeScript، مما قد يعني أنك قد تقرر عدم استخدام TypeScript على الإطلاق، أو قد تقرر قضاء بعض الوقت في تدريب الفريق، والقيام بالدورات، وقراءة الكتب معًا لجعلهم أكثر دراية بهذه اللغة.

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

[05:45] هذا لا يعني أنه يجب عليك الامتثال لهم جميعًا، ولكن هذا سيعطيك فكرة عما يهتم به الناس أكثر، وسيمنحك، كما تعلمون، فهمًا لسمات الجودة التي يجب أن تهتم بها الترويج وكيفية ترتيب أولوياتها أيضًا. لدى المعماريين عدد من الأدوات في مجموعة أدواتهم لجعل هذه العملية أسهل قليلاً، وهي في الأساس أنشطة يمكنهم القيام بها مع فرقهم أو مع مجموعات مختلفة من الناس للكشف عن هذه المتطلبات المعمارية.

[06:14] سأربط بعض مواردي المفضلة في وصف هذا الفيديو ببعض الأنشطة التي يمكنك القيام بها مع فرقك. ولكن إذا اضطررت إلى استدعاء مورد واحد فقط، فسيكون كتاب "Design It". نتحدث عن "Design It" في وقت سابق عندما وصفنا معمارية البرمجيات. هذا هو الكتاب الذي نتعرف فيه على تعريف معمارية البرمجيات، ويحتوي الكتاب على قسم كامل حول الأنشطة التي يمكنك القيام بها، كما تعلمون، للكشف عن المتطلبات خلال مرحلة الفهم، ولكن أيضًا عبر عملية التصميم والتنفيذ بأكملها أيضًا.

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

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

[07:34] الآن آخر شيء نحتاج إلى التحدث عنه هو المتطلبات الوظيفية المؤثرة وسنتحدث عنها في الفيديو التالي لأن ذلك سيكون التمرين الثاني للدورة.