数据库应用开发过程概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库的设计过程如图9-8所示。
系统需求分析
需求说明书
概念设计
E-R模 型
实现设计
逻辑数据库结构
物理设计
物理数据库结构
工资表 姓名 部门 基本工资 岗位津贴 效益工资 加班费 扣款 应发工资
图9-5 工资表
部门工资汇总表
部门名称
部门工资汇总
图9-6 工资汇总表
(3) 若干业务规则,如基本工资和岗位津贴与员工学历和受聘日期的关系及确定 原则,加班费与加班天数的关系及确定原则,扣款与事假天数、病假天数、矿工天 数的关系及确定原则等。
(1) 技术可行性:利用现有的技术能实现这个系统吗? (2) 经济可行性:这个系统的经济效益能超过它的开发成本吗? (3) 操作可行性:系统的操作方式在这个用户组织内行得通吗? 分析员应该为每个可行的解法制定一个略的实现进度。
当然,可行性研究最根本的任务是对以后的行动方针提出建议,如果问题没有可 行解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费, 如果问题可行,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计 划。
4. 查询统计模块 按任意条件查询工资表内容,并统计所需汇总数据,具体功能从略。 5. 报表打印模块 打印每月工资条及工资汇总表。
6. 系统权限管理模块
依照用户需求,系统用户分为4个级别,一般用户可以查看“人员基本情况表”、 “考勤表”的内容;一级用户不仅可以查看“人员基本情况表”、“考勤表”的内容, 而且可以查看“工资表”、“工资汇总表”及“效益工资表”的内容;二级用户除了 查看以上报表外,还可以执行对“人员基本情况表”、“考勤表”的增、删、改等操 作;超级用户(系统管理员)除了具有二级用户的权限外,还可以对系统用户进行管理 并分配相应的权限。
可行性研究需要的时间长短取决于工程的规模,一般来说,可行性研究的成本只 是预期的工程总成本的5%~10%。
9.3 需求分析阶段
9.3.1 了解用户环境和要求
了解用户环境就是了解用户的业务活动,了解系统原来是否有信息管理系统,若 有,系统是如何工作的,新旧系统之间的关系如何。现有的人工管理系统是如何进 行工作的,为什么要这样做等。在工作过程中,要了解用户的环境和要求,即需要 哪些数据,如何发送,数据的格式是什么,需要保留哪些数据,数据量及数据的增 长率有多少等。画出现行人工管理系统的工作流程图和数据流程图,并描述出各项 工作的功能、数据的传送格式、类型、长度以及时间性和完整性的要求,从而对现 行管理系统的优缺点作出正确的评价。
2. 数据库设计时期
数据库设计时期一般分为以下4个阶段:
(1) 需求分析阶段。进行数据库设计必须首先了解、分析用户需求(包括数据与处 理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的阶段。需求分析的 质量将直接影响到未来整个数据库应用系统的质量,该步骤至关重要。
(2) 概念结构设计阶段。概念结构设计是整个数据库设计的关键,它通过对用户 需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
9.4 系统设计阶段
9.4.1 数据库设计 数据库设计就是设计程序所需数据的类型、格式、长度和组织方式。因为数据
库应用系统主要是处理大量的数据,所以,数据库的设计也上升为一项独立的开发 活动,成为数据库应用系统中最受关注的中心问题。数据库设计性能的优劣,将直 接影响整个数据库应用系统的性能和执行效率。
在数据字典中,每一个数据占一个字典条目,可以记入卡片,称为条目卡片。 图9-7显示了条目卡片的两个实例。
数据流名:工资表
组成:基本工资+岗位津贴+ 效益工资+加班费+扣款+应 发工资 备注:
数据项名:应发工资 含义:职工当月应发工资
取值:基本工资+岗位津贴+效益 工资+加班费-扣款 备注:货币类型
数据库规划
可行性分析报告
需求分析

需求分析说明书


概念结构设计

概念结构设计说明书


逻辑结构设计

逻辑结构设计说明书
物理结构设计
物理结构设计说明书 数据库实施
数据库
数据库运行与维护
图9-1 数据库系统生存周期
数据库系统生存期内各阶段主要任务如下。 1. 数据库规划时期 建立数据库的必要性和可行性分析。如果是可行的,则要确定数据库的总体目标, 包括可靠性、安全性等方面的设想,并制定数据库设计与实施计划。
现在举一个简略实例——某公司工资管理系统。 某公司决定建立一个以数据库为基础的管理信息系统,以代替单一的人工管理。 目标系统取名为“工资管理系统”。通过用户调查,初步整理出以下结果。
1. 当前系统工作状况 调查获悉,该公司工资管理共使用了3种源数据表和两种主要目的数据报表。现 分述如下:
(1) 3种基本的源数据表,分别如图9-2、9-3和9-4所示。图9-2为该公司职员基本 情况表,根据表中的学历、职称及受聘日期长短决定工资表中基本工资和岗位津贴的 具体数值;图9-3为公司考勤表,每月由各部门上报,根据考勤表的内容决定工资表 中扣款项及加班费的金额;图9-4为效益工资表,每月由各部门根据当月效益及员工 表现申报,经财务部门审批生效。
系统权限管理模块包括对合法用户的管理(用户的增、删、改)及权限分配,系统 的登录及权限验证等子模块。
在对数据库系统需求的调查、分析和验证之后,需要把分析的结果用文档的形 式完整地描述出来,生成系统需求说明书。系统需求说明书明确地描述了用户的要 求,主要有以下3个作用:
(1) 作为用户和软件人员之间的合同附件,为双方相互了解提供基础。
数据分析的步骤说明如下:
(1) 确定各个单项数据在目标系统中的名称。为数据取名字时应注意:第 1,同一 对象数据在不同的数据表中要避免使用不同的名称,例如“职员姓名”和“姓名”可 统称为“姓名”; 第 2,在容易识别的前提下尽量简化名称,以方便输入/输出操作。
(2) 定义数据项的含义与取值。将上一步得到的全部数据项综合起来,加上含义与 取值,便可得到整个目标系统的数据项条目,这些数据项将构成定义应用系统字段变 量和内存变量的依据。
在了解用户环境的同时,还要了解用户对计算机进行管理的要求和设想。在准备 建立计算机管理系统时,各级管理人员将会提出各种要求和今后的发展设想,软件人 员必须认真听取他们的意见,要尽量让用户多提要求,使各方面的要求尽量齐全,这 里可以暂时不必考虑计算机能否实现。
对用户来说,应尽量配合软件人员充分了解人工管理系统的现行情况和今后发展 方向。用户在提要求时,除了考虑当前管理系统的各项要求外,还应考虑今后的发展 要求,所提出的要求应尽量详细、全面。
对以上工资管理系统简例提出的功能需求可以归纳为以下几个方面。 1. 数据录入模块 数据录入模块用于把各种源单据报表中的数据及时登记到数据库中,包括公司 职员基本情况录入、当月考勤表录入及当月效益工资录入等3个小模块。
2. 工资计算模块 由录入的数据,根据事先确定的条件,计算工资表各项内容。 3. 工资表项目修改模块 分为按所选工资项目整体修改工资表内容,以及按任意条件和所选工资项目部 分修改工资表内容两个小模块。
除了上述两种报表外,该公司还使用若干种查询统计表,为了简化所讨论的问 题,这里就不细述了。
2. 对目标系统的应用需求 通过对当前系统的调查和与用户的共同讨论,对将要开发的目标系统提出如下总 体需求: (1) 用数据库文件代替现用的全部账表。 (2) 具有对各种数据的录入和维护功能。 (3) 能够根据人员基本情况表、考勤表和效益工资表自动计算工资表各项内容。 (4) 能够灵活修改工资项目。
9.1 数据库系统的生存期
类似于软件工程中软件生命周期的概念,一般把数据库应用系统从开始规划、分 析、设计、实施、投入运行后的维护直到最后被新的系统取代而停止使用的整个期间 称为数据库系统的生存期(如图9-1所示)。对数据库系统生存周期的划分,目前尚无统 一的标准,通常将其分为4个时期(或7个阶段),即规划时期、设计时期(需求分析、概 念设计、逻辑设计、物理设计)、实施时期和运行维护时期。
4. 数据库运行维护时期
该时期的主要任务是收集和记录数据库运行的情况,这些数据库运行记录将用来 评价并改善数据库系统的性能。在数据库运行和维护时期,必须保持数据库的完整性, 有效处理数据故障和进行数据库恢复,并不断地对数据库进行评价、调整和修改。
应该强调的是,设计和实现一个完整的数据库应用系统不可能一蹴而就,往往 是以上各阶段的不断反复的过程。
(3) 定义目标系统的数据流。系统的输入数据和输出的打印数据,一般可转换为目 标系统的输入和输出数据流。
9.3.3 功能分析
在了解了用户要求的基础上,下一步工作就是确定新系统的功能,即根据用户要 求,确定计算机究竟应该做那些工作。在确定系统功能时,开发人员和用户双方都必 须十分慎重,要全面考虑并进行多次分析和讨论,一旦系统功能确定之后,一般情况 下不能再改动,以免影响后期工作。
(5) 按月打印公司工资条及工资汇总表。 (6) 有多种查询和统计功能。 (7) 系统具有保密机制,各级使用者只能看到允许察看的系统信息。 (8) 系统界面设计友好,色调平和,操作方便,易学易用。 为简化讨论,以上各项具体需求细节从略。
9.3.2 数据分析
数据分析是数据库开发中一项十分重要的内容。其首要任务是确定目标系统中 使用的全部数据,并为它们取名和定义。分析中要为每一数据编写一个数据条目, 然后将所有条目合编为数据字典。这样,在随后进行的系统设计中不论有多少人参 加,大家都可以把数据字典作为统一的依据,不必担心因数据不一致而出现矛盾和 混乱。
(a) 数据流条目卡片
(b) 数据项条目卡片
图9-7 字典条目卡片举例
在小型的应用系统中,数据条目有时也用简易的方法表示,以简化文档,减少 开发工作量。用简易方法表示数据条目的两个例子为 工资表=基本工资+岗位津贴+效益工资+加班费+扣款+应发工资
应发工资=基本工资+岗位津贴+效益工资+加班费-扣款 *货币型数据*
(3) 逻辑结构设计阶段。逻辑结构设计是将概念结构转换为某个DBMS所支持的 数据模型,并对其进行优化。
(4) 数据库物理设计阶段。数据库物理设计是为逻辑数据模型选取一个最适合 应用环境的物理结构(包括存储结构和存取方法)。
3. 数据库实施时期
设计人员用DBMS提供的数据定义语言(DDL)和其他实用程序将数据库逻辑结构 设计和物理结构设计结果用DDL严格描述出来,成为DBMS可以接受的源代码。再 经过调试产生目标模式,将数据装入数据库。编制与调试应用程序,并进行系统试 运行。
9.2 可行性研究阶段
当系统开发人员接受开发任务后,首先要研究开发任务,判断是否有简单明确 的解决办法。事实上,许多问题不可能在预定的系统规模之内解决,如果问题没有 可行的解,那么花费在这项开发工程上的任何时间、资源、人力和经费都是无谓的 浪费。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解 决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解决。 怎样达到这个目的呢?当然不能靠主观猜想,只能靠客观分析,必须分析几种主要 的可能解法的利弊。一般来说,至少应该从下述3方面研究每种解法的可行性:
(2) 反映出应用问题的结构,可作为软件人员进行设计和编写的基础。
(3) 作为系统验收的依据,即作为选取测试用例和进行验收的依据。
系统需求说明书是软件生命期中一份极其重要的文档,在分析阶段必须及时地建 立并保证其质量。在建立系统需求说明书之后,还应对它进行反复检查,争取尽早发 现潜在的错误并及时纠正。分析阶段纠正系统需求说明书上的某个错误可能只需花一 个小时,但到开发后期再纠正就可能花成百上千倍的代价。因此,系统需求说明书应 该完整、一致、精确、无二义,且简单易懂,易于维护。
人员基本情况表 姓名 性别 年龄 学历 受聘日期 部门 职称 婚否
图9-2 人员基本情况表
考勤表 姓名 事假天数 病假天数 矿工天数 加班天数
图9-3 公司考勤表
效益工资表
姓名
部门
效益工资
图9-4 效益工资表
(2) 两种主要目的数据报表,如图9-5和图9-6所示。图9-5为每月的工资表,图9-6 为每月部门工资汇总表。
相关文档
最新文档