10软件工程复习

发布 2022-01-11 22:59:28 阅读 1950

一、填空:

1、基于计算机的系统的系统元素包括硬件、软件、人、数据库、文档和过程。

2、可行性研究主要从以下四个方面考察其可行性: 技术可行性、经济可行性、操作可行性、法律可行性。

3、需求分析的任务包括需求获取、需求建模、需求规格说明、需求评审。

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

5、软件工程过程定义了: 方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑。

6、软件工程过程包含四种基本的过程活动:软件规格说明、软件开发、软件确认、软件演进。

7、常用的软件生存周期模型有瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型,快速应用开发( rad )模型。

8、从技术观点来看,软件设计包括数据设计、体系结构设计、接口设计、过程设计。

9、软件设计是一个把软件需求转换为软件表达的过程。从软件工程的角度讲是分为总体设计和详细设计。

10、模块独立性比较强的模块应是高内聚低耦合的模块。

11、一个模块的作用范围应在其控制范围之内,且条件判定所在的模块应与受影响的模块在层次上尽量靠近。

12、变换型的数据流是由输入、变换(或称处理)和输出三部分组成 。

13、在事务流型系统结构图中,事务中心模块按所接受的事务的类型,选择某一事务(活动流)处理模块执行。各事务处理模块并列。

14、在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。对每个模块规定的功能以及算法的设计,给出适当的算法描述:

15、面向对象系统中的对象是数据抽象与过程抽象的综合体。

16、面向对象系统的状态分别保存在各个对象的数据存储中,而不是保存在一些全局变量中。

17、面向对象系统解决问题的控制流包含在各个对象中的操作内。并通过消息传递,控制流从一个对象转移到另一个对象。

18、把具有相同属性(数据结构)和服务(操作)的对象归在一起就形成了类。

19、rup 采用二维的过程结构:

横轴表明过程的生存周期,它反映了过程被激活时的动态情况,用周期、阶段、迭代和里程碑表示。

纵轴表明过程的静态状况,通过过程构件、活动、工作流、制品和工作人员描述过程。

20、在 rup 中共有 9 个核心过程工作流,包括 6 个核心工程工作流和 3 个核心支持工作流。

1) 业务建模工作流:描述业务过程的本质和执**形。

2) 需求工作流:定义系统构想,使用用例模型和补充规格说明定义系统软件需求,管理系统范围和需求变更。

3) 分析和设计工作流:研究实现环境和系统构件的效用,定义软件的组织结构,把需求获取结果转化为实现规格。

4) 实现工作流: 建立**的分层结构,实现类和对象,进行单元测试和系统集成。

5) 测试工作流:根据事先定义的度量和准则检查产品,确认产品是否满足或者超出事先定义并被一致接受的需求。

6) 实施工作流:在实际使用环境中测试软件、包装要交付的软件、发布软件产品、培训最终用户及销售人员。

核心支持工作流有。

1) 项目管理工作流。

2) 配置和变更管理工作流。

3) 环境工作流。

21、在 rup 中共有4 个阶段构成开发周期,周期结束时产生一代新的软件产品。

1) 初始阶段:确定最终产品的构想及其用例,定义项目范围。

2) 细化阶段:计划需完成活动和资源,详细说明产品特性并设计软件体系结构。

3) 构造阶段:构造整个产品,逐步完善软件体系结构和计划,直到产品(完整的构想)已完全准备好交付给用户。

4) 移交阶段:移交产品给用户,包括制造,交付,培训,支持及维护产品。

22、rational统一过程的特点:用例驱动的、以体系结构(架构)为中心的、迭代和增量的过程。

23、面向对象分析模型由三个独立的模型构成:由用例和场景表示的功能模型;用类和对象表示的分析对象模型;由状态图和顺序图表示的动态模型。

24、在分析对象模型中有实体对象、边界对象和控制对象等三种类型。实体对象表示系统将跟踪的持久信息;边界对象表示参与者与系统之间的交互(接口);控制对象负责用例的实现 。

25、在面向对象分析中描述客户需求的过程如下:

1) 标识参与者标识目标系统将支持的不同类型的用户,可以是人、事件或其他系统。

2) 标识场景用场景描述目标系统典型功能的活动细节,并与用户沟通,加深开发人员对应用领域的理解。

3) 标识用例当双方确定了一组场景后,开发人员从该场景抽象出一组用例,描述所有可能的情况。用力表达了系统的范围。

4) 求精用例细化每一个用例。引入带有出错处理或带有异常处理的用例,描述系统的行为,保证需求的描述是完全的。

5) 标识用例之间的关系描述用例之间的依赖关系,提取相同功能,建立用例模型。

6) 标识非功能需求包括系统性能上的约束、文档、使用资源、安全性和质量等需求。

