欢迎来到天天文库
浏览记录
ID:59401493
大小:55.50 KB
页数:3页
时间:2020-05-28
《软件工程复习重点.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.软件与软件工程(1)基本概念软件危机的定义、产生原因、解决办法定义:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生原因:一方面与软件木身的特点有关,另一方面也和软件开发与维护的方法不正确有关。解决方法:既要有技术措施(方法和工具),乂要有必要的组织和管理措施。面临的主要问题一是如何开发软件,怎样满足人们对软件日益增长的需求;二是如何维护软件,使它们持久地满足人们的要求。软件工程的定义、基本原理定义:①把系统的、规范的、可度量的途径用于软件开发、运行和维护过程,也就是把工程应用
2、于软件;②研究①中提到的途径。基本原理:1.用分阶段的生命周期计划严格管理;2.坚持进行阶段评审;3.实行严格的产品控制;4.采用现代程序设计技术;5.结果应能清楚的审查;6.开发小组的人员应该少而精;7.承认不断改进软件工程实践的必要性。软件工程学的范畴(结构化方法与面向对象方法)结构化方法:采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用;面向对象方法:是把数据和行为看成是同等重要的,以数据为主线,把数据和对数据的
3、操作紧密地结合起来的方法。软件工程的3个要素(方法、工具、过程)方法、工具、过程软件生命周期1.问题定义;2.可行性研究;3.需求分析;4.总体设计;5.详细设计;6.编码和单元测试;7.综合测试;8.软件维护。(2)软件过程(各自的特点)喷泉模型(以用户需求为动力,以对象作为驱动)以用户需求为动力,以对象作为驱动瀑布式模型(.…)产品开发是成线性型的,虽然有迭代,但这种迭代是不明显的,也不清楚的,而且用户一定要等到产品开发完成才可以看到软件。快速原型模型它由用户参与并快速开发出一个用于评估利获取需求的
4、系统作为根基的,而且他所有的过程是采用迭代方式来开发的,因此需求的完整性会很强,而且也适合用户的习惯。增量模型首先开发出核的框架,每次可以少量或大量在上面增加功能。螺旋模型能够在关键点上控制风险,适合大项目的开发。2.可行性研究⑴任务用最小的代价在尽可能短的时间内确定问题是否能够解决。⑵过程1.复查系统规模和目标;2.研究正在使用的系统;3.导出新系统的高层逻辑模型;4.进一步定义问题;5.到处和评价供选择的解法;6.推荐行动方针;7.草拟开发计划;8.书写文档提交检查。⑶工具■■系统流程图…数据流图-
5、-■数据字典(怎么定义数据???)自顶向下的分解(名字:#别名:#描述:#定义:#位置:#)定义标识符:标识符=字母字符+字母数字申;字母数字申=0{字母或数字}7;字母或数字=[字母字符I数字字符]1.需求分析(1)分析任务确定对系统的综合需求;分析系统的数据要求;导出系统的逻辑模型;修正系统开发计划。(2)需求获取的方法访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型。(3)需求分析的主要工具(DFD、DD、E.R、状态转换图、层次方框图、IPO图…)DFD(数据流图)、DD(
6、数据字典)、E-R图、状态转换图、层次方框图、IPO图...(4)需求规格说明书的主要内容数据要求、功能要求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。2.设计概念和原则(1)设计的基本原则(模块化、抽象、逐步求精、信息隐藏)模块化、抽象、逐步求精、信息隐藏和局部化、模块独立(2)模块化设计模块的独立性内聚性(偶然、逻辑、时间、过程、通信、顺序、功能)耦合性(非直接、数据、控制、特征、公共、内容)(3)体系结构设计的准则:提高模块独立性模块的规模适中软件
7、结构的深度、宽度及模块的扇入扇出要适中确保模块的作用范围在控制范围之内(1)改进软件结构提高模块独立性(2)模块规模应该适中(3)深度、宽度、扇出和扇入都应适当(4)模块的作用域应该控制域之内(5)力争降低模块接曰的复杂程度(6)设计单入口单出口的模块(7)模块功能应该可以预测。3.概要设计(1)设计工具层次图(H图):•个矩形框代表一个模块,方框间的连线表示调用关系而不是组成关系。HIPO图:在H图里除了最顶层的方框外,每个方框都加上编号。结构图(SC):图中一个方框代表一个模板,框内注明模块的名字和
8、主要功能,方框之间的箭头表不模块的调用关系。(2)面向数据流的软件结构设计方法变换型(掌握一个具体实例的全部过程)事务型6.详细设计(1)详细设计描述方法程序流程图合图(N-S图)PAD图判定表判定树(2)软件复杂性的常用度量方法7.软件测试和确认⑴概念软件测试定义测试的目标测试方法(白合、黑合)-----软件测试步骤(单元测试、组装测试、确认测试、系统测试)・---・驭动模块和桩模块(作用)(2)白盒测试方法逻辑覆盖(特点、覆盖能力的比较
此文档下载收益归作者所有