-
系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件,如操作系统、数据库管理系统、编译程序、汇编程序和网络软件等,
-
软件产品必须提供用户所需的功能
-
软件工程包含方法、工具和过程3个要素。方法是完成软件开发各项任务的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。
-
需求分析对待开发软件提出的需求进行分析并给出详细定义,是确定软件系统要做什么的阶段.
-
软件设计通常分为概要设计和详细设计两个阶段,会给出软件的结构、模块的划分、功能的分配以及处理流程,是确定软件系统“怎么做”"的阶段。
-
从技术观点来看,软件设计包括软件总体结构设计、数据设计、接口设计、过程设计4个步骤。软件的需求分析属于需求分析阶段的任务
-
通常把软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期。
-
软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要表现:软件开发进度难以预测; 软件开发成本难以控制; 用户对产品功能难以满足; 软件产品质量无法保证; 软件产品难以维护;软件缺少适当的文档资料
-
软件的特点;软件是一种逻辑实体,具有抽象性;软件没有明显的制作过程;软件在使用期间不存在磨损、老化问题;软件对硬件和环境具有依赖性;软件复杂性高,成本昂贵;软件开发涉及诸多的社会因素。
-
计算机软件是由程序、数据及相关文档构成的完整集合。程序是指软件开发人员依据用户需求开发的、用某种程序设计语言描述的、能够在计算机中执行的语句序列。数据是使程序能够正常操纵信息的数据结构。文档是指与程序开发、维护和使用有关的资料。
-
软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法
-
软件过程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序; 软件过程是把输入转化为输出的一组彼此相关的资源和活动
-
软件工程概念的出现源自软件危机,是为了解决软件危机的问题,
-
软件生命周期可分为定义阶段、开发阶段和维护阶段。定义阶段包括问题定义、可行性研究和需求分析。开发阶段包括概要设计、详细设计、实现和测试。维护阶段包括使用和维护。
-
需求分析阶段的工作可以分为4个方面:需求获取、需求分析、需求规格说明书编写和需求评审。
-
软件需求规格说明书应该明确软件的功能、性能、数据、界面等要求,从而确定系统的逻辑模型。算法详细设计是详细设计阶段的工作。
-
数据流图(dfd)是系统逻辑模型的图形表示,从数据传递和加工的角度,来刻画数据流从输入到输出的移动变化过程,它直接支持系统的功能建模。(需求建模)
-
数据流图应遵循以下构造规则和注意事项: ①对加工处理建立唯一、层次性的编号,且每个加工处理通常要求既有输入又有输出。 ②数据存储之间不应有数据流。 ③数据流图的一致性。即输入输出、读写的对应。 ④父图、子图关系与平衡规则。相邻两层DFD之间具有父子关系,子图代表了父图中某个加式的详细描述,父图表示了子图间的接口。子图个数不大于父图中的处理个数。所有子图的输入输出数据流和父图中相应处理的输入输出数据流必须一致。
-
需求分析方法可以分为结构化分析方法和面向对象分析方法两大类。结构化分析方法的常用工具:数据流图(DFD图)、数据字典(DD)、判定表、判定树。
-
数据字典(Data Dictionary,DD)是对数据流图中所有元素的精确、严格的定义和解释,是一个有组织的列表,使得用户和系统分析员对于输入、输出、存储成分和中间计件结果有共同的理解,是结构化分析方法的核心。
-
软件需求规格说明书有以下几个方面的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据;④为成本估算和编制计划进度提供基础;⑤软件不断改进的基础。
-
-
系统的数据建模是系统设计阶段的工作。
-
没有从属节点的模块是原子模块。
-
扇入指调用一个给定模块的模块个数。
-
扇出指由一个模块直接调用的其他模块个数。
-
结构图是描述软件系统结构的图形工具
-
深度指控制的层数。
-
宽度指最大模块数的层的控制跨度(横向最大模块数)。
-
-
软件设计常用的工具有结构图、程序流程图、N-S图、PAD图、HIPO图、判定表、PDL。DFD图(数据流程图)是需求分析阶段使用的工具。
-
在详细设计阶段常用的工具:程序流程图、N-S图、PAD图、PDL等。
-
在程序流程图中,构成程序流程图的最基本图符及含义:方框表示一个加工步骤;菱形表示一个逻辑条件;箭头表示控制流。
-
耦合用于衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚用于衡量一个模块内部各个元素彼此结合的紧密程度。软件设计中模块划分时应每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单,即高内聚低耦合。
-
概要设计的任务为:①设计软件系统结构;②数据结构及数据库设计;③编写概要设计文档;④概要设计文档评审。
-
模块独立性的概念是抽象、模块化、信息隐蔽和局部化的直接结果。
-
结构图是描述软件系统结构的图形工具,确定系统总体的功能模块结构,结构图不直接支持详细设计。详细设计的任务是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。
-
软件设计准则:①提高模块独立性;②模块规模应该适中;③深度、宽度、扇出和扇入都应适当;④模块的作用域应该在控制域之内;⑤降低模块之间接口的复杂程度;⑥设计单入口和单出口的模块,不要使模块间出现内容耦合;⑦模块功能应该可以预测。
-
软件系统总体结构图是描述软件系统结构的图形工具,描述软件系统的层次和分块结构关系,它反映了整个系统的功能实现以及模块与模块之间的联系和通信,是未来程序中的控制层次体系。
-
-
N-S图提出了用方框图来代替传统的程序流程图,
-
PAD图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,
-
E-R图是数据库中的用于表示E-R模型的图示工具,
-
-
黑盒测试又称功能测试或数据驱动测试,着重测试软件功能。黑盒测试依据需求规格说明书的功能描述。
-
-
软件测试是为了发现错误而执行程序的过程,只发现错误而不改正错误。
-
程序调试的任务是诊断和改正程序中的错误。
-
软件测试贯穿整个软件生命周期,程序调试主要在开发阶段。
-
黑盒测试方法和技术有等价类划分法、边界值分析法、错误推测法和因果图等。 黑盒测试是在软件接口处进行,检查和验证程序的功能是否符合需求规格说明书的功能说明。
-
白盒测试的主要技术有逻辑覆盖测试、基本路径测试,其中逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖。(动态测试)
-
静态测试不实际运行软件,主要通过人工进行分析。动态测试就是通常所说的上机测试,
-
-
-
软件测试的实施过程主要有4个步骤:单元测试、集成测试、确认测试(验收测试)和系统测试。
-
单元测试也称模块测试,模块是软件设计的最小单位,单元测试是对模块进行正确性的检验,以期尽早发现各模块内部可能存在的各种错误,通常在编码阶段进行。单元测试可以采用静态测试或者动态测试。
-
单元测试的依据还有详细设计说明书.
-
-
测试用例(Test Case)是为测试设计的数据,由测试输入数据和与之对应的预期输出结构两部分组成。
-
白盒测试根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。
-
确认测试的任务是检查软件的功能、性能及其他特征是否与用户的需求一致,它是以需求规格说明书作为依据的测试。
-
集成测试的依据是概要设计说明书。
-
软件测试是一种软件的源程序的实际输出与预期输出之间的审核或者比较过程。软件测试的对象是源程序。
C语言二级---公共基础4
最新推荐文章于 2024-07-12 16:35:20 发布