
دعنا نذهب في النظام
ماذا تعني هذه الصورة بعد قليل ، والآن اسمحوا لي أن أبدأ بمقدمة.
في يوم شباط (فبراير) البارد ، لم يكن هناك أي مرض. جاءت مجموعة الطلاب الأبرياء لأول مرة لزوجين في الموضوع ، وقرروا تسميته "منهجية لتنظيم تصميم وتطوير نظم المعلومات". كان هناك محاضرة منتظمة ، تحدث المعلم عن طرق التطوير المرنة ، مثل سكروم ، لا شيء ينبع من المتاعب. وفي النهاية ، يعلن المعلم:
أريدك أن تواجه كل صعوبات العمل الجماعي ، وتقسيمها إلى مجموعات ، والتوصل إلى مشروع ، وتعيين قائد ومتابعة جميع مراحل التصميم معًا. في النهاية ، أتوقع منك منتجًا نهائيًا ومقالًا عن هبر.
هذا هو المكان الذي تبدأ قصتنا.
مثل الكرات في البلياردو ، ارتدنا بعضنا بعضًا حتى تبددت طاقة الضربة وتجمع مجموعة من 7 أشخاص معًا. ربما يكون هذا كثيرًا بالنسبة لمشروع تدريبي ، ولكن من أجل توزيع الأدوار بشكل أفضل ، هذا هو الحال. بدأت مناقشة الأفكار للمشروع ، من "لنأخذ المشروع النهائي" إلى "المحاكي لتكوين الأجسام الفضائية". لكن في النهاية ، مرت فكرة ، اسم تقرأ في الصورة الأولى.
أوقفوا التسويف - ما هو ، وما الذي يتم تناوله به وكيف قمنا بتطويره وماذا جاء منه
سيتم إجراء القصة نيابة عن مدير المشروع ، الذي عينني لحسن الحظ أو للأسف. إذن ما هي الفكرة التي تتبادر إلى أذهاننا؟ مستوحاة من المنبه "Shake Alarm Clock" الشهير من SupperCommon ، أي وظيفة حظر تشغيل الهاتف الذكي بالكامل حتى يقوم المستخدم بإجراء معين ، والذي من المرجح أن يجعله يستيقظ ، قررنا إنشاء تطبيق مماثل يساعد في التخلص من الاعتماد على الهاتف ، بنفس مبدأ "اهتز المنبه"
مبدأ العمل
يحدد المستخدم الموقتات
- الوقت الذي يمكن أن تقضيه على الهاتف الذكي
- الوقت بدون الهاتف الذكي (فترة القفل)
بعد انتهاء صلاحية المؤقت ، يظهر تراكب على الشاشة لا يمكن تصغيره.
- لإغلاق التراكب الذي تحتاجه لاجتياز اختبار صغير (أدخل كلمة المرور على لوحة مفاتيح مشوشة ، قم بحل مشكلة في الرياضيات ، هز الهاتف لبضع دقائق)
بعد إلغاء القفل بهذه الطريقة ، يتم تقليل الوقت الذي يمكن إنفاقه على الهاتف الذكي بمقدار النصف ، وما يصل إلى دقيقة واحدة.
بناء فريق
بادئ ذي بدء ، كان من الضروري تحديد من سيفعل وما هي اللغة التي سيتم كتابة كل هذا. أعتقد أن هذا ليس له علاقة تذكر بإدارة المشروع ، لأنه عندما تقوم بتجميع فريق لمشروع حقيقي ، تقوم على الفور بتجميع أولئك الذين تحتاجهم. ونتيجة لذلك ، تحملت أيضًا مسؤولية المصمم ، واخترت قائد فريق واحد يتمتع بخبرة جيدة في تطوير التطبيقات ، وتم تعيين ثلاثة مبرمجين له ، وأصبح اثنان منهم اختبارًا. بالطبع ، تم اختيار لغة البرمجة حسب المهارة. نتيجة لذلك ، تقرر استخدام Java ، لأن جميع المبرمجين كانوا على دراية به.
وضعنا المهام
بناءً على توصية المعلم ، تم إنشاء لوحة
مهام على خدمة
Trello المجانية. تم التخطيط للعمل على نظام Scrum ، حيث سيكون كل قطار نوعًا من التطبيق الكامل.
ومع ذلك ، في الواقع ، خرج دفق واحد كبير وطويل من كل هذا ، حيث تم إجراء تعديلات وإضافات وتصحيحات باستمرار.

