软件工程具体复习资料

上传人:公**** 文档编号:557305379 上传时间:2023-10-01 格式:DOC 页数:22 大小:194.50KB
返回 下载 相关 举报
软件工程具体复习资料_第1页
第1页 / 共22页
软件工程具体复习资料_第2页
第2页 / 共22页
软件工程具体复习资料_第3页
第3页 / 共22页
软件工程具体复习资料_第4页
第4页 / 共22页
软件工程具体复习资料_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《软件工程具体复习资料》由会员分享,可在线阅读,更多相关《软件工程具体复习资料(22页珍藏版)》请在金锄头文库上搜索。

1、考试题型:一. 单项选择题(每小题1分,共20分)二. 判断题(正确的内打上“”,错误的打上“X”。每小题1分,共10分)三.填空(每空1分,共20分)四.名词解释(每小题3分,共15分)五.简答题(每小题5分,共10分)六.综合题(共25分)复习要点:l 软件、软件危机、软件工程、软件工程过程、软件工程化和标准化、软件工具和CASE的概念、7条基本原理、三要素与质量的关系。软件:软件是由计算机程序、数据及文档组成的。软件危机:在软件开发过程中出现的了许多问题。软件工程:(1)Feitz Bauter 在NATO上给出软件工程的定义:软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件

2、而确立和使用的健全的工程原理;(2)IEEE给出的定义:软件工程是开发、运行、维护和修复软件的系统方法;(3)计算机科学技术百科全书给出的定义:软件工程是应用计算机科学、数学及其管理科学等原理开发软件的工程。软件工程过程:软件过程是把输入转化为输出的一组彼此相关的资源和活动。软件工程化和标准化:软件工程化就是把软件工程理论应用到软件开发组织中,以改进软件产品开发的时间(T)、质量(Q)、成本(C)、服务(S)。通过在整个软件开发组织中建立有序的、有限步骤的、符合规则的过程,达到提高软件开发质量,缩短软件开发周期等目的;一个软件项目开发需要多层次、不同分工的人员互相配合,开发项目的各个阶段和各个

3、部分之间也有许多联系和衔接问题,如何把这些错综复杂的关系协调好,需要一系列的统一的约束和规定,也就是说需要软件工程标准化。软件工具:软件工具是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。CASE(计算机辅助软件工程):将各种软件工具、开发机器和一个存放开发过程信息的工程数据组合起来而形成的一个软件工程环境。软件工程7条基本原理:(1)按软件生存期分阶段制定计划并认真实施;(2)坚持进行阶段评审;(3)坚持严格的产品控制(4)使用现代程序设计技术(5)明确责任,使得工作结果能够得到清楚的审查(6)人员应少而精(7)不断进行开发过程。软件工程三要素:方法、工具、过程。三要素与质量的

4、关系:软件工程的三要素与软件质量构成一种层次化技术,关注质量是根本出发点;软件过程是整个体系的基础,是各种方法和工具的粘合剂;方法包括管理方法和技术方法,提供如何完成活动的指南和准则;工具使得过程利于方法自动化或半自动化,从而提高效率。l 软件生存期的概念、三个时期、六个阶段以及各时期和阶段的任务。软件生存期:软件生存期是软件产品或软件系统从设计、投入使用到被淘汰的全过程。三个时期:定义、开发、维护。各个时期的任务: 定义时期:包括问题定义,可行性研究和需求分析; 开发时期:包括设计,编码和测试; 维护时期:包括维护阶段。六个阶段:可行性研究与计划需求分析软件设计编码测试维护 各个阶段的任务:

5、1、 可行性研究与计划:确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度安排,并从经济、技术、法律和使用等方面分析带开发软件是否有可行的解决方案,在若干个可行的解决方案中推荐最佳方案。2、 需求分析:确定软件功能、性能、数据、界面等方面的要求,编写软件需求规格说明书,主要解决带开发软件要“做什么”的问题。3、 软件设计:通常分为总体设计和详细设计。总体设计的任务:设计软件系统的体系结构,包括软件系统的组成结构、各组成成分的功能和接口、组成成分间的连接和通信;详细设计的任务:设计各个组成成分的实现细节,包括局部的数据结构和算法等,主要解决待开发软件

