开发过程描述

上传人:feng****heng 文档编号:162054727 上传时间:2022-10-17 格式:DOCX 页数:11 大小:16.20KB
返回 下载 相关 举报
开发过程描述_第1页
第1页 / 共11页
开发过程描述_第2页
第2页 / 共11页
开发过程描述_第3页
第3页 / 共11页
点击查看更多>>
资源描述
开发一个数据库应用,通常需要经过如下的阶段:第一阶段:调 查与分析。获得软件的需求信息和基本的功能定义,形成基本的软件 功能描述。第二阶段:数据建模。根据应用调查分析得到的信息,建 立应用中涉及的数据以及操作数据的方法、流程,形成数据的流动图 表。第三阶段:功能设计。针对应用调查与分析结果和数据建模,进 行应用的详细功能设计,形成应用的软件设计文档。第四阶段:选择 数据库系统。选择适合应用的数据库系统。第五阶段:选择数据库访 问技术。选择适合应用的数据库访问技术。第六阶段:代码设计。设 计应用的软件代码。第七阶段:测试与调试。发现设计中的问题并及 时更改,直到能稳定地运行。第八阶段:发行应用软件。1 调查与分析对软件需求的深入理解是软件开发工作至关重要的一个步骤,不 论我们设计的如何好,代码编写的如何高效,没有很好的需求分析, 这个软件工程只能给用户带来失望,给开发者造成很大的麻烦。需求分析(Requirement Analysis)是调查用户对新开发的信息 系统的需要和要求,结合组织的目标、现状、实力和技术等因素,通 过深入细致的分析,确定出合理可行的信息系统需求,并通过规范的 形式描述需求的过程。需求分析的任务,在于完全弄清用户对软件系统的确切要求,用 需求规格说明书表达出来。在需求分析过程中,软件人员和客户都扮演了积极的角色,客户 必须尽力将有些模糊的软件功能和性能概念具体详细地描述出来,而 开发者则是软件功能的询问者、咨询顾问和问题解决者。这个任务看 起来简单,实际上不是这样,客户和开发者之间的通信量很大,通信开发过程描述 的内容很繁杂,其中存在误解或者误传的可能性,或者说含糊性,软 件工程师面临进退两难的局面,只有通过重复客户的陈述才可能得到 完整的理解。需求分析是软件工程活动,它在系统级别的软件分配和软件设计 间起到了桥梁的作用。需求分析能够使软件工程师刻画出软件的功能 和性能,指明软件和其他系统元素的接口,并建立软件必须满足的约 束条件。在软件分析过程中,分析人员的主要焦点是发现“问题是什么(What is it?)”,而不是发现“怎么做(What to do?)”,“系统会 产生和使用那些数据?系统必须要完成的功能有哪些?系统的用户 界面应该是怎样的?”等等。通过对当前问题和希望的信息(输入和 输出)进行的评估,分析员综合一个或者多个解决方案,选择一个最 优方案,开始应用的数据建模。数据库应用是一种尤其强调应用的软件工程,在需求分析阶段,客户 的积极参与,以及软件工程人员的积极配合,是数据库应用开发成功 的关键。需求分析阶段的工作,可以分成以下四个方面:(1)问题识别; (2)分析与综合;(3)编制需求分析的文档;(4)需求分析评审。需求分析阶段的研究对象是软件产品的用户需求。这些需求最终 要在所开发的软件产品上体现出来,或得到一定程度的满足。需求通常包括:功能需求;性能需求;环境需求;可靠性需求; 安全性需求;用户界面需求;成本消耗需求;开发进度需求;资源使 用需求;用户接口需求。2 数据建模在技术层次上,软件工程师是从数据建模开始的,这是对被建立开发过程描述 软件的完整的需求表示。模型,是软件的第一个技术表示,人们提出 了许多种建模的方法,包括结构化分析方法和面向对象分析方法。结构化分析方法侧重于对功能的分析,创建描述信息内容和信息 流的模型,依据功能和行为对系统进行划分,并描述必须要建立的元 素。通过建模必须做到:(1)描述客户的需求;(2)建立创建软件设 计的基础;(3)定义在软件完成后可以被确认的一组需求。模型的核 心是“数据字典”,这个字典包括了软件使用或者生产的所有数据对 象的描述;模型通过实体-关系图描述数据对象之间的关系,通过数 据流图指明数据在系统中移动时变换的过程和对数据流进行变换的 功能和子功能,通过状态-变迁图指明作为外部实现的结果以及系统 进行的动作。面向对象分析法采用面向对象的分析方法,侧重于对软件实体的 描述,对软件涉及的功能实体进行分类并封装。面向对象分析法将实 体的数据定义为实体属性,将对实体的操作定义为实体的方法,它代 表了实体的一个行为。实体之间通过消息进行交互,通过消息来激发 其它实体的功能。通过面向对象建模,软件应用中使用的所有实体被 封装到不同的类里,同类的属性和方法体现实体的数据和行为。面向 对象分析方法同结构化分析方法的区别在于,面向对象分析方法努力 寻找需求定义中涉及的名词,而结构化分析方法则力图寻找需求定义 中涉及的动词。数据库应用中传统的建模方法是结构化分析方法,在数据库应用 中,数据在软件中往往扮演十分重要的角色,因此数据库应用的建模 势必影响到软件完成后的运行效率,需要十分重视。3 功能设计这里的功能设计是指详细的功能设计,在需求分析完成后,我们开发过程描述 已经有了一个概要的功能描述,但是并不是软件开发中可以使用的功 能设计文档,还需要对软件的功能进行更加详细的定义。通过功能设计应得到如下成果:(1)每个软件功能的详细功能细 分与描述;(2)模块的简要工作流程图;(3)详细的功能设计文档。功能设计是由软件开发人员根据需求分析和建模结论进行的,在 数据库应用里,功能设计尽可能详尽,而且有必要将软件的详细功能 描述提交系统分析员或者客户确认,不允许有任何的功能误解。4 选择数据库系统数据库系统选择是狭义软件开发的第一步,选择数据库应用中存 放数据的数据库系统。此时需要考虑以下因素:应用的并发处理要求。应用是否存在多用或同时操作的可能?如 果需要并发处理能力,我们往往需要选择大型的数据库服务器作为数 据存放的仓库。在一般的桌面应用中,使用单用户的数据库系统就足 够了。应用的事务处理量。应该考虑每天、每小时、甚至每分钟的事务 处理数量,在业务量大的情况下,应该选择稳定性比较强的数据库系 统作为数据存放仓库。应用的数据安全性。数据是否需要高度的安全保证,数据是否涉 及商业的经济命脉?一般只有大型的数据库服务器才具有数据安全 保证,比如在银行的数据库应用中,安全性是最重要的因素。除此之外,数据库选择还要考虑开发的方便性,是否便于数据的 访问,是否具有丰富的编程接口。常见数据库管理系统:Access、FoxPro、SQLServer、Informix、Oracale、SYBASE,DB2 等。常见的程序开发工具环境有:Visual C+、Visual J+、Visual Foxpro、Visual Basic 等(Visual Studio 套件)、JBuilder、Delphi、 C+ Builder(Borland 公司)、.NET 等5选择数据库访问技术(AD0.NET)数据库访问技术是软件开发过程中经常用到的技术。开发数据库 应用时,恰当选择访问数据库的技术是很必要的。数据库访问技术的 确定与应用的规模、操作的层次、数据的分布能力以及选择的数据库 系统等因素有关。应用的规模可以分成桌面应用、办公室自动化应用、企业级应用 和全球互联网应用四种。桌面应用是最简单、最初级的应用,通常利 用 Windows 系统的 Microsoft Access 数据库就足够了,Microsoft Access数据库的最快捷方法是使用DA0。办公室自动化应用是一种基 于小型局域网的数据库应用,这种应用往往是比较简单的客户/服务 器模式,这时,ODBC是一个比较好的选择。企业级应用是一种基于 客户/服务器模式的大规模的数据库应用,应用的事务处理量比较大, 事务处理能力要求比较高,应该使用OLE DB进行这种开发。ADO是 一种适用于互联网应用的数据库访问技术,它往往作为控件在 VBScript语句或者ASP语句里使用。操作的层次是指数据库应用是否涉及到了底层的接口,涉及到了 多少。比如应用中需要用到数据库系统里的各种数据库对象的有关信 息,需要用户进行一些数据库管理和权限管理,这时,ODBC和OLE DB 能够提供这种接口。而MFC的ODBC类,对底层的数据库操作是不能 实现的。数据的分布能力是指应用是否有数据分布处理的要求,大型的应 用往往将数据分布到不同的数据库服务器上,为了实现数据的透明访 问,ADO和OLE DB是值得采用的技术。通常选择了数据库,就将数据库访问技术限制到一个小的选择范 围。例如我们选择使用微软的SQL Server 2000数据库系统,这时我 们只能通过ODBC或者通过DAO、OLEDB、ADO访问数据库,而不能采 用DAO,DAO虽然也可以通过ODBC访问SQL Server,但是效率非常 低下,通常很少会用到它。6 代码设计编码阶段的主要任务,是将软件详细设计产生的每个模块的模块 说明书,翻译成某种程序设计语言编写的源程序程序。为了提高系统的可维护性,除要求得到的源程序语法正确外,还 要求有较好的可读性、可靠性和可测试性。同时,编程语言的特性以 及编写程序的风格也将深刻地影响到软件的质量及可维护性。这个阶段是实际的代码编写阶段,根据功能的详细设计文档,将 所有各模块付诸实施。我们往往把界面设计也作为代码设计的一个内 容,因为只不过是目前许多可视化开发工具(如:VC+, VF,VB等) 提供了可视化的编程环境,实际上也是由可视化开发工具代替我们编 写界面代码。但是更多的功能代码是需要我们自行设计的。代码设计可以分成自顶向下和自底向上两种方法,前者比较容易 把握软件的框架结构,而后者则有利于代码的重用,各有利弊,实际 开发时需要结合二者优势,在不同情况下采取不同的策略。自顶向下,逐步求精方法的优点:(1)自顶向下,逐步求精方法 符合人们解决复杂问题的普遍规律。可提高软件开发的成功率和生产 率;(2)用先全局后局部,先整体后细节,先抽象后具体的逐步求精 的过程开发出来的程序具有清晰的层次结构,因此程序容易阅读和理 解;(3)程序自顶向下,逐步细化,分解成一个树形结构。(4)程序开发过程描述 清晰和模块化,使得在修改和重新设计一个软件时,可复用的代码量 最大。目前编程的概念已发生了很大的变化。面向服务的架构(SOA) 已经成为软件企业追捧的新技术,它从架构上解决了应用系统的可扩 展性,使得IT企业开发出的软件产品可以适应客户不断变化的商业 需求。从面向对象编程,到组件化编程,再发展到SOA,可以看到现 在的软件开发不同于10年前,不再是精通一门编程语言就可以应对 的,而需要综合应用各种知识,如组件化开发、分布式开发、网络编 程、多线程编程、数据库访问等。组件化开发(或者称为基于组件的开发)是目前应用软件开发中 常用的开发方法。组件化开发借助于现代软件技术中的组件技术,利 用了组件本身就是软件开发、部署、重用的基本模块这一特点,使发 过程更加高效经济、部署方式多样灵活、程序维护比以往更简单。 7.测试与调试代码完成后,初始系统就基本构建起来了,但是距离发行还有很 远的距离,为了保证软件的健壮性、稳定性、界面友好性,需要对软 件进行测试。测试的结果往往批量提交给开发人员,由开发人员对软 件进行调试和修正,以解决存在的问题。软件测试是一个艰难的历程,也是保证软件质量的最后关卡,没 有经过充分测试的软件是不能发行的。测试一般需要花费与开发相同 甚至更长的时间,需要开发人员和测试人员配合进行。为了发现程序中的错误而执行程序的过程称为测试。一组用于测试的数据称为测试用例(Test Case)。测试技术从原理上可分:黑箱技术(黑盒测试)和白箱技术(白 盒测试)。黑箱技术(黑盒测试):把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,他只 检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适 当的接收输入数据产生正确的输出信息,并且保持外部信息(数据库 或文件)的完整性。所以又称功能测试。白箱技术(白盒测试):以把程序看成装在一个透明的白盒子里, 也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻 辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。 所以又称为结构测试。从处理上来划分,测试分为自动测试和手动测试;从测试的内容 上分,测试分功能测试、稳定性测试、界面友好性测试。有些软件开 发公司开发了计算机辅助测试软件,更加完整地控制测试的全面性和 质量。要求达到的测试目的:没有语法错误;运行应当有结果;典型用 例结果正确;典型有效数据结果正确,无效数据有预防措施;对一切 可能想得到的数据不出错。排错(Debugging)调试,是消除程序中缺陷(Bug)的过程。步 骤如下:通过测试发现程序有错;找出出错的位置;分析出错原因并改正 之;再测试消除找出的缺陷。某些应用性强的软件行业在测试的时候将客户邀请到公司,对开发 完成的产品进行用户验收,这也是一种测试手段,进一步保证了产品 的质量。8. 完成开发文档发行产品经过测试后的数据库应用就可以发行了,发行数据库应用同发行 其它应用基本相同,需要打包处理,刻盘、生产,最后投放市场并提 供给用户使用。上述数据库应用开发中的各个阶段是不可缺少的,也是不可超越的,其中任何步被忽视,都将导致不同程度的不良后果
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!