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

    一、项目地址

      https://github.com/AceWong1024/Wordcounter

    二、PSP表格、

    PSP1.1

    Personal Software Process Stages

    预估耗时(分钟)

    实际耗时(分钟)

    Planning

    计划

     20 

     25

    · Estimate

    · 估计这个任务需要多少时间

     20

     20

    Development

    开发

     1200

     1500+

    · Analysis

    · 需求分析 (包括学习新技术)

     120

     120

    · Design Spec

    · 生成设计文档

     30

     30

    · Design Review

    · 设计复审 (和同事审核设计文档)

     0

    · Coding Standard

    · 代码规范 (为目前的开发制定合适的规范)

     60

    60 

    · Design

    · 具体设计

     400

    300 

    · Coding

    · 具体编码

    600 

     800

    · Code Review

    · 代码复审

     200

     400

    · Test

    · 测试(自我测试,修改代码,提交修改)

     60 

     60

    Reporting

    报告

     60

     80

    · Test Report

    · 测试报告

     30  

     30

    · Size Measurement

    · 计算工作量

    · Postmortem & Process Improvement Plan

    · 事后总结, 并提出过程改进计划

     30

     30

    合计

     1700

    1900

    三、解题思路

      拿到题目后,基本功能都大概能想到如何去写。但是,里面涉及的一些系统编程的内容还有项目管理文件的使用由于太久没有使用,在编码的时候需要不停地搜索相关的内容进行回顾。

      大致思路如下,程序先根据输入参数进行功能的选择:

      -c 返回文件 file.c 的字符数

      -w 返回文件 file.c 的词的数目  

      -l   返回文件 file.c 的行数  

      -s   递归处理目录下符合条件的文件。

      -a   返回更复杂的数据(代码行 / 空行 / 注释行)。

      -x 打开图形界面。

      前五个功能均能包装成工具方法,而最后一个图形界面功能可以利用图形界面调用前面几个功能的工具,这样的安排就能最大程度解耦。

      因此,根据上述大致思路,需要的技术大致如下:

      1、C++面向对象

      2、Linux系统编程

      3、QT

    四、设计实现过程

      鉴于我个人文字表达能力并不好,因此整个程序设计过程大致通过以下程序流程图展现。

      

       程序主体根据输入参数选择所需的工具函数,然后获取结果后按需输出。

    五、功能截图

      

      统计字符数

      

       统计单词数

      

       统计行数

      

       复杂功能

      

       图形界面功能

      

       

       

       

     六、项目测试

      空文件
      只有一个字符的文件
      只有一个词的文件
      只有一行的文件
      一个典型的源文件

      五种文件均没有报错。

    七、项目小结

      经过本次项目,我重新回顾了一下linux系统编程和QT的相关知识,同时也学会了从0到1实现一个程序,从预估、设计、编码、开发、测试、文档等流程中锻炼自己。

    并且,在作业当中使用了github的方法来提交作业。第一锻炼了养成做电子笔记的习惯,第二也有了写博客的概念,同时也增强了自己代码能力外的其他学习能力。

  • 相关阅读:
    rest framework 之前
    python之psutil
    可持久化并查集总结
    复数学习
    主席树总结
    点分治题单(来自XZY)
    Tarjan&2-SAT 总结
    AC自动机题单
    网络流题目详讲+题单(入门版)(持续更新中......)
    网络流题目详讲+题单(提高版)(持续更新中......)
  • 原文地址:https://www.cnblogs.com/acewong/p/11587946.html
Copyright © 2011-2022 走看看