数据库需求分析

数据库设计:需求分析

设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的和基本的。因此,应该把对用户需求的收集和分析作为数据库设计的第一步。

需求分析的主要任务是通过详细调查要处理的对象,包括某个组织、某个部门、某个企业的业务管理等,充分了解原手工或原计算机系统的工作概况及工作流程,明确用户的各种需求,产生数据流图和数据字典,然后在此基础上确定新系统的功能,并产生需求说明书。值得注意的是,新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。 如图1.2所示,需求分析具体可按以下几步进行:

(1) 用户需求的收集。

(2) 用户需求的分析。

(3) 撰写需求说明书。

图1.2 需求分析的过程

需求分析的重点是调查、收集和分析用户数据管理中的信息需求、处理需求、安全性与完整性要求。信息需求是指用户需要从数据库中获得的信息的内容和性质。由用户的信息需求可以导出数据需求,即在数据库中应该存储哪些数据。处理需求是指用户要求完成什么处理功能,对某种处理要求的响应时间,处理方式指是联机处理还是批处理等。明确用户的处理需求,将有利于后期应用程序模块的设计。

调查、收集用户要求的具体做法是:

(1) 了解组织机构的情况,调查这个组织由哪些部门组成,各部门的职责是什么,为分析信息流程做准备。

(2) 了解各部门的业务活动情况,调查各部门输入和使用什么数据,如何加工处理这些数据。输出什么信息,输出到什么部门,输出的格式等。在调查活动的同时,要注意对各种资料的收集,如票证、单据、报表、档案、计划、合同等,要特别注意了解这些报表之间的关系,各数据项的含义等。

(3) 确定新系统的边界。确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。

在调查过程中,根据不同的问题和条件,可采用的调查方法很多,如跟班作业、咨询业务权威、设计调查问卷、查阅历史记录等。但无论采用哪种方法,都必须有用户的积极参与和配合。强调用户的参与是数据库设计的一大特点。

收集用户需求的过程实质上是数据库设计者对各类管理活动进行调查研究的过程。设计人员与各类管理人员通过相互交流,逐步取得对系统功能的一致的认识。但是,由于用户还缺少软件设计方面的专业知识,而设计人员往往又不熟悉业务知识,要准确地确定需求很困难,特别是某些很难表达和描述的具体处理过程。针对这种情况,设计人员在自身熟悉业务知识的同时,应该帮助用户了解数据库设计的基本概念。对于那些因缺少现成的模式、很难设想新的系统、不知应有哪些需求的用户,还可应用原型化方法来帮助用户确定他们的需求。就是说,先给用户一个比较简单的、易调整的真实系统,让用户在熟悉使用它的过程中不断发现自己的需求,而设计人员则根据用户的反馈调整原型,反复验证最终协助用户发现和确定他们的真实需求。

调查了解用户的需求后,还需要进一步分析和抽象用户的需求,使之转换为后续各设计阶段可用的形式。在众多分析和表达用户需求的方法中,结构化分析(Structured Analysis ,SA) 是一个简单实用的方法。SA 方法采用自顶向下,逐层分解的方式分析系统,用数据流图(Data Flow Diagram,DFD) 、数据字典(Data Dictionary,DD) 描述系统。

1. 使用数据流图分析信息处理过程

数据流图是软件工程中专门描绘信息在系统中流动和处理过程的图形化工具。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的交流工具。图1.3 给出了数据流图中所使用的符号及其含义。

1.3 数据流图的符号

数据流图是有层次之分的,越高层次的数据流图表现的业务逻辑越抽象,越低层次的数据流图表现的业务逻辑则越具体。在SA 方法中,我们可以把任何一个系统都抽象为 图1.4所示的形式。它是最高层次抽象的系统概貌,要反映更详细的内容,可将处理功能分解为若干子功能,每个子功能还可继续分解,直到把系统工作过程表示清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干层次的数据流图,如图1.5所示。

1.4

系统高层抽象图

图1.5 数据流图的建立

