软件工程复习题.doc_第1页
软件工程复习题.doc_第2页
软件工程复习题.doc_第3页
软件工程复习题.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章1 软件危机是指在计算机软件开发和维护时所遇到的一系列问题。2 软件文档是以人们可读的形式出现的技术数据和信息。3 软件工程是指导计算机软件开发和维护的工程学科;软件工程采用工程的概念、原理、技术和方法来开 发与维护软件;软件工程的目标是实现软件的优质高产;软件工程的目的是在规定的时间、规定开发费用内,开发满足用户需求的、搞质量的软件产品。4 软件工程方法学有三个要素:方法、工具、过程。5 软件工程管理的目的是按预定的时间和费用,成功地生产软件产品。6 软件工程管理的内容包括软件费用管理、人员组织、工程计划管理、软件配置管理。7 软件工程的七条基本原理用分阶段的生存周期计划进行严格的管理坚持进行阶段评审实行严格的产品控制采用现在程序设计技术软件工程结果应能清楚的审查开发小组的人员应少而精承认不断改进软件工程实践的必要性8 软件生命周期一般由软件计划、软件开发和软件运行维护三个时期组成。软件计划时期分为问题定义、可行性研究和需求分析三个阶段。软件开发走起可分为软件设计、软件实现、和综合测试三个阶段。总体来说,软件开发模型包括传统的瀑布模型和后来兴起的快速原型模块两类。具体可分为瀑布模型、 快速原型模型、增量模型、喷泉模型、螺旋模型和统一模型。9 通常结构化方法可使用瀑布模型、增量模型和螺旋模型进行开发;面向对象方法可采用快速原型、增量模型、喷泉模型和统一过程进行开发。第二章1 明确系统的目标、规模、基本要求,并对现有系统进行分析,明确开发新系统的必要性。2 要从技术方面、经济方面和社会因素方面写出可行性研究报告。3 需求分析阶段要确定目标系统的具体要求:1确定系统的运行环境要求;2系统的性能要求;3系统功能4系统功能4 数据模型用实体关系图来描述实体之间的关系。功能模型用数据流图来描述其作用如下:1描述数据在系统中移动时如何变换;2描述变换数据流的功能和子功能,行为模块可用转台转换图来描绘系统的各种行为模式和不同状态见的转换。5 画数据流图的步骤:1画顶层数据流图 2画隔层的数据流图 3画总的数据流图 6 需求分析的任务是:要回答软件必须做什么;可概括为理解、分析和表达系统必须做什么;要求编写需求规格说明书,进行需求分析可使用多种工具,但是PAD图不适用。需求分析阶段开发人员要从用户那里解决的最重要的问题是需要软件做什么。需求规格说明书的内容不应包括对算法的详细过程的描述。7 软件设计工作分为:概要设计、详细设计两个阶段。概要设计分成总体设计,概要设计过程通常有确定设计反感和结构设计两个阶段,与此同事要进行数据库设计和指定测试计划。详细设计的任务是软件过程设计、系统接口设计和数据设计。8 软件结构设计有一下基本原理:软件的模块化、模块独立性、抽象和逐步求精、信息掩蔽和局部化等。9 模块化是指系统分割成能完成独立功能的模块,模块独立性要求模块之间低耦合和模块内部高内聚。10 衡量模块独立程度的两个定性度量标准是:耦合和内聚,软件结构中模块之间互相依赖的程度用耦合来度量。一个模块内各个元素彼此结合的紧密程度用内聚来度量。11 在设计模块时尽量做到把模块之间的连接限制得最少,确保模块环境的任何变化,都不引起模块内部发生改变。12 对变换型数据流图要划分出:书库输入、数据输出和变换中心三个部分。在DFD图上用虚线标明分界线,在DFD图中确定事务中心、接受数据、全部处理路径三个部分。13 在众多设计方法当中,结构化设计(SD)方法是最广泛应用的一种,这种方法可以同分析阶段的结构化分析SA方法及编码阶段的结构化程序设计SP方法前后衔接,SD方法是建立良好程序结构方法,它提出衡量模块结构质量的标准是模块间联系与模块内部联系的紧密程度,SD方法的最终目标是模块间联系松散、模块内联系紧密用于表示模块间调用关系的图叫SC,划分模块的信息隐蔽原则方法称为Turing方法。14 模块内聚性是衡量模块内各成分之间彼此结合的紧密程度。.若一组语句在程序多处出现,为节省内存而把这些放在一个模块中,该模块的内聚性称为偶然类聚。而将几个逻辑上相似的成分放在同一模块中,该模块的内聚性是逻辑内聚。如果模块中所有成分引用共同的数据,该模块的内聚性是通信内聚。而模块内的某个成分的输出是另一个成分的输入,该模块内聚性是顺序类聚。当模块中所有成分结合起来完成一项任务,该模块的内聚是为功能类聚。15 结构化分析方法SA、结构化设计方法SD、Jackson方法是软件开发过程中应用的方法。人们使用SAFANGFA 可以得到分层数据流图和数据字典,这方法的基本手段是分解与抽象,使用SD方法可以得到模块结构图及模块功能说明书,并可以实现从数据流图导出初始结构图,而使用Jackson方法可以实现从数据结构导出程序结构第三章1 结构化程序设计顺序、选择和循环三种结构的有限次组合或嵌套,描述模块功能的实现算法。这三种基本结构共同特点是每个代码只有一个入口和一个出口。2 程序设计主要应考虑的是程序的正确性、可理解性、可测试性和可维护性。3 软件测试的目标:测试是为了发现程序中的错误而直行程序的过程;好的测试方案使测试很可能发现尚未发现的错误;成功的测试是发现尚未发现的错误的测试。4 黑盒法又称功能测试,其测试用例完全是根据程序的功能说明来设计的;白盒法又称结构测试,其测试用例是根据程序内部的逻辑结构和执行路径来设计的。5 模块测试也成单元测试,其目的是集中检验软件设计的最小单元模块,检查每个模块是否能独立、正确的运行。6 有两种不同的渐增式集成策略:自顶向下集成和自底向上集成7 确认测试的目的是验证所有的软件需求是否均被正确实现8 测试方案包括:要测试的功能、准备输入的数据及其对应的预期输出结果。9 程序的三种基本结构是:顺序、条件、循环,它们的共同点是只有一个入口和一个出口10 结构化程序设计的一种基本方法是逐步求精法;软件测试的目的是发现程序中的错误;软件排错的目的是找出错误所在改正之。11 软件测试的目的是发现软件的错误,为提高测试的效率,应该选择发现错误可能性大的数据作为测试数据。使用黑盒法测试时,测试用例应根据程序的功能。使用白盒法测试时,测试数据应该根据需求规格说明书和指定的覆盖标准。一般来说与设计测试数据无关的文档是项目开发计划,软件集成测试工作最好由不属该软件开发组的软件设计人员承担,以提高高集成测试的效果。12 软件测试中常用的静态分析方法是算法分析和操作性分析。操作性分析是用来检查模块或者子程序间的调用是否正确。分析方法(白盒法)中常用的方法是路径测试方法。飞方法分析(黑合法)中常用的方法是等价类方法和综合测试方法。因果图方法根据输入的依赖关系设计测试用例.第五章1 软件维护的4个种类:改正性维护、适应性维护、完善性维护、预防性维护2 软件可维护性是指软件功能被理解,改正,适应和增强的难度程度,可维护性是维护人员对软件进行维护的难易程度。3 可修改性是指程序容易被修改的程度4 可移植性就是指软件不加改动地从一种运行环境转移到另一种运行环境下尽心的能力。子程序在不同计算机环境下能够有效地运行的程度,可移植性好的软件容易维护。5 如何提高软件的可维护性:明确软件的质量目标、利用现金的软件技术和工具、选择便于维护的程序设计语言、采取有效的质量保证措施、完善程序的文档6 (判断题型)在进行需求分析时就应该同事考虑软件可维护性问题在完成测试作业之后,为缩短源程序长度,应删去源程序中的注解尽可能在软件生产过程中保证各阶段文件的正确性编码时应尽可能使用全局量选择时间效率和空间效率尽可能高的算法尽可能利用硬件的特点重视程序的结构设计,使程序具有较好的层次结构在进行概要设计时应加强模块间的联系提高程序的易读性,尽可能使用高级语言编写程序为了加快维护作业的近程,应尽可能增加维护人员的数量7 维护阶段是软件生命周期中,持续时间最长的阶段,华份精力和费用最多的阶段软件维护的副作用有三种:编码、数据、文档软件维护的工作流程为用户提出维护申请,维护组织审查申请报告并安排维护工作,进行维护并做详细的维护记录,复审在软件交付使用后,由于软件开发过程产生的错误没有完全彻底在测试阶段发现,必然有一部分隐含错误带到维护阶段软件的可维护性是指软件功能被理解、改正、适应增强的难易程度.第六章1 在应用领域中有意义的与所要解决的问题有关的任何事物都可以作为对象2 类是对具有相同数据和相同操作的一组相似对象的定义3 UML图的模型是用图来表示:用例图:用于表示系统的功能,并支出各功能的操作者静态图:包括类图对象图及包,表示系统的静态结构行为图:包括状态图和活动图,用于描述系统的动态行为和对象之间的交互关系交互图:包括顺序图和合作图,用于描述系统和对象之间的动态合作关系实现图:包括构件图和配置图,用于描述系统的物理实现4 用例图从用户的角度描述系统功能,并支出各功能的操作者.5 UML中,用例可以用用例来描述。协作图描述了协作的对象之间的交互和连接,协作图画成对象图的形式,顺序图这种表示对象间消息传递的时间顺序,活动图是状态图的特殊情况,在活动图中,用例和对象的行为中的各个活动之间通常具有时间顺序。活动图表达这种顺序,展示出对象直行某种行为时或者在业务过程中所要经理的各个活动和判定点。第七章1 面向对象分析阶段的步骤发现对象,定义对象和类的属性与服务分析确定各类对象之间的关系,建立实例连接划分主题,定义系统结构编写脚本并画顺序图,分析对象在系统中的不同状态及状态之间的转换,建立动态模型分析系统中数据之间的依赖关系,以及数据处理功能,建立功能模块。2 软件重用是指软件开发过程中不做修改或稍加修改就可以重复使用相同或相似软件元素的过程。3 面向对象分析阶段建立的三个模型中,核心的模型是对象模型,表示对象相互行为的模型是动态模型。功能模型中所有的数据流图往往形成一个层次结构。描述类中某个对象的行为,反应状态与时间的关系是状态转换图。在多重继承的类结构中,类的层次结构是网状结构结构。4 面向对象设计中,对象是数据及在其上操作的封装体,对象的三要素是名字、属性和方法C+、Smalltalk均属于面向对象的程序设计语言。面向对象程序设计语言必须具备继承性、可重用性、装型、多态性。5 面向对象的实现主要包括两项工作把面向对象设计用某种程序设计语言书写为面向对象程序、测试并调试面向对象的程序。面向对象程序设计语言不同于其他语言的最主要特点是继承性。在面向对象方法中信息隐藏是通过对象的继承性来实现的。面向对象的系统设计中,系统结构通过它的类与对象的关系确定。第八章1 计算机辅助软件工程是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。2 软件工具是指为支持计算机软件的开发、维护、移植、或管理而研制的程序系统.3 软件重用是降低软件开发和维护成本,提高软件生产率,提高软件的质量的合理而有效的途径第九章1 软件工程管理的内容包括对软件开发成本、控制、开发人员、组织机构、用户、软件开发文档、软件质量等方面的管理。2 软件配置是软件产品在软件开发或运行过程中生产的全部信息。3 软件配置管理是在软件的整个生命周期内管理变更的一组活动软件质量是指软件满足明确规定或隐含定义的需求的程度。4 软件质量特性由下面六个方面来衡量功能性可靠性易用性效率可维护性可移植性5 软件管理技术有关的问题,包括成本估计技术、人员组织、进度计划管理、软件配置管理、软件质量保证及软件工程文件规范。6 软件开发风险管理的主要目标是预防奉献、免风险。7 软件从计算机系统或环境专一到另一个计算机系统或环境的容易程度可移植性软件在需要他投入使时能实现其指定功能的概率可靠性软件使不同的系统约束条件和用户需求得到满足的容易程度兼容性在规定条件下和规定时间内,实现所指定的功能概率用性尽管有不合法的输入,软件仍能继续正常工作的能力健壮性2.拟开发房产经营管理系统,要求有查询售房租房统计等功能,系统中存放经营公司现有房产的地点楼房名称楼房总层次房间的层次朝向规格(一室一厅或二室一厅或者三室一厅)面积等数据.房间可出售或租用,分别定出每平方米的单价和房间的总价.客户可随时查询未出售或者为出租的房间的上述基本情况,房产经营商可随时查询已出售或出租的房产的资金回收情况及未出售或者未出租的房产的资金占用情况,画出该系统的数据流图数据字典IPO图. 答:房产经营管理系统(1)数据字典规格=三房一厅 | 两房一厅 | 一房一厅房间=房产编号+房产

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论