数据库设计步骤--了解用户需求:拿出一个问题清单

项目一开始,就应该着手考虑询问客户哪些问题以便于更好地了解项目的目标和范围。

1.功能:

主要讨论期望系统实现什么功能还要涉及如何实现这些功能记录客户提出的系统应该如何工作的想法仍有用的。

系统应该实现什么功能?

构建此系统的原因是什么?你希望它究成哪些任务?

•系统应该呈现什么样的外观?大致绘出用户界面?

系统的不同部分分别需要多少响应时间(通常交互式响应时间应该小于5s,而报表和其他脱机活动可能花费更长的时间)?

需要什么样的报表?

最终用户是否需要定义新的报表?

髙级用户和管理员是否需要定义新的报表?

2.数据需求:

有助于弄清项目的数据需求。了解需要什么数据将有助于着手定义数据库中的表

用户界面需要什么数据?

应该从哪里获取数据?

这些数据段是如何关联的?

当前如何处理这些任务?数据来自何处?

3.数据完整性:

数据完整性,有助于定义将在数据库中构建的一些完整性约束

各个字段允许获取哪些值?

需要哪些字段(例如,客户记录是否需要电话号码?传真号呢?电子邮件地址呢?是其中的一项而不是所有项)?

各个字段的有效域(允许的值)是什么?允许什么样的格式,要求等?

哪些字段应该参照外键?(例如一个地址的State字段可能需要包含在States表中并且—个CustomerlD字段可能需要包含在Customers表中。我曾看到过带有很长的标准注释淸单的客户,并且Comments宁段只能取那些值)

在下订单之前是否需要客户记录?

若客户取消一个账户,是希望删除对应的记录?还是仅将它们标记为非活动的?

系统需要何种级别的可靠性?

是否需要全天候访问(24/7)系统?

数据的易失性如何?需要采用什么样的备份频率?

如果系统崩溃会带來多大的灾难?

需要多快的备份和运行速度?

如果发生系统崩溃丟失一些数据将会带来何种后果?

4.安全性:

安全性,有助于确定哪种数据库产品最佳(不同的产品提供不同形式的安全性)和使用何种体系结构

每个用户是否需要单独的口令?(通常是个好想法)

不同的用户是否需要使用不同的数据段?(例如售货员可能需要客户信用卡号码,但是订单履行技术员可能不需要)

数据库内的数据否需要加密?

是否需要提供审计线索来记录执行的每项操作和执行人?(例如可以查询哪个职员增加了订购最新iPod的客户的优先级,然后询问此店员这样做的原因)

有哪些不同类别的用户?

每类用户的数量将是多少?每次是否只允许一个人访问数据?是否拥有数百名乃至上千名用户(如同某些Web应用程序的情况那样)

现有的文档是否描述了用户的任务和职责?

5.环境

收集有关项目将替代或交互的其他系统和处理过程的信息。

该系统足增强还是替代现有的系统?

是否存在描述现有系统的文档资料?

现有的系统是否有可供调研的纸制表单?

需要现有系统中的哪些特性?不需要要哪些特性?

现有的系统使用何种类型的数据?存储的方式如何,以及不同的数据段的关联方式如何?

是否存在说明现有系统数据的文档?

是否存在此系统必须与之交互的其他系统?

它如何与这些系统确交互?

新项目是否问现有的系统发送数据?如何发送?

新项目是否从现有的系统接收数据?如何接收?

是否存在说明这些系统的文裆?

业务的运作方式如何








  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值