




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十四章 数据库应用系统开发 章目录 14 1数据库应用系统的目的及开发步骤14 2系统需求分析14 3系统设计14 4系统的实现 14 1数据库应用系统的开发步骤 数据库应用系统的开发过程一般包括需求分析 系统初步设计 系统详细设计 编码 调试 系统切换等几个阶段 每阶段应提交相应的文档资料 包括 需求分析报告 系统初步设计报告 系统详细设计报告 系统测试大纲 系统测试报告 以及 操作使用说明书 等 但根据应用系统的规模和复杂程度在实际开发过程中往往有一些灵活处理 有时候把两个甚至三个过程合并进行 不一定完全刻板地遵守这样的过程 产生这样多的文档资料 但是不管所开发的应用系统的复杂程度如何 需求分析 系统设计 编码 调试 修改这一个基本过程是不可缺少的 1 需求分析 这一阶段的基本任务简单说来有两个 一是摸清现状 二是理清将要开发的目标系统应该具有哪些功能 具体说来 摸清现状就要做深入细致的调查研究 摸清人们现在完成任务所依据的数据 使用了什么台帐 报表 凭证 及其联系 使用什么规则 上级有什么法律和政策规定 本单位或地方有哪些规定 以及有哪些得到公认的规则等 对这些数据进行什么样的加工 加工结果以什么形式 报表 工作任务单 台帐 图表等 表现 理清目标系统的功能就是要明确说明系统将要实现的功能 也就是明确说明目标系统将能够对人们提供哪些支持 需求分析完成后 应撰写 需求分析报告 并请项目委托单位签字认可 以作为下阶段开发方和委托方共同合作的一个依据 2 系统设计 在明确了现状与目标后 还不能马上就进入程序设计 编码 的阶段 还要对系统的一些问题进行规划和设计 这些问题包括 设计工具和系统支撑环境的选择 选择哪种数据库 哪几种开发工具 支撑目标系统运行的软硬件及网络环境等 怎样组织数据也就是数据库的设计 即设计表的结构 字段约束关系 字段间的约束关系 表间约束关系 表的索引等 系统界面的设计 菜单 表单等 系统功能模块的设计 对一些较为复杂的功能 还应该进行算法设计 这一部分工作完成后 要撰写 系统设计报告 在 系统设计报告 中 要以表格的形式详细列出目标系统的数据模型 并列出系统功能模块图 系统主要界面图 以及相应的算法说明 系统设计报告 既作为系统开发人员的工作指导 也是为了使项目委托方及早 在系统尚未开发出来时 认识目标系统 从而及早的发现问题 减少或防止项目委托方与项目开发方因对问题认识上的差别而导致的返工 这种情况在实际工作中是经常出现的 同样 系统设计报告 也需得到项目委托方的签字认可 3 系统实现 编码 调试 这一阶段的工作任务比较明确了 就是依据前两个阶段的工作 具体建立数据库和数据表 定义各种约束 并录入部分数据 具体设计系统菜单 系统表单 定义表单上的各种控制对象 编写对象对不同事件的响应代码 编写报表和查询等 4 测试 测试阶段的任务就是验证系统设计与实现阶段中所完成的功能能否稳定准确地运行 这些功能是否全面地覆盖并正确地完成了委托方的需求 从而确认系统是否可以交付运行 测试工作一般由项目委托方或由项目委托方指定第三方进行 在系统实现阶段 一般说来设计人员会进行一些测试工作 但这是由设计人员自己进行的一种局部的验证工作 重点是检测程序有无逻辑错误 与前面所讲的系统测试在测试目的 方法及全面性来讲还是有很大的差别的 为使测试阶段顺利进行 测试前应编写一份 测试大纲 详细描述每一个测试模块的测试目的 测试用例 测试环境 步骤 测试后所应该出现的结果 对一个模块可安排多个测试用例 以能较全面完整地反映实际情况 测试过程中应进行详细记录 测试完成后要撰写 系统测试报告 对应用系统的功能完整性 稳定性 正确性以及使用是否方便等方面给出评价 5 系统交付 这一阶段的工作主要有两个方面 一是全部文档的整理交付 二是对所完成的软件 数据 程序等 打包并形成发行版本 使用户在满足系统所要求的支撑环境的任一台计算机上按照安装说明就可以安装运行 本章以一个公司的工资管理系统为例 来说明一个数据库应用系统的基本开发过程 系统设计要求是 1 能适应公司不同的员工工资计算与考核方法 2 能自动生成并打印员工个人工资单和公司工资发放汇总表 3 工资数据要求保存5年时间 并随时能够查询5年内的工资历史数据 14 2 1系统调查 项目开发组在接受任务后去该公司的相应职能部门进行调查后发现 该公司的员工实行了3种不同的薪金体制 1 公司董事会成员和经理层的高级管理人员实行年薪制 其年薪额度由上年末的股东大会确定 每个月发放年薪的1 15 此比例可调 余下的的3 15由年末的股东会议讨论 有一定比例的浮动 14 2系统需求分析 2 其他管理人员 销售人员和技术开发人员的月薪由基本工资和考核工资两部分组成 其中基本工资又由岗位工资 由每人所在岗位决定 和工龄工资 由每人的社会工龄和公司工龄决定 两部分组成 这一部分的基本工资本分由公司的人事部门管理 基本稳定 但也有不定期的修改 考核工资由每人的上级决定 每个月都可能有修改 3 工人实行基本工资加计件计质工资制度 基本工资和管理人员工资的含义相同 由公司人事部门负责管理 计件计质工资就是在考虑工人所完成的产品质量等级的前提下 按其所完成的产品数量计算薪金 这一部分由公司生产部门和质量检查部门共同负责考核决定 生产部门统计每个工人所完成的产品数量 质量检查部门评定质量等级 14 2 2系统功能需求 工资体制以及与某种工资体制相对应的工资计算是一项政策性很强的工作 搞得好就能调动公司各级员工的积极性 搞得不好就可能引起各种矛盾 挫伤员工的积极性 该系统项目开发设计组在与公司协商后制定了一个确定系统需求的原则 对各种考核数据 包括股东会议对公司高层领导的考核数据 公司高层及中层干部对下属的工资考核数据以及对工人的计时计质考核数据 在本系统中只管使用 不对这些数据的制定进行支持 制定这样的原则也是合理的 按照系统划分的一般做法 上述的考核应归于人事管理的范畴 对应这样的原则做出的系统功能需求如下 1 能对应3种不同工资制度编制相应的员工工资发放表 并要求对工资计算方法具有一定弹性 即用户可以根据公司决定调整几个工资计算参数 2 自动编制公司工资汇总表 3 能按月保存工资发放数据 4 操作方便 界面友好 14 2 3系统数据需求 根据上述分析 系统应至少包含如下数据 1 员工工资发放明细表 用来存储并计算公司全体员工的当月工资应发部分及代扣部分 从而计算每人当月实发工资额 2 员工工资发放台帐表 根据财务规定 有关财务的数据要保留3年备查 该数据表用一个统一的形式存储公司前3年工资发放数据 3 第三类员工工资考核统计表 4 第二类员工工资考核统计表 5 第一类员工工资考核统计表 6 3类员工工资考核台帐表 14 3系统设计 14 3 1系统功能模块设计 1 系统参数设置 这个模块是为满足功能需求的第一条而设置的 拟设置的参数包括 实行第三类工资制度的员工A B两类不同质量的工时单价 实行第二种工资制度的员工每个系数应发放的工资等 实行年薪的员工每月预发比例 这一部分功能拟设置一个数据表存储相应的计算参数 并设置一个功能模块维护与管理这些参数 每次计算工资时 由相应的工资计算模块访问该数据表以获得计算参数的值 2 各种工资考核数据的处理 员工的考核是由不同部门的不同人员完成的 而公司员工的工资一般全部由财务部门计算 所以工资会计需要将各种考核数据连接到每个员工的工资表中 该模块就完成这项工作 根据前面的功能需求分析 这一部分的功能主要有3个 数据录入 数据连接和数据的备份存储 对应3种实行不同工资体制的人员 设计了3个结构功能大体相同的表单来完成这些功能 详细设计情况在界面设计部分进行说明 3 工资报表编制汇总与打印 这里只要根据前面形成的数据编写一个报表应用就可以了 实现比较简单 不再详述 4 月工资数据的备份存储 14 3 2系统菜单设计 1 系统模块图 整个工资管理系统由4个基本模块构成 为方便实现 有3个基本模块又分解成更简单 功能更单一的模块 这里8个模块都比较容易用一个表单予以实现 后面有关于其中几个典型表单的实现过程说明 2 系统菜单设计 有了上面的模块图后 菜单的设计就很容易了 请读者自行设计 14 3 3数据库设计 进行数据库设计的依据有3个 第一当然是在进行系统调查时由项目委托方所提供的各种凭证 报表和数据台帐 第二是功能设计结果 第三是数据库设计规范化理论 三者间的关系是 原始数据 凭证 报表 台帐 是素材 是提炼数据库设计的基础 而功能设计为素材选择提供了一个参考标准 只把为满足功能设计要求所需要的数据提炼为系统数据库 而把那些在实现系统功能时不需要的数据暂时放开 做到集中精力解决主要矛盾 有了设计素材和选择标准后 还需要根据数据库设计的规范化理论设计数据表及其字段 以保证在为系统功能提供足够的信息量的前提下数据组织更加科学合理 更便于数据的维护与查询 1 数据库设计的基本技术与工具 1 E R图简介 E R图是用一种直观的图形方式建立现实世界中实体及其联系模型的工具 也是设计数据库的一种基本工具 这种图用矩形框表示现实世界中的实体 用椭圆型框表示实体的属性 用菱形框描述实体间的联系 2 E R图到关系模型的转化方法 一般用一个关系转化一个实体 E R图中的椭圆型框作为关系的属性 并在一个主属性 能够区分一个实体类中的两个不同实体的属性称为主属性 如学生的学号 班级的班号就是主属性 字段上建立索引 要描述两种实体间的联系 应该再增加一个对方主属性的字段 通常把这个增加的字段称为外键 如在学生表中 除设置学号 姓名 民族 年龄等4个字段外 再增加一个班号字段以反映学生和班级两种不同实体间的联系 这样 学生表中的一个记录 1005 张其兵 汉 22 005 就能够清楚的反映张其兵是第5班的学生 并能顺着005这个线索在班级表中找到该班的其他情况 如该班所属系 专业等等 3 数据规范 数据规范是一个大问题 需要进行专门的研究 简单地说 数据规范就是为了保证所建立的数据表不出现数据冗余 不出现数据插入异常和删除异常而提出的一些标准 数据规范分成几种不同的层次 分别称为一到三范式 这里只介绍第一和第二范式 一般情况下应保证自己建立的数据表符合这两个范式 第一范式 一个表的每个字段应该是基本的 这是表设计的最基本要求 不能把两种属性作为一个字段 如职工的应发工资由基本工资和考核工资两部分组成 在设计表时 就不能把构成应发工资的基本工资和考核工资两部分数据放在同一个字段中 而应该分别设置基本工资和考核工资两个字段 第二范式 表中的非主属性字段间不应该存在依赖关系 也就是说 表中的每个字段都描述了本实体的一个独立属性 对其它一个或几个非主字段都没有依赖关系 还是用工资表来说明这点 当表中设置了基本工资和考核工资字段后 因为应发工资可以由基本工资和考核工资简单相加而得到 所以工资表中就不应该再设置应发工资这样一个字段 否则就不符合第二范式 此外如果在学生表中既设置一个 班号 字段 同时又设置一个 专业 字段也是不符合第二范式的 因为 专业 由 班号 而唯一确定 这种确定关系在 班级 表中已有明确定义 这里在 学生 表中加入一个 专业 字段对于整个系统未提供新的信息量 并且存在着不数据不一致的可能 范式只是指导数据库设计的一种工具 如果有时增加一个字段确能带来很大的方便 违反规范化的数据表在实际工作中也是存在的 2 本系统的数据库 利用上面的数据库设计方法 可以设计本系统的数据库 1 员工基本信息表 JBXXB 2 第一类员工年终考核表 KHB1 3 第二类员工月度工资考核汇总表 KHB2 4 第三类员工月度工资考核汇总表 KHB3 5 系统参数表 XTCSB 6 工资发放表 GZFFB 7 工资发放汇总表 GZHZB 8 工资发放表留存台帐 GZLCTZ 9 第一类员工年度考核留存台帐 KHLCTZ1 10 第二类员工月度工资考核留存台帐 KHLCTZ2 11 第三类员工阅读工资考核留存台帐 KHLCTZ3 14 4系统的实现 14 4 1各模块界面设计 1 系统启动界面 封面 封面是一个应用系统的招牌 要尽量做得有特色而不花哨 封面完成应用系统的登录 当用户输入了正确的用户名和密码后 系统启动应用菜单 进入后续应用 否则 显示登录不成功 如图中右面的小图形 以拒绝非授权用户的使用 工资应用系统封面 该封面的制作方法是 1 VisualFoxPro中 选择 文件 菜单中的 新建 指定文件类型为 表单 然后选择 新建文件 进入表单设计器窗口 2 在新建的表单窗口建立4个标签控件 两个文本控件和1个命令按钮控件 3 设置这些控件的属性 2 员工考核数据录入与处理界面 按照公司制定的3类不同考核办法 在每月计算工资前 需要将每位员工的考核数据录入计算机以计算每人的考核部分工资 3类员工的该部分程序基本相同 3 工资发放表计算界面 工资发放表计算是在各种数据 人员名单 基本工资 考核数据等 都已准备好的前提下计算每人的应发工资 各种由公司代扣的经费 所得税 养老保险 医疗保险等 最后计算每人实发工资并打印工资发放表 在这一过程中 没有系统与工资管理员的数据交互行为 这里设计的界面 只是让工资管理员能通过一个窗口观察到系统的计算过程并能随时检查计算结果 第二类员工考核数据录入界面 第二类员工考核数据界面 14 4 2几个主要程序代码段的实现 1 系统登录过程 系统登录是封面表单的基本功能 作用是为了验证用户身份 防止未授权用户的使用 下面的程序段运行前需要建立一个用户密码表 yhmm dbf 有3个字段 yhmm yhm yhmm sm 即 用户名 用户密码 说明 系统设计时 应给出一个最初的用户名及用户密码 并设计一个表单对这一个数据表进行专门处理 增加用户 删除用户 修改用户名及密码等 这里不讨论这一过程而只讨论怎样应用该数据表来实现用户身份认证工作 确认 按钮的代码如下 USEyhmima user1 Trim ThisForm user Value 通过表单的文本框对象接受用户名与用户密码pass1 Trim ThisForm password Value LOCATEALLFORyhm user1 IFFOUND ANDmima pass1 DOgzjsgl mpr 验证通过 启动系统菜单 ELSE MESSAGEBOX 用户名或密码错误 请查证后再登录 ENDIF ThisForm Release 2 Comgrop gz类的设计 Comgrop gz是一个子类 其基类是命令按钮组 该命令组包含 加入数据 删除 等6个按钮 由其生成了4个对象分别置于 员工基本信息维护 第一类员工工资考核数据维护 第二类员工工资考核数据维护 第三类员工工资考核数据维护 等4个表单中 这也充分反映了面向对象程序设计方法的优点 一次设计 多处使用 下面列出该类中 加入数据 命令按钮的Click事件响应代码 其他几个按钮的相应代码请读者根据前面讲述的总体设计思想自行补充并上机调试运行 SELECT ThisForm DataEnvironment Cursor1 Alias kh Trim ThisForm khfl IFrecc 0 AppendFromjbxxbFORfl kh GotoTop ELSE MessageBox 你已经追加了数据 ENDIF ThisForm Refresh 3 Comgrop gzff类的设计 Comgrop gzff类也是一个基于命令按钮组的子类 包含了 追加工资数据 工资计算 打印工资表 编制汇总表 等6个命令按钮组 在整个工资计算系统中 该类只应用在 工资发放 一个表单中 因此 仅对于本系统的而言 也可以不专门设计这样一个类而在 工资发放 表单中直接设计一个命令按钮组对象 其设计过程与工作量是大致相同的 但是 这里独立设计的 类 可以供其他应用系统使用 而与某一固定表单捆绑在一起的对象是不能直接供其他应用系统使用的 下面列出该类中 追加工资数据 和 工资计算 两个命令按钮的Click事件代码 1 追加工资数据 SELECT ThisForm DataEnvironment Cursor1 Alias IFRECC 0 MessageBox 你本月已追加数据或未清除上月数据 请返回处理 ELSE SELECT ThisForm DataEnvironment Cursor1 Alias APPENDFROMjbxxb 追加员工基本信息 以下几个语句的作用是把三类不同员工的考核数据追加到当前表中 SELECT5 USEkhb1 SELECT ThisForm DataEnvironment Cursor1 Alias UPDATEONbhFROMEREPLACEkhgzWITHe khgzRANDOM SELECT5 USEkhb2 SELECT ThisForm DataEnvironment Cursor1 Alias UPDATEONbhFROMEREPLACEkhgzWITHe khgzRANDOM SELECT5 USEkhb3 SELECT ThisForm DataEnvironment Cursor1 Alias UPDATEONbhFROMEREPLACEkhgzWITHe khgzRANDOM SELECT5 USE SELECT ThisForm DataEnvironment Cursor1 Alias ENDIF ThisForm Refresh RETURN 2 工资计算 PUBLICyanglbx1 yilbx1 shyybx1 zhufgjj1 yfbl1 定义公共变量在不同事件代码中传递信息 SELECT5 USEXTCS 系统参数表 LOCATEforcsmc YANGLBX 养老保险比例 yanglbx1 csz LOCATEforcsmc YILBX 医疗保险比例 yilbx1 csz LOCATEFORcsmc SHIYBX 失业保险比例 shiybx1 csz LOCATEFORcsmc ZHUFGJJ 住房公积金比例 zhufgjj1 csz LOCATEFORcsmc YFBL 第一类员工每月预发年薪比例 yfbl1 csz USE 关闭该文件 SELECT ThisForm DataEnvironment Cursor1 Alias SCAN IFnx 0 REPLACEjbgzWITHyfbl1 nx 计算第一类员工的月薪 ENDIF REPLACEyfgzwithjbgz khgz REPLACEyanglbxwithyfgz yanglbx1 yilbxwithyfgz yilbx1 shiybxwithyfgz shiybx1 zhufgjjwithyfgz zhufgjj1 DOCASE 计算所得税 为简单这里未严格按照相应规定 CASEyfgz 4000 REPLACEsdsWITH yfgz 4000 0 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砧板筷子活动方案
- 研究文明劝导活动方案
- 线下考试活动方案
- 电玩城元旦活动方案
- 餐饮业2025年节能减排技术与绿色餐厅建设实践分析报告
- 线下广告活动方案
- 电信公司走秀活动方案
- 美育诵读活动方案
- 线上维护活动方案
- 礼品公司特价清仓活动方案
- 毒品成瘾原因课件
- 2025年公需课《人工智能赋能制造业高质量发展》试题及答案
- 2025-2026学年外研版七年级英语上册(全册)教学设计(附目录)
- 2025-2026学年人美版(2024)小学美术三年级上册教学计划及进度表
- 连锁药店考勤管理制度
- 2025年吉林省教育系统后备干部考试题及答案
- 2025年国航机务系统AMECO工程师岗位校园招聘笔试参考题库附带答案详解
- 食堂办 安全风险分级管控子清单
- 国学《弟子规》 课件
- 新款h2夜视移动电源
- 企业内部控制风险清单
评论
0/150
提交评论