1、実験目的と要件
(1)体验软件项目开发中的两人合作,练习结对编程(Pair programming)。
(2)掌握Github协作开发程序的操作方法。
2、実験及びステップ
タスク1:読書 - 「法の近代的なソフトウェアエンジニアリング建設の」第3-4内容、スタイルのコードの仕様、コードの設計仕様、コードレビュー、ペアプログラミングの概念を理解し、習得します
1.代码风格规范:简明,易读,无二义性
2.代码设计规范:包含注释规范,异常处理,命名规范
3.代码复审:看代码是否在代码规范的框架内正确的解决了问题,其目的在于找出代码错误、发现逻辑错误、发现算法错误、发现潜在和回归错误以及发现需要改进的地方,其中包含自我复审,同伴复审,团队复审
4.结对编程:结对编程是极限编程这一思想的具体体现。结对编程有三种形式:键盘鼠标式,Ping-pong式,领航员—驾驶员式。其目的在于减少犯错,提高解决问题的效率,知识传递,取得更高的投入产出比
タスク2:次のように二つは二つの遊離ペア、特定の要件を評価するために、プロジェクトの成果「ソフトウェア工学実験2つの個々のイベントの」大腸他の側は、
ブログのコメント
a.大体上,博文结构清晰明了,按照老师的要求完成了第二次实验的作业,但是有点瑕疵的是功能不够完善。
b.在博文内容上,系统的界面可以,而在软件介绍方面写的不够完美,所以可以尝试地改变自己的书写风格。
c.psp中时间的预估差距过大的原因可能是平时练得少,导致编程能力不过关,从而在开发软件时要学习相关的知识储备。
コードのチェックリスト
1.概要部分
代码符合设计需求和规格,功能未能完全实现,可读性和安全性有待提高。希望统一代码的格式规范,优化功能性和安全性
2.设计规范部分
遵从设计模式,存在一些无用代码。尽可能实现系统功能,删除无用代码
3.代码规范部分
修改符合代码规范和风格的代码
4.具体代码部分
未进行错误处理,有检查返回值和处理异常,但数据库的安全性有待提高,而且没有使用断言来保证我们认为不变的条件真的满足,因此希望修改与数据库的连接方式
5.效能
代码能正常编译,无超时情况,并且没有进行优化
6.可读性
代码可读性可以,但是注释不够完整。尽量增加代码的功能注释
7.可测试性
希望可以增添一些测试单元来进行测试
タスク3:私たちの教師と学生との組み合わせ2ペアプログラミングモード、日々の流行報告システムの経験、私たちの学校の伝染病の予防とコントロールの仕事のニーズに沿った情報システムの設計と開発
1.需要分析に関する声明
目的是开发西北师范大学疫情填报系统,从而解决传统手工操作造成的漏报、误报和迟报等问题。方法采用网页技术和SQL SERVER数据库,通过网络接口与人员的PC端或移动端收集信息。目标是系统具有报卡提醒、填写和统计分析等功能,实现疫情信息上报的自动化管理。极大地提高了工作效率,减轻了国家医护人员的工作量,降低漏报率或误报率。
2.ソフトウェアデザインの説明
系统要包含以下功能:
(1)可采集全校各类师生员工疫情信息;
(2)各二级部门疫情防控工作负责人可查看本部门人员疫情汇总,并提供高级查询功能进行多属性组合查询和可视化统计功能;
(3)学校防控办指定负责人登录《西北师范大学疫情防控信息统计》子系统,可浏览所有人员填报汇总数据清单,利用【高级查询】可进行数据组合筛选,系统以图形化方式展示各学院已填报和未填报学生统计情况和关键疫情数据统计情况,可【导出】查询列表的EXCEL文件;
(4)人机交互界面要求GUI界面(WEB页面、APP页面都可);
(5)附加分功能:定时填报提醒
3.ソフトウェアとコア機能コード表示
<!-- <label for="identification">身份</label>
<select id="identification" name="identification">
<option value="teacher">教师</option>
<option value="student">学生</option>
</select> -->
<label for="identity">身份</label>
<input type="text" value="<%=identity %>" id="identity" name="identity" required="required" disabled="true">
<!-- <label for="college">学院</label>
<select id="college" name="college">
<option value="计算机">计算机</option>
<option value="数统">数统</option>
<option value="化工">化工</option>
</select> -->
<label for="college">学院</label>
<input type="text" value="<%=college %>" id="college" name="college" required="required" disabled="true">
<label for="lname">姓名</label>
<input type="text" value="hello" id="name" name="name" required="required" >
<label for="fname">学号</label>
<input type="text" id="id" value="<%=id %>" name="id" required="required">
<label for="fname">电话</label>
<input type="text" id="tel" value="123456" name="tel" required="required">
<label for="fname">学院电话</label>
<input type="text" id="teachertel" value="123456" name="teachertel" required="required">
<label for="fname">是否发热</label><br><br>
<input type="radio" name="fever" value="1" required="required">是
<input type="radio" name="fever" value="0" required="required">否<br><br>
<label for="fname">是否湖北籍</label><br><br>
<input type="radio" name="hubei" value="1" required="required">是
<input type="radio" name="hubei" value="0" required="required">否<br><br>
<label for="fname">是否感染</label><br><br>
<input type="radio" name="infect" value="1" required="required">是
<input type="radio" name="infect" value="0" required="required">否<br><br>
<label for="fname">是否与湖北人接触</label><br><br>
<input type="radio" name="conwithhubei" value="1" required="required">是
<input type="radio" name="conwithhubei" value="0" required="required">否<br><br>
<input type="submit" value="Submit">
4.プログラムの実行
ログイン画面
![](https://img2020.cnblogs.com/blog/1946359/202003/1946359-20200328195053479-831304716.png)
レポーティングインターフェース
![](https://img2020.cnblogs.com/blog/1946359/202003/1946359-20200328195332769-192140404.png)
5.ディスカッションスクリーンショット
![](https://img2020.cnblogs.com/blog/1946359/202003/1946359-20200328195243524-858566944.png)
6.ジョブPSPの接合
PSP |
概要 |
計画時間(分)の合計を完了するために必要 |
完了するために必要な実際の時間(分) |
プランニング |
計画 |
8 |
15 |
推計 |
これは、タスクは、一般的に作業工程に多くの時間と計画が必要と推定しました |
8 |
10 |
開発 |
開発 |
900 |
1100 |
分析 |
要求分析 |
6 |
14 |
デザインスペック |
設計ドキュメントの生成 |
5 |
60 |
デザインレビュー |
デザインレビュー |
150 |
200 |
標準コーディング |
コードの仕様(現在の開発のための適切な規範の開発) |
13 |
30 |
設計 |
具体的な設計 |
40 |
90 |
コーディング |
具体的なコーディング |
600 |
800 |
コードレビュー |
コードレビュー |
150 |
326 |
テスト |
検査(セルフテスト、コードを変更し、変更を提出) |
30 |
160 |
報告 |
レポート |
20 |
60 |
試験報告書 |
テストレポート |
7 |
15 |
サイズ測定 |
コンピューティングワークロード |
2 |
5 |
死後&プロセス改善計画 |
その後まとめ、およびプロセス改善計画 |
3 |
5 |
7.概要の経験:
资源整合就意味着综合所有人的力量,发挥团队的整体威力,从而使整体大于各部分之和。就好像两块木头能承受的力量大于两个单块木头的承受力之和,两种药物并用的疗效也大于一种药物的疗效。其实也就是全体大于部分的总和,其本质就是创造性的合作,集思广益,集体创新,从而达到1+1>2的效果。