• 2020软件工程第三次作业


    这个作业属于哪个课程

    https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1

    这个作业要求在哪里

    https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494

    这个作业的目标

    独立完成数独游戏,学会思考、查找资料,知道怎样运用测试、分析代码

    作业正文

    https://www.cnblogs.com/Dominator/p/12594255.html 

    其他参考文献

    百科资料和一些同学的指导

    一:Github项目地址

     https://github.com/0dominator/20177617/blob/master/Sudoku.java

    二:PSP表格

    PSP2.1

    Personal Software Process Stages

    预估耗时(分钟)

    实际耗时(分钟)

    Planning

    计划

     30

     40

    Estimate

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

     1590

     1660

    Development

    开发

     500

     400

    Analysis

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

    300

     400

    Design Spec

    生成设计文档

     30

     45

    Design Review

    设计复审

    30

     60

    Coding Standard

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

     30

     30

    Design

    具体设计

      120 

     180

    Coding

    具体编码

     180

     200

    Code Review

    代码复审

    60 

     60

    Test

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

     120

     90

    Reporting

    报告

     70

     60 

    Test Repor

    测试报告

     30

     20

    Size Measurement

    计算工作量

     30

     30

    Postmortem & Process Improvement Plan

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

     60

     45

    合计

     1590

     1660

    三:解题思路

    首先查阅百度关于数独游戏的解题方法,看过了排除法、唯余法、回溯法······又查阅了关于这类题目的别人的解题方法,最后我只能写出回溯法解数独的代码。回溯法:首先将3、5、7阶数独和4、6、8、9阶数独区分开来,因为4、6、8、9有对于宫的划分。我先判断格子中有没有数字,如果有就向后挪一位,如果没有就填入1到9进行一次次判断,如果在同一行列中没有重复和宫内没有重复的数就填入,如果到了9的时候都不符合就向上一格子回溯,就这样进行重复的判断直到最后。

    四:流程图

     

    五:改进

    未能做到,真的太难了。

    六:代码说明

    1.获取cmd输入的参数。

     2.结果输出至文件。

     3.f1()方法宫格判断。(太长了)

     4.f2()方法行列判断。

     5.进行填数和回溯。

    七:检测代码及性能分析

    检测代码:

     性能分析:

    Jprofile不知道怎样使用,等我请教同学。

    八:测试结果

     

    九:心得与总结

    这次的编程让我对自己有了新的了解,对于编程的熟练程度也有了新的提升,对于回溯这种算法也有了一定的认识,以及找到了cmd的参数输入方法。

    十:自评

    学号 姓名 作业头 Github地址 消除警告 PSP表格 解题思路描述 设计实现过程 改进程序性能 代码说明 感想 总分
    20177617 欧阳志强 2 1 1.5 1 0.5 1.5 0 1 0.5 9

  • 相关阅读:
    第二次作业——评分!
    第一次点评!
    神经网络测试:利用分块patch输入的弊端
    利用分块进行网络输入测试
    python 用filter求解素数
    英语语法
    git clone 下载出现Time out
    路由转发
    获取用户密码
    后门维持
  • 原文地址:https://www.cnblogs.com/Dominator/p/12594255.html
Copyright © 2020-2023  润新知