Itrust는 코스 프로젝트로 팀에서 7 명의 다른 사람들과 함께 수정하고 확장 한 의료 웹 시스템 및 데이터베이스입니다. 그것은 ~ 90% 코드 범위를 가진 포괄적 인 장치와 셀레늄 테스트를 특징으로합니다.
커밋 메시지 초기화 로 표시된 파일은 프로젝트 시작시 포함되었으며 팀은 변경되지 않았습니다.
개발은 일정에 따라 전적으로 진행되었으며 사용 사례에 따라 지정되었습니다. 우리는 쌍으로 개발하고 극단적 인 프로그래밍 방법론을 실천했습니다. 우리의 개발 타임 라인은 세 가지 반복으로 나뉩니다. 우리는 개발 리더, QA 리더 및 기획 리더의 세 가지 리더십 역할을 순환했습니다. 우리는 4 개의 서브 테이크로 나뉘어 두 쌍으로 나뉩니다.
처음 두 번 반복에서 우리의 임무는 할당 된 사용 사례를 구현하는 반면 세 번째 반복에서 우리는 자체 UC를 생성하고 구현했습니다.
반복 1에서 나는 UC41 _1의 UC41 SendReminders에서 SAM과 쌍으로 일했습니다. 우리는 sendreminders.jsp, sendreminderaction.java 및 apptdao.java의 getUpcidingAppts 메소드를 만들어 주어진 숫자 일에 다가오는 약속 목록을 쿼리하고 반환했습니다. 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과 쌍으로 일했습니다. 우리의 쌍은 RequestbiosurveillAncection.java 및 Epidemic Detection 알고리즘 진단을 사용하여 작업했습니다.
두 번째 쌍 (Nicholas 및 Xiaorui)은 requestBiosUrveillance.jsp에서 UI를 만들었습니다. 이번에는 Branch UC14_1에서 UC14로 병합 요청을 열어 더 나은 절차를 따랐습니다. 팀의 다른 구성원들은 검토를 게시했으며 합병 전에 사소한 문제를 해결했습니다. 이 프로세스는 UC14의 병합 요청으로 반복되었습니다. 또한 다른 병합 요청에 대해 검토하고 댓글을 달았습니다.
나는 반복 1에서 3 차 코드 냄새를 수정했으며 반복 2의 품질 보증 리더였습니다. 저는 수업에 80% 이상의 적용 범위가 있는지 확인하기 위해 쌍과 다른 완전히 커밋 된 반복 2 코드 커버리지를 정기적으로 확인했습니다. Commit 6E881BDA의 AddPrepreerEgisteredPatientTest.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 heatmap에서 쌍으로 일했습니다. 우리는 vieweeklyschedule.jsp와 weeklyscheduleaction.java를 주어진 주와 하루의 시간에 약속의 수를 보여주기 위해 주간을 만들었습니다. Google 차트 또는 이와 유사한 내용에서 만족스러운 히트 맵 템플릿을 찾을 수 없었기 때문에 주어진 주에 모든 약속을 찾는 JSP 테이블과 알고리즘을 사용하여 직접 만들고 하루에 2D 배열로 정렬 한 다음 2D 히트 맵 색상 배열로 JSP 테이블에서 사용되는 2D 히트 맵 색상 배열로 맵핑을했습니다. 우리는 T4_own_2에서 직접 마스터로 병합 요청을했습니다. 왜냐하면 우리는 본질적으로 Ucown을 완전히 독립적 인 두 가지 사용 사례로 나누었 기 때문입니다. 검토 및 사소한 수정 후 병합되었습니다. 다시 파트너와의 다른 병합 요청에 대해 검토하고 댓글을 달았습니다.
반복 3의 품질 보증 리더는 아니지만 여전히 전체 Itrust 프로젝트의 테스트 결과에 세심한주의를 기울였으며, 너무 많은 환자를 DB에 사고로 삽입하여 다른 독립적 인 테스트가 통과되는 것을 방지하는 AddPreperregisteredPatientTest.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 (+)