软件工程实践2020第二次作业

这个作业属于哪个课程 福州大学软件工程2020春季W班
这个作业要求在哪里 寒假作业(2/2)要求
这个作业的目标 开通Github账号并熟悉Github各种操作,设计疫情统计程序
作业正文 本文连接在这里!!!
其他参考文献

#Part 1 本次作业的PSP表格 >阅读《构建之法》第一章至第三章的内容,并在下方作业里体现出阅读后的成果。特别是第2章中的效能分析及个人软件开发流程(PSP)
#####在《构建之法》中,邹欣老师以生动的比喻讲述了软件工程师的职业发展方向,我觉得要成为一名合格的软件工程师,需要较好的学习能力及协作能力。 #####而成为一名优秀的软件工程师,除了不断编码学习积累经验外,还要再实践中总结一些软件架构及设计模式,从工程的总体看问题。
PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 10 20
Estimate 估计这个任务需要多少时间 10 10
Development 开发 1200 1450
Analysis 需求分析 (包括学习新技术) 45 70
Design Spec 生成设计文档 15 15
Design Review 设计复审 10 15
Coding Standard 代码规范 (为目前的开发制定合适的规范) 10 8
Design 具体设计 40 60
Coding 具体编码 600 850
Code Review 代码复审 100 220
Test 测试(自我测试,修改代码,提交修改) 60 100
Reporting 报告 40 40
Test Report 测试报告 30 30
Size Measurement 计算工作量 5 5
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 20 20
合计 2195 2913

Part 2 解题思路

刚开始拿到题目后,如何思考,如何找资料的过程。

因为这个项目涉及到一些我不会的知识,我就先去学这些知识,包括:

·正则表达式
·命令行参数解析
·设计模式
·git基本操作
正则表达式、设计模式、以及一些文件的处理主要是通过菜鸟教程学习
命令行参数、git基本操作等通过一些博客学习。

Part 3 设计实现过程

设计包括代码如何组织,关键函数的流程图

程序主函数流程如下

alt="函数流程"

Part 4 代码说明

展示项目关键代码,并解释思路

一、结构类

Province_stats类,其对象用于表示某省份的各项数据

alt=province_stats

ListArgs类,其对象表示命令行传入的参数

alt="listargs"

二、正则工具类

RegexPtn 类用于匹配传入的字符串,将log文件中每条解析成一个省份数据结果,如(福建,10,20,0,0)

最后将这些结果添加到一个ArrayList里面作为结果集传出

alt="regexptn"

三、结构控制类

DailyResult类,用于处理解析log文件后的结果集,主要实现合并同类项及数据统计

alt="dr1"
alt="dr2"

LogController类,用于管理与处理Log文件对象,主要控制文件内容的输入

alt="logctr"

Part 5 单元测试覆盖率优化和性能测试,性能优化截图和描述

代码覆盖率分析

alt="fgl"

Part 6 本次项目心得

结合在构建之法中学习到的相关内容,撰写解决项目的心路历程与收获

作为一个项目小白,看到这个作业其实有点懵,于是先从学习新知识点入手。但是开始写代码的时候发现我一点都没有章法,写着写着就乱了,其实应该去学一点软件设计模式才比较好。不过看了一些班里大佬的博客比如221701412The_Turing的分析,自己也重新梳理了一下思路。

早准备,早规划,早动手!

原文地址:https://www.cnblogs.com/linsheng1435/p/12261777.html