预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共41页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2章Web应用程序开发活动2.1软件开发的基本活动 软件开发时期主要包括需求分析、软件设计、编码和测试四个阶段。 一、需求分析 1.需求分析的任务 (1)需求分析的任务主要有两个: 第一是通过对问题及其环境的理解、分析和综合,建立分析模型; 第二是在完全地弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书(SRS)”表达出来。(2)建立分析模型的目的 由于用户群体中的各个用户往往会从不同的角度上阐述他们对原始问题的理解和对目标软件的需求,因此有必要为原始问题及其目标软件系统建立模型。 (3)建立分析模型的作用 一方面用于精确地记录用户对原始问题和目标软件的描述;另一方面也将帮助分析人员发现用户需求中的不一致性,排除不合理的部分,挖掘潜在的用户需求。 (4)编写需求说明的要求 需求说明应该具有准确性和一致性。 需求说明应该具有清晰性和没有二义性。 需求说明应该直观、易读和易于修改。2.需求分析的步骤 (1)需求获取 通常从分析当前系统包含的数据开始,获取用户对软件功能的需求界面的需求。 (2)需求提炼 主要任务是建立分析模型。 (3)需求描述 编写软件需求规格说明书。 (4)需求验证 对软件需求规格说明书进行验证改善其不正确的地方,从而确保需求说明可作为软件设计和最终系统验收的依据。 3.快速原型法在需求分析中的应用 在实际的软件开发中,快速原型法常常被用作一种有效的需求定义方法。 在需求分析阶段采用原型法,一般可按照以下步骤进行: 利用各种分析技术和方法,生成一个简化的需求规格说明; 对需求规格说明进行必要的检查和修改后,确定原型的软件结构、用户界面和数据结构等; 在现有的工具和环境的帮助下,快速生成可运行的软件原型,并进行测试、改进; 将原型提交给用户评估,并征求用户的修改意见; 重复上述过程,直到原型得到用户的认可。二、软件设计 “设计先于编码”,是软件工程方法的一条基本原则。 软件设计的任务就是把分析阶段产生的软件需求说明转换为用适当手段表示的软件设计文档。 软件设计的内容一般都包括: 数据设计 体系结构设计 接口设计 过程设计1.模块与构件 (1)模块是一个拥有明确定义的输入、输出和特性的程序实体。 (2)广义地说,对象也是一种模块。 (3)在模块设计中要求的高内聚、低耦合等性质,在对象设计中仍然适用。 (4)软件构件是一种可重复使用的软件组件。 2.抽象与细化 (1)随着软件规模的不断增大,设计的复杂性也不断增大,抽象便成了控制复杂性的基本策略之一。 (2)在软件的抽象层次中,最高层的抽象程度最高,若需要系统某部分的细节,就移向较低层次的抽象。越是到较低层次,越可看到更多的细节。 (3)软件设计其实就是在不同抽象级别考虑和处理问题的过程。 (4)细化是与抽象相反而又互补的一个概念。细化的实质就是分解。 3.信息隐藏 (1)信息隐藏是系统分解为模块时应遵守的指导思想,在模块内部的数据与过程,把不需要了解这些数据与过程的模块隐藏起来。 (2)目的是为了提高模块的独立性。 4.软件复用 (1)使开发人员能充分利用已有的现成构件,不必这一切都从头做起。 (2)OO技术的流行加快了软件复用的实现。 5.分解 (1)分解是人们处理复杂问题常用的方法。 (2)在传统的软件工程中,在分析阶段靠分解来画分层DFD图;在设计阶段用分解来实现模块化设计。 (3)在OO软件工程中,靠分解来划分类和对象。 三、编码 编码俗称编程序,是软件开发的最终目标,是产生能在计算机上执行的程序。因为编码是把软件的需求真正付诸实现,所以编码阶段也称为实现。 1.编码的任务 (1)目的:是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书写的源程序(或源代码)。 (2)要求: 程序员除应熟悉所用语言的功能和程序开发环境外,还要弄清要编码的模块的外部接口与内部过程。 编码产生的源程序,应该正确可靠,简明清晰,而且具有较高的效率。2.编码的风格 (1)编码风格也称为程序设计风格,良好的编码风格能在一定程度上弥补语言存在的缺点,反之,不注意风格,即使使用了结构化的现代语言,也不一定写出高质量的程序。 (2)编码风格的要求 使用标准的控制结构 主要表现在编码阶段,要继续遵循模块逻辑中采用单入口、单出口标准结构这一主要原则,确保源程序清晰可读。 源程序的文档化 编码的目的是产生程序,其余阶段才产生文档。源程序的文档化:主要表现在源代码也需要实现“文档化”,目的是为了提高程序的可维护性。 源程序的文档化通常包括以下内容: ①合理的源文件组织结构; ②有意义的命名规则; ③源程序文件中适当的注释。 四、软件测试 1.软件测试的含义 软件测试是为了发现错误而执行程序的过程。 2.软件测试的目的和任务 目的:发现程序的错误。 任务