ITRUST adalah sistem web dan database medis yang dimodifikasi dan diperpanjang saya dengan tujuh orang lainnya di tim sebagai proyek kursus. Ini fitur unit komprehensif dan tes selenium dengan ~ 90% cakupan kode.
File yang ditandai dengan inisialisasi pesan komit dimasukkan pada awal proyek dan tidak berubah oleh tim kami.
Pengembangan berkembang sepenuhnya sesuai dengan jadwal dan ditentukan oleh kasus penggunaan. Kami berkembang berpasangan dan mempraktikkan metodologi pemrograman ekstrem. Garis waktu pengembangan kami dibagi menjadi tiga iterasi. Setiap iterasi yang kami bersepeda melalui tiga peran kepemimpinan pemimpin pembangunan, pemimpin QA, dan pemimpin perencanaan. Kami membagi menjadi dua subteam dari empat yang pada gilirannya dibagi menjadi dua pasangan.
Dalam dua iterasi pertama tugas kami adalah menerapkan kasus penggunaan yang ditugaskan sementara dalam iterasi ketiga kami membuat dan mengimplementasikan UC kami sendiri.
Dalam iterasi 1 saya bekerja sebagai pasangan dengan SAM di UC41 Sendreminders di cabang UC41_1. Kami membuat sendreminders.jsp, sendreminderAction.java, dan metode GetUpingAppts di apptdao.java untuk meminta dan mengembalikan daftar janji temu yang akan datang dalam beberapa hari tertentu. Konvensi standar diikuti di mana JSP menentukan apakah input berada dalam format yang benar, dan jika demikian memanggil kelas tindakan, yang pada gilirannya memanggil DAO untuk meminta DB. Pasangan kedua (Jordi dan Aidan) bekerja pada bagian yang tersisa dari kotak keluar UC41 Pengingat. Kami bertemu sebagai grup untuk meninjau dan menggabungkan kode kami menjadi UC41, dan hanya setelah UC41 sepenuhnya selesai, kami menggabungkannya menjadi master dengan anggota tim lainnya.
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 (+) Dalam iterasi 2 saya bekerja sebagai pasangan dengan Sean di UC14 meminta biosurveillance. Pasangan kami bekerja pada RequestBiosurveillanceAction.java dan algoritma deteksi epidemi menggunakan pertanyaan diagnosisDao,
Sementara pasangan kedua (Nicholas dan Xiaorui) membuat UI di RequestBiosurveillance.jsp. Kali ini kami mengikuti prosedur yang lebih baik dengan membuka permintaan gabungan dari cabang kami UC14_1 ke UC14. Anggota tim lainnya memposting ulasan, dan kami memperbaiki masalah kecil sebelum bergabung. Proses ini diulangi dengan permintaan gabungan dari UC14 menjadi master. Saya juga meninjau dan mengomentari permintaan penggabungan lainnya.
Saya memperbaiki bau kode ke -3 dari iterasi 1, dan juga pemimpin jaminan kualitas untuk iterasi 2. Saya secara rutin memeriksa pasangan saya dan cakupan kode iterasi 2 yang berkomitmen penuh untuk memastikan bahwa kelas kami memiliki setidaknya 80% cakupan. Saya memperbaiki tes pasangan lain yang memiliki cakupan terlalu rendah di addPeregisteredpatienttest.java di Commit 6e881bda. Sebelum demo saya menangkap bug kritis di RequestBiosurveillance.jsp dan menambahkan parameter ke main () di testDataGenerator.java untuk memuat data epidemi ke DB. Jika tidak diobati, kedua masalah akan mencegah UC14 untuk dapat demo.
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 (*) Dalam iterasi 3 saya bekerja sebagai pasangan di heatmap ucown_2 di cabang t4_own_2. Kami membuat ViewWeeklyschedule.jsp dan WeeklyscheduleAction.java untuk menampilkan panas jumlah janji temu dalam minggu tertentu vs jam hari, dengan warna merah yang lebih gelap menunjukkan lebih banyak janji temu dalam satu jam dalam sehari. Kami tidak dapat menemukan template heatmap yang memuaskan di Google Charts atau hal -hal serupa, jadi kami membuat sendiri menggunakan tabel JSP dan algoritma yang menemukan semua janji dalam minggu tertentu, mengurutkannya berdasarkan siang hari dan pada jam dalam sehari ke dalam array 2D, dan kemudian memetakan array yang menjadi array 2D heatmap untuk digunakan di tabel JSP. Kami membuat permintaan gabungan dari T4_OWN_2 langsung menjadi master, karena kami pada dasarnya membagi kedai menjadi dua kasus penggunaan yang sepenuhnya independen. Itu digabungkan setelah ulasan dan pemasangan kecil. Sekali lagi saya meninjau dan mengomentari permintaan penggabungan lainnya dengan pasangan saya.
Meskipun saya bukan lagi pemimpin penjaminan kualitas dalam iterasi 3, saya masih memperhatikan hasil tes dari seluruh proyek ITRUST, dan memperbaiki bug UC92 di addperegisteredpatienttest.java dan testDataGenerator.java yang mencegah tes independen lainnya dari lulus karena penyisipan kecelakaan dari satu pasien ke dalam DB.
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 (+)