- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程方法学-软件工程方法学概述教程文件.ppt
华南师范大学 计算机学院 王 涛 华南师范大学计算机学院研究生课程 --软件工程方法学 第一章-软件工程方法学概述 主讲:王涛 Email: filion@ 课程内容: 软件工程方法学 Software Engineering Methodology 软件工程方法学是研究软件设计方法论及工程开发技术的一门学科 或者说:是研究软件工程方法的学科 软件工程方法: Software Engineering Methods 包括:模型、方法、过程、规范、工具、理念/原则、文档,甚至相应的开发语言 为什么要研究软件工程方法学 在早期,软件工程方法学与软件开发方法,软件分析和设计方法是同义的(软件编程方法) 当出现了大型的、复杂的软件系统后,为了能使设计开发,出现了软件分析\设计方法 随着软件工程的发展,形成了不同的软件工程方法:结构化、面向对象、敏捷方法 在某个开发项目中,如何选择、应用哪种软件开发方法,用哪种方法更好,就成研究软件工程方法学的基本动机 软件工程方法(学)的定义(1) Ian Sommerville的定义 :What are software engineering methods? Structured approaches to software development which include system models, notations, rules, design advice and process guidance 软件开发的系统化方法,包括系统模型、术语、规则、设计建议和过程指引 软件工程方法(学)的定义(1) Ian Sommerville的定义:一个软件工程方法最主要包括以下三个部分: Model descriptions:模型描述方法 Descriptions of graphical models which should be produced Rules Constraints applied to system models Recommendations:开发建议 Advice on good design practice Process guidance:过程指引 What activities to follow 我们可以参考一下结构化方法和面向对象方法 软件工程方法的分类 按不同的分类准则,会有不同的分类方法 注意,这一分类体系中并不是非此即彼,有可能有重复、冲突 按开发理念来分: 结构化方法;面向对象方法 按有无使用数学工具协助分析、设计、验证、实现来分 形式化方法:从规范出发的开发、函数式编程、净室方法 非形式化方法:目前大多数软件工程方法 软件工程方法的分类 按是否有大量文档工作和设计规范要遵守来分 重量级的方法:传统结构化方法、面向对象方法 轻量级的方法:敏捷方法(极限编程,快速原型法…) 目前,并没有一个很规范的分类体系 软件工程方法的发展 最初,只有完全一项计算任务的程度,并无所谓编程方法,更无软件工程方法 随着软件复杂度的提高,出现了复杂问题分解为简单问题的一种思路: 函数、模块 在70年代初,软件危机问题出现之后, 随着软件工程思想的确立,从模块化思想逐渐发展出了一个软件开发规范体系: 结构化方法。包括 结构化的模型图:程序流程图、功能分解图等 结构化的开发建议:高内聚、低耦合 结构化的过程指引:基于瀑布模型的软件生命周期 以及相关的工具、语言 这也成为了第一个软件工程方法 软件工程方法的发展 结构化方法继续发展,出现了其它新的结构化方法的分支(有些与原来模块化的思想相比有一定发展,但仍然是基于分解的) PAD方法:强调程序结构的分解 Jackson方法:强调数据结构与软件结构的一致 信息建模分析方法:数据流图、实体关系图。新的设计理念:数据驱动 IDEF体系:从信息建模分析方法发展出来(90年代) 模型图;工具;设计规范 软件工程方法的发展 而另外一个重要的软件工程方法--面向对象方法,则是沿着另外一条路发展的 60年代为程序仿真而开发的Simula语言,为了更好的模拟现实世界以进行仿真,引入了类概念和继承机 70年代末,另一个专用的面向对象语言Smalltalk开始进行设计,并在80年提出一个完善版本( Smalltalk当现在为止仍然是最纯粹的面向对象语言) 但这时只在实验室和科研活动中使用 软件工程方法的发展 随着软件复杂程度的进一步提高,低耦合、高内聚的要求进一步提高,促进了面向对象开发思想的发展 低耦合、高内聚是获得较好软件质量的要求 但数据耦合是结构化方法无法解决的问题 要么有大量的全局变量;要么是每个函数都有大量的参数 因此,把数据和代码集成封闭在一起,成了一个合理的要求 由此,出现了面向对象的思想 思想而已,
您可能关注的文档
- 路由器交换机配置任务1.4解析OSI参考模型和TCPIP协议教学文稿.ppt
- 路由器交换机配置任务2.5交换机端口安全教学教案.ppt
- 路由器交换机配置任务3.2配置路由器密码教学教案.ppt
- 路由器交换机配置任务3.3单臂路由教学教案.ppt
- 路由器交换机配置任务3.4静态路由和默认路由教学教案.ppt
- 路由器交换机配置任务3.5浮动静态路由教学教案.ppt
- 路由器交换机配置任务4.1动态路由协议RIPV2教学教案.ppt
- 路由器交换机配置任务4.3OSPF基于区域的MD5认证教学教案.ppt
- 路由器交换机配置任务4.6路由选择原则教学教案.ppt
- 路由器交换机配置任务5.1PPPPAP认证教学文稿.ppt
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)