软件工程复习

发布 2022-01-11 22:38:28 阅读 8766

chap1 概述软件危机。

1. 软件工程的定义:软件工程是一门研究软件开发与维护的工程学科。

2. (生命周期)传统软件开发方法三个时期:软件定义、软件开发和软件维护。

八个阶段:问题定义、行性研究、需求分析;总体设计、详细设计、编码和单元测试、综合测试;维护。

chap2 可行性研究。

1. **工具:系统流程图 p21:

系统流程图(system flowchart)是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、**、人工过程等),表达信息在各个部件之间流动的情况。

系统流程图表达的是数据在系统各部件之间流动情况,而不是对数据进行加工的控制过程。尽管系统流程图和程序流程图有些符号相同,但系统流程图却是物理流程图而不是程序流程图。

人工处理、数据处理、数据库、文件和存储设备。它表达了系统中各个元素之间的信息流动情况。画图之前要搞清业务处理过程以及处理中的各个元素。

2. 成本/效率分析:目的是从经济学角度评价开发一个新的软件项目是否可行。

成本/效率分析首先是估算将要开发的系统的开发成本,然后与可能取得效益进行比较和权衡。要使开发项目能够在规定的时间内完成,而且不超过预算,成本预算和管理控制是关键。对于一个大型的软件项目,由于项目的复杂性,开发成本的估算不是一件简单的事,要进行一系列的估算处理。

chap3 需求分析。

1.生命周期结构化分析:所谓结构化生命周期法就是把管理信息系统开发的全过程按其生存周期分成若干阶段,每个阶段有相对独立的任务,然后逐步完成各个阶段的任务。

在每一阶段的开始与结束都规定了严格的标准。前一个阶段的结束标准就是后—阶段开始的标准,而每个阶段任务相对独立而且比较简单,便于不同人员分工协作,从而降低了整个软件工程开发的困难程度。

的目的:面向数据流自顶向下逐步求精进行需求分析。

任务:确定对系统的综合要求;分析系统的数据要求。

步骤(structured analysis):分析系统的各种需求,建立系统的逻辑模型,修正开发计划,开发原型系统,验证软件需求的正确性,编写软件需求规格说明书 p41

3.**工具,dfd:数据流图:

是用来描绘软件系统的逻辑模型的工具,他描绘数据在软件系统中流动被处理的逻辑过程,dd:数据字典:是关于数据信息的集合,是对数据流图中包含的所有元素定义的集合,他的作用是为软件分析和设计过程提供关于数据的描述信息,er:

实体-联系:是目前嘴馋用的概念数据建模方法,他可以在需求分析阶段清晰地表达目标系统中数据之间的联系及组织方式,建立系统的实体联系模型。

chap4 总体设计。

系统和结构设计 p49

1)软件工程的基本定理(原理)(软件工程的基本定理(原理)(设函数c(x)定义问题x的复杂程度,函数e(x)确定解决问题x需要的工作量(时间)。对于两个问题p1和p2,有。

c(p1+p2)>c(p1)+c(p2) e(p1+p2)>e(p1)+e(p2)) p48

2)模块独立(内聚、耦合)(高内聚、低耦合)面向对象中的 :内聚标志一个模块内各个元素彼此结合的紧密程度,也称块内联系。高内聚。

耦合是对一个软件结构内不同模块之间互连成都的度量,也称块间联系。低耦合。

p48 p50 )

内聚和耦合有哪几种?

内聚:偶然内聚,逻辑内聚,时间内聚,过程内聚,通信内聚,顺序内聚,功能内聚;

耦合:非直接耦合,数据耦合,特征耦合,控制耦合,外部耦合,公共耦合,内容耦合。

3) **工具hc(p55) sc(p56)

4) structure design (sd)目的、任务和步骤 : 目的是提出满足系统需求的最佳软件结构。

任务是完成软件的结构图。

步骤:首先是对srs的dfd图进行细化修改,然后辨别dfd图的机构。若dfd图为变换型结构,则进行变换分析;若dfd图为事务性结构,则进行事务分析。

讲dfd图映射到初始的sc图,接着将映射后的初始sc图改进为最终的sc图,最后对最终的sc图进行评审。p59

5)变换分析和事务分析 : 变换分析步骤:①在dfd图上区分输入、变换中心和输出3个部分,标出它们之间的分界;②画出初始的sc图的框架,这一框架由顶层的主控模块和供它调用的输入、变换处理和输出三个分支框组成;③对输入、变换处理和输出这三个分支进行自顶向下的分解,画出各个分支所需要的全部模块;④将初始的sc图的框架和各个分支所需要的全部模块合起来,就构成了初始的sc图。

事务分析步骤:①在dfd图上划分接收、事务中心和发送3个部分,标出它们之间的分界;②画出初始的sc图的框架,将上述3个部分映射为事务控制模块、接收分支和动作发送分支;③分解和细化接收分支和发送分支,画出各个分支所需要的全部模块;④将初始的sc图的框架和各个分支所需要的全部模块合起来,就构成了初始的sc图。 p60

chap5 详细设计

1. sp 结构化程序设计;非结构化的结构化:优点:

