软件工程复习指导

软件工程复习指导

ID:45617675

大小:94.64 KB

页数:16页

时间:2019-11-15

软件工程复习指导_第1页
软件工程复习指导_第2页
软件工程复习指导_第3页
软件工程复习指导_第4页
软件工程复习指导_第5页
资源描述:

《软件工程复习指导》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第一章软件工程学概述1.1968年在第一届NATO会议上曾经给出了软件工程的一个早期定义:软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。2.1933年IEEE进一步给出了一个更全面更具体的定义软件工程是:(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径。3.B.W.Boehm于1983年提出的软件工程的7条基本原理>用分阶段的生命周期计划严格管理>坚持进行阶段评审>实行严格的产品控制>采用现代程序设计技术>结果应

2、能清楚地审查>开发小组的人员应该少而精>承认不断改进软件工程实践的必要性4.软件工程方法学Methodology(范型Paradigm):在软件生命周期全过程中使用的一整套技术方法的集合软件工程方法学的三个要素:工具、方法、过程5.目前常用的软件工程方法学传统方法学>生命周期方法学或结构化范型>自顶向下地完成软件开发的各阶段任务面向对象方法学>尽量模拟人的思维方式>主动地反复多次迭代的演化过程5.软件生命周期是指软件产品经过定义、开发和维护,及至该软件产品被最终淘汰的全过程。包括以下三个时期:软件定义:划分为三个阶段,问题定义、可行

3、性研究、需求分析软件开发:总体设计、详细设计、编码和测试、综合测试,其中前两个称为系统设计,后两个称为系统实现。运行维护:使软件持久的持久满足用户需求6.使用生命周期模型简洁地描述软件过程。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,也称为过程模型。7.瀑布模型(WaterfallModel)传统瀑布模型一一应用最广泛的过程模型传统瀑布模型的特点>阶段间具有顺序性和依赖性>推迟实现的观点>质量保证的观点传统瀑布模型存在什么问题?1)阶段间具有顺序性和依赖性。2)推迟实现的观点。9.喷泉模型(FountainMod

4、el)3)每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,及早改正错误。特点:主要用于支持面向对象开发过程,体现了面向对象软件开发过程的迭代和无缝的特征10.优点缺点规范"立档驱动系统可能不满足客户莫正的需求快速原誣克月&了漓1布型白勺缺点升生早期回抠日月确,易于维护委求升放竝软件体系结枸页脸駆动,诸用于大型硕目升生凤睑分桁人灵祈委有经验旦经过充分讪1练11.软件二程序+数据+文档软件危机:原因,现象,办法(软件工程学)软件工程(学):开发、运行和维护软件的系统方法软件方法学3个要素:方法、工具和过程。软件生命周期:定义,开

5、发,运行维护软件过程:瀑布模型第二章可行性研究1.可行性任务实质:一次大大压缩简化了的系统分析和设计。任务:初步确定项目的规模,目标,约束和限制。在澄清了问题定义之后,分析员应该导出系统的逻辑模型。从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。对每种解决方法都要研究它的可行性。2.数据流图有四种成分:源点/终点、处理、数据存储、数据流数据A变换成B和C数据A和B同时输入才能变换成数据C几种附加符号:星号(*):表示数据流之间是“与”数据A或B・或A和B同时输入变换成C关系BT数据A变换成B或C・或B和C只冇数据

6、A或只冇数拥B(但不能A、B同时)输入时变换成C数据A变换成B或C・但不能变换成B和C加号(+):表示数据流之间是“或”关系带圈加号(①):表示数据流之间是互斥关系3.画数据流图的基本目的:交流信息的工具另一个主要用途:分析和设计的工具1.数据字典的用途■作为分析阶段的工具■描述了对数据的控制■是开发数据库的第一步第三章需求分析1•与用户沟通获取需求的方法:1)访谈2)面向数据流自顶向下求精3)简易的应用规格说明技术4)快速建立软件原型1.结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。3•实体一联系图(ER图)数据

7、模型中包含3种相互关联的信息:数据对象、数据对象的属性及数字对象彼此间相互连接的关系。状态转换图、层次方框图、Warnier图、IPO图(描述处理过程)第五章总体设计1•软件需求:解决“做什么”,软件设计:解决“怎么做”软件设计的任务:以软件需求规格说明书为依据,进行数据设计、系统结构设计、过程设计2.模块独立性:每个模块只完成系统要求的独立的子功能,与其他模块的联系最少且接口简单。3•模块独立的概念是模块化、抽象、信息隐藏和局部化三个基本原理的直接结果。4•模块独立重要的理由:有效的模块化的软件比较容易开发独立的模块比较容易测试和

8、维护。5•衡量模块独立程度的标准:耦合、内聚6.耦合:指模块之间联系的紧密程度。模块之间联系越紧密,其耦合性越强,独立性就越差。模块耦合度越低越好:1・独立性;2・减少错误传播。模块的耦合性从低到高可分为以下几种类型:非直接耦合(no

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

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

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