开发过程描述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发一个数据库应用,通常需要经过如下的阶段:第一阶段:调查与分析。获得软件的需求信息和基本的功能定义,形成基本的软件功能描述。第二阶段:数据建模。根据应用调查分析得到的信息,建立应用中涉及的数据以及操作数据的方法、流程,形成数据的流动图表。第三阶段:功能设计。针对应用调查与分析结果和数据建模,进行应用的详细功能设计,形成应用的软件设计文档。第四阶段:选择数据库系统。选择适合应用的数据库系统。第五阶段:选择数据库访问技术。选择适合应用的数据库访问技术。第六阶段:代码设计。设计应用的软件代码。第七阶段:测试与调试。发现设计中的问题并及时更改,直到能稳定地运行。第八阶段:发行应用软件。
1 调查与分析
对软件需求的深入理解是软件开发工作至关重要的一个步骤,不论我们设计的如何好,代码编写的如何高效,没有很好的需求分析,这个软件工程只能给用户带来失望,给开发者造成很大的麻烦。
需求分析(Requirement Analysis)是调查用户对新开发的信息系统的需要和要求,结合组织的目标、现状、实力和技术等因素,通过深入细致的分析,确定出合理可行的信息系统需求,并通过规范的形式描述需求的过程。
需求分析的任务,在于完全弄清用户对软件系统的确切要求,用需求规格说明书表达出来。
在需求分析过程中,软件人员和客户都扮演了积极的角色,客户必须尽力将有些模糊的软件功能和性能概念具体详细地描述出来,而开发者则是软件功能的询问者、咨询顾问和问题解决者。这个任务看起来简单,实际上不是这样,客户和开发者之间的通信量很大,通信
的内容很繁杂,其中存在误解或者误传的可能性,或者说含糊性,软件工程师面临进退两难的局面,只有通过重复客户的陈述才可能得到完整的理解。
需求分析是软件工程活动,它在系统级别的软件分配和软件设计间起到了桥梁的作用。需求分析能够使软件工程师刻画出软件的功能和性能,指明软件和其他系统元素的接口,并建立软件必须满足的约束条件。
在软件分析过程中,分析人员的主要焦点是发现“问题是什么(What is it?)”,而不是发现“怎么做(What to do?)”,“系统会产生和使用那些数据?系统必须要完成的功能有哪些?系统的用户界面应该是怎样的?”等等。通过对当前问题和希望的信息(输入和输出)进行的评估,分析员综合一个或者多个解决方案,选择一个最优方案,开始应用的数据建模。
数据库应用是一种尤其强调应用的软件工程,在需求分析阶段,客户的积极参与,以及软件工程人员的积极配合,是数据库应用开发成功的关键。
需求分析阶段的工作,可以分成以下四个方面:(1)问题识别;(2)分析与综合;(3)编制需求分析的文档;(4)需求分析评审。
需求分析阶段的研究对象是软件产品的用户需求。这些需求最终要在所开发的软件产品上体现出来,或得到一定程度的满足。
需求通常包括:功能需求;性能需求;环境需求;可靠性需求;安全性需求;用户界面需求;成本消耗需求;开发进度需求;资源使用需求;用户接口需求。
2 数据建模
在技术层次上,软件工程师是从数据建模开始的,这是对被建立
软件的完整的需求表示。模型,是软件的第一个技术表示,人们提出了许多种建模的方法,包括结构化分析方法和面向对象分析方法。
结构化分析方法侧重于对功能的分析,创建描述信息内容和信息流的模型,依据功能和行为对系统进行划分,并描述必须要建立的元素。通过建模必须做到:(1)描述客户的需求;(2)建立创建软件设计的基础;(3)定义在软件完成后可以被确认的一组需求。模型的核心是“数据字典”,这个字典包括了软件使用或者生产的所有数据对象的描述;模型通过实体-关系图描述数据对象之间的关系,通过数据流图指明数据在系统中移动时变换的过程和对数据流进行变换的功能和子功能,通过状态-变迁图指明作为外部实现的结果以及系统进行的动作。
面向对象分析法采用面向对象的分析方法,侧重于对软件实体的描述,对软件涉及的功能实体进行分类并封装。面向对象分析法将实体的数据定义为实体属性,将对实体的操作定义为实体的方法,它代表了实体的一个行为。实体之间通过消息进行交互,通过消息来激发其它实体的功能。通过面向对象建模,软件应用中使用的所有实体被封装到不同的类里,同类的属性和方法体现实体的数据和行为。面向对象分析方法同结构化分析方法的区别在于,面向对象分析方法努力寻找需求定义中涉及的名词,而结构化分析方法则力图寻找需求定义中涉及的动词。
数据库应用中传统的建模方法是结构化分析方法,在数据库应用中,数据在软件中往往扮演十分重要的角色,因此数据库应用的建模势必影响到软件完成后的运行效率,需要十分重视。
3 功能设计
这里的功能设计是指详细的功能设计,在需求分析完成后,我们
已经有了一个概要的功能描述,但是并不是软件开发中可以使用的功能设计文档,还需要对软件的功能进行更加详细的定义。
通过功能设计应得到如下成果:(1)每个软件功能的详细功能细分与描述;(2)模块的简要工作流程图;(3)详细的功能设计文档。
功能设计是由软件开发人员根据需求分析和建模结论进行的,在数据库应用里,功能设计尽可能详尽,而且有必要将软件的详细功能描述提交系统分析员或者客户确认,不允许有任何的功能误解。
4 选择数据库系统
数据库系统选择是狭义软件开发的第一步,选择数据库应用中存放数据的数据库系统。此时需要考虑以下因素:
应用的并发处理要求。应用是否存在多用或同时操作的可能?如果需要并发处理能力,我们往往需要选择大型的数据库服务器作为数据存放的仓库。在一般的桌面应用中,使用单用户的数据库系统就足够了。
应用的事务处理量。应该考虑每天、每小时、甚至每分钟的事务处理数量,在业务量大的情况下,应该选择稳定性比较强的数据库系统作为数据存放仓库。
应用的数据安全性。数据是否需要高度的安全保证,数据是否涉及商业的经济命脉?一般只有大型的数据库服务器才具有数据安全保证,比如在银行的数据库应用中,安全性是最重要的因素。
除此之外,数据库选择还要考虑开发的方便性,是否便于数据的访问,是否具有丰富的编程接口。
常见数据库管理系统:Access、FoxPro、SQL Server、Informix、Oracale、SYBASE,DB2等。