天天看点

数据库设计系列3---事实发现详细介绍--需求收集和分析

在这个阶段,开发人员应该继续收集前面阶段所标示的用户视图的更多细节,产生用户的需求说明。用户的需求说明详细描述了数据库中应该包含的数据以及数据的使用方式。在收集更多的用户视图相关的数据的同时,也应该努力收集系统的一般需求,收集信息的目的是产生系统的需求说明。系统需求描述了在新的数据库应用中所要包含的各种特性,如网络需求,共享访问需求,效率需求以及安全级别需求。

       在收集用户视图需求的数据和整个系统需求的数据时,开发人员将会了解当前系统的运行方式。当然,我们正在建立一个新的系统,在给新的系统引进新的优良特性的同时还应该尽量保留老系统的好的方面。与此阶段相关的一个非常重要的活动是怎样处理有多个视图的情况。

1.       收集数据库系统的用户视图的更多的情况。

a)         为了找到每个用户视图的更多的需求信息,可以再次使用事实发现技术,如面谈和观察业务运转,使用以下的问题类型来了解一个用户视图所需要的数据。

                         i.              在**中,你要包含哪些类型的数据?

                       ii.              你要对**作哪些操作?

可以针对数据库中要存储的所有数据问类似的问题,这些问题的回答有助于确定用户需求定义中的必要细节。

2.       收集数据库系统的系统需求信息

a)         在获取数据库视图需求的同时,还应该收集关于系统需求的更一般的信息,可以问以下的问题:

                         i.              数据库中经常要进行什么操作?

                       ii.              什么事务对这种业务操作时非常关键的?

                      iii.              什么时候运行严格的事务?

                     iv.              他们运行的高峰期,正常期和低谷期各是什么?

                       v.              数据库系统需要那种类型的安全机制?

                     vi.              是否存在只能由某些成员使用的敏感数据?

                    vii.              要保存那些历史数据?

                  viii.              对数据库系统的网络和共享访问有哪些需求?

3.       设计系统的用户视图

a)         从以上的分析中可以得知用户对那种实体的视图有需求,可以使用视图集中式方法和视图集成方法来设计用户的视图。使用视图集中式方法把具有类似视图需求的用户视图合并起来作为一种视图并且命名。开发各自的用户视图模型,之后再使用视图集成的方式把视图模型合并起来。列出一个主要数据类型的用户视图的交叉引用表是比较方便的,究竟使用视图集中式方法还是使用视图集城式方式没有一个准确的区分规则,作为数据库开发人员,应该根据对数据库系统的复杂性的估计和不同视图的数据重叠程度来作决定。

4.       创建各个用户视图的用户需求定义

a)         用户需求定义作为两部分列出:第一部分描述用户视图使用的数据,第二部分提供数据怎样被用户视图使用,即在数据上执行的事务

                         i.              数据需求:数据需求描述了每个事务需要的几本院是的数据,按照从整体到局部,从大到小顺序依次执行。比如一个公司的数据包括地址,街道,城市,邮编,每个公司都有员工,包括一个经理,助理等。并且介绍他们之间的基本关系和属性。

                       ii.              事务需求:主要的数据需求包括数据录入需求,比如录入一个公司的详细情况,录入新员工的详细情况;数据更新/删除,更新/删除分公司的信息,更新/删除给定员工的信息等,数据查询,也就是数据库必须要支持的事务,如:列出给定公司的所有员工,

5.       创建数据库系统的系统说明

a)         系统说明应该列出该数据库系统的所有的重要特点,应该在系统说明中描述的特点如下

                         i.              初始数据库的大小:主要说明说据库在初始的时候存储那些数据大约多少记录,如大约有50个录像供应商和1000盘录像订单。

                       ii.              数据库的增长速度:描述每个周期(月或者天)将会出现多少数据如:每月大约有100部新片,每部录像有20份拷贝添加到数据库中。

                      iii.              记录查找的类型和平均数量:描述所有查询操作的可能次数,比如:查询分公司的详细情况—大约每天10次

                     iv.              网络和共享访问需求:描述访问的兵法频率,比如:系统必须能够支持每个分公司的至少三名成员同时访问。

                       v.              性能:在高峰期和非高峰期数据库应用系统的相应时间,比如保存,查询等在规定的时间内。

                     vi.              安全性:数据库的访问权限和不同用户的访问权限。

                    vii.              备份和法律问题:每个国家都有管理个人数据的计算机存储方式,数据库应用系统应该调查并且实现所要遵守的法律。

数据库应用的初始需求基本完成了,剩下的就是把这些成果拿回去进行分析,并进行下一步的逻辑数据库设计了。

本文转自凌辉博客51CTO博客,原文链接http://blog.51cto.com/tianli/48581如需转载请自行联系原作者

lili00okok