1.项目体系结构
我们的项目体系结构为CS三层结构。即客户层、业务层、数据层。服务端分别将分析模型的鲁棒图中的边界类、控制类、实体类分别视为客户层、业务层、数据层。设计各层之间的接口。总体结构如下图所示:
1.1.客户层
图形化GUI界面,主要结构为:
DBConn.java
check.java
information show.java
1.2.业务层
search.java
deposit.java
draw money.java
transfer accounts.java
modify password.java
print.java
1.3.数据层
DBConn.java
check.java
information show.java
1.4.接口设计
1.4.1.外部接口
硬件接口包括和打印机的接口(控制打印机打发票及存款凭证等)、银行数据库主机的接口、出钞机的接口。对硬件的处理主要由操作系统完成,接口调用操作系统提供的打印、存取钞、查询等指令。
软件接口按照银行指定的格式与银行数据库通信,并需要预留可能在ATM上安装的其他软件的接口以便于扩充功能。
1.4.2.内部接口
前后台程序通信接口,包括配款提醒和维护提醒。系统与数据库的接口。
2.数据模型
采用类图表示概念,修改为表和列后,仍然为类图,表示其逻辑;最后通过生成DDL,结合DBMS得到最终的数据库脚本或数据库实例。
2.1.概念模型
经过调研和分析,系统支持MySQL存储实体数据,确认ATM、用户、磁卡、账号、交易5个实体,其关系实体类图如下图所示。
概念模型可确定概念或实体类名称、实体关系、主键等。采用抽象描述,如用户,姓名为字符串类型,用户可以拥有多个账户及多张磁卡等等。
2.2.逻辑模型
逻辑数据模型有助于定义系统中数据元素的详细结构,以及数据元素之间的关系。它们改进概念数据模型引入的的数据元素,并形成物理数据模型的基础。
逻辑模型从概念模型中确定相应的表名、列名)等。采用数据库描述,如Table,column等。此时的逻辑模型是独立于DBMS的,即不限定某个具体数据库系统,或者说可以从逻辑模型生成任意DBMS。
2.3.物理模型
物理数据模型直观地表示关系数据库架构的数据结构,密切映射数据库架构,如表、列(DBMS类型)、主键和外键等方面。
创建物理数据模型之前,最好设置默认的数据库管理系统(MySQL)。当创建任何新表元素时,这预设使用了默认的数据库。
如果未设置DBMS,创建的表没有DBMS类型,并且在表中创建新字段时不能分配字段类型。
设置默认的DBMS类型:
· 设置|数据库的数据类型菜单选项
· 代码生成工具栏
2.4.建库
数据建模的目的一是由物理模型生成得到DDL,再建库导入形成可用数据库系统;二是直接创建数据库系统。现在我们既要保存DDL,又要配置环境,支持数据库操作。
3.界面设计
项目界面类型:GUI
CUI/GUI/WUI/MUI只是表现层不同,需要不同的界面库及设计而已。一是只进行HTML5网站设计即全部改用前端框架进行开发、采用后端,采用Servlet、JavaBean实现后台管理功能。二是采用JSP设计与实现,再针对前端功能实现HTML5开发,目的是满足跨端应用。
3.1.登录界面
ATM系统的登录界面。首先提醒用户插入磁卡,用户插卡后,ATM自动柜员机验证磁卡有效,显示后一该界面。界面有欢迎语,有用户账号为所持卡能访问的账号,有密码为该账号的密码,并有登录按钮及取消按钮。
3.2.登录页面
4.设计类图
完善分析类图,补充类的必要属性和操作,以及类间关联。
5.模块设计
①用户管理时序图(此处绘制的是密码修改行为及个人信息、账单查询打印行为的时序图)。
②用户管理状态图。下图描述了用户的几种状态,及各种状态之间转换的条件。除了等待用户插入磁卡的起始状态和结束服务的终止状态,用户还会处于输入密码、验证密码、选择服务类型、查余、存款、取款以及转账等状态。
③用户管理状态图
6.跟踪模型
实验二的分析类与本实验的软件体系结构、数据、界面和模块共四层之间的实现或跟踪模型。