软工实践寒假作业(2/2)

软工实践寒假作业(2/2)

一些注明
这个作业属于哪个课程 2020春|S班
这个作业要求在哪里 软工实践寒假作业(2/2)
这个作业的目标 学习使用GitHub,指定代码规范、阅读《构建之法》、编写疫情统计程序等
作业正文 黄棕熊的软工实践寒假作业(2/2)
其他参考文献 菜鸟markdown教程、百度、CSDN、GitHub

1. GITHUB仓库地址

仓库地址

2. PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 10 5
Estimate 估计这个任务需要多少时间 5 5
Development 开发 480 360
Analysis 需求分析 (包括学习新技术) 60 30
Design Spec 生成设计文档 60 120
Design Review 设计复审 10 10
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 50
Design 具体设计 30 20
Coding 具体编码 180 240
Code Review 代码复审 120 60
Test 测试(自我测试,修改代码,提交修改) 60 180
Reporting 报告 60 90
Test Report 测试报告 20 10
Size Measurement 计算工作量 10 10
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 10 10
合计 1145 1200

3. 解题思路

如何思考:

  • 文件读写
  • 字符串处理
  • 命令行字符串处理
  • 排序算法

资料查找过程:

  • 张舒老师的PPT
  • 同学写的博客
  • 百度、csdn、github等网站

4. 设计实现过程

大概是这样:
①. 处理命令行输入参数
②. 读入文件“log”内容
③. 对内容处理
④. 输出处理后内容到文件“result”
软工实践寒假作业(2/2)_第1张图片
代码组织:

主要分为五个类

  • 解析命令类:用于解析命令行输入的命令
  • 执行命令类:用于执行解析完的命令
  • 读入文件类:用于读取文件内容
  • 处理文件类:根据命令对读入的内容进行处理
  • 输出文件类:输出处理后的结果到文件

流程图:

软工实践寒假作业(2/2)_第2张图片

5. 代码说明

关键代码截图:
主函数:
软工实践寒假作业(2/2)_第3张图片
用哈希表存储被感染地区和感染人数:
软工实践寒假作业(2/2)_第4张图片
省份排序:
软工实践寒假作业(2/2)_第5张图片
Run方法先创建哈希表,再创建读写工具,然后解析文件路径,对省份进行排序,写入文件。
软工实践寒假作业(2/2)_第6张图片

6. 单元测试截图和描述

7. 单元测试覆盖率优化和性能测试

8. 代码规范

代码规范

9. 心路历程与收获

心路历程:

  • 刚拿到题目有点想退学,做着做着觉得还行。
  • 读了部分《构建之法》,意识到不仅要提高编程能力,还要培养工程思维

收获:

  • 搞懂了GitHub的使用
  • 认识到团队合作、项目管理的重要性
  • 编程能力、工程思维提高一个台阶
  • 写博客要注意图文并茂

软工实践寒假作业(2/2)_第7张图片

10. 技术路线相关仓库

名称 简介
SpringBoot框架 SpringBoot基础教程
算法 用Java实现的一些基础算法
JavaScript javascript的相关知识
Spring\SpringMVC\MyBatis框架学习 全面且详细的Spring\SpringMVC\MyBatis框架教程
Java面试 包含各大互联网厂商的面试题

你可能感兴趣的:(软工实践寒假作业(2/2))