首页 > 知识库 > 计算机 > 正文

计算机公共基础知识

2021-06-14 15:57:57
字体:
来源:转载
供稿:网友
概要设计将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。
详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。
2.软件设计的基本原理
(1)抽象
抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。 

(2)模块化
模块是指把一个待开发的软件分解成若干小的简单的部分。每个模块可以完成一个特定的子功能,各个模块可以按一定的方法组装起来成为一个整体,从而实现整个系统的功能。
模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。

(3)信息隐蔽
信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。

(4)模块独立性
模块独立性是指每个模块只完成系统要求的独立的子功能,且与其他模块的联系最少、接口简单。
模块的独立程度是评价设计好坏的重要度量标准。通常从耦合性和内聚性两个度量标准衡量软件的模块独立性。

① 内聚性
内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系。一个模块的内聚性越强则该模块的模块独立性越强。
在各种内聚性中,内聚性由弱到强的是:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。

② 耦合性
耦合性是模块间互相连接的紧密程度的度量。一个模块与其他模块的耦合性越强则该模块的模块独立性越弱。
在各种耦合性中,耦合度由高到低的顺序是:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合。
总之,耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。 

3.概要设计
概要设计的基本任务是:对系统进一步分解,划分模块及确定模块的层次结构。
4.详细设计
详细设计的任务,是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。
常用的工具有程序流程图、N-S图、PAD图、过程设计语言(PDL)等。

1.3.6  软件测试

重点掌握软件测试的概念、静态测试与动态测试的概念、白盒测试与黑盒测试的概念以及软件测试的过程与步骤。

1.软件测试的概念与分类
软件测试是保证软件质量的重要手段,其主要过程涵盖了整个软件生命期的过程。软件测试是为了发现错误而执行程序的过程。
从是否需要执行被测软件的角度,可以分为静态测试和动态测试;按照功能划分可以分为白盒测试和黑盒测试方法。 

2.静态测试与动态测试
静态测试包括代码检查、静态结构分析、代码质量度量等。静态测试不实际运行软件,主要通过人工进行。
动态测试是基于计算机的测试,是为了发现错误而执行程序的过程。即根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去执行程序,以发现程序错误的过程。

3.白盒测试方法与测试用例设计
白盒测试也称结构测试或逻辑驱动测试。它是根据软件产品的内部工作过程,检查内部成分,以确认每种内部操作符合设计规格要求。
白盒测试的基本原则是:保证所测模块中每一独立路径至少执行一次;保证所测模块所有判断的每一分支至少执行一次;保证所测模块每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。

白盒测试常用的方法有逻辑覆盖、基本路径测试。

    逻辑覆盖测试泛指一系列以程序内部的逻辑结构为基础的测试用例设计技术。通常有语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断——条件覆盖等。
基本路径测试的思想是,根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对每一条独立执行路径进行测试。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表