开发过程描述_第1页
开发过程描述_第2页
开发过程描述_第3页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、开发一个数据库应用,通常需要经过如下的阶段:第一阶段:调 查与分析。 获得软件的需求信息和基本的功能定义, 形成基本的软件 功能描述。第二阶段:数据建模。根据应用调查分析得到的信息,建 立应用中涉及的数据以及操作数据的方法、 流程,形成数据的流动图 表。第三阶段:功能设计。针对应用调查与分析结果和数据建模,进 行应用的详细功能设计,形成应用的软件设计文档。第四阶段:选择 数据库系统。选择适合应用的数据库系统。第五阶段:选择数据库访 问技术。选择适合应用的数据库访问技术。第六阶段:代码设计。设 计应用的软件代码。第七阶段:测试与调试。发现设计中的问题并及 时更改,直到能稳定地运行。第八阶段:发行

2、应用软件。1 调查与分析对软件需求的深入理解是软件开发工作至关重要的一个步骤, 不 论我们设计的如何好,代码编写的如何高效,没有很好的需求分析, 这个软件工程只能给用户带来失望,给开发者造成很大的麻烦。需求分析 (Requirement Analysis) 是调查用户对新开发的信息 系统的需要和要求,结合组织的目标、现状、实力和技术等因素,通 过深入细致的分析, 确定出合理可行的信息系统需求, 并通过规范的 形式描述需求的过程。需求分析的任务, 在于完全弄清用户对软件系统的确切要求, 用 需求规格说明书表达出来。在需求分析过程中, 软件人员和客户都扮演了积极的角色, 客户 必须尽力将有些模糊的

3、软件功能和性能概念具体详细地描述出来, 而 开发者则是软件功能的询问者、 咨询顾问和问题解决者。 这个任务看 起来简单,实际上不是这样,客户和开发者之间的通信量很大,通信 的内容很繁杂,其中存在误解或者误传的可能性,或者说含糊性,软 件工程师面临进退两难的局面, 只有通过重复客户的陈述才可能得到 完整的理解。需求分析是软件工程活动, 它在系统级别的软件分配和软件设计 间起到了桥梁的作用。 需求分析能够使软件工程师刻画出软件的功能 和性能,指明软件和其他系统元素的接口, 并建立软件必须满足的约 束条件。在软件分析过程中,分析人员的主要焦点是发现“问题是什么 ( What is it? )”,而不

4、是发现“怎么做( What to do? )”,“系统会 产生和使用那些数据?系统必须要完成的功能有哪些?系统的用户 界面应该是怎样的?”等等。通过对当前问题和希望的信息(输入和 输出)进行的评估,分析员综合一个或者多个解决方案,选择一个最 优方案,开始应用的数据建模。 数据库应用是一种尤其强调应用的软件工程, 在需求分析阶段, 客户 的积极参与, 以及软件工程人员的积极配合, 是数据库应用开发成功 的关键。需求分析阶段的工作,可以分成以下四个方面: (1)问题识别 ; ( 2)分析与综合 ; (3)编制需求分析的文档 ; (4)需求分析评审。需求分析阶段的研究对象是软件产品的用户需求。 这些

5、需求最终 要在所开发的软件产品上体现出来,或得到一定程度的满足。需求通常包括:功能需求;性能需求;环境需求;可靠性需求; 安全性需求;用户界面需求;成本消耗需求;开发进度需求;资源使 用需求;用户接口需求。2 数据建模在技术层次上, 软件工程师是从数据建模开始的, 这是对被建立 软件的完整的需求表示。模型,是软件的第一个技术表示,人们提出 了许多种建模的方法,包括结构化分析方法和面向对象分析方法。结构化分析方法侧重于对功能的分析, 创建描述信息内容和信息 流的模型, 依据功能和行为对系统进行划分, 并描述必须要建立的元 素。通过建模必须做到: (1)描述客户的需求;(2)建立创建软件设 计的基

6、础;(3)定义在软件完成后可以被确认的一组需求。模型的核 心是“数据字典”,这个字典包括了软件使用或者生产的所有数据对 象的描述;模型通过实体 - 关系图描述数据对象之间的关系,通过数 据流图指明数据在系统中移动时变换的过程和对数据流进行变换的 功能和子功能,通过状态 - 变迁图指明作为外部实现的结果以及系统 进行的动作。面向对象分析法采用面向对象的分析方法, 侧重于对软件实体的 描述,对软件涉及的功能实体进行分类并封装。 面向对象分析法将实 体的数据定义为实体属性, 将对实体的操作定义为实体的方法, 它代 表了实体的一个行为。 实体之间通过消息进行交互, 通过消息来激发 其它实体的功能。 通

