• 202103226-1 编程作业


    202103226-1 编程作业

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018
    这个作业要求在哪里 https://www.cnblogs.com/lyl68/p/14603887.html
    这个作业的目标 <github初使用,了解项目的结构,明白代码规范>
    其他参考文献 <《软件工程》、《构建之法》、百度>

    博文目录

    一、Github项目地址
    二、PSP表格
    三、解题思路描述
    四、代码规范制定链接
    五、接口的设计与实现过程
    六、性能改进
    七、单元测试
    八、异常处理说明
    九、心路历程与收获

    一、Github项目地址

    二、估计耗时PSP表格

    PSP2.1 Personal Software Process Stages 预估耗时(小时)
    Planning 计划 0.5
    • Estimate • 估计这个任务需要多少时间 120
    Development 开发 10
    • Analysis • 需求分析 (包括学习新技术) 6
    • Design Spec • 生成设计文档 0.5
    • Design Review • 设计复审 0.5
    • Coding Standard • 代码规范 (为目前的开发制定合适的规范) 10min
    • Design • 具体设计 2
    • Coding • 具体编码 3
    • Code Review • 代码复审 20min
    • Test • 测试(自我测试,修改代码,提交修改) 1
    Reporting 报告 3
    • Test Repor • 测试报告 0.5
    • Size Measurement • 计算工作量 0.5
    • Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 1
    合计

    三、解题思路描述

    一开始看到这个题目的时候感觉比较难,文字描述比较多,因为是第一次做这个类型的题目,所以不知道从哪里开始,仔细看了很久之后,发现其他的都是作业的要求,作业的重点是需求这一模块。然后就去百度上查阅了相关资料,看了前辈们的作业,发现了作业的重点。

    -实现的要求
    • 统计文件的字符数(对应输出第一行)
    • 统计文件的单词总数(对应输出第二行),单词:至少以4个英文字母开头,跟上字母数字符号, 单词以分隔符分割,不区分大小写。
    • 统计文件的有效行数(对应输出第三行):任何包含非空白字符的行,都需要统计。
    • 统计文件中各单词的出现次数(对应输出接下来10行),最终只输出频率最高的10个。
    -实现的代码函数
    public static void main(String[] args) throws IOException {}
    public static int getLineNum(String fileName) throws IOException{}
    public static int getCharNum(String fileName) throws IOException{}
    public static int getWordNum(String fileName) throws IOException {}
    

    四、代码规范制定链接

    五、接口的设计与实现过程

    接口设计
    • page1类:
      main()函数调用三个构造方法
    switch (strings[0]){
    	               case "-char":
    	                   System.out.println("字符数:"+ getCharNum(strings[1]));
    	                   break;
    	               case "-word":
    	                   System.out.println("单词数:"+ getWordNum(strings[1]));
    	                   break;
    	               case "-line":
    	                   System.out.println("行数:"+ getLineNum(strings[1]));
    	                   break;
    	               default:
    	                   System.out.println("请输入正确命令格式!");
    	           }
    

    三个构造方法函数

    public static int getLineNum(String fileName) throws IOException{}
    public static int getCharNum(String fileName) throws IOException{}
    public static int getWordNum(String fileName) throws IOException {}
    

    在看了作业之后,然后去网上查找了相关的资料,之后想到用一个类,然后把需要实现的东西都在一个类里面实现,在主函数main里面调用构造的三个方法。

    六、性能改进

    性能改造的话,我想就是应用其他的函数来更快实现这个功能,但是这个还是感觉有点难度,具体怎么改进自己目前还不是很清楚。

    七、单元测试

    八、异常处理说明

    在这个过程中遇到的问题就是路径异常,在输入路径的时候可能找不到路径。

    实际耗时psp表

    PSP2.1 Personal Software Process Stages 预估耗时(小时) 实际耗时(小时)
    Planning 计划 0.5 0.5
    • Estimate • 估计这个任务需要多少时间 120 96
    Development 开发 10 11
    • Analysis • 需求分析 (包括学习新技术) 6 4
    • Design Spec • 生成设计文档 0.5 0.5
    • Design Review • 设计复审 0.5 0.5
    • Coding Standard • 代码规范 (为目前的开发制定合适的规范) 10min 10min
    • Design • 具体设计 2 1.5
    • Coding • 具体编码 3 3.5
    • Code Review • 代码复审 20min 20min
    • Test • 测试(自我测试,修改代码,提交修改) 1 1
    Reporting 报告 3 3.5
    • Test Repor • 测试报告 0.5 0.5
    • Size Measurement • 计算工作量 0.5 0.5
    • Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 1 1.5
    合计

    九、心路历程与收获

    这是我第一次做这种类型的作业,刚开始因为要求比较多,自己不知道怎么写,但是通过查找资料,百度前辈们的相关资料,和同学细心的指导,完成了这一次作业。同时这一次也了解了psp,其实通过这个,可以有效的提供我们写项目的思路,一步步出发,一个环节一个环节的来,最终完成项目。同时也重新了解了上传代码到代码仓库的流程,进一步巩固和学习到新知识。最后通过这一次练习,自己也认识到了自己的许多缺陷,还有编程能力太差,操作能力,理解能力都还有待加强,在后面的学习中,我会继续努力的了。
  • 相关阅读:
    站立会议(二)
    站立会议(一)
    买书优惠问题
    软件的NABCD----安装部分
    你的灯亮着吗读书笔记(一)
    软件工程概论---环状二维数组最大子数组和
    梦断代码读书笔记(三)
    梦断代码读书笔记(二)
    课程作业3.10
    软件工程作业提交3.06
  • 原文地址:https://www.cnblogs.com/lyl68/p/14603887.html
Copyright © 2020-2023  润新知