6、“怎么做”的问题。4、 编码:用某种程序设计语言,将设计的结果转换为可执行的程序代码。5、 测试:发现并改正软件中的错误或缺陷。6、 维护:在使用运行期间,当发现软件中隐藏的错误,或者需要增加功能或为适应外部运行环境的变化而需要修改软件。l 方法学的概念及三种常用方法的特点。方法学:软件生存周期中使用的一套技术方法的集合。三种常用的方法:(1)生命周期法(又称传统方法或结构化方法)(2)面向对象方法(3)原型法特点:(1)结构化方法:结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据词典为主要工具,建立系统的逻辑模型。是面向过程的方法。扩充后,将建模技

7、术扩展到功能建模(数据流图)、数据建模(以实体-关系图)、行为(动态)建模(控制流图、状态-迁移图)以数据词典为核心,从不同视点建立系统的分析模型。(2)面向对象方法:面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。面向对象=对象 + 类 + 继承 + 消息通信面向对象的主要特征:封闭性、继承性、多态性。(3)原型法:一种分析员和用户密切合作的迭代开发过程。一种开发部分的强调功能系统版本的工程方法。可以进化为最终的系统,一种把需求快速转化为可运行系统版本的方法。把需求快速转化为可运行系统版本,可使得用户或管理者试用后会得到启发,提出更细致的需求

8、或建议。通常使用常用的第四代或面向对象语言快速开发,强调界面,简单地构建输出、对话框、主要功能、整个子系统甚至整个系统。l 项目和项目管理概念,软件项目管理,配置管理的工作内容,了解估算方法和进度计划的图形表示法。项目:是指在一定的资源约束下完成既定目标的一次性任务。项目管理:是指通过项目经理和项目开发组织机构运用系统理论和方法对项目及资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法体系。软件项目管理的工作内容:(1)制定计划(2)建立组织(3)配备人员(4)协调或追踪与指导(5)控制或检验(6)项目总结软件配置管理任务:1、配置标识2、版本控制3、变更控制4、配置状态报告5、

9、配置审计估算方法:(1)软件规模估算:A、代码行技术B、功能点技术:FP=CT*(0.65+0.01F)【其中:FP表示功能点,CT表示信息量,F表示复杂度】(2)工作量估计: A、CoCoMo模型(构造性成本模型)包括基本CoCoMo模型、中间CoCoMo模型、详细CoCoMo模型。B、Putnam模型C、自动估算工具项目进度计划的图形表示法 甘特图:项目进度甘特图是帮助项目经理对项目进度进行总体规划的工具。如项目总开发时间为50周。该项目可划分为六个大的活动,与其对应的甘特图如下:l 各种文档的分类及各自的作用,及在软件生命周期中的先后关系。文档的分类:1、开发文档(1)需求分析说明书:对

10、目标软件的功能、性能、用户界面及运行环境等做出详细的说明(2)数据要求说明书:给出数据逻辑描述和数据采集的各项要求,为生成和维护系统的数据文件做好准备。(3)概要设计说明书:说明系统的功能分配、模块划分、程序的总体结构、输入输出及接口设计、运行设计、数据结构设计、出错设计等,为详细设计奠定基础。(4)详细设计说明书:着重描述每一个模块是如何实现的,包括实现算法、逻辑流程等。(5)可行性研究报告:说明软件项目的实现在技术上、经济上和社会因素的可行性;评述为合理地达到开发目标可供选择的各种可能的实现方案;说明并论证所选实施方案的理由。2、管理文档(1)项目开发计划:为软件项目实施方案制定出的具体计

