软件工程实践2020寒假作业(2/2)
一、作业描述
| 这个作业属于哪个课程 | 班级 |
|---|---|
| 这个作业要求在哪里 | 作业要求 |
| 这个作业的目标 | 疫情统计 |
| 作业正文 | 软件工程实践2020寒假作业(2/2) |
| 其他参考文献 |
二、Github仓库地址
主仓库地址:https://github.com/numb-men/InfectStatistic-main
三、PSP表格
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | 30 | 60 |
| Estimate | 估计这个任务需要多少时间 | 30 | 60 |
| Development | 开发 | 1070 | 1155 |
| Analysis | 需求分析(包括学习新技术) | 180 | 300 |
| Design Spec | 生成设计文档 | 30 | 40 |
| Design Review | 设计复审 | 10 | 10 |
| Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 40 | 60 |
| Design | 具体设计 | 300 | 300 |
| Coding | 具体编码 | 420 | 360 |
| Code Review | 代码复审 | 60 | 45 |
| Test | 测试(自我测试,修改代码,提交修改) | 30 | 40 |
| Reporting | 报告 | 120 | 110 |
| Test Report | 测试报告 | 30 | 30 |
| Size Measurement | 计算工作量 | 30 | 40 |
| Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 60 | 40 |
| 合计 | 1220 | 1325 |
四、解题思路描述
-
说实话作业浏览了一遍之后还是不是很理解,这次的作业和之前相比感觉更偏向于实践和合作,因为还要创建自己的Github,并且要使自己的代码可读性良好。
-
详细浏览了之后,我的思路是这样的:要做的是通过对日志文本的读写,将某时某地疫情的情况查询结果呈现出来,同时日志中的内容有多种匹配格式。关键在于根据命令计算出需要的结果并输出到文件。

五、设计实现过程
程序中包含的类:
- command:interface 充当一个接口
- SendCommandController:命令发送者类
- ReceiveCommand:命令接收者类
- List:list命令执行类,implement于command
- CommandAnalyze:命令解析类
- ListCommand:list命令类实体
- FileOperate:文件操作类
- Time:日期类,包含一个日期比较函数
六、 代码说明
code
if(args.length==0||!args[0].equals("list"))
{
System.out.println("您输入的命令有误,请检查后重新输入");
}
else
{
//用来从命令中获取所需参数
for(int i=1;i<args.length;++i)
{
if(args[i].equals("-log"))
{
log_Path=args[++i];
}
else if(args[i].equals("-out"))
{
out_Path=args[++i];
}
else if(args[i].equals("-date"))
{
date=args[++i];
}
else if(args[i].equals("-type"))
{
for(++i;i<args.length;++i)
{
if(!args[i].equals("-province"))
{
type.add(args[i]);
}
else
{
--i;
break;
}
}
}
else if(args[i].equals("-province"))
{
for(++i;i<args.length;++i)
{
if(!args[i].equals("-type"))
{
province.add(args[i]);
}
else
{
--i;
break;
}
}
}
}

浙公网安备 33010602011771号