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 (+)