版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 软件和软件工程概念1. 软件是计算机系统中和硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。2.在结构化程序设计时代,程序最小的单位是函数及子程序,程序和数据是分别的。程序的最小单位是类。3.软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。4.软件的分类:系统软件;应用软件;支撑软件;可复用软件。5.什么是软件工程? (课后题)软件工程是指导计算机软件开发和维护的工程学科。采纳工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验
2、而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。6可以用功能性、牢靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。功能性是指软件所实现的功能达到它的设计规范和满足用户需求的程度。可移植性是指软件从某一环境转移到另一环境时所作努力得程度。7.软件生存期由软件定义、软件开发和运行维护三个时期组成。开发时期通常由概要设计、具体设计、编码和测试四个阶段组成。开发过程中的典型文档包括:项目安排、软件测试安排、软件设计说明书、用户手册。8.需求分析的基本任务? (1)建立分析模型,了解系统的各种需求细微环节。(2)基于分析结果,编写出软件
3、需求规格说明或系统功能规格说明,确认测试安排和初步的系统用户手册,并提交管理机构进行分析评审。2 软件工程方法和工具1. 面对对象方法的动身点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类相识问题和解决问题的方法和过程,从而使描述问题的问题空间和其解空间在结构上尽可能一样。2. 形式化方法的主要特点是: (课后题)(1) 软件需求规格说明被细化为用数学记号表达的具体的形式化规格说明;(2) 设计、实现和单元测试等开发过程由一个变换开发过程代替。通过一系列变换将形式的规格说明细化成为程序。 3. 面对对象 = 对象 + 类 + 继承 + 消息通信。4. 新类从现有
4、的类中派生的过程,叫做类继承。5. 多态是指一个程序中同名的不同方法共存的状况。6. UML的特点:统一标准、面对对象、可视化、独立于过程、简单驾驭运用、和编程语言的关系。 3 软件需求获得和结构化分析方法1. 结构化分析方法的核心是数据字典,包括在目标系统中运用和生产的全部数据对象。2. 顶层数据流图或称环境图的作用是什么?(*)顶层数据流图(或称环境图)仅包括一个数据处理过程,也就是要开发的目标系统。其作用如下:(1) 确定系统在其环境中的位置,和系统有联系的外部实体(包括硬件、软件、组织机构及人)有哪些。(2) 通过确定系统的输入和输出和外部实体的关系确定系统的边界,也就是要确定哪些功能
5、或处理属于系统范围之内,哪些属于系统范围之外,须要由其他系统处理或人工处理。3. 在对数据流图进行分解时须要留意哪些问题?(*)在对数据流图进行分解时,须要留意以下两个问题:(1)当对数据流图分层细化时必需保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入/输出数据流必需相同。(2) 留意分层细化时对编号的处理方法。4.在需求评审的实施过程中可能会遇到得风险包括: (1)需求评审的参和者选取不当。(2)评审规模过大。(3)评审组规模过大。(4)评审时间过长。3.2顶层数据流图或称环境图的作用是什么?顶层数据流图(或称环境图)仅包括一个数据处理过程,也就是要开发的目标
6、系统。其作用如下:(1) 确定系统在其环境中的位置,和系统有联系的外部实体(包括硬件、软件、组织机构及人)有哪些。(2) 通过确定系统的输入和输出和外部实体的关系确定系统的边界,也就是要确定哪些功能或处理属于系统范围之内,哪些属于系统范围之外,须要由其他系统处理或人工处理。3.3 在对数据流图进行分解时须要留意哪些问题?在对数据流图进行分解时,须要留意以下两个问题:(1) 当对数据流图分层细化时必需保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入/输出数据流必需相同。(2) 留意分层细化时对编号的处理方法。4 结构化设计方法1.软件设计的五项原则:分而治之、模块独
7、立性、提高抽象层次、复用性设计、敏捷性设。2.耦合是模块之间得相对独立性(相互连接的紧密程度)的度量,内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。耦合程度最高的是内容耦合。3.结构化设计方法得实施要点是:(1)首先探讨、分析和审查数据流图。(2)然后依据数据流图确定问题的类型。(3)由数据流图推导出系统的初始结构图。(4)利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。(5)依据分析模型中的实体-关系图和数据字典进行数据设计。(6)在上面设计的基础上,依据分析模型中的加工规格说明、状态转换图及限制规格说明进行过程设计。(7)制定测试安排。4.模块
8、结构最一般的形式是树状结构和网状结构。5.模块结构的层次数称为结构图的深度。6.扇出表示一个模块干脆调用(或限制)的下属模块的数目。7. 基于数据流方法的设计过程包括: (1)复查并精化数据流图。(2)确定数据流图中数据流的类型。(3)导出初始的软件结构图。(4)逐级分解。(5)精化软件结构。(6)导出接口描述和全局数据结构。8.变换分析方法由:重画数据流图;区分有效(逻辑)输入、有效(逻辑)输出、和中心变换部分;进行一级分解,设计上层模块;进行二级模块,设计输入、输出和中心变换部分的中、下层模块四个部分组成。9.模块的限制范围包括它本身及其全部的从属模块。10.接口设计的依据是数据流图中的自
9、动化系统边界。5 编码1.程序的效率是指程序的执行速度及程序所占用内存的存储空间。2. 一般状况下,程序的效率和清楚性相比哪一个更重要?在计算机发展的早期,由于CPU效率低,内存小,程序在运行时简单出现运行时间太长或内存溢出问题。因此,人们在编写程序时,很留意程序的时间效率和空间效率,而不太留意程序的清楚性。随着计算机硬件性能的飞速发展以及软件规模和困难性的急剧增加,这种状况已经发生了根本的转变,程序的清楚性越来越受到重视,程序的清楚性不好会给测试、维护修改带来困难,这对于规模浩大和困难的软件尤其明显。对于效率没有特别严格要求的系统来说,要将程序的清楚性放在第一位,在不影响清楚性的状况下,去改
10、进效率。6 软件测试方法1.软件测试是为了发觉错误而执行程序的过程。2.在软件测试的对象中,确认包括需求规格的确认和程序的确认。3.逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术,属于白盒测试。4.独立路径是指包括一组以前没有处理的语句或条件的一条路径。5.通常软件测试是按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。6. 调试也称排错或纠错,是紧跟在测试之后要做的工作。6.5 假设汽车的车牌号可由车主子在规定范围内自选,若其规定为:(1) 车牌上应有7个字符; (2) 为首的字符限定为汉字“京”;(3) 第2个字符可任选一字母(AZ);(4) 第37个字符可选随意数字。请
11、为相关的处理程序采纳等价类划分方法设计等价类表及相应的测试用例。等价类表输入数据有效等价类无效等价类字符个数 7个(1)06个(2),>7个(3)首字符“京”(4)非“京”(5)第2个字符字母(6)非字母(7)第37个字符数字(8)非数字(9)测试用例如下:1)京H87774 (1),(4),(6),(8)2)京H8777 (2)3)京H877745 (3) 4)冀H87774 (5)5)京987774 (7)6)京BA7774 (9) 7 统一建模语言UML概述1.在面对对象的需求分析时,模型的静态结构也称为静态模型,在UML中表示为类图。2. UML中有哪些关系?说明类图中聚合和关联
12、的相同点和不同点。在UML中,常见的关系有泛化、聚合、关联、依靠和实现。在类图中,关联是一种结构关系,它描述了两个或多个类的实例之间的连接关系。聚合描述了整体和部分之间的结构关系。依据关联关系的定义,聚合属于一种特别的关联关系,只不过这种关联关系具有明确的整体-部分含义而已。从耦合度的角度看,聚合关系要强于关联关系。3. 探讨依次图和协作图的关系,何时用依次图建模优于协作图建模,以及相反的状况。依次图和协作图都能描述对象间的交互关系,但两者的侧重点不同,依次图着重表现交互的时间依次,协作图则着重表现交互对象的静态链接关系。但即使他们各有侧重,但从语义上来说是等价的,可从一种图自动转换为另一种图
13、。一般状况下,当须要强调消息传递的时间依次时,采纳依次图;当表示涉及许多对象的模型时,协作图比依次图更形象。依次图在分析中更常用,而协作图则在设计中更常用。8 面对对象分析1. 接口设计的依据是数据流图中的自动化系统边界。2.比较面对对象的分析方法和面对数据流的分析方法,阐述它们各自的特点。面对对象的分析方法运用用例模型来表示用户的功能需求,用例模型相当于功能模型,在对用例模型进行细化的过程中,也伴随着对功能的分解。但面对对象的分析方法并不是以功能分解为核心,在获得并分析用户的功能需求之后,重点以类和对象为核心,建立对象模型,交互模型也是围绕对象模型进行的。面对数据流的分析方法是从建立顶层数据
14、流图(环境图)起先,之后逐层对加工进行分解。面对数据流的分析方法是以功能分解为核心的。8.3 用例建模的主要步骤是什么? 用例建模的主要步骤如下:(1) 确定业务参和者可以是和系统有交互的外部硬件、软件、组织、人等。(2) 确定业务需求用例参和者须要系统供应的完整功能。(3) 创建用例图标识参和者和用例之间、用例和用例之间的关系。8.5 用例和用例之间的关系主要有哪两种?其区分是什么? 用例之间的关系主要有包含(也称运用)和扩展。包含表示一个用例所执行的功能中总是包括被包含用例的功能;扩展是指一个用例的执行可能须要由其他用例的功能来扩展,扩展联系可用于对期望或可选的行为建模,但其主要用途是使基
15、本用例的功能不依靠于扩展用例。9 软件体系结构和设计模式1.软件设计模式是从软件设计过程中总结出来的,针对特定问题的解决方案。2. 风格是带有一种倾向性的模式。3.有两种领域相关的体系结构模型:类属模型和参考模型。4.一个交互式应用系统有模型、视图和限制器3个部件组成。10 面对对象设计1.面对对象设计准则有:模块化、抽象、信息隐藏、弱耦合、强耦合。2.在面对对象软件中,常见的软件模块有类、接口、包、构件。3. 从软件复用角度,构件是指在软件开发过程中可以重复运用得软件元素。10.1 软件模块之间的依靠性可以从哪些角度和抽象层次进行分析?在面对对象软件中,常见的软件模块有类、接口、包、构件。因
16、此,分析软件模块之间的依靠性就可以从类、接口、包和构件的角度和层次进行分析。11 软件维护到结束1.软件运行的外部环境可能发生改变,为了使软件适应这种改变而修改软件的过程叫做适应性维护。2.软件维护活动花费的工作占整个生存期工作量的70%以上。3.软件维护的策略:改正性维护、适应性维护和完善性维护。4.所谓副作用是指因修改软件而造成的错误或其他不希望发生的状况,有修改代码的副作用、修改数据的副作用和文档的副作用三种。5.实施风险管理安排从根本上将就是将风险化解。 P3146. 文档的分类:开发文档、管理文档、用户文档。 P349 其次次复习要点1. 软件是计算机系统中和硬件相互依存的另一部分,
17、它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。2.在结构化程序设计时代,程序最小的单位是函数及子程序,程序和数据是分别的。程序的最小单位是类。 P23.可移植性是指软件从某一环境转移到另一环境时所作努力的程度。 P64.软件的分类:系统软件;应用软件;支撑软件;可复用软件。 P45.什么是软件危机?它有哪些典型表现?软件危机出现的缘由是什么?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严峻问题典型表现:(1)对软件开发成本和进度的估计常常很不精确。(2)用户对“已完成的”软件系统不满足的现象常常发生。(
18、3)软件产品的质量往往靠不住。(4)软件常常是不行维护的。(5)软件通常没有适当的文档资料。(6)软件成本在计算机系统总成本中所占的比例逐年上升。(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用快速普及深化的趋势产生软件危机的缘由: 除了软件本身的特点,其缘由主要有以下几个方面:(1) 缺乏软件开发的阅历和有关软件开发数据的积累,使得开发工作安排很难制定。(2) 软件人员和用户的沟通存在障碍,使得获得的需求不充分或存在错误。(3) 软件开发过程不规范。(4) 随着软件规模的增大,其困难性往往会呈指数级上升。(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能
19、完全保证。6.风格是带有一种倾向性的模式。 P2037.耦合是模块之间得相对独立性(相互连接的紧密程度)的度量,内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。耦合程度最高的是内容耦合。 P678.深度:模块结构的层次数称为结构图的深度。 P739.接口设计的依据是数据流图中的自动化系统边界。 P8910.用例之间的关系有:包含、运用及扩展。 P18611.在面对对象的需求分析时,模块的静态结构也称为静态模型。 P17112.聚合也称聚集,是一种特别的关联。它描述了整体和部分之间的结构关系。 P16713.依次图描述对象之间的动态交互关系,着重表现对象间消息传递的时间依次。
20、 P17314.从软件复用角度,构件是指在软件开发过程中可以重复运用得软件元素。 P23915.调试也称排错或纠错,是紧跟在测试之后要做的工作。 P15916.逻辑覆盖是以程序内部的逻辑结构为基础得设计测试用例得技术,属于白盒测试。 P13317.软件维护活动花费的工作占整个生存期工作量的70%以上。 P25718.软件过程改进循环步骤:评估-安排-改进-监控。 P29119.文档的分类:开发文档、管理文档、用户文档。 P35020.在需求评审的实施过程中可能会遇到得风险包括: P63(1)需求评审的参和者选取不当。(2)评审规模过大。(3)评审组规模过大。(4)评审时间过长。21.软件设计的五项原则:分而治之、模块独立性、提高抽象层次、复用性设计、敏捷性设计P6722.依据维护工作的性质,维护活动可以分为:改正性维护、适应性维护、完善性维护、预防性维护四种类型。 P25623.瀑布模型的优缺点是什么? P9优点:可强迫开发人员采纳规范化的方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论