
在数据库设计的需求分析阶段,参与需求分析的主要人员是分析人员和用户,由于数据库应用系统是面向企业和部门的具体业务,分析人员一般并不了解,而同样用户也不会具有系统分析的能力,这就需要双方进行有效的沟通,使得设计人员对用户的各项业务了解和熟悉,进行分析和加工,将用户的业务转换成为设计人员所需要的信息组织,即以规范化的方式进行整理,形成对业务流程描述的文档数据流图和数据描述的文档数据字典。
需求分析,简单来说就是用编程知识分析用户提出的要求是不是合理,能不能实现,如何实现
你可以看看软件工程相关的书,讲得比较详细
一般需求分析后面要进行概要设计、详细设计和界面设计。如果有数据库还要同时进行数据库设计。这些东西都是将来编写系统时指导性的东西,如果前面分析的不全面或者错误了,后面在具体弄的时候会发现没法干了。
在大多数软件项目中,要末不作详细设计,要么开发完成后再补详细设计文档,质量也不容乐观,文档与系统往往不能同步,使详细设计文档完全流于形式,对工作没有起到实际的帮助。
·
详细设计是相对概要设计而言的,是瀑布开发流程的一个重要环节,在概要设计的高层设计的基础上,从逻辑上实现了每一模块的功能,是编码阶段的主要参考资料,是从高层到低层、逐步精化思想的具体实现。
详细设计文档的内容包括各个模块的算法设计,
接口设计,
数据结构设计,交互设计等。必须写清楚各个模块/接口/公共对象的定义,列明各个模块程序的
各种执行条件与期望的运行效果,还要正确处理各种可能的异常。
·
在开发过程中,由需求及设计不正确、不完整所导致的问题是项目进度拖延、失败的一个主要因素,而软件系统的一个重要特性就是需求和设计的不断构建和改进,在写详细设计文档过程中,
详细设计实际上是对系统的一次逻辑构建,可以有效验证需求的完整性及正确性。
如果不写详细设计文档,一般就从概设直接进入编码阶段,这时开发人员所能参考的资料就是需求规格说明书及页面原型、数据库设计等,不能直接进行开发,需要进行信息的沟通,把页面原型不能体现的设计讲清楚,这样既容易遗忘,也容易发生问题,详细设计文档可以作为需求人员、总体设计人员与开发人员的沟通工具,把静态页面无法体现的设计体现出来,包含整体设计对模块设计的规范,体现对设计上的一些决策,例如选用的算法,对一些关键问题的设计考虑等等,使开发人员能快速进入开发,提高沟通效率,减少沟通问题。
对于系统功能的调整,后期的维护,详设文档提供了模块设计上的考虑、决策,包括模块与整体设计的关系、模块所引用的数据库设计、重要 *** 作的处理流程、重要的业务规则实现设计等等信息,提供了对模块设计的概述性信息,阐明了模块设计上的决策,配合代码注释,可以相对轻松读懂原有设计。
·存在的问题要由专门的人写,是比较麻烦的,也是很需要时间的,会对进度造成压力,也容易形成工作瓶颈,使设计人员负担过重,而开发人员无事可作。对于现在一般的以数据库为中心的管理系统而言,这个工作始终是要作的,区别只不过是不是形成专门文档,形成文档可能会多花一两周时间,但相对于规避的风险和问题来说,也是值得的,另外由于现在高级语言的流行,所以更详细的设计应该直接体现在代码的设计上,而文档则只体现设计上的一些决策,协调整体设计与模块设计的关系,把页面原型所不能体现的设计情况文档化,所以所花费的时间是有限的。
设计内容容易过细,但设计阶段是不能考虑特别清楚地,时间也不允许。
对于这个问题,一个对策是上边所提到的,文档只体现设计上的决策,页面原型所不能反映的信息,详细设计只体现总体设计对模块设计的一些考虑,例如对功能的数据库设计等等,而具体的实现实现,则到代码中再去实现,相关的设计也仅体现在代码中。
需求、设计需要不断的被更新、构建,则设计文档需要不断的重新调整,文档的维护需要跟上,否则文档和系统的同步就很难得到保障了,且造成多余的工作量。文档的内容易流于形势,质量糟糕,不能成为开发人员的参考手册,一是要建立起相关制度,如有修改,先改文档,后作开发,从工作流程上切实保障文档与系统的同步,二是要规范文档质量,对文档该写什么,不该写什么,标准是什么,粒度是什么,语法应该如何组织,有明确的标准和考虑,同时,建立审计文档评审、审核制度,充分保障系统的使用。·
首先是文档的内容,根据项目和团队的不同,详细设计文档的内容也有所不同,一般说来,粒度不宜过细,不能代替开发人员的设计和思考,但要把有关设计的决策考虑进去,包括与其他模块、整体设计的关系、 *** 作的处理流程,对业务规则的设计考虑等,有一个标准为,凡是页面原型、需求规格说明书所不能反映的设计决策,而开发人员又需要了解的,都要写入文档。
其次是文档所面向的读者,主要为模块开发人员、后期维护人员,模块开发人员通过详细设计文档和页面原型来了解所开发的功能,后期维护人员通过实际系统、模块代码、详细设计文档来了解一个功能。
再有就是谁来写文档,因为文档主要考虑的是设计上的决策,所以写文档的人应该为负责、参加设计的技术经理、资深程序员,根据团队情况和项目规模、复杂度的不同,也有所不同。
还需要保证文档的可读性、准确性、一致性,要建立严格的文档模板及标准,保证文档的可读性及准确性,同时建立审核及设计评审制度,来保障设计及文档的质量,另外在工作流程中要强调,要先设计、先写文档,再进行开发。
数据库建立过程包括六个主要步骤:
1.需求分析:了解用户的数据需求、处理需求、安全和完整性需求。
2.概念设计:通过数据抽象,设计系统的概念模型,一般为e-r模型。
3.逻辑结构设计:设计系统的模式和外部模式,特别是关系模型的基本表和视图。
4.物理结构设计:设计数据的存储结构和访问方法,如索引的设计。
5.系统实现:组织数据存储,编写应用程序,试运行。
6.运维:系统投入运行,进行长期维护。
扩展资料:
数据库设计技巧:
1.原始文档与实体之间的关系
它可以是一对一、一对多、多对多。一般来说,它们是一对一的关系:也就是说,原始文档只对应于一个实体,而且只对应于一个实体。在特殊情况下,它们可能是一对多或多对一的,其中一个原始文档对应多个实体,或者多个原始文档对应一个实体。
这里的实体可以理解为基本表。在明确了这些对应关系之后,这对于输入接口的设计是非常有益的。
2.主键和外键
通常,实体不能同时没有主键和外键。在e-r关系图中,叶中的实体可以定义主键,也可以不定义主键(因为它没有后代),但是它必须有外键(因为它有父键)。
主键和外键的设计在全局数据库的设计中起着重要的作用。当全球数据库的设计完成后,一位美国的数据库设计专家说:“钥匙,钥匙无处不在,只有钥匙”,这是他的数据库设计经验,也是他高度抽象的信息系统核心思想(数据模型)的体现。
因为:主键是实体的高度抽象,主键和外键对,表示实体之间的连接。
3.基本表的属性
基表不同于中间表和临时表,因为它有以下四个特点:
原子性。基表中的字段没有分解。
原始性。基表中的记录是原始数据(底层数据)的记录。
先验性。所有输出数据都可以从基表和代码表中的数据派生出来。
稳定。表的基本结构比较稳定,表中的记录保存时间较长。
一旦理解了基本表的性质,就可以在设计数据库时将它们与中间表和临时表区分开。
以上就是关于数据库设计的需求分析阶段是如何实现的全部的内容,包括:数据库设计的需求分析阶段是如何实现的、数据库的需求分析是什么东西、如何写详细设计文档等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)