软件工程基础

返回列表

  (4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;

  (6)软件开发涉及诸多的社会因素。软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。

  软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。简单的说就是使软件走向工程化。软件工程的核心思想是把软件产品看作是一个工程产品来处理。

  软件工程过程是把软件转化为输出的一组彼此相关的资源活动,包含4种基本活动:

  软件工程的目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。

  基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时完成开发,及时交付使用。

  软件工程基本原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

  软件定义阶段中,可行性研究与计划的制定是确定待开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发的实施计划。需求分析,对待开发软件提出的需求分析并给出详细的定义。

  结构化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。

  (1)数据流图(DFD图):描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。

  (2)数据字典:对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。

  (3)判定树:从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。

  (4)判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。

  软件需求规格说明书的特点:①正确性; ②无岐义性; ③完整性; ④可验证性;

  软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件结构、模块的划分、功能的分配以及处理流程。

  软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务。

  软件设计的一般过程:软件设计是一个迭代的过程;先进行高层次的结构设计;后进行低层次的过程设计;穿插进行数据设计和接口设计。

  耦合性是模块见相互连接的紧密程度的度量。耦合程度取决于各个模块之间接口的复杂程度、调用方式以及哪些信息通过接口。

  在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合,有利于提高模块的独立性。

  事务型数据流的特点是:接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。

  详细设计:是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。

  软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。

  静态测试包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通过人工进行。

  白盒测试:也称结构测试或逻辑测试。在程序内部进行,主要用于完成软件内部操作的验证。白盒测试主要考虑内部的逻辑结构。主要方法有逻辑覆盖、基本路径测试。

  黑盒测试:也称功能测试或数据驱动测试。是在软件接口处进行,完成功能验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的设计要求。主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错,用于软件确认测试。主要方法有等价类划分法、边界值分析法、错误推测法、因果图等。

  驱动测试相当于被测模块的主程序,它接收测试数据,并传给被测模块,输出实际测试结果。

  单元测试是对模块(程序单元)进行,静态动态均有,动态时以白盒为主辅之以黑盒。

  确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中的各项需求以及软件配置是否完全正确,先用黑盒。

  软件调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试。

  笔记.第2章.软件工程基础知识.信息系统项目管理师.考试辅导教程.第3版

  本书笔记目录链接 上篇 第2章 软件工程基础知识 “软件工程”概念在1968年的“软件危机”会议中提出。 IEEE...

  1、软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字...

  Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...

  一天就能做出APP 教师节来了,你和同学们准备什么礼物送给老师呢?鲜花、贺卡?太土了! 不如你亲手做一个安卓APP...

  阅读是一种理解,领悟,吸收,鉴赏,评价和探究文章的思维过程。 文/白二二 01.视读不声读 语速往往比视读速度慢,...



上一篇:软件开发的定义是什么?
下一篇:软件开发概念解释