第二次作业
软工实践第二次作业
1.在文章开头给出Github项目地址。
2.给出PSP表格。
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 40 | 180 |
· Estimate | · 估计这个任务需要多少时间 | 600 | 700 |
Development | 开发 | 100 | 200 |
· Analysis | · 需求分析 (包括学习新技术) | 10 | 30 |
· Design Spec | · 生成设计文档 | 0 | 0 |
· Design Review | · 设计复审 | 30 | 15 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 15 | 5 |
· Design | · 具体设计 | 15 | 30 |
· Coding | · 具体编码 | 100 | 100 |
· Code Review | · 代码复审 | 40 | 5 |
· Test | · 测试(自我测试,修改代码,提交修改) | 5 | 5 |
Reporting | 报告 | 30 | 40 |
· Test Repor | · 测试报告 | 50 | 50 |
· Size Measurement | · 计算工作量 | 5 | 8 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 30 |
3.解题思路描述。即刚开始拿到题目后,如何思考,如何找资料的过程。
先输入一个文件,遍历所有的字符,计算包括二十六位字母以及空格等的数量。然后查看是否是规定的单词,再将它们变成小写。再将单词名称和单词数量放进一个结构体的数组,进行排序,找出前十的单词。
4.设计实现过程。设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?单元测试是怎么设计的?
打算设置三个函数,一个是为了计算字符的总数和计算前十的单词,还有一个函数,在以上函数中会用到,计算单词的个数。还有一个是为了计算行的数量并且。
int words_count();计算单词数量
int characters_get();计算行的数量
void Topten();计算前十的单词
5.代码说明
主函数里包含计算字符数、单词数、行数以及前十的单词。
int main() { int lines,words,characters; characters=characters_get(); cout<<"characters:"<<num<<endl; cout<<"lines:"<<linenum<<endl; words=words_count(); cout<<"words:"<<words<<endl; Topten();
设置一个结构体,用于对比排列
FILE *fp1,*fp2; int linenum = 0; int num = 0; struct word{ char letter[100]; int num; int id; }; set<word,cpe>wordin; set<word,cpenum>wordnum; int wordID[10];
一个个检查文件里的字符,若遇到换行就在计算行数的int里加一。
测试用例:
aaaa aaab bbbb dddd cccc
bbbb,123cccc,cccc123
efgh
eeee
hhhh
kkkkkkk
ddddd
ddddd1223
777123sgdnvmb
bbbb,123cccc,cccc123
efgh
eeee
hhhh
kkkkkkk
ddddd
ddddd1223
777123sgdnvmb
6. 结合在构建之法中学习到的相关内容与个人项目的实践经历,撰写解决项目的心路历程与收获。
在这次实验中,可以说比较失败,在作业的很多地方,我都没有看懂。不过我了解到写完代码并不是结束,很多都要考虑进去,比如性能,比如博客的质量。我会更多了解除代码外的其他东西,在综合方面更上一层楼。