- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 软件工程学概述 1. 1968年在第一届NATO会议上曾经给出了软件工程的一个早期定义:软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。 2. 1933年IEEE进一步给出了一个更全面更具体的定义软件工程是1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(21)中提到的途径。 3. B.W.Boehm 于1983年提出的软件工程的7条基本原理 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性 4. 软件工程方法学Methodology(范型Paradigm):在软件生命周期全过程中使用的一整套技术方法的集合 软件工程方法学的三个要素:工具、方法、过程 5. 目前常用的软件工程方法学 传统方法学 生命周期方法学或结构化范型 自顶向下地完成软件开发的各阶段任务 面向对象方法学 尽量模拟人的思维方式 主动地反复多次迭代的演化过程 6.软件生命周期是指软件产品经过定义、开发和维护,及至该软件产品被最终淘汰的全过程。包括以下三个时期: 软件定义:划分为三个阶段,问题定义、可行性研究、需求分析 软件开发:总体设计、详细设计、编码和测试Waterfall Model ) 传统瀑布模型——应用最广泛的过程模型 传统瀑布模型的特点 阶段间具有顺序性和依赖性 推迟实现的观点 质量保证的观点 1)阶段间具有顺序性和依赖性。 2)推迟实现的观点。 3)每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,及早改正错误。 9. 喷泉模型(Fountain Model) 特点:主要用于支持面向对象开发过程,体现了面向对象软件开发过程的迭代和无缝的特征 10. 11. 软件 =程序+数据+文档 软件危机: 原因,现象,办法 (软件工程学) 软件工程(学):开发、运行和维护软件的系统方法 软件方法学3个要素:方法、工具和过程。 软件生命周期:定义,开发,运行维护 软件过程:瀑布模型 第二章 可行性研究 1. 可行性任务实质:一次大大压缩简化了的系统分析和设计。 任务:初步确定项目的规模,目标,约束和限制。 在澄清了问题定义之后,分析员应该导出系统的逻辑模型。 从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。 对每种解决方法都要研究它的可行性。 2. 数据流图有四种成分: 源点/终点、处理、数据存储、数据流 几种附加符号: 星号(*):表示数据流之间是“与”关系 加号(+):表示数据流之间是“或”关系 带圈加号(⊕):表示数据流之间是互斥关系 3. 画数据流图的基本目的:交流信息的工具 另一个主要用途:分析和设计的工具 4. 数据字典的用途 作为分析阶段的工具 描述了对数据的控制 是开发数据库的第一步 第三章 需求分析 1.与用户沟通获取需求的方法: 访谈 面向数据流自顶向下求精 简易的应用规格说明技术 快速建立软件原型 2. 结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3.实体—联系图(ER图) 数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数字对象彼此间相互连接的关系。 状态转换图、层次方框图、Warnier图、IPO图(描述处理过程) 第五章 总体设计 1.软件需求:解决“做什么”,软件设计:解决“怎么做” 软件设计的任务:以软件需求规格说明书为依据,进行数据设计、 系统结构设计、过程设计 2. 模块独立性:每个模块只完成系统要求的独立的子功能,与其他模块的联系最少且接口简单。 3.模块独立的概念是模块化、抽象、信息隐藏和局部化三个基本原理的直接结果。 4.模块独立重要的理由: 有效的模块化的软件比较容易开发 独立的模块比较容易测试和维护。 5.衡量模块独立程度的标准:耦合、内聚 6. 耦合:指模块之间联系的紧密程度。模块之间联系越紧密,其耦合性越强,独立性就越差。 模块耦合度越低越好:1. 独立性;2. 减少错误传播。 模块的耦合性从低到高可分为以下几种类型: 非直接耦合(no direct coupling):二个模块都不依赖对方而独立存在 数据耦合(data coupling):二个模块通过参数交换信息,而信息仅限于数据 控制耦合 (control coupling):二个模块通过它是信息隐藏和局部化概念的自然扩展。高内聚往往以意味着模块间的低耦合。 低 内聚 中内聚 高 内聚 内聚由低到高排 8. 七条启发式规则 模块的划分:高内聚,低耦合,保持相对独立性 模块的大小: 模块规模应该适中 形成的结构:深度、宽度
有哪些信誉好的足球投注网站
文档评论(0)