![]() ![]() |
|
公共基础知识总结之第三章软件工程基础 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 13:47:54 文章录入:杜斌 责任编辑:杜斌 | |
|
|
3.1 软件工程基本概念
软件需求规格说明书的特点: (1)正确性; (2)无岐义性; (3)完整性; (4)可验证性; (5)一致性; (6)可理解性; (7)可追踪性。 3.3 结构化设计方法 软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,软件设计是确定系统的物理模型。 软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径。 从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。 结构设计:定义软件系统各主要部件之间的关系。 数据设计:将分析时创建的模型转化为数据结构的定义。 接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。 过程设计:把系统结构部件转换成软件的过程描述。 从工程管理角度来看:概要设计和详细设计。 软件设计的一般过程:软件设计是一个迭代的过程;先进行高层次的结构设计;后进行低层次的过程设计;穿插进行数据设计和接口设计。 衡量软件模块独立性使用耦合性和内聚性两个定性的度量标准。 在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合。 软件概要设计的基本任务是: (1)设计软件系统结构; (2)数据结构及数据库设计; (3)编写概要设计文档; (4)概要设计文档评审。 模块用一个矩形表示,箭头表示模块间的调用关系。 在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据。 结构图的基本形式:基本形式、顺序形式、重复形式、选择形式。 结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块。 典型的数据流类型有两种:变换型和事务型。 变换型系统结构图由输入、中心变换、输出三部分组成。 事务型数据流的特点是:接受一项事务,根据事务处理的特点和性质,选择分派 一个适当的处理单元,然后给出结果。 详细设计:是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某 种选定的表达工具表示算法和数据结构的细节。 常见的过程设计工具有:图形工具(程序流程图)、表格工具(判定表)、语言工具(PDL)。 3.4 软件测试 软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。 软件测试的目的:发现错误而执行程序的过程。 软件测试方法:静态测试和动态测试。 静态测试包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通过人工进行。 动态测试:是基本计算机的测试,主要包括白盒测试方法和黑盒测试方法。 白盒测试:在程序内部进行,主要用于完成软件内部操作的验证。主要方法有逻辑覆盖、基本基路径测试。 黑盒测试:主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错 误、性能错误、初始化和终止条件错,用于软件确认。主要方法有等价类划分法、边界值分析法、错误推测法、因果图等。 软件测试过程一般按4个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。 3.5 程序的调试 程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。 程序调试的基本步骤: (1)错误定位; (2)修改设计和代码,以排除错误; (3)进行回归测试,防止引进新的错误。 软件调试可分表静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试。主要调试方法有: (1)强行排错法; (2)回溯法; (3)原因排除法。 |
|
![]() ![]() |