201771010124-王海珍 實驗三 結對項目—《西北師範大學疫情防控信息系統》項目報告

 實驗三 結對項目—《西北師範大學疫情防控信息系統》項目報告javascript

項目css

內容html

課程班級博客連接前端

<https://edu.cnblogs.com/campus/xbsf/nwnu2020SE>java

這個做業要求連接mysql

<https://www.cnblogs.com/nwnu-daizh/p/12521474.html>jquery

個人課程學習目標git

學習兩我的合做完成代碼實驗,體驗合做的意義,盡最大的努力作,但願慢慢地一點點的進步和提高。github

這個做業在哪些方面幫助我實現學習目標web

做業確實花費了很長的時間儘管不完美,可是確實也有學習到一些東西,也是盡全力去作了,固然在此過程當中也和夥伴一塊兒努力,從同伴的身上也學習到了不少。

結對方學號-姓名

<201771010126-王燕>

結對方本次博客做業連接

<https://www.cnblogs.com/wy201771010126/p/12587412.html>

本項目Github的倉庫連接地址

<https://github.com/yanzhidandang/second.git>

1、實驗內容和步驟

任務1:理解並掌握代碼風格規範、代碼設計規範、代碼複審、結對編程概念;

1.代碼規範

   代碼的規範通常都是比較硬性的要求,並無什麼疑問。

2.代碼複審

代碼的複審既能找出其中的錯誤使得代碼更符合團隊的規範,又是複審的人在彼此的借鑑學習。

3.結對編程

結對編程的過程當中使得代碼被不斷地複審,也解決了很多低級的錯誤,使得編程過程更容易進行下去。

4.兩人合做的技巧

我以爲對於兩人合做來講,難易程度取決於兩人是否更融洽。性格,作事態度,以及一些小習慣都有多是其中的因素。能夠說兩人合做不只僅存在於編程之中,生活中到處都存在,所以兩人合做如何可以很好的進行下去,也就關乎着本身的社交,不只僅是知識以及技能方面的了。

任務2:兩兩自由結對,對結對方《實驗二 軟件工程我的項目》的項目成果進行評價。

對方博客鏈接:<https://www.cnblogs.com/wy201771010126/p/12587412.html>

對方github倉庫鏈接:<https://github.com/wy-an/wysecond.git>

對夥伴實驗二的評論:

 

 

