关键词:
github地址:https://github.com/WhaterverYouCall/rjcshomework
PSP2.1 | PSP阶段 | 预估耗时(分钟) | 实际耗时(分钟) |
Planing | 计划 | ||
Estimate | 估计任务所需时间 | 730 | 910 |
Development | 开发 | 40 | 40 |
Analysis | 需求分析 | 10 | 10 |
Design Spec | 生成设计文档 | 10 | 10 |
Design Review | 设计复审(和同事审核设计文档) | 10 | 10 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 10 | 10 |
Design | 具体设计 | 60 | 60 |
Coding | 具体编码 | 360 | 480 |
Code Review | 代码复审 | 30 | 30 |
Test | 测试(自我测试、修改代码、提交修改) | 120 | 180 |
Reporting | 报告 | 20 | 20 |
Test Report | 测试报告 | 20 | 20 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem&Process Improvement | 事后总结,并提出改进计划 | 30 | 30 |
合计 | 730 | 910 |
解题思路
按照老师所给的功能模块(基础、扩展、高级)由简到难对问题进行解决,使用较为熟悉的C++进行编程
程序实现过程
分析函数:读取文件第一个字符开始进行判断,并开始统计字符数等。
(1)字符数:读一次便将字符数参数加一。
(2)行数:出现\n则行数参数加一
(3)单词数:出现,或空格则单词参数加一
(4)注释行数:出现\则为注释行
(5)空行:开头为\n则为空行
最后在主函数中输入文件路径后,调用输出结果。
代码说明
文件内容分析:
analyse()
void analyse()
while((c=fgetc(file))!=EOF)
chars++;
if (((c<=‘z‘)&&(c>=‘a‘))||((c<=‘Z‘)&&(c>=‘A‘))||((c>=‘0‘)&&(c<=‘9‘)))
words++;
while((c=fgetc(file))!=EOF)
chars++;
if (((c<=‘z‘)&&(c>=‘a‘))||((c<=‘Z‘)&&(c>=‘A‘))||((c>=‘0‘)&&(c<=‘9‘)))
else if (c==‘\n‘)
s[lines]=3;
lines++;
break;
else if ((c==‘,‘)||(c==‘ ‘))
break;//判断单词,有空格或者逗号或者换行则停止
else
symbols++;
break;
//判断运算符号,不是单词的即为符号
else if (c==‘/‘)
if ((c=fgetc(file))==‘/‘)
symbols+=2;
s[lines]=2;
fseek(file,-1L,SEEK_CUR);
//判断注释行
else if (c==‘\n‘)
if (s[lines]!=2)
s[lines]=1;
lines++;
else if (c==‘ ‘)
else
symbols++;
if (s[lines]!=2)
s[lines]=1;
//分析所有字符数、单词数、行数及行类的函数
主函数
char name[50];
int a,i,j;
int m=0,n=0,q=0;
cout<<"输入源文件名:";
for(;;)
cin>>name;
if((file=fopen(name,"r"))!=NULL)
break;
else
cout<<"文件路径错误!";
analyse();
fclose(file);
for (i=1;i<=lines;i++)
if (s[i]==1)
m++;
cout<<"第"<<i<<"行为代码行"<<endl;
else if (s[i]==2)
n++ ;
cout<<"第"<<i<<"行为注释行"<<endl;
else if(s[i]==3)
q++;
cout<<"第"<<i<<"行为空行"<<endl;
cout<<"字符数:"<<chars<<endl;
cout<<"单词数:"<<words<<endl;
cout<<"行数 :"<<lines<<endl;
cout<<"符号数:"<<symbols<<endl;
cout<<"代码行数:"<<m<<endl;
cout<<"注释行数:"<<n<<endl;
system("pause");
return 0;
其中使用了与文件调用相关的函数fopen()fgetc(file)等
注:由于时间水平有限,只能实现部分功能,如未能实现文件遍历、命令行命令批处理,还请老师谅解。
第二周学习总结
软件测试部分1.测试用例的概念 2.测试用例的属性、特征 属性:用例ID、用例名称、测试目的、测试级别、参考信息、测试环境、前提条件、测试步骤、预期结果、编写人员、测试结论 特征:最有可能抓住错误的、不... 查看详情
软件测试第二周作业wordcount(代码片段)
软件测试第二周作业wordcountGithub地址https://github.com/mxz96102/word_countPSP2.1表格PSP2.1PSP 阶段预估耗时 (分钟)实际耗时 (分钟)Planning计划2530·Estimate·估计这个任务需要多少时间150252Development开发 ·Analysis· 查看详情
第二周测试题目
...利率为4.7%。一年后,你的账户余额为:1000*(1+0.047)=1047元第二年初你又存入1000元,则两年后账户余额为:(1047+1000)*(1+0.047)=2143.209元以此类推,第10年年末,你的账户上有多少余额?注:结果保留2位小数(四舍五入)。 12986.111... 查看详情
软件质量与测试第二周作业wordcount(代码片段)
第二周作业WordCount一、Github地址https://github.com/llag9810/Software-Quality-and-Testing-Wordcount二、PSP2.1 表格PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 60 25·Estimate·估计这个任务需要多少时间 30 15Dev 查看详情
软件测试第二周作业(代码片段)
一,github地址https://github.com/lc-xie/WordCount二,PSP表格PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 25 25·Estimate·估计这个任务需要多少时间 25 25Development开发200 240·Analysis·需求分析(包括学习新... 查看详情
软件测试第二周作业wordcounter(代码片段)
Github项目地址WordCounteringithubPSP(PersonalSoftwareProcess)PSP2.1PSP阶段预估耗时实际耗时(分钟)实际耗时(分钟)Planning计划1017Estimate估计这个任务需要多少时间510Development开发545650-Analysis-需求分析(包括学习新技术)120160-DesignSpec-生... 查看详情
软件工程第二周作业
##软件工程第二周作业提出问题1.一般来说,想要自己的程序跑得又快又好,就要减少函数的反复调用,但有所得则必有所失,效能提高就有可能伴随着程序的稳定性的降低,这两者应该如何权衡呢?2.关于5.3.5老板驱动的流程,... 查看详情
软件测试第二周个人作业--wordcount
1、Github项目地址:https://github.com/SSS-SY/wordcount 2、PSP2.1表格 PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 20 15·Estimate·估计这个任务需要多少时间 30 15Development开发 360 605·Analysi 查看详情
第二周:词频统计效能测试
效能测试:linux下的top命令。Top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命... 查看详情
软件质量测试第二周wordcount作业(代码片段)
一.github地址https://github.com/WKX121/WC二.PSPPSP表格PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 25 25·Estimate·估计这个任务需要多少时间 25 25Development开发300 340·Analysis·需求分析(包括学习新技术)&... 查看详情
《实时控制软件设计》第二周作业
状态分析由题目描述,只有两种不同事件,一个是车辆进入,一个是车辆离开,与之对应的传感器信号,起落杆信号,通行灯信号都是一同变化,因此可以简化成两种复合状态。 代码实现 传感器头文件////Createdbyzhuha... 查看详情
20165306课下作业(第二周)
一、教材代码完成情况测试代码链接此代码作用是求和(1~5306)。二、带包的代码编译运行测试代码链接三、课后习题p161.Person.java2.两个,Person.class和Xiti.class代码链接 查看详情
软件工程概论第二周学习进度
&n 查看详情
第二周进度条
所花时间(包括上课)20h代码行数210行博客量4篇解到的知识点做单元测试很有必要,设计代码的时候要考虑到单元测试,对于编代码量更大的工程的时候很有必要。做程序的时候要考虑到用户的实际需求,同时尽量满足用户要... 查看详情
java语言第二周
放假第二周了,时间真快!上一周配置好了环境变量,这一周就可以做一些测试了。对不同的内容分类进行了测试,包括写入、输出、变量·······还有很多。对于开学的试卷,在第一部分做的还行,第二部分就没什么头绪了... 查看详情
软件测试第二周个人作业wordcount程序实现(代码片段)
GitHub地址:https://github.com/Guchencc/WordCount一.PSP表格PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 ·Estimate·估计这个任务需要多少时间 300440Development开发 ·Analysis·需求分析(包括学习新技术) 20&n... 查看详情
第二周-例行报告
1、本周PSP项目:词频统计日期类别内容开始时间结束时间中断净时间9.11分析需求进行需求分析12:0812:13059.11具体设计设计流程及算法12:1312:302159.11具体编码读取文件12:4013:003179.11测试测试及修改13:0013:03039.11具体编码对读入字符串... 查看详情
20191214第二周《信息安全导论》学习总结
20191214《信息安全导论》第二周学习总结教材学习内容总结 《计算机概论》第一章我了解到了计算机的基本结构与软件硬件的大致发展历史,我明白了现今的计算机仍未发展到极致,计算机是一种潜力无穷的机器,还等待着... 查看详情