在系统流程分析图中可以看到,每个用户有3次机会进行身份认证。如果3次输入的用户名和密码都无法与数据库中的数据匹配,则强制退出系统。
4.3开发工具的选择
开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。选择开发工具时应该考虑客户需求、系统功能和性能需求以及开发人员的习惯等因素。
例如,开发C/S(客户/服务器)结构的应用程序时,前台开发语言通常可以选择Visual Basic、Visual C++、Delphi和Power Builder等;如果开发网络应用程序,则需要选择一个网络数据库开发系统,如Access、Oracle和IBM DB2等;如果开发单机应用程序,则只要选择一个小型数据库系统就可以了,例如Access。
与其他开发工具相比,Visual Basic具有简单易学、灵活方便和易于扩充等特点,越来越多地被用作客户/服务器(Client/Server,简称为C/S)应用程序的前端开发工具,与后端的开发工具Access数据库结合,能够提供一个高性能的管理信息系统解决方案因为本系统是单机版的数据库应用系统,所以采用Visual Basic作为开发工具,Access作为后台数据库。
第五章 数据库设计
数据库结构设计是总体设计阶段非常重要的环节,好的数据库结构可以简化开发过程,使系统功能更加清晰明确。因为数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无所谓的重复工作。
本系统数据库中包含7个表,即基本信息表Types、银行信息表Banks、家庭成员信息表Members、日常收支信息表InOutList、银行交易信息表BankOper、银行帐号信息表Amount和用户信息表Users。下面分别介绍这些表的结构。
1、基本信息表Types
表Types用来保存收入类型信息和支出类型信息,结构如表1所示。
程序的运行过程如下:
l 判断是否输入了用户名和密码,如果没有输入,则返回,要求用户输入。
l 将输入的用户名和密码赋值到变量NameKey和Passwordkey中,便于处理。
l 调用MyUser.In_DB()函数,判断当臆用户名是否存在。如果不存在,则返回,要求用户重新输入,同时将计数变量Try_times加1。
l 如果用户名存在,则调用MyUser.GetInfo()函数,读取此用户的数据,并将用户密码与输入的密码进行比较。如果密码不同,要求用户重新输入,同时将计数变量Try_times加1。
l 如果Try_times大于或等于3,则退出系统。
l 如果通过密码验证,则将当前用户的信息保存到curUser对象中,以便以后使用。
l 关闭登录窗体。
2、设计主界面
主窗体是工程的启动对象,可以在系统菜单中选择“工程”/“属性”,打开属性窗口设置启动对象。本系统中主窗体名为FrmMain。
打开窗体的设计窗口,选择“工具”菜单项中的“菜单编辑器”,对菜单内容进行编辑,本系统的主界面如图5所示。