Itrust是一个医疗网络系统和数据库,我(Wolfski2)与团队中的其他七个作为课程项目进行了修改并扩展。它具有约90%代码覆盖的综合单元和硒测试。
标记为“提交消息初始化”的文件在项目开始时包含,我们的团队没有改变。
开发完全根据时间表进行,并由用例指定。我们成对开发,并实践了极端的编程方法。我们的开发时间表分为三个迭代。我们每次迭代都通过发展负责人,质量检查领导者和计划领导者的三个领导角色循环。我们分为两个子接头四个,然后分为两对。
在前两个迭代中,我们的任务是实现分配的用例,而在第三次迭代中,我们创建并实施了自己的UC。
在迭代1中,我在分支UC41_1中的UC41 sendreminders上与SAM合作。我们在apptdao.java中创建了sendreminders.jsp,sendreminderaction.java和getupcomingappts方法查询并返回给定天数之内即将到来的约会列表。在JSP确定输入是否以正确格式的情况下遵循标准惯例,如果是这样,则调用动作类,该类别又调用DAO查询DB。第二对(Jordi and 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请求生物监视时与Sean合作。我们的一对使用Diagnoses dao查询,java和流行病检测算法,从事requestBiosurveillanceaction.java。
而第二对(Nicholas和Xiaorui)在RequestBiosurveillance.jsp中创建了UI。这次,我们通过将分支UC14_1的合并请求纳入UC14来遵循更好的过程。团队的其他成员发布了审查,我们在合并之前解决了小问题。通过UC14的合并请求重复此过程。我还对其他合并请求进行了审查和评论。
我从迭代1中解决了第三代码的气味,也是迭代2的质量保证领导者。我经常检查我的一对和其他所有完全承诺的迭代2代码覆盖范围,以确保我们的课程至少具有80%的覆盖范围。我修复了另一对测试,该测试在commit 6E881BDA中的AddPretregisteredPatientTest.java中的覆盖率太低。在演示之前,我在requestBiosurveillance.jsp中遇到了一个关键的错误,并在testdatagenerator.java中的main()中添加了一个参数,将流行数据数据加载到DB。如果未经治疗,这两个问题都将阻止UC14能够进行演示。
src/edu/ncsu/csc/itrust/action/RequestBiosurveillanceAction.java (+)WebRoot/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中,我在分支T4_OWN_2中的UCown_2热图上担任一对。我们创建了view weeklyschedule.jsp和每周的lyscheduleaction.java,以在给定的一周与一天的小时中显示约会数量的热图,红色的红色阴影在一天中的给定小时内有更多的约会。我们在Google图表上找不到令人满意的Heatmap模板或类似的内容,因此我们使用JSP表和算法创建了自己的算法,该算法在给定的一周内找到所有约会,在一天中和一天中按小时按2D阵列进行分类,然后将其映射为2D HeatRay,以在JSP桌上使用2D HeatMap Color阵列。我们将T4_OWN_2的合并请求直接纳入主,因为我们本质上将UCOWN分为两个完全独立的用例。它在审查后合并并进行了较小的修复。我再次对与伴侣的其他合并请求进行了评论并评论。
尽管我不再是迭代3的质量保证领导者,但我仍然密切关注整个Itrust项目的测试结果,并修复了AddPretregisteredPatientTest.java和testDatagenerator.java中的UC92错误。
WebRoot/auth/admin/viewWeeklySchedule.jsp (+)src/edu/ncsu/csc/itrust/action/WeeklyScheduleAction.java (+)test/edu/ncsu/csc/itrust/unit/action/WeeklyScheduleActionTest.java (+)test/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 (+)