博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件工程第二次作业-个人实战
阅读量:5893 次
发布时间:2019-06-19

本文共 1162 字,大约阅读时间需要 3 分钟。

Github项目地址:

PSP

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

解题思路:

项目需求

利用程序随机构造出N个已解答的数独棋盘 。

算法描述如下:

  • 算法输入:一组数值,未知数数值为0;
  • 算法输出:一组经过运算过后的数独,原始值为0的数值被改变的新输出状态,在对得到的棋盘基础上对全局的任意数字进行交换。

对问题进行抽象理解:我的解题步骤

  1. 创建一个棋盘,初始化,未知数值为0;
  2. 自左向右,自上而下搜索数值为0的空格;
  3. 与该空格所在的横向,纵向,所在的九宫格进行比较;
  4. 将符合的数值替换初始的位置数值为0的值;
  5. 重复3、4步骤直至所有值全部为0且满足数独条件。
  6. 输出满足条件的数独。
  7. 在得到的棋盘基础上对全局的任意数字进行交换;
    即可随机构造N个已解答的数独棋盘。

设计实现:

主要涉及以下几个类:Calc(搜索数值为0的空格)、Check(与该空格所在的横向,纵向,所在的九宫格进行比较检查)、IsDone(检查是否满足数独条件)、turn(对得到的棋盘进行全局任意数字的交换)、suiji(产生随机数)、output(输出棋盘);

流程图:

1249529-20171009155447652-1587999752.png

代码说明:

1249529-20171009155339543-1349410505.png

1249529-20171009155350434-2010898505.png

1249529-20171009155400887-2095351482.png

测试运行:

1249529-20171009155409777-668037457.png

1249529-20171009155418605-3757804.png

性能分析

1249529-20171009155427777-1191803848.png

总结

这次在软件的使用,包括visual tudio、markdown编辑器、画图软件、GitHub很多都是第一次使用,所以时间比预估的时多很多。经过这次的实训,对上述软件的使用还是有很大的提高。

转载于:https://www.cnblogs.com/zlxbky/p/7641451.html

你可能感兴趣的文章
用Golang写一个搜索引擎(0x01)--- 基本概念
查看>>
【算法之美】logn 时间复杂度求解两个有序数组的中位数
查看>>
树的总结--树的性质(树的深度) leetcode
查看>>
docker环境搭建ELK
查看>>
webpack sourcemap 选项多种模式的一些解释
查看>>
document.createElement()的用法
查看>>
MySQL 数据库怎样把一个表的数据插入到另一个表
查看>>
HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等
查看>>
nginx正则笔记
查看>>
delphi实现数字的倒计时
查看>>
在 IIS 下添加 FLV 类型文件的支持
查看>>
java线程学习3——线程的停止
查看>>
穿过任意防火墙NAT的远程控制软件TeamViewer
查看>>
PIX防火墙基本特性:失效处理机制和冗余-原理与实验
查看>>
域环境内部署Bginfo来统计用户计算机信息
查看>>
nagios短信报警(飞信fetion20080522004-linrh4)
查看>>
【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!...
查看>>
创建实体类使用Hibernate
查看>>
异常处理汇总-开发工具
查看>>
[LeetCode] Excel Sheet Column Number 求Excel表列序号
查看>>