26、面向对象的系统设计的主要活动是:

标识系统目标:标识并区分各种质量属性的优先实现次序。

子系统分解:根据用例和分析模型,将系统分解为一系列子系统。

子系统细化:对各子系统不断分解求精,直到所有的设计目标都能满足为止。

27、coad & yourdon基于mvc模型,将系统大致分为问题领域、人机交互、任务管理、数据管理等 4 个子系统。

28、通常任务管理子系统的任务为:将子系统映射到构件和处理器上、标识并存储持久性数据、提供访问控制、设计全局控制流。

29、定义一个软件的质量,就等价于为该软件定义一系列质量特性。

30、软件质量特性定义成分层模型。最基本的叫做基本质量特性,它可以由一些子质量特性定义和度量。这些子特性在必要时又可由它的一些子特性定义和度量。

31、iso/iec 9126《信息技术软件产品质量》,描述新的软件质量模型,分为 4 个部分:质量模型、内部质量、外部质量、使用质量。

32、外部质量是软件产品在规定条件下使用时,满足规定的和隐含的要求的程度。外部质量是从外部观点看软件产品的全部特性。

33、内部质量是软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体。内部质量是从内部的观点看软件产品的全部特性。

34、在软件需求定义阶段要定义软件的质量要求;在软件产品开发阶段要使得软件产品具有要求的质量;在软件运行和维护阶段要测量软件是否达到了用户的质量要求并维护软件的性能水平。

35、软件质量特性度量有两类:**型和验收型。

36、软件质量保证的实施需要从纵向和横向两个方面展开:要求所有与软件生存期有关的人员都要参加、要求对产品形成的全过程进行质量管理。

37、在软件建立时变更是不可避免的,因为在进行变更前没有仔细分析,或没有进行变更控制,变更加剧了项目中软件人员之间的混乱。协调软件开发使得混乱减到最小的技术叫做配置管理。

38、boehm等人认为软件质量主要应从三个方面来评价,即可使用性、可维护性和可移植性。

39、mccall质量模型将软件质量概念分别建立在11个质量特性上,这11个特性分别面向软件产品的运行、修正和转移。

二、名词解释。

1、名词解释:软件生存期、软件、软件工程、软件危机。

1)软件的生存期:软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。通常,把软件从开始研制(形成概念)到最终软件被废弃不用这整个阶段称为软件的生存期。

2)软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。

程序是按事先设计的功能和性能要求执行的指令序列。

数据是使程序能正常操纵信息的数据结构。

文档是与程序开发,维护和使用有关的**材料。

3)软件工程:将系统化的,规范的,可度量的方法应用于软件的开发 , 运行和维护的过程,即将工程化应用于软件中。

4)软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括来说,软件危机包含两方面问题:

如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品。

2、名词解释:投资**期、资金的现值、数据流图、数据字典。

1)投资**期:就是使累计的经济效益等于最初投资所需的时间。

2)资金的现值:以现在货币的价值为准,将其他不同时间的货币的价值都折算成现时货币的价值,即资金的现值。

3)数据流图是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形方式刻画数据流从输入到输出的移动变换过程。

4)数据字典是关于对数据流图中包含的所有元素的定义的集合。其作用是为系统人员在系统分析、系统设计和系统维护过程中提供关于数据的描述信息。

3、名词解释:自顶向下、过程抽象、数据抽象、内聚性、耦合性。

1)自顶向下、逐步细化:将软件体系结构自顶向下,对过程细节和数据细节从抽象到具体,逐层细化,直到用编程语言的语句能够实现为止。

2)过程抽象:是指在软件设计中将处理过程的实现细节隐藏在数据抽象中,可以直接通过模块接口使用这些处理操作。

3)数据抽象:是指采用抽象数据类型表示数据,实现数据封装,使得使用者可通过接口使用数据而不必关心数据结构的实现。

4)内聚性:内聚是一个模块内部各个元素彼此结合的紧密程度的度量。

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

4、名词解释:消息、继承、多态性、软件体系结构。

1)消息:是一个对象向另一个对象传递的信息。有四类消息:发送对象请求接收对象提供服务、发送对象激活接收对象、发送对象询问接收对象、发送对象仅传送信息给接收对象。

2)继承:是使用已有的类定义做为基础建立新类的定义技术。

3)多态性:指同名的函数或操作可在不同类型的对象中有各自相应的实现。

4)软件体系结构的基本单位是软件构件,软件构件是一个软件体系结构的核心。

5、名词解释:改正性维护、适应性维护、完善性维护、预防性维护。

1)改正性维护。

为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。

2)适应性维护。

在使用过程中,外部环境(新的硬、软件配置)

数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。

为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。

软件工程复习

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

软件工程复习

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

软件工程 复习

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