①自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,可以显著提高软件开发的成功率和生产率;②先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构;③使用单入口单出口的控制结构而不使用go to语句,使得程序的静态结构和它的动态执**况比较一致;④控制结构有确定的逻辑模式,编写程序**只限于使用几种直截了当的方式;⑤程序的逻辑结构清晰,有利于程序正确性证明。

2. **工具:流程图(p65)、n-s图(p66)、pad图(p68)

3. pdl语言:(pdllanguage)页描述语言也就是所谓的打印语言,它是由美国的和在2024年提出的。

pdl是(program design language)(设计性程序语言)的缩写,用于书写软件设计规约。

判定树:用图形方式描述加工逻辑,具有直观、容易理解等特点。

判定表:分析和表达多逻辑条件下执行不同操作时的工具。

chap6 dom 引论(object oriented)

1. 什么是面向对象方法学 (公式)object+classes+inheritance+communication with messages p92:面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。

2. 优点(p96):与人类习惯的思维方法一致;稳定性好;可重用性好;可维护性好。

3. 什么事dom中的对象 p92:面向对象方法学中的对象是由对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。

4. dom建模(3种),采用**工具,类图,crc (p99)

对象模型:crc。动态模型:时序图、协作图、状态图和活**。功能模型:数据流程图。

chap7 dod ooa

1.3个模型,5个层次,(用户需写问题域模型)(p102):3个子模型:对象模型、动态模型和功能模型 5个层次:主题曾、类与对象层、结构层、属性层和服务层。

2.dod(p107):问题域模型 dod 求解域模型(面向对象方法、模块独立性好、dod)模型 p115: 根据ooa得到的需求模型,建立求解域模型的过程。

chap10 测试。

1. 黑盒、白盒定义(分别采用的技术)(3种技术、2种。。。p161)

白盒测试又称为结构测试,主要按软件的内部结构进行测试。

黑盒测试又称为功能测试,是把测试对象看作一个黑盒子。利用黑盒测试设法进行动态测试时,只需要测试软件产品的功能,而不必测试软件产品的内部结构和处理过程。

2. 测试步骤(p163):单元测试、集成测试、确认测试、系统测试、验收测试、测试阶段的信息流。

3. 设计测试方案(日期、三角形)p171:

4. 调试:软件测试的目的是尽可能多地发现程序中的错误,而测试则是在进行了成功的测试之后才开始的工作,其最终目的是确定错误的原因和位置,并改正错误,因此调试也成为纠错。

chap11 维护。

1. 四种维护行动( p180):①改正性维护:

是指为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的错误,应当进行的诊断和改正错误的过程。②适应性维护:为使软件产品在改变了的环境下仍能使用而进行的维护。

③完善性维护:为改善性能、可维护性或其他软件属性而进行的维护。④预防性维护:

为了降低设备失效或功能退化的概率,按预定的时间间隔或规定的标准进行的维护。

2. 软件可维护决定因素、文档、基本因素(可。。。p184)

决定性因素: 1.系统的大小 2.系统的年龄 3.结构合理性。

7个特性:可理解性、可测试性、可修改性、可靠性、可移植性、可适用性和效率。

软件系统的文档可以分为用户文档和系统文档两类。软件文档应该满足下述要求:

1) 必须描述如何使用这个系统,没有这种描述时即使是最简单的系统也无法使用;

2) 必须描述怎样安装和管理这个系统;

3) 必须描述系统需求和设计;

4) 必须描述系统的实现和测试,以便使系统成为可维护的。

chap12 软件工程管理。

1. cmm模型:能力成熟度模型(capability maturity model)是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。

cmm的核心是把软件开发是为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,并使其更加科学化、标准化,使企业能够更好地实现商业目标。cmm是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。

2. mccall软件质量模型:特性是软件质量的反映,软件属性可用做评价的准则,定量化地度量软件属性可知软件质量的优劣。

11个特性如下:⑴正确性⑵可靠性⑶效率⑷完整性⑸可使用性⑹可维护性⑺可测试性⑻灵活性⑼可移植性⑽复用性⑾互联性。

copyright jistc

软件工程复习

单选填空简答思考题。1 传统的软件瀑布生命模型包括哪六个方面?需求 分析 设计 实现 交付后维护 退役2 传统瀑布生命模型的中交付后维护包括哪三种?改正性维护 适应性维护 完善性维护3 现代维护和传统维护的观点有何不同?1 传统维护的观点是先开发后维护。2 现代维护的观点是无论是在软件安装前还是安装...

软件工程复习

软件工程复习资料。备注 1.老师反复强调我们之前做过的作业要熟练掌握 需求陈述 实验课画的模型 自己画。的数据流图 2 蓝颜色的字都是老师上课补充的,还有很多需要自己去补充,欢迎修正完善。核心问题 在考试做大是要表述清楚详细,关。键词要有 问题定义 专用名词表要解决的问题是什么?达要准确,不能更改 ...

软件工程 复习

1.概念 软件危机是指在计算机软件开发 使用与维护过程中遇到的一系列严重问题。2.为什么会产生软件危机?当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致使软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。3.软件危机的表现 经费预算经常突破...