



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程复习资料第1部分 基本概念可重点通过以下的练习理解并掌握软件工程学中的基本概念! 注意不要仅仅死记原题!例如“模块的独立性可以由_和_两项指标来衡量。”与“_和_是衡量模块的独立性的两项定性指标。”是同一题!题型可能是填空或者选择!1. 产生软件危机的主要原因,一方面与_软件本身的特点有关,另一方面也和_软件开发与维护的方法不正确_有关。2. 软件从_定义_、_开发_、_使用_和维护,直到最终被_废弃_,要经历一个漫长的时期,称为软件的_生命周期_。3. 一个软件产品必须由一个完整的配置组成,软件配置主要包括_程序_、_数据_和_文档_等成分。4. 软件是程序、数据及相关文档的完整集合。其中程序是_能够完成指定功能和性能的可执行的指令序列_; 数据是_使程序能够适当地处理信息的数据结构_;文档是_开发、使用和维护程序所需要的图文资料_。5. 采用工程的概念、原理、技术和方法来_开发和维护软件_,把经过时间考验而证明是正确的_管理技术_和当前能够得到的最好的_技术方案_结合起来,以经济地开发出_高质量_的软件并有效地_维护_它,这就是软件工程。6. 软件工程方法学的三要素是_方法_、_工具_和_过程_。7. 目前使用得最广泛的软件工程方法学是_传统方法学_与_面向对象方法学_。8. 概括地说,软件生命周期由_软件定义_、_软件开发_和_运行维护_3个时期组成。9. 软件过程是为了获得高质量软件所需要完成的_一系列任务的框架_,它规定了完成各项任务的工作步骤。10. 可行性研究的目的就是(用最小的代价在尽可能短的时间内确定问题是否能够解决)。11. 可行性研究的主要内容包括_技术_可行性、_经济_可行性和_操作_可行性3个方面。12. _系统流程_图是概括地描绘物理系统的传统工具;而_数据流_图是系统逻辑功能的图形表示工具。13. 对数据流图(DFD)中包含的所有元素的定义和集合称为_数据字典_。14. 面向对象方法学的出发点和基本原则,是_尽可能模拟人类习惯的思维方式_,使开发软件的方法与过程尽可能_接近人类认识世界解决问题的方法与过程_,也就是使描述问题的_问题空间_与实现解法的_解空间_在结构上尽可能一致。15. 在软件的设计原理中,_抽象_和_求精_是一对互补的概念。16. 衡量模块独立程序的两个定性标准是_内聚_和_偶合_。17. 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连结,并且每个代码块只有一个入口和一个出口,则称这个程序是_结构化_的。18. _软件测试_是为了发现程序中的错误而执行程序的过程。19. 软件可靠性是指_程序在给定时间间隔内,按照规格说明书成功地运行的概率_。20. 软件维护是指软件系统交付使用以后,为了_改正错误或满足新的需要_而修改软件过程。21. 凡采用_对象、类、继承、消息通信_这4个概念开发的软件系统是面向对象的。22. CMM的中文名称为_能力成熟度模型_,它分为_5_ 个等级。23. 软件需求分析是指_需求的获取、分析及定义的过程_。其中软件需求是指_用户对目标软件系统在功能、性能、质量等方面的期望及对软件系统在运行环境资源消耗等方面的约束_。24. 软件过程模型是指_一种使工程的进度达到预期的目的的开发策略_。其中基于文档驱动的软件过程模型是_瀑布_模型。基于用户需求的模型是_快速原型_模型。基于风险控制的模型是_螺旋_模型。基于面向面向对象的软件过程模型是_喷泉_模型。25. 程序是_能够完成指定功能和性能的可执行的指令序列_的描述。26. Jackson方法是一种面向_数据结构_的设计方法。27. 完整的软件测试一般要经过_单元测试_、_集成测试_、_系统测试_ _和_确认测试_等4个阶段。28. 软件需求分析解决“_做什么_”的问题,软件设计过程则解决“_怎么做_”的问题。29. 软件工程方法学是指_技术与管理紧密结合所形成的工程学科_。30. 概括地说,软件生命周期由_软件定义、软件开发、运行维护_三个时期组成。31. CASE是指_计算机辅助软件工程_。32. 在传统的结构化分析法中,软件需求的分析模型由_数据、功能、行为、数据字典_四个模型组成,其中_数据字典_是核心。33. 需求分析阶段完成以后获得的文档为_软件需求规格说明书_,其英文缩写为SRS_。34. 处于软件工程过程中的技术核心地位的阶段是_软件设计_。35. 模块的控制域和作用域原则是指_模块的作用域应该在控制域之内_。36. 某程序的输入量只有一个X,其范围是-1.0,1.0,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是_边界值分析方法_。37. 在白盒法技术测试用例的设计中_语句_覆盖是最弱的覆盖标准,而_条件组合覆盖_是最强的覆盖标准。38. 调试的常用方法包括_蛮干法、回溯法、原因排除法_三种。39. 软件质量特性中,_完整性_表示对未经授权的人使用软件或数据的企图,系统能够控制(禁止)的程度。40. 软件生存周期中时间最长的是_软件维护_阶段。41. 模块化中的信息隐藏原则是指_应该这样设计和确定模块,使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问的_。42. 在两种典型的软件结构中,具有明确传入路径、变换中心和传出路径组成的系统属于_变化型_结构。43. 模块的控制域是指_这个模块本身以及所有直接或间接从属于它的模块的集合_。44. 数据流A由若干个数据项B和一个数据项C组成,其定义式为_A=B+C_。45. 模块化是指_把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求_。46. 软件设计一般分为_总体(或概要)_设计和_详细(或过程)_设计两个阶段。47. 结构化分析中对系统的功能建模的基本工具是_数据流_图。48. 测试用例是指_测试数据和预期的输出结果_。49. 对象是指_客观事物或概念的抽象表述,是一组属性和一组服务(方法)的封装体_。50. 类是一组_具有相同属性和行为(方法)_的对象的集合。51. 一个类中的每个对象都是这个类的一个_实例_。52. 对象间通过_传递消息_实现通信。53. 在面向对象的基本概念中,多态性是指_子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发给子类对象_。54. 调试的目的是_寻找软件错误的原因和改正错误_。55. 基本的测试方法有白盒测试和黑盒测试两种。其中黑盒测试又称_功能(数据驱动)_测试;白盒测试又称_结构(逻辑驱动)_测试。第2部分 问答与论述1.什么是软件危机?它有哪些典型的表现?为什么会出现软件危机?怎样解决软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。(2) 用户对已完成的软件不满意的现象时有发生。(3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。(5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。解决软件危机: 正确地认识计算机软件,即软件是程序、数据即相关文档的完整集合; 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合,共同完成的工程项目; 应该推广使用从实践中总结出来的成功的技术和方法,并不断地探索和研究; 应该开发和使用更好的软件工具。总之,为了解决软件危机,既要有技术措施(方法和工具)又要有必要的组织管理措施。 2.有人说软件就是程序,你认为这种说法正确吗?请从软件的定义来阐述你的观点。不正确,软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。3.简述自己对软件工程的认识(此题没有标准答案,答题时应结合软件工程的概念、作用、现状等方面阐述自己的理解或观点)4.软件生存周期大致可以分成8个阶段,请问是哪8个阶段?各个阶段的主要任务是什么? 1)问题定义:解决“问题是什么?” 2)可行性研究:问题是否有行得通的解决办法? 3)需求分析:回答出“目标系统必须做什么?” 4)总体设计:解决“怎样实现目标系统?” 5)详细设计:回答出“怎样具体地实现这个系统?” 6)编码和单元测试:写出正确的容易理解、容易维护的程序模块。 7)综合测试:包括集成测试、系统测试、验收测试。 8)软件维护:实质上是一次压缩和简化了的软件定义和开发的全过程。(软件生命周期中时间最长的阶段)5.什么是软件的需求分析?为什么说需求分析是软件生存周期中最重要的阶段? 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。唯一不变的是变化本身。,同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。第3部分 应用设计1.按要求完成以下各小题。1)画出输入3条边长判断三角形类型的程序流程图、NS图或者PAD图2)画出与上一步对应的流图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电工与电子技术考试题试卷题库及答案
- 新型能源设计试卷及答案
- 2025年上海出租车租赁合同示范文本
- 三级员工晋升题库复习测试附答案
- 2025年足浴中医试卷及答案
- 2025年猜谜游戏题目及答案
- 教师招聘之《幼儿教师招聘》考试模拟试卷含答案详解【突破训练】
- 2025年锂电池焊接考试试题及答案
- 濮阳场馆照明工程方案(3篇)
- 酒厂管道改造工程方案(3篇)
- 龙门铣床操作规程(3篇)
- 《冠心病》课件(完整版)
- 标志设计(全套课件88P)
- 数字货币投资入门指南
- 2024年“学宪法、讲宪法”应知应会题库
- HG-T 5367.5-2022 轨道交通车辆用涂料 第5部分:防结冰涂料
- 原油加工承揽合同
- QCT268-2023汽车冷冲压加工零件未注公差尺寸的极限偏差
- 【大数据“杀熟”的法律规制探究17000字(论文)】
- 初中九年级英语课件宾语从句 公开课比赛一等奖
- 患者安全和护理质量的关联
评论
0/150
提交评论