软件工程导论 期末复习题.doc

软件工程导论 期末复习题.doc

ID:56998251

大小:23.50 KB

页数:6页

时间:2020-07-30

软件工程导论 期末复习题.doc_第1页
软件工程导论 期末复习题.doc_第2页
软件工程导论 期末复习题.doc_第3页
软件工程导论 期末复习题.doc_第4页
软件工程导论 期末复习题.doc_第5页
资源描述:

《软件工程导论 期末复习题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章1、什么是软件工程?软件工程方法学包括哪三要素?答:概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。软件工程方法学三要素:方法、工具、过程。目前使用得最广泛的软件工程方法学:传统方法学、面向对象方法学。2、传统方法学与面向对象方法学定义传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软

2、件工具或软件工程环境来支持结构化技术的运用。这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。面向对象方法学:面向对象方法把数据和行为看成是同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。面向对象方法学具有下述4个要点:(1)把对象作为融合了数据及在数据上的操作行为的软件构件。(2)把所有对象都划分成类。(3)按照父类(或称为基类)与子类(派生类)的关系,把若干个相关类组成一个层次结构的系统。(4)对象彼此间只能通过发送消息互相联系。3、软件生命周期有哪些阶段?软件生命周期由软件定义、软件开发和软件维护3个

3、时期组成,每个时期又进一步划分为若干个阶段。软件定义时期分3阶段:问题定义、可行性研究、需求分析。开发时期分4个阶段:总体设计、详细设计、编码和单元测试、综合测试。其中前两个阶段称为系统设计,后两个称为系统实现。维护时期的主要任务是使软件持久地满足用户的需要。第二章1、为什么要进行可行性研究,要从哪几个方面研究?可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性研究至少应从3个方面研究:技术可行性、经济可行性、操作可行性。必要时还应从法律、社会效益等更广泛的方面研究每种解法的可行性。2、可行性研究的步骤(8个)(1)复查系统规模和目标(2

4、)研究目前正在使用的系统(3)导出新系统的高层逻辑模型(4)进一步定义问题(5)导出和评价供选择的解法(6)推荐行动方针(7)草拟开发计划(8)书写文档提交审查第三章1、什么是需求分析?需求分析的任务是什么?需求分析是软件定义时期的最后一个阶段,它的基本任务是准确的回答“系统必须做什么”这个问题。需求分析的任务:(1)确定对系统的综合要求(2)分析系统的数据要求(3)导出系统的逻辑模型(4)修正系统开发计划2、与用户沟通获取需求的方法是什么?(1)访谈(2)面向数据流自顶向下求精(3)简易的应用规格说明技术(4)快速建立软件原型3、情景分析技术的用处体现在哪两方面?(

5、1)它能在某种程度上演示目标系统的行为,从而便于用户理解,而且还可能进一步揭示出一些分析员目前还不知道的需求。(2)由于情景分析较易为用户所理解,使用这种技术能保证用户在需求分析过程中始终扮演一个积极主动的角色。4、在哪些方面验证软件需求的正确性4个方面:一致性、完整性、现实性、有效性。5、什么是数据流图,其中有哪4种元素?(给定需求描述,画数据流图,大题。)数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。4种元素:(

6、1)正方形(或立方体)表示数据的源点或终点(2)圆角矩形(或圆形)代表变换数据的处理(3)开口矩形(或两条平行横线)代表数据存储(4)箭头表示数据流。第五章1、什么是总体设计总体设计的基本目的就是回答“概括地说,系统应该如何实现”这个问题,因此总体设计又称为概要设计或初步设计。2、在软件设计过程中,需要遵循哪些基本原理?(1)模块化(2)抽象(3)逐步求精(4)信息隐藏和局部化(5)模块独立3、解释模块化,模块化的好处模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。好处:采用模

7、块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试,因而有助于提高软件的可靠性。因为变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多的程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。4、启发规则有哪些?共7个:(1)改进软件结构提高模块独立性(2)模块规模应该适中(3)深度、宽度、扇出和扇入都应适当(4)模块的作用域应该在控制域之内(5)力争降低模块接口的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。