首先是需求分析与时间预算:
读需求分析30分钟;思考算法1小时;写代码,查询资料半天;软件优化半天。
实际上一共用了我将近两天的时间。主要是开始需求分析理解的有点偏差,写出的第一个版本删除了很多符合条件的单词。
同时单词的排序有问题。之后再MSDN读文档发现使用map输出的就是按字典序排好的,省去了很多的麻烦。
再之后在控制台转到命令行是出现了问题,一直报错,是Directory()函数的参数是LPCSTR类型,开始使用String类型的变量向Path传值无法强制转化为
LPCSTR类型的值,所以无法传递命令行下输入的路径,之后在大神的指导下新定义了char* 类型的path ,这样才能强制转化为LPCSTR类型的值用于
Directory()函数调用。修改的代码如下。
char* path;
path=argv[1];
LPCSTR lpStr = (LPCSTR)path;
DirectoryList(lpStr);
最后写成的程序的效率还是比较低下的,因为每次读入单词时都进行了一次是否合法的判断,当文件很大时,耗时严重,下面是程序的一个
性能分析,CPU的占用比率不太高,但是处理时间比较长,还是有很大的优化空间。
性能分析有点看不太懂,不知道应该怎样优化,以后还是需要努力学习软件工程。
感想:
这次软工作业让我充分的体会到了需求分析的重要性,同时体会了一把程序员被改需求的无力感。自己的能力急需提高。以后要更加努力了。