• 软件工程编程作业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表格也对自己有很大的帮助。

  • 相关阅读:
    Node+OBS直播服务器搭建总结
    WebRTC网页录制音视频教程
    人生有尺 做人有度
    「道 德 經」 : 第 二 十 四 章
    看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水。
    「道 德 经」 : 第 八 章
    Ubuntu下安装Chrome浏览器的两个方法
    chromium中增加自己的文件夹
    chromium 切换主分支的方法
    chromium 示例
  • 原文地址:https://www.cnblogs.com/Jay-h/p/14607810.html
Copyright © 2020-2023  润新知