ATM系统开发日志[1] [00原创]

 开发环境:
    OS: Ubuntu Feisy Fawn
    IDE: eclipse 3.2
架构设计:
    主要是C/S三层结构:1表示层/2业务逻辑层/3数据存储层。1-2之间采用Java RMI,实现分布式服务;2-3直接采用JDBC衔接。
    // TODO: 1-2层之间应该设置数据接入层,这样可以减少远程服务的调用,统一操作,管理更方便。在密码输入面板里主要是
    用getPwdLength()远程方法去获取规定的密码长度,以控制GUI;登录面板里用了密码输入面板的confirmLbl,在外部监听,
    最后还是要new一个远程连接对象以实现登录验证,比较浪费了。
安全设计:
    在本次开发后期可以加入MD5算法对用户密码进行加密传输
    在企业级应用中,登录验证用户时应该考虑是用JAAS
    
数据库设计:
    查询用户可用帐户的时候连接数据库,返回可用帐户信息
    
    这里采用分次连接数据库的方式主要是考虑到不要一次返回较多的数据量,减少用户的等待。但是分次连接的方式将加大应用服务器和数据库服务器的负载:
    (1) 应用服务器要负责数据库连接对象的管理,分步的方式早成了数据库连接对象过多。
    (2) 数据库服务器要连接多次,负载加大
    如果本系统在实际使用中出现数据库连接负载过大,可以考虑用数据库连接池加以改进。
    
客户端界面:
    1. 采用Java SWT开发,实现GUI的本地化
    2. 由于需求的描述,在实现的时候用户的每步操作都要新建一个“对话框”,比如在登录对话框之后是帐号选        择对话框....在实际开发中应该把前面的界面关闭。
        这里我把应该新建的“对话框”改成了一个控件容器,比如在登录后的帐号选择对话框实际是一个包含了5  
       个控件的容器,可以在父窗口中设置其可见性。
       这样就达到了多对话框切换的木的。但是如果在一个操作界面下如果需要返回上一层操作界面,返回按钮的
       监听,不得在它的父窗口中实现监听,这样的设计
       有问题,将加界面与界面之间的耦合度。但是目前没找到更好的技术手段,所以还是采取这样的设计加以实
       现
待开发内容:
    1. 业务逻辑类的实现
        交易事务类
    2. 界面类的实现
       修改密码类
    3. 数据库表的实现
    等等....    
当前问题:
      1. 在Windows系统下部署RMI的时候界面有乱码(中文字符集的问题),如果解决不了决定界面都用Image的方         式Attach上去
      2.  MySQL远端访问配置

你可能感兴趣的:(ATM系统开发日志[1] [00原创])