• 软件工程编程作业1


    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-science-class2-2018/
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-science-class2-2018/homework/11878
    这个作业的目标 学习和使用Github
    学号 20188449

    Git项目地址
    https://gitee.com/jay101/project-java.git

    1、PSP表格

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 30 40
    • Estimate • 估计这个任务需要多长时间 1200 1300
    • Analysis •需求分析(包括学习新技术) 500 560
    • Design Spec •生成设计文档 30 30
    • Design Review 设计复审 10 20
    • Coding Standard • 代码规范 (为目前的开发制定合适的规范) 20 25
    • Design • 具体设计 200 300
    • Coding • 具体编码 500 600
    • Code Review • 代码复审 40 60
    • Test • 测试(自我测试,修改代码,提交修改) 40 40
    Reporting 报告 30 30
    • Test Repor • 测试报告 30 40
    • Size Measurement • 计算工作量 30 40
    • Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 40 60
    合计 2700 3145

    2、解题思路描述
    看了作业要求后,我想到的就是就io输入输出流来做这个作业,将文件中的数据读取并存在一个缓冲区中,当数据读完之后,将其转为字符串类型,所以现在字符串的长度就是字符个数,统计单词个数用一个split方法,split() 方法用于把一个字符串分割成字符串数组,字符串数组的长度,就是单词个数,但此方法只适用于英文。得到行数就很容易了,因为是按行读取,所以每加一行,所以相应的参数加一就行了。处理完这些之后,就是要新建一个输出文件,将得到的这些结果存到输出文件中。
    3、代码规范的链接:https://gitee.com/jay101/project-java.git
    4、各个功能的设计与实现过程
    Scanner input = new Scanner(System.in);
    System.out.println("请输入文件路径:");
    String path = input.next();
    int countChar = 0;
    int countword = 0;
    int countline = 0;
    int countnumber=0;
    InputStreamReader isr = new InputStreamReader(new FileInputStream(path));
    //用来读取文件中的数据
    BufferedReader br = new BufferedReader(isr);
    用InputStreamReader来读取数据,然后BufferedReader来缓存数据。
    countChar += s.length();
    字符个数就是字符长度
    countword += s.split(" ").length;
    split() 方法用于把一个字符串分割成字符串数组,字符串数组的长度,就是单词个数
    countline++;
    因为是按行读取,所以每次增加一即可计算出行的数目
    while(i.hasNext()) {
    String key = (String) i.next();
    Integer value = (Integer) a.get(key);
    System.out.println(key + "出现了" + value +"次");
    }
    这一部分是输出出现单词数。

    5、计算模块部分单元测试展示






    (https://img2020.cnblogs.com/blog/1582153/202104/1582153-20210402004111245-1042513452.png)

    6、计算模块部分异常处理说明
    java自行处理了异常。
    7、在附录提供的PSP表格记录下你在程序的各个模块上实际花费的时间
    如表所示
    8、心路历程与收获
    太久没写代码,很多东西都忘了,坎坎坷坷做了这个作业,但是自己并未达到题目要求,后面应该也能改进。虽然做得不好,但是学到的东西才是有的,至少知道开发前的分析,部署对于一个项目多么重要,然后那个PSP表格也对自己有很大的帮助。

  • 相关阅读:
    java命名规范:注重细节
    撒旦法撒旦法三阿斯顿发暗室逢灯
    369绿色浏览器开发记录
    时间过得好快
    C++进程间通信(常用理解例子)-买票
    MFC常用 控制对话框透明属性函数
    DedeCms 建站随笔(一)
    个人作业收官——软件工程实践总结
    第三次作业——个人作业——软件产品案例分析
    UML用例图
  • 原文地址:https://www.cnblogs.com/Jay-h/p/14607810.html
Copyright © 2020-2023  润新知