كتابة المواصفات
تحت تأثير كتاب Savin's Testing.com ، كان لدي في رأسي فكرتي عن كيفية ترتيب كل شيء. بدأ كل شيء بمواصفات الكتابة ، والتي أعتقد أنها بدون وصف واضح لما نتوقعه وما الذي سينجح وكيف لن ينجح شيء. سيقوم المبرمجون ببرمجة كل شيء كما يرون ، واختبار آخر ، والرئيس ينتظر الثالث ، وسوف تتحول كما هو الحال دائما الرابعة.
كتابة المواصفات ليست سهلة ، تحتاج إلى التفكير من خلال كل التفاصيل ، كل الفروق الدقيقة. بالطبع ، لم يحدث شيء في المرة الأولى. ونتيجة لذلك ، تم استكمال المواصفات ، وإعادة بنائها 4 مرات. يمكنك العثور على الخيار الأخير في نهاية المقالة ، في قسم الروابط.
ارسم التصميم
التصميم في تطبيق الهاتف المحمول هو أهم شيء. ومع ذلك ، لا يفهم الجميع هذا ، بما في ذلك من فريقي ، وقد جادل كثيرون معي بشدة أن التصميم ليس ضروريًا ، وأن هذا هو الجزء الأكثر أهمية في التطبيق ، إلخ. لا تكن ساذجًا جدًا. أولاً ، إن التصميم النهائي يعد بمثابة راحة لأعمال المبرمج ، ولا يحتاج إلى التفكير في مكان وأين يلجأ إليه ، فهو يأخذ ويضع ما تم رسمه. جنبا إلى جنب مع المواصفات ، التصميم يحرر تماما تقريبا مبرمج العقل من الأشياء غير الضرورية ، ويمنحه الفرصة للتركيز على المنطق. بشكل عام ، تم رسم نموذج أولي (رهيب) أولاً:

ولكن بعد ذلك تم تمشيط التصميم وإعادته إلى الوضع الطبيعي.
(رابط إلى جميع عناصر التصميم في نهاية المقال).

برمجة
البرمجة صعبة ولكنها ممكنة. سوف أغفل هذه اللحظة ، لأنني شخصياً لم أفعل ذلك. قام المبرمجون بعمل رائع ، والذي بدونه سيكون كل شيء بلا معنى. بالطبع ، تمكنت من إدراك بعض الأفكار. والبرنامج لا يزال يحتاج إلى تحسين. الكثير من الأخطاء والميزات التي تحتاج إلى إزالتها. إذا كان لدينا المزيد من الوقت ، فسنقوم بالزحف خارج نطاق ألفا العميق ، ولكن الآن يمكنك اختبار التطبيق في نهاية المقالة.
حسنا ، عن الاختبار
ما هو الشيء الرئيسي في البرمجة؟ في رأيي ، الشيء الرئيسي هو أن كل شيء يعمل ويبدو كما ينبغي. كما يخرج ، فإنه ليس دائما وليس على الفور. هذا يتطلب الاختبار. بالنسبة للمختبرين ، اقترحت نموذج اختبار باستخدام حالات الاختبار. أولاً ، تتم كتابة حالات الاختبار وفقًا للمواصفات الكاملة ، ثم يتم اختبارها. ما جاء من هذا يمكن أن ينظر إليه أدناه في الروابط.
شكرا للقراءة. أتمنى أن تجد شيئًا مفيدًا على الأقل هنا ، أو ربما فكرة لبدء عملك ، أو ربما نصيحة جيدة أو أداة.
المراجع:
أحدث
المواصفات .
تصميم
figma .
حالات الاختبار وتقارير الأخطاء .
التطبيق نفسه على
HokeyApp . - تم بناء التطبيق تحت اسم HandsOff ، ولا تسأل حتى عن السبب (لأن إيقاف التسويف طويل جدًا).
حسنا ، في النهاية
هل تعتقد أن كل هذا منطقي؟