为了更好地说明SA 方法,下面举一个简单的设计实例。假定某工厂要设计一个数据库查询系统。其中,主管生产的部门要掌握产品的性能、各种零件的用料和每种产品的零件组成情况,并据此编制工厂的生产计划。主管供应的部门需要了解产品的价格、各种零件的用料情况以及这些材料的价格与库存量,并根据这些资料提出材料的采购计划。

在调查、分析用户的业务活动并确定系统边界后,得到了如图1.6和图1.7所示的业务流程图。 根据实际应用环境对系统在功能上进行分解,如图1.8所示。

图1.6 生产部门业务流程图

数据库设计:需求分析

设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的和基本的。因此,应该把对用户需求的收集和分析作为数据库设计的第一步。

需求分析的主要任务是通过详细调查要处理的对象,包括某个组织、某个部门、某个企业的业务管理等,充分了解原手工或原计算机系统的工作概况及工作流程,明确用户的各种需求,产生数据流图和数据字典,然后在此基础上确定新系统的功能,并产生需求说明书。值得注意的是,新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。 如图1.2所示,需求分析具体可按以下几步进行:

(1) 用户需求的收集。

(2) 用户需求的分析。

(3) 撰写需求说明书。

图1.2 需求分析的过程

需求分析的重点是调查、收集和分析用户数据管理中的信息需求、处理需求、安全性与完整性要求。信息需求是指用户需要从数据库中获得的信息的内容和性质。由用户的信息需求可以导出数据需求,即在数据库中应该存储哪些数据。处理需求是指用户要求完成什么处理功能,对某种处理要求的响应时间,处理方式指是联机处理还是批处理等。明确用户的处理需求,将有利于后期应用程序模块的设计。

调查、收集用户要求的具体做法是:

(1) 了解组织机构的情况,调查这个组织由哪些部门组成,各部门的职责是什么,为分析信息流程做准备。

(2) 了解各部门的业务活动情况,调查各部门输入和使用什么数据,如何加工处理这些数据。输出什么信息,输出到什么部门,输出的格式等。在调查活动的同时,要注意对各种资料的收集,如票证、单据、报表、档案、计划、合同等,要特别注意了解这些报表之间的关系,各数据项的含义等。

(3) 确定新系统的边界。确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。

在调查过程中,根据不同的问题和条件,可采用的调查方法很多,如跟班作业、咨询业务权威、设计调查问卷、查阅历史记录等。但无论采用哪种方法,都必须有用户的积极参与和配合。强调用户的参与是数据库设计的一大特点。

收集用户需求的过程实质上是数据库设计者对各类管理活动进行调查研究的过程。设计人员与各类管理人员通过相互交流,逐步取得对系统功能的一致的认识。但是,由于用户还缺少软件设计方面的专业知识,而设计人员往往又不熟悉业务知识,要准确地确定需求很困难,特别是某些很难表达和描述的具体处理过程。针对这种情况,设计人员在自身熟悉业务知识的同时,应该帮助用户了解数据库设计的基本概念。对于那些因缺少现成的模式、很难设想新的系统、不知应有哪些需求的用户,还可应用原型化方法来帮助用户确定他们的需求。就是说,先给用户一个比较简单的、易调整的真实系统,让用户在熟悉使用它的过程中不断发现自己的需求,而设计人员则根据用户的反馈调整原型,反复验证最终协助用户发现和确定他们的真实需求。

调查了解用户的需求后,还需要进一步分析和抽象用户的需求,使之转换为后续各设计阶段可用的形式。在众多分析和表达用户需求的方法中,结构化分析(Structured Analysis ,SA) 是一个简单实用的方法。SA 方法采用自顶向下,逐层分解的方式分析系统,用数据流图(Data Flow Diagram,DFD) 、数据字典(Data Dictionary,DD) 描述系统。

1. 使用数据流图分析信息处理过程

数据流图是软件工程中专门描绘信息在系统中流动和处理过程的图形化工具。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的交流工具。图1.3 给出了数据流图中所使用的符号及其含义。

