欢迎来到天天文库
浏览记录
ID:5960196
大小:277.50 KB
页数:36页
时间:2017-11-16
《软件工程复习重点》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程导论复习要点软件工程学概述可行性研究需求分析形式化说明技术总体设计7实现详细设计8维护第一章软件工程学概述1、什么是软件工程?软件工程的基本原理是什么?软件工程是(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用与软件;(2)研究(1)中提到的途径。著名的软件工程专家B.W.Boehm于1983年提出了软件工程的7条基本原理,他认为这是确保软件产品质量和开发效率的原理的最小集合。(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格
2、的产品控制;(4)采用现代程序设计技术;(5)结果能清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断改进软件工程实践的必要性。2、软件工程方法学包含哪些要素?目前使用的最广泛的软件工程方法学是什么?软件工程方法学的3要素:方法、工具和过程。目前使用的最广泛的软件工程方法学是传统方法学和面向对象方法学,其中面向对象方法学有4个要点,可以用下列方程式概括:面向对象方法=对象+类+继承+通过消息通信第一章软件工程学概述3、软件生命周期有哪些3个时期?再细分的话,可分为哪些阶段?软件生命周期由
3、软件定义、软件开发和软件维护3个时期组成,再细分的话,分为问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护8个阶段。其中软件维护阶段工作量最大。第一章软件工程学概述第二章可行性研究1、可行性研究的目的是什么?应从哪些方面研究可行性?可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否有解,以及是否值得去解。从技术、经济和操作3个方面研究项目的可行性。2、如何了解数据流图和数据字典?如何画数据流图?数据流图(DFD)是一种图形化技术,它描绘信息流和数据
4、从输入移动到输出的过程中所经受的变换,或者说是描绘数据在软件中流动和被处理的逻辑过程。它是系统逻辑功能的图形表示,是分析员和用户之间极好的通信工具。可行性研究阶段,数据流图与数据字典共同构成系统的逻辑模型。只有数据流图和对数据流图中的每个元素的精确定义放在一起,才能共同构成系统的规格说明。第二章可行性研究1、需求分析的任务是什么?确定对系统的综合要求(功能需求,性能需求,可靠性和可用性需求,出错处理需求,接口需求,约束,逆向需求,将来可能提出的要求);分析系统的数据要求(通过建立数据模型来分析,
5、如数据字典,层次方框图、Warnier图,并将数据结构规范化);导出系统的逻辑模型(完善数据流图、实体-联系图、状态转换图、数据字典、主要的处理算法(IPO图));修正系统开发计划(根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修订前期制定的开发进度计划)。第三章需求分析第三章需求分析2、分析建模所谓模型,是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述,通常由一组图形符号和组织这些符号的规则组成。根据结构化分析准则,需求分析过程应该建
6、立3种模型,分别是数据模型、功能模型和行为模型。1)实体—联系图用于建立数据模型的图形;2)数据流图是建立功能模型的基础;3)状态转换图是建立行为模型的基础。要求绘画出实体联系图,数据流图,状态转换图。例子:银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并打印出存款存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存
7、款时未留密码,则系统计算利息并打印出利息清单给储户。第三章需求分析3、要从哪些方面验证软件需求?至少应该从一致性、完整性、现实性和有效性等4个方面验证软件需求的正确性,其中完整性和有效性这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性往往需要开发原型系统。第三章需求分析第四章形式化说明技术软件工程的使用方法非形式化:用自然语言描述需求规格说明半形式化:用数据流图或实体—联系图建立模型形式化:描述系统性质的基于数学的技术1、有穷状态机2、Petri网技术第五章总体设计
8、1、在设计过程中,总体设计一般有哪两个主要阶段组成?总体设计遵循怎样的基本原理?总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。总体设计遵循模块化、抽象、逐步求精、信息隐藏、局部化和模块独立等6条基本原理。2、什么模块独立?模块独立如何度量?模块独立是指开发具有独立功能且和其他模块没有过多的相互作用的模块。模块独立的概念是模块化,抽象、信息隐藏和局部化概念的直接结果。模块的独立程度可以由两个定性标准度量:(1)耦合,指不同模块彼此间互相依赖(
此文档下载收益归作者所有