zoukankan      html  css  js  c++  java
  • Java程序设计实践

      先放上需求同时也是作业的地址:http://www.cnblogs.com/xinz/p/7417960.html

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

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

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

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

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

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

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

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

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

     

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

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

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

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

           最终的源文件目录如下:

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

  • 相关阅读:
    MariaDB:SSL配置
    JDBC连接MariaDB:数据传输加密
    海康JAVA SDK库动态路径加载
    druid:java代码创建连接池
    webservice:com.sun.xml.internal.ws.server.ServerRtException: [failed to localize]
    RabbitMQ:MSVCR120.dll ,c000001d 错误
    mariadb:分区自动创建与删除
    前-后 分离 01
    03 注解开发
    02
  • 原文地址:https://www.cnblogs.com/zanghh/p/8604724.html
Copyright © 2011-2022 走看看