7、过面向对象建模, 软件应用中使用的所有实体被 封装到不同的类里, 同类的属性和方法体现实体的数据和行为。 面向 对象分析方法同结构化分析方法的区别在于, 面向对象分析方法努力 寻找需求定义中涉及的名词, 而结构化分析方法则力图寻找需求定义 中涉及的动词。数据库应用中传统的建模方法是结构化分析方法, 在数据库应用 中,数据在软件中往往扮演十分重要的角色, 因此数据库应用的建模 势必影响到软件完成后的运行效率,需要十分重视。3 功能设计这里的功能设计是指详细的功能设计, 在需求分析完成后, 我们 已经有了一个概要的功能描述, 但是并不是软件开发中可以使用的功 能设计文档,还需要对软件的功能进行更加

8、详细的定义。通过功能设计应得到如下成果: (1)每个软件功能的详细功能细 分与描述;(2)模块的简要工作流程图; (3)详细的功能设计文档。功能设计是由软件开发人员根据需求分析和建模结论进行的, 在 数据库应用里, 功能设计尽可能详尽, 而且有必要将软件的详细功能 描述提交系统分析员或者客户确认,不允许有任何的功能误解。4 选择数据库系统数据库系统选择是狭义软件开发的第一步,选择数据库应用中存 放数据的数据库系统。此时需要考虑以下因素:应用的并发处理要求。应用是否存在多用或同时操作的可能?如 果需要并发处理能力, 我们往往需要选择大型的数据库服务器作为数 据存放的仓库。 在一般的桌面应用中,

9、使用单用户的数据库系统就足 够了。应用的事务处理量。应该考虑每天、每小时、甚至每分钟的事务 处理数量, 在业务量大的情况下, 应该选择稳定性比较强的数据库系 统作为数据存放仓库。应用的数据安全性。数据是否需要高度的安全保证,数据是否涉 及商业的经济命脉?一般只有大型的数据库服务器才具有数据安全 保证,比如在银行的数据库应用中,安全性是最重要的因素。除此之外, 数据库选择还要考虑开发的方便性, 是否便于数据的 访问,是否具有丰富的编程接口。常见数据库管理系统: Access、FoxPro、SQLServer 、Informix 、 Oracale、SY BASE DB2 等。常见的程序开发工具环

10、境有: Visual C+、 Visual J+、Visual Foxpro、Visual Basic 等(Visual Studio 套件)、JBuilder、Delphi、 C+ Builder(Borland 公司)、.NET等5 选择数据库访问技术( ADO.NE)T数据库访问技术是软件开发过程中经常用到的技术。开发数据库 应用时,恰当选择访问数据库的技术是很必要的。 数据库访问技术的 确定与应用的规模、 操作的层次、 数据的分布能力以及选择的数据库 系统等因素有关。应用的规模可以分成桌面应用、办公室自动化应用、企业级应用 和全球互联网应用四种。桌面应用是最简单、最初级的应用,通常利

11、用 Windows系统的 Microsoft Access 数据库就足够了,Microsoft Access数据库的最快捷方法是使用 DAO办公室自动化应用是一种基 于小型局域网的数据库应用,这种应用往往是比较简单的客户 / 服务 器模式,这时,ODBC是一个比较好的选择。企业级应用是一种基于 客户/ 服务器模式的大规模的数据库应用, 应用的事务处理量比较大, 事务处理能力要求比较高,应该使用 OLE DB进行这种开发。ADO是 一种适用于互联网应用的数据库访问技术,它往往作为控件在 VBScript语句或者ASP语句里使用。操作的层次是指数据库应用是否涉及到了底层的接口,涉及到了 多少。比如

