ITRUST هو نظام ويب طبي وقاعدة بيانات قمت بتعديلها وتوسيعها مع سبعة آخرين في فريق كمشروع دورة. يتميز باختبارات شاملة للوحدة والسيلينيوم مع تغطية رمز 90 ٪ تقريبًا.
تم تضمين الملفات التي تحمل تهيئة رسالة الالتزام في بداية المشروع ولم يتغير من قبل فريقنا.
تقدم التطوير بالكامل وفقًا لجدول زمني وتم تحديده في حالات الاستخدام. تطورنا في أزواج ومارسنا منهجية البرمجة القصوى. تم تقسيم الجدول الزمني لتطويرنا إلى ثلاثة تكرارات. كل تكرار قمنا بتدويره من خلال ثلاثة أدوار قيادية لزعيم التنمية وزعيم ضمان الجودة وقائد التخطيط. انقسمنا إلى اثنين من أشعة الفرعية من أربعة والتي بدورها انقسمت إلى اثنين من أزواج.
في التكرارين الأولين ، كانت مهمتنا هي تنفيذ حالات الاستخدام المخصصة أثناء التكرار الثالث ، قمنا بإنشاء وتنفيذ UC الخاص بنا.
في التكرار 1 عملت كزوج مع SAM على UC41 SendReminders في الفرع UC41_1. لقد أنشأنا SendReminders.jsp و SendReminderAction.java وأسلوب getUpcompts في apptdao.java للاستعلام وإرجاع قائمة المواعيد القادمة في غضون عدد معين من الأيام. تم اتباع الاتفاقية القياسية حيث يحدد JSP ما إذا كان الإدخال بالتنسيق الصحيح ، وإذا كان الأمر كذلك ، فإن ذلك يتصل بفئة الإجراء ، والتي بدورها تستدعي DAO للاستعلام عن DB. عمل زوج ثانٍ (Jordi و Aidan) على الجزء المتبقي من صندوق تذكير UC41. التقينا كمجموعة لمراجعة ودمج رمزنا في UC41 ، وفقط بعد أن تم تنفيذ UC41 بالكامل ، هل قمنا بدمجها في ماجستير مع بقية الفريق.
WebRoot/auth/admin/sendReminders.jsp (+)src/edu/ncsu/csc/itrust/action/SendReminderAction.java (+)src/edu/ncsu/csc/itrust/dao/mysql/ApptDAO.java (*)test/edu/ncsu/csc/itrust/unit/action/SendReminderActionTest.java (+)test/edu/ncsu/csc/itrust/unit/dao/appointment/ApptDAOTest.java (*)test/edu/ncsu/csc/itrust/selenium/SendReminderTest.java (+) في التكرار 2 ، عملت كزوج مع شون على UC14 يطلب المخاطر الحيوية. عمل زوجنا على requestbiosurveillanceactic.
بينما قام الزوج الثاني (Nicholas و Xiaorui) بإنشاء واجهة المستخدم في requestBiosurveillance.jsp. هذه المرة اتبعنا إجراء أفضل من خلال فتح طلب دمج من فرعنا UC14_1 إلى UC14. نشر أعضاء آخرون في الفريق مراجعة ، وقمنا بإصلاح مشكلات بسيطة قبل الاندماج. تكررت هذه العملية مع طلب دمج من UC14 إلى ماجستير. راجعت أيضًا وعلقت على طلبات دمج أخرى.
لقد قمت بإصلاح رائحة الرمز الثالث من التكرار 1 ، وكانت أيضًا قائد تأكيد الجودة للتكرار 2. لقد قمت بفحص زوجي بشكل روتيني وأي تغطية أخرى للتكرار 2 التكرار 2 للتأكد من أن فصولنا لديها تغطية 80 ٪ على الأقل. لقد أصلحت اختبار زوج آخر كان له تغطية منخفضة للغاية في AddPrereGisteredPatientTest.java في الالتزام 6E881BDA. قبل العرض التوضيحي ، اشتعلت خطأً مهمًا في requestBiosurveillance.jsp وأضفت معلمة إلى Main () في testDatagenerator.java لتحميل بيانات الوباء إلى DB. إذا لم يتم علاجهما ، فستمنع كلتا المشكلتين UC14 من التمكن من العرض التجريبي.
src/edu/ncsu/csc/itrust/action/RequestBiosurveillanceAction.javaWebRoot/auth/hcp/requestBiosurveillance.jsp (*)test/edu/ncsu/csc/itrust/unit/action/RequestBiosurveillanceActionTest.java (+)test/edu/ncsu/csc/itrust/unit/dao/patient/AddPreRegisteredPatientTest.java (*)test/edu/ncsu/csc/itrust/unit/datagenerators/TestDataGenerator.java (*) في التكرار 3 ، عملت كزوج على خريطة الحرارة UCOWN_2 في الفرع T4_OWN_2. لقد أنشأنا ViewWeekschedule.jsp و WeeklysCheduleAction. لم نتمكن من العثور على قالب خريطة حرارة مرضية على مخططات Google أو أي شيء مشابه ، لذلك قمنا بإنشاء طاولة JSP الخاصة بنا وخوارزمية تجد جميع المواعيد في أسبوع معين ، وفرزها حسب اليوم في اليوم في طاولة JSP. لقد قدمنا طلب دمج من T4_OWN_2 مباشرة إلى الماجستير ، لأننا نقسم بشكل أساسي UCOWN إلى حالتين مستقلتين تمامًا. تم دمجها بعد المراجعة والإصلاح البسيط. مرة أخرى راجعت وعلقت على طلبات دمج أخرى مع شريكي.
على الرغم من أنني لم أعد قائدًا لضمان الجودة في التكرار 3 ، إلا أنني ما زلت اهتمت باختبار نتائج مشروع ITRUST بأكمله ، وحددت خطأ UC92 في AddPreregisteredPatientTest.Java و TestDatagenerator.java الذي يمنع اختبارات مستقلة أخرى من النجاح بسبب الإدراج العرضي لمرضى واحد إلى DB.
WebRoot/auth/admin/viewWeeklySchedule.jsp (+)src/edu/ncsu/csc/itrust/action/WeeklyScheduleAction.java (+)test/edu/ncsu/csc/itrust/unit/action/WeeklyScheduleActionTest.javatest/edu/ncsu/csc/itrust/unit/dao/patient/AddPreRegisteredPatientTest.java (*)test/edu/ncsu/csc/itrust/unit/datagenerators/TestDataGenerator.java (*)test/edu/ncsu/csc/itrust/selenium/viewWeeklyScheduleTest.java (+)