11、划。包括各部分工作的负责人员、开发的进度、开发的经费的概算、所需的硬件和软件资源等,项目开发计划应提供给管理部门,并作为开发阶段评审的基础。(2)测试计划:针对组装测试和确认测试,需要为组织测试制定计划。计划应包括测试的内容、进度的安排、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。(3)测试分析报告:测试工作完成后,应提交测试计划执行情况的说明。对测试结果加以分析,并提出测试的结论性意见。(4)开发进度月报:报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。(5)项目开发总结:软件项目开发完成之后,应当与项目实施计划对照,总结实际执行的情

12、况,还需对开发工作做出总结和教训。3、用户文档(1)用户手册:详细描述软件的功能、性能和用户界面,使用户了解如何使用该软件。(2)操作手册:为操作人员提供软件各种运行情况的有关知识,特别是操作方法细节。(3)维护修改建议:软件产品投入运行之后,可能有修正、更改等问题,应该对存在的问题、修改的考虑以及修改的影响估计等做详细的描述,写成维护修改建议,提交审批。各文档在软件生命周期的先后关系:可行性研究报告项目开发计划需求规格说明书数据要求说明书测试计划概要设计说明书详细设计说明书用户手册操作手册测试分析报告项目进度月报项目开发总结维护修改建议l 各种图形的用途。l 软件质量六大特性及其含义。软件质

13、量六大特性:(1)功能性:功能性是与一组功能及其指定的性质有关的一组属性。(2)可靠性:可靠性是与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性。(3)易使用行:易使用性是与一组规定或潜在的用户为使用软件所需做出的努力和对这样的使用所作出评价有关的一组属性。(4)效率:效率是与在规定的条件下,软件性能水平与所使用资源量之间关系有关的一组属性。(5)可维护性:可维护性是与在进行指定的修改所需的努力有关的一组属性。(6)可移植性:可移植性是与软件可成某一环境移到另一环境的能力有关的一组属性。l 质量保证的概念。软件能力成熟度(CMM)五个等级,ISO9000体系及ISO9000-

14、3的指导(主导)思想。CMM和ISO9000的特点。软件质量保证:是为了提供足够的信任证据,证明组织有关的各类实体有能力满足质量要求所进行的有计划、有组织的活动。软件能力成熟度的五个等级:(1)初始级(2)可重复级(3)可定义级(4)可管理级(5)可优化级ISO 9000系列标准的主导思想:(1)强调质量并非在产品检验中得到,而是形成于生产的全过程(2)ISO 9000要求“必须使影响产品质量的全部因素在生产全过程中始终处于受控状态”(3)ISO 9000标准要求证实:“企业具有持续提供符合要求产品的能力”(4)ISO 9000 标准强调“质量管理必须坚持进行质量改进”l 系统和计算机系统等概

15、念、需求获取方法及系统分析员的工作(职责)等。系统:系统是一个相互来联系的有机整体。计算机系统:是现实世界中某个系统在计算机中的映射。需求获取方法:(1)访谈和倾听(2)问卷调查(3)收集和研究现有业务文档(4)观察工作流程系统分析员的职责:(1)研究使用单位的存在问题和需要,理解使用单位的目标、结构、和业务过程(2)确定利用信息技术的优势改进使用单位的最佳方法(3)帮助系统用户和管理者定义新的或增强的系统需求(4)评估系统实现的可选择方案(5)对自我开发的项目,确定要依靠的分析和开发人员的团队。l 可行性分析概念、分析对象、目的、四个方面、成本、效益分析各种计算方法。可行性分析的概念:主要从经济、技术、法律和操作等方面分析所给出的解决方案是否可行。分析对象:整个计算机系统目地:评价要开发的整个计算机系统是否可行。四个方面:技术可行性法律可行性用户操作可行性经济可行性成本/效益分析的各种计算方法货币的时间价值 F = P ( 1 + i )n(其中F为n年之后的货币值,i为年利率,P为现在存入的货币值)投资回收期纯收入投资回

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号