(1)克隆結對方項目源碼到本地機器,閱讀並測試運行代碼,參照《現代軟件工程—構建之法》4.4.3節覈查表複審同伴項目代碼並記錄。

  • 概要部分
    • 代碼能符合需求和規格說明麼?
    • 答:能符合需求與規格
    • 代碼設計是否有周全的考慮?
    • 答:考慮周全
    • 代碼可讀性如何?
    • 答:基本能夠懂
    • 代碼容易維護麼?
    • 答:能夠維護
    • 代碼的每一行都執行並檢查過了嗎?
    • 答:檢查過
  • 設計規範部分
    • 設計是否聽從已知的設計模式或項目中經常使用的模式?
    • 答:是
    • 有沒有硬編碼或字符串/數字等存在? 答:
    • 有一部分
    • 代碼有沒有依賴於某一平臺,是否會影響未來的移植(如Win32到Win64)
    • 答:不會影響
    • 開發者新寫的代碼可否用已有的Library/SDK/Framework中的功能實現?在本項目中是否存在相似的功能能夠調用而不用所有從新實現?
    • 答:能夠實現
    • 有沒有無用的代碼能夠清除?(不少人想保留儘量多的代碼,由於之後可能會用上,這樣致使程序文件中有不少註釋掉的代碼,這些代碼均可以刪除,由於源代碼控制已經保存了原來的老代碼。)
    • 答:有,已清除
  • 代碼規範部分
    • 修改的部分符合代碼標準和風格麼(詳細條文略)?
    • 答:符合,都是按照代碼標準修改的
  • 具體代碼部分
    • 有沒有對錯誤進行處理?對於調用的外部函數,是否檢查了返回值或處理了異常?
    • 答:檢查之後沒有發現異常
    • 參數傳遞有無錯誤,字符串的長度是字節的長度仍是字符(多是單/雙字節)的長度,是以0開始計數仍是以1開始計數?
    • 答:基本無錯誤,字符串的長度是字節的長度,以0開始計數
  • 效能
    • 代碼的效能(Performance)如何?最壞的狀況是怎樣的?
    • 答:代碼正確,程序運行正常,沒有很大的數據量能夠測試,可能會慢一點
    • 代碼中,特別是循環中是否有明顯可優化的部分(C++中反覆建立類,C#中 string 的操做是否能用StringBuilder 來優化)?
    • 答:能夠正常運行,本身能力不足,因此我也不知道能不能優化
    • 對於系統和網絡調用是否會超時?如何處理?
    • 答:代碼運行過程出現了超時,我將tomcat視圖打開從新設定了運行時間。
  • 可讀性
    • 代碼可讀性如何?有沒有足夠的註釋?
    • 答:難懂的部分基本都有註釋。
  • 可測試性
  •        
    • 代碼可測試嗎?
    • 答:能夠測試,都進行了測試。

(3)依據複審結果嘗試利用github的Fork、Clone、Push、Pull request、Merge pull request等操做對同伴我的項目倉庫的源碼進行合做修改。

博客做業中針對任務2的評分要點:

 

任務3:採用兩人結對編程方式,結合我校師生疫情每日上報系統使用體驗,設計開發一款符合我校疫情防控工做需求的信息系統,使之具備如下功能:

需求分析

2019年12月以來,湖北省武漢市持續開展流感及相關疾病監測,發現多起病毒性肺炎病例,均診斷爲病毒性肺炎/肺部感染,並形成了大規模的疫情。肺炎感染疫情成爲全世界人口都矚目最大的事,着對於人類來講是一場沒有硝煙的戰爭,總書記強調:生命重於泰山,疫情就是命令,防控就是責任。不管學生仍是什麼人目前最重要的就是作好疫情防控工做,一塊兒奮鬥,打贏這場沒有硝煙的戰爭。所以統計人們的當前信息也成爲必須的事情,隨意在這次疫情當中,計算機專業人員開發與防疫有關的軟件也算是爲這次疫作的最大努力的工做。像學校天天統計學生在家的疫情狀況同樣,提早掌握學生的信息,能夠爲開學作好充分的準備,因此說疫情統計系統是多麼重要。

軟件設計說明

實現的功能:
(1)可採集全校各種師生員工疫情信息;

(2)各管理部門疫情防控工做負責人可查看本部門人員疫情彙總,並提供高級查詢功能進行多屬性組合查詢;

(3)學校防控辦指定負責人登陸《西北師範大學疫情防控信息統計》子系統,可瀏覽全部人員填報彙總數據清單,利用【高級查詢】可進行數據組合篩選,系統以圖形化方式展現各學院已填報和未填報學生統計狀況和關鍵疫情數據統計狀況,可【導出】查詢列表的EXCEL文件;

(4)GUI人機交互界面界面;

軟件實現及核心功能代碼展現

核心代碼部分:

這部這部分代碼主要是登陸進去的導航菜單以及內容部分。主要是web中的view的system.jsp內容

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>學生疫情管理系統 管理員後臺</title>
    <link rel="shortcut icon" href="favicon.ico"/>
	<link rel="bookmark" href="favicon.ico"/>
    <link rel="stylesheet" type="text/css" href="easyui/css/default.css" />
    <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css" />
    <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
    <script type="text/javascript" src="easyui/jquery.min.js"></script>
    <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
	<script type="text/javascript" src='easyui/js/outlook2.js'> </script>
    <script type="text/javascript">
	 var _menus = {"menus":[
						
						{"menuid":"2","icon":"","menuname":"學生疫情信息管理",
							"menus":[
									{"menuid":"21","menuname":"學生疫情收集列表","icon":"icon-user-student","url":"StudentServlet?method=toStudentListView"},
								]
						},
						<c:if test="${userType == 1 || userType == 3}">
						{"menuid":"4","icon":"","menuname":"班級疫情信息管理",
							"menus":[
									{"menuid":"42","menuname":"班級收集信息列表","icon":"icon-house","url":"ClazzServlet?method=toClazzListView"}
								]
						},
						</c:if>
						<c:if test="${userType == 1 || userType == 3}">
						{"menuid":"3","icon":"","menuname":"教師疫情信息管理",
							"menus":[
									{"menuid":"31","menuname":"教師疫情信息列表","icon":"icon-user-teacher","url":"TeacherServlet?method=toTeacherListView"},
								]
						},
						</c:if>
						{"menuid":"5","icon":"","menuname":"系統管理",
							"menus":[
							        {"menuid":"51","menuname":"修改密碼","icon":"icon-set","url":"SystemServlet?method=toPersonalView"},
								]
						}
				]};


    </script>

</head>
<body class="easyui-layout" style="overflow-y: hidden"  scroll="no">
	<noscript>
		<div style=" position:absolute; z-index:100000; height:2046px;top:0px;left:0px; width:100%; background:white; text-align:center;">
		    <img src="images/noscript.gif" alt='抱歉,請開啓腳本支持!' />
		</div>
	</noscript>
    <div region="north" split="true" border="false" style="overflow: hidden; height: 30px;
        background: url(images/layout-browser-hd-bg.gif) #7f99be repeat-x center 50%;
        line-height: 20px;color: #fff; font-family: Verdana, 微軟雅黑,黑體">
        <span style="float:right; padding-right:20px;" class="head"><span style="color:red; font-weight:bold;">${user.name} </span>您好   <a href="LoginServlet?method=logout" id="loginOut">安全退出</a></span>
        <span style="padding-left:10px; font-size: 16px; ">學生疫情信息管理系統</span>
    </div>
    <div region="south" split="true" style="height: 30px; background: #D2E0F2; ">
        <div class="footer">Copyright © By 【顏值擔當】</div>
    </div>
    <div region="west" hide="true" split="true" title="導航菜單" style="width:180px;" id="west">
	<div id="nav" class="easyui-accordion" fit="true" border="false">
		<!--  導航內容 -->
	</div>
	
    </div>
    <div id="mainPanle" region="center" style="background: #eee; overflow-y:hidden">
        <div id="tabs" class="easyui-tabs"  fit="true" border="false" >
			<jsp:include page="welcome.jsp" />
		</div>
    </div>
	
	<iframe width=0 height=0 src="refresh.jsp"></iframe>
	
</body>
</html>

軟件實現部分:

mysql部分

一共建了三個表,分別是學生,老師和管理員。

 

三個表分別展現

管理員:

 

 老師:

 

 

學生:

 

eclipse代碼部分:

 管理思路展現:

 

 

 

 學生和老師進行信息上報,管理員能夠進行統計和管理。

測試運行:

登陸界面:

 

在登陸時輸錯:

 用管理員登陸

 

 管理員登陸進去的導航菜單能夠看到有四個,分別是學生疫情信息管理,班級疫情信息管理,老師疫情信息管理,還有自身的系統管理。

管理員進入學生疫情信息界面:

 

 而且進行添加學生李凱信息

修改

 

 

 

 

 相應的數據庫也進行了修改

 

 刪除:

 

 

 

 

 

相應的數據庫也進行了刪除王陽的信息:

 

 

 進行搜索:經過姓名或者班級,或者相匹配

 

 管理員登陸下教師的信息和學生同樣,管理員能夠進行查詢,添加,修改,刪除 ,搜索在此不一一截圖。

 

班級是爲了匹配學生信息,固然相應的班級也能夠 進行添加修改和刪除:

 

 添加:

 

相應的數據庫就有了:

 

修改:

 

 修改爲功:

 

 相應的數據庫也進行了修改

 

 

 其餘操做同樣,在此不一一截圖展現:

學生登陸界面:

 

 

 

 咱們能夠看到,李凱能夠對本身的信息進行修改,和查找

 

 修改完成:

 

 數據庫顯示:

 

 管理員學生老師均可以修改本身的登陸密碼

 

 

輸入錯誤的時候

以老師的角色登陸

 

 老師能夠管理學生和班級的疫情信息

 

對學生的信息進行添加修改和刪除搜索 

 

對教師信息進行修改:其餘功能歸管理員全部

 

對班級也有添加修改和 刪除

 

 老師也能夠進行密碼修改

 

 

 修改爲功自動退出,從新登陸

修改前密碼

 

修改後

管理員能夠查看學生的填報時間

如下顯示全部學生的信息

查看28號上午填報的人

選擇學生學院時間來查填報的狀況

 

 再完成後將數據庫導出爲Excel文件爲:

根據填報人所填報的體溫進行統計

 

結對討論:

咱們倆的代碼編程修改過程兩我的都有參加,在參加的過程當中主要是經過qq,微信視頻,分享電腦頁面互相建議,來編寫代碼和修改功能。

經過討論,個人隊友前端不錯,因此我倆用了web用戶界面。

 

過程當中的聊天;

視頻

 

 

 

 

 

 

  

PSP

 

PSP 任務內容 計劃共完成須要的時間(min) 實際完成須要的時間(min)
Planning 估計這個任務須要多少時間,並規劃大體工做步驟 15 15
Development 開發 600 1060
· Analysis 需求分析 (包括學習新技術) 30 60
· Design Spec · 生成設計文檔 15 15
· Design Review · 設計複審 (和同事審覈設計文檔) 30 30
· Coding Standard · 代碼規範 (爲目前的開發制定合適的規範) 15 15
· Design · 具體設計 60 120
· Coding · 具體編碼 360 700
· Code Review · 代碼複審 60 60
· Test · 測試(自我測試,修改代碼,提交修改) 30 60
Reporting 報告 100 250
· Test Report · 測試報告 40 150
· Size Measurement · 計算工做量 30 30
· Postmortem & Process Improvement Plan · 過後總結,並提出過程改進計劃 30
70

 

任務4:小結感覺:兩人合做真的可以帶來1+1>2的效果嗎?

本次實驗確實花了很長的時間,固然是由於本身的能力問題,兩我的合做確實比一我的作的好的多,一我的作到快要奔潰的時候有了另外一我的的支持與鼓勵,有能夠不斷的堅持下去,並且,兩我的能夠進行分工合做效率也比一我的搞的多,可是一次的實驗花七八天的時間真的很難,由於這樣我落了不少其餘科目的做業,甚至我除了學校的課還有其餘課程,本身的時間不太充裕,雖然作的也不是完美,可是我真的已經盡最大的努力去作了。

相關文章
相關標籤/搜索