12、应用中需要用到数据库系统里的各种数据库对象的有关信 息,需要用户进行一些数据库管理和权限管理,这时,ODB(和OLEDB能够提供这种接口。而 MFC的ODB(类,对底层的数据库操作是不能 实现的。数据的分布能力是指应用是否有数据分布处理的要求,大型的应 用往往将数据分布到不同的数据库服务器上, 为了实现数据的透明访问,ADU口 OLE DB是值得采用的技术。通常选择了数据库,就将数据库访问技术限制到一个小的选择范 围。例如我们选择使用微软的 SQLServer 2000 数据库系统,这时我 们只能通过ODB(或者通过DAO OLEDB ADO问数据库,而不能采 用DAO DAO虽然也可以通过

13、ODBC访问SQL Server,但是效率非常 低下,通常很少会用到它。6 代码设计编码阶段的主要任务, 是将软件详细设计产生的每个模块的模块 说明书,翻译成某种程序设计语言编写的源程序程序。为了提高系统的可维护性, 除要求得到的源程序语法正确外, 还 要求有较好的可读性、可靠性和可测试性。同时,编程语言的特性以 及编写程序的风格也将深刻地影响到软件的质量及可维护性。这个阶段是实际的代码编写阶段,根据功能的详细设计文档,将 所有各模块付诸实施。 我们往往把界面设计也作为代码设计的一个内 容,因为只不过是目前许多可视化开发工具(如:VC+ VF, VB等)提供了可视化的编程环境, 实际上也是由可

14、视化开发工具代替我们编 写界面代码。但是更多的功能代码是需要我们自行设计的。代码设计可以分成自顶向下和自底向上两种方法, 前者比较容易 把握软件的框架结构,而后者则有利于代码的重用,各有利弊,实际 开发时需要结合二者优势,在不同情况下采取不同的策略。自顶向下,逐步求精方法的优点: ( 1)自顶向下,逐步求精方法 符合人们解决复杂问题的普遍规律。 可提高软件开发的成功率和生产 率;( 2)用先全局后局部,先整体后细节,先抽象后具体的逐步求精 的过程开发出来的程序具有清晰的层次结构, 因此程序容易阅读和理 解;( 3)程序自顶向下,逐步细化,分解成一个树形结构。( 4)程序 清晰和模块化, 使得在

15、修改和重新设计一个软件时, 可复用的代码量 最大。目前编程的概念已发生了很大的变化。面向服务的架构(SOA)已经成为软件企业追捧的新技术, 它从架构上解决了应用系统的可扩 展性,使得 IT 企业开发出的软件产品可以适应客户不断变化的商业 需求。从面向对象编程,到组件化编程,再发展到SOA可以看到现 在的软件开发不同于 10 年前,不再是精通一门编程语言就可以应对 的,而需要综合应用各种知识,如组件化开发、分布式开发、网络编 程、多线程编程、数据库访问等。组件化开发 (或者称为基于组件的开发) 是目前应用软件开发中 常用的开发方法。 组件化开发借助于现代软件技术中的组件技术, 利 用了组件本身就

16、是软件开发、部署、重用的基本模块这一特点,使发 过程更加高效经济、部署方式多样灵活、程序维护比以往更简单。7. 测试与调试代码完成后, 初始系统就基本构建起来了, 但是距离发行还有很 远的距离,为了保证软件的健壮性、稳定性、界面友好性,需要对软 件进行测试。 测试的结果往往批量提交给开发人员, 由开发人员对软 件进行调试和修正,以解决存在的问题。软件测试是一个艰难的历程,也是保证软件质量的最后关卡,没 有经过充分测试的软件是不能发行的。 测试一般需要花费与开发相同 甚至更长的时间,需要开发人员和测试人员配合进行。为了发现程序中的错误而执行程序的过程称为测试。 一组用于测试的数据称为测试用例(

17、Test Case )。 测试技术从原理上可分:黑箱技术(黑盒测试)和白箱技术(白 盒测试)。黑箱技术(黑盒测试) :把程序看成一个黑盒子,完全不考虑程 序的内部结构和处理过程。 黑盒测试是在程序接口进行的测试, 他只 检查程序功能是否能按照规格说明书的规定正常使用, 程序是否能适 当的接收输入数据产生正确的输出信息, 并且保持外部信息 (数据库 或文件)的完整性。所以又称功能测试。白箱技术(白盒测试):以把程序看成装在一个透明的白盒子里, 也就是完全了解程序的结构和处理过程。 这种方法按照程序内部的逻 辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。 所以又称为结构测试。从处理上来划分,测试分为自动测试和手动测试;从测试的内容 上分,测试分功能测试、稳定性测试、界面友好性测试。有些软件开 发公司开发了计算机辅助测试软件, 更加完整地控制测试的全面性和 质量。要求达到的测试目的:没有语法错误;运行应当有结果;典型用 例结果正确;典型有效数据结果正确,无效数据有预防措施;对一切 可能想得到的数据不出错。排错(Debugg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论