java程序设计流程_Java程序设计实践

这是我第一次接触一个完整的项目的开发,在这里分享一下整个项目(或者作业?)的设计过程。

写一个项目,首先就是要搞清楚需求。而这个项目的需求描述中,可以看出后续的改进会有很多。而且个人也很难在短时间内将所有功能实现,还需要后续的慢慢改进。这就导致了必须采用模块化的开发,否则在后续的修改和添加新的功能时将耗费大量的精力。

其次是要将需求中的问题拆分,本次项目里的问题就是“输入需要的题目数,输出相应符合标准的题目”。我们可以该问题拆分为“题目生成”“题目的验证”与“题目的输出“。

fe10b7c1ec8d625cf43a84d5f63b8342.png

按照面向对象的思路,我首先确定了“题目“:

58aa3474fee344238cd13103f0ef7680.png

其次按照问题的拆分,分别是“题目生成器”“题目验证器”“题目输出器”:

f8c65e6c0fb7129d1d1f9ae374b27d13.png

验证器筛掉不符合标准的题目并生成答案

489c996934dcf52dddfb38a48dcb6efa.png

题目生成器依靠随机函数生成题目并调用验证器

d605bba6011fadfe5a98ca58865a94f6.png

题目输出器调用题目生成器批量生成可用题目并按格式输出

但我发觉,批量生成题目去撞概率生成符合要求的题目很浪费时间(很明显的一件事我觉得)。于是我在验证器里加入了一个新的方法:修复题目

d8b78c82778f1c918866c9209b906c8c.png

实际上错误只会发生在减法与除法之中(只需要把被减数或者被除数换掉就可以避免)

最后在对整个块进行完善:

13bb20a372597abfaf1d81e19c6a1dff.png

这就是最初的完整模块设计。(但这并不是最终版本…)

在进行整个文件的目录设计时,我发觉题目中有很多需要很方便就能修改的数据,如“学号”、“姓名”、“题目数”等。于是又在源代码目录下加入了配置文件。

最终的源文件目录如下:

85047d81a743e0590e919c78490e94a5.png

虽然整个架子算搭完了,但里面的实现还是没有进行(验证器的实现很困难,特别是修复方法,需要太多的if-else,不知道如何改进)。整个过程整体消耗时间可能在2~3小时左右,在此做以记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值