1.3 数据流图的符号

数据流图是有层次之分的,越高层次的数据流图表现的业务逻辑越抽象,越低层次的数据流图表现的业务逻辑则越具体。在SA 方法中,我们可以把任何一个系统都抽象为 图1.4所示的形式。它是最高层次抽象的系统概貌,要反映更详细的内容,可将处理功能分解为若干子功能,每个子功能还可继续分解,直到把系统工作过程表示清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干层次的数据流图,如图1.5所示。

1.4

系统高层抽象图

图1.5 数据流图的建立

为了更好地说明SA 方法,下面举一个简单的设计实例。假定某工厂要设计一个数据库查询系统。其中,主管生产的部门要掌握产品的性能、各种零件的用料和每种产品的零件组成情况,并据此编制工厂的生产计划。主管供应的部门需要了解产品的价格、各种零件的用料情况以及这些材料的价格与库存量,并根据这些资料提出材料的采购计划。

在调查、分析用户的业务活动并确定系统边界后,得到了如图1.6和图1.7所示的业务流程图。 根据实际应用环境对系统在功能上进行分解,如图1.8所示。

图1.6 生产部门业务流程图


相关文章

  • 需求分析建模技术
  • 项目需求分析 1. 需求分析概述 1.1 需求分析定义 需求分析是指理解用户需求,就软件功能和性能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程.在这个过程中,用户处在主导地位,需求分析工程师和项目经理要负责整理 ...查看


  • 软件开发过程规范-20160804
  • 内蒙古航联科技开发有限责任公司 发布日期: 2016 软件开发规范 文件编号: HLKJ/RJKF-2016 版 次: A/O 分 发 号: 受控状态:受控 编 制:运维中心 审 核: 批 准: 年3月1日 实施日期: 2016年3月1日 ...查看


  • 有关软件需求分析的步骤以及所需文档
  • 有关软件需求分析的步骤以及所需文档 一.需求分析的几个方面 ○ 需求分析可分为问题识别.分析与综合.编制需求分析文档.需求评审等四个阶段,包括以下几个方面: 1. 2. 3. 确定软件所期望的用户类:获取每个用户的需求 了解实际用户任务和目 ...查看


  • 软件需求分析模板
  • 项目名称 (The English Name) 软件需求分析报告 XXX项目组 修订表 审批记录 目 录 1. 引言.............................................................. ...查看


  • 产品需求分析和模块设计的分析方法
  • 产品模块划分设计实现方法 设计需求分解过程指南 1 主题内容与适用范围 本指南为产品开发的初始阶段的模块划分.设计实现.需求分解规定了统一的.最基本的要求,它规定了产品设计需求分解阶段的工作内容.方法.结果和评审.描述了产品设计初始阶段设计 ...查看


  • 面向大数据时代的专业课程体系建设研究
  • 面向大数据时代的专业课程体系建设 1. 大数据时代的特点及其对专业人才的特殊需求分析 重点分析大数据时代特点.大数据技术发展趋势及其对信息技术专业人才的特殊需求.尤其是从大数据理念.技术和方法在农业领域的实践,分析农业大数据应用研究.了解涉 ...查看


  • 需求分析报告文档模板
  • 需求分析报告模板 目录 1. 引言 ...................................................................................................... ...查看


  • 现代软件工程作业
  • (一)名词解释 1. 软件: 软件是计算机程序.数据以及相关的各种文档的集合. 2. 软件危机 软件危机是在软件发展第二阶段末期的规模较大的项目开发中,出现了与当初的计划推迟交工.费用比预算大幅度上升.不能满足用户要求.可靠性低.维护困难等 ...查看


  • 华为公司详细设计方案模板
  • XXX软件详细设计说明书 Prepared by 拟制 Reviewed by 评审人 Approved by 批准 Date 2010-11-23 日期 Date 日期 Date 日期 Revision Record 修订记录 目录 1 ...查看


热门内容