• 软工实践寒假作业(2/2)


    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020SPRINGS
    这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020SPRINGS/homework/10287
    这个作业的目标 设计开发一个疫情统计程序,练习git、github使用,对ide使用更熟练
    作业正文 https://www.cnblogs.com/heaoxiang2018/p/12333760.html
    其他参考文献 CSDN
    GitHub仓库:https://github.com/Heaoxiang1012/InfectStatistic-main

    1. PSP表格

    PSP2.1 Personal Software Process Stages 预估耗时(min) 实际耗时(min)
    Planning 计划 30 45
    Estimate 估计这个任务需要多少时间 15 20
    Development 开发 500 430
    Analysis 需求分析 (包括学习新技术) 200 250
    Design Spec 生成设计文档 30 25
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 15 15
    Design 具体设计 30 40
    Coding 具体编码 400 450
    Code Review 代码复审 20 50
    Test 测试(自我测试,修改代码,提交修改) 200 300
    Reporting 报告 200 180
    Test Report 测试报告 30 25
    Size Measurement 计算工作量 30 30
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 200 230
    total 合计 1900 2090

    2. 思路描述

         拿到题目后,我把这次作业分为三个步骤,命令编写,日志处理,日志保存这三个部分,因为之前有过写过python命令行的经验,所以第一部分比较得心应手,本次作业主要都在日志处理这方面,因为太久没写python导致一些库函数用的不够熟练,不过python大法还是好,虽然憋代码的过程比较坎坷,但是debug并没有用太久,很感谢老师和助教,这次让我对python,pycharm的使用又熟练了些。

     以上程序的主要判断分支图,也事先定义了相应的常量列表

    3.设计实现过程

     程序设计模块:

     我的关键函数流程图:

    4、代码说明

    • main函数初始化读入各种命令行及命令行参数

    • Manage_Logs()函数对日志文件文件进行数据处理(部分节选)

    • Get_Country()函数整理全国数据

    • output_to_shell()函数 输出-province -type 结果到命令行中

    • main函数中对-out 命令 保存结果到指定文件中

    • 处理 -province -type 参数输出对应结果(主要优化部分,代码长度)

    5、单元测试截图和描述

    单元测试1:测试默认情况下,即没有参数-date、-type、-province的结果。输出为所提供日志最新的一天所有省份的情况:

    单元测试2:测试参数-date为2020-01-23:

    单元测试3:测试参数-date为2020-01-25,缺失2020-01-24数据,默认变化为0:

    单元测试4:测试参数-date为2020-01-27,-type:

    所有情况写进文件,将选择项的输出值命令行中

    单元测试5:测试参数-date为2020-01-27,-province:

    -province 无参数,默认为所有日志涉及的

    单元测试6:测试参数-date为2020-01-27,-province 北京(日志无涉及):

    单元测试7:测试参数-date为2020-01-27,-province -type:

    单元测试8:测试参数-date为2020-01-27,-province -type ip sp cure:

    单元测试9:测试参数-date为2020-01-27,-province 北京 福建(按输入顺序)-type sp cure ip dead(按顺序):

    单元测试10:测试参数-date为2020-03-01(非法日期):

    6、单元测试覆盖率优化和性能测试


    这是优化过后的,主要优化了冗余代码,分支缩减
    性能如下:

    7、代码规范链接

    https://github.com/Heaoxiang1012/InfectStatistic-main/blob/master/041701407/codestyle.md

    8、心路历程与收获

    本次程序开发让我对python、pycharm更加熟悉,平时主要用python在web开发方面,这次让我对python自带库更加熟悉,语法更进一步了解。之前有过github、git使用经历,但是大多都很局限,本次程序开发让我意识到他们的重要性,在之后的程序开发中更是必不可少的工具。感谢老师和助教的认真,让我收获不少!

    9、技术路线图相关的5个仓库

  • 相关阅读:
    团队开发第二阶段
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    C++类class和结构体struct区别
    c++简单的类的建立与参数的两种传递方法
    C++ 使用delete删除指针
    暂存
  • 原文地址:https://www.cnblogs.com/heaoxiang2018/p/12334128.html
Copyright © 2020-2023  润新知