zoukankan      html  css  js  c++  java
  • 个人项目-WC

    个人项目-WC   (C语言)

    一、Github地址:https://github.com/twistww/weiweijun

    二、PSP表格

    PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
    Planning 计划 30 60
    · Estimate · 估计这个任务需要多少时间 30 60
    Development 开发 540 660
    · Analysis · 需求分析  40 60
    · Design Spec · 生成设计文档 40 60
    · Design Review · 设计复审  40 60
    · Coding Standard · 代码规范 30 30
    · Design · 具体设计 60 60
    · Coding · 具体编码 240  300
    · Code Review · 代码复审 30 30
    · Test · 测试(自我测试,修改代码,提交修改) 60 60
    Reporting 报告 150 170
    · Test Report · 测试报告 60 60
    · Size Measurement · 计算工作量 30 30
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 60 80
    合计   720 890

    三、解题思路

    1.因为自己的粗心,最开始尝试个人项目,已经是题目发布后的一周,所以有点匆忙。因为有大佬已经完成个人项目,他用的是Java,所以一开始我打算用Java进行个人项目。进行需求分析之后,发现运用面对对象的语言对本地文件进行操作有点困难,而且对Java的概念有很多遗忘,在浪费一定时间思考后,还是转向c语言。

    2.尝试C语言之后,先完成大致main函数的框架,将实现三个基本功能的函数(字符统计charcount、单词统计wordcount、行数统计linecount)写出来,然后主函数调用三个方法,实现基本功能。由于对c语言的文件操作概念模糊,于是上网查询了文件的文件操作函数,使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,使用fclose()函数关闭文件,函数fgetc() 从 fp 所指向的输入文件中读取一个字符。写“-a”方法时,因为要查询代码函数、空行数以及注释行数,实现三个功能。一开始我打算写三个方法分别实现这三个统计功能,mian函数再调用三个函数实现“-a”的功能,但感觉过于繁琐,于是在网上查询,看到其他人用级联else-if多分支语句实现“-a”的功能,最终将三个方法合并为一个方法。

    3.c语言图形界面之前未尝试过,而且时间有点赶,就没有实现图形界面。

    四、设计实验过程

    wc.exe由一个main主函数以及4个函数方法(字符统计charcount、单词统计wordcount、行数统计linecount、代码行数/ 空行数 / 注释行数统计allcount)构成,当程序开始,main函数运行,用户输入命令,程序判断是否为字符,若字符为‘-c’,则调用charcount函数,统计字符数目,输出,再退出程序;若字符为‘-w’,则调用wordcount函数,统计单词数目,输出,再退出程序;若字符为‘-l’,则调用linecount函数,统计行数目,输出,再退出程序;若字符为‘-a’,则调用allcount函数,统计代码行数/ 空行数 / 注释行数目,输出,再退出程序;若不是这四类字符,则输入字符无效,退出程序。

    五、回归测试

    1.测试空文件:

    2.测试一个字符的文件:

     

     3.测试一个单词的文件:

     4.测试行的文件:

    5.测试典型的文件:

     六、项目总结:

    1.本次个人项目,反映出我的动手实践能力偏弱,对C语言掌握的不够熟练,对知识点概念模糊,缺乏动手编程实践。本次项目未运用Java编程,也侧面反映了我对java的知识点的遗忘以及对Java掌握的不牢固。在后面的学习中,要重新温习Java的知识点,多动手编程,熟能生巧。

    2.本次个人项目,我对题目的要求并没有看仔细,以至于用c做完程序才发现还要进行图形界面的设计。在之后具体的操作之前,要申清题目,对项目进行仔细的需求分析,整理好自己的解题思路,再进行具体的代码实现,不要想一点写一点,可能会推翻自己之前的构思,会浪费很多时间,等一切准备工作都完成再开始,就能更高效的进行编程。

    3.通过本次个人项目,我经历了一次较为完整的个人软件开发过程,第一次使用psp,如此规范的进行软件开发,虽然第一次我的程序并不够完善,还有很多不足的地方,对个人开发软件过程还很生疏,但还是收获了很多关于软件工程的知识。

  • 相关阅读:
    java总结1
    immutable
    iconfont
    实战build-react(三)+ style-components
    PHP判断字符串的包含
    win7 64位操作系统中 Oracle 11g 安装教程(图解)
    我在博客园写博客的原因
    面向对象程序设计-C++_课时17函数重载和默认参数
    面向对象程序设计-C++_课时16子类父类关系
    面向对象程序设计-C++_课时14对象组合_课时15继承
  • 原文地址:https://www.cnblogs.com/twistww/p/11580314.html
Copyright © 2011-2022 走看看