458-软件工程概述.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
458-软件工程概述.ppt

软件工程概述 软件危机与软件工程 软件体系结构 什么是软件? 计算机硬件的摩尔定律 软件危机 OS 360操作系统使用了1000人左右的程序员。Fred Brooks在随后他的大作《人月神话》(The Mythical Man-Month)中曾经承认,在他管理这个项目的时候,他犯了一个价值数百万美元的错误。 财产的损失:软件的错误可能导致巨大的财产损失。欧洲阿里亚娜火箭的爆炸就是一个最为惨痛的教训。 人员伤亡:由于计算机软件被广泛应用于包括医院等与生命息息相关的行业。因此软件的错误也有可能会导致人员伤亡。 Therac-25的意外. 在1985年六月到1987年一月之间, 六个已知的医疗事故来自于Therac-25错误地超过剂量, 导致患者死亡或严重辐射灼伤 在工业上,某些嵌入式系统导致机器的不正常运转,从而将一些人推入了险境。 软件设计 ——科学?工程?甚至艺术? 软件工程的定义 涉及到: 程序设计语言 数据库 软件开发工具 系统平台 标准 计模式 软件工程与计算机科学的区别 软件的生命周期 需求分析 描述与定义 设计 实现 测试 维护 产品淘汰 方法学 重量级: ISO 9000 CMM 统一软件开发过程(RUP) 轻量级(个体软件工程): 极限编程(XP) 敏捷过程(Agile Processes) 其它软件工程技术 面向方面的程序设计(Aspect Oriented Programming,简称AOP) 面向代理(agent)的软件工程 泛型编程(Generic Programming) 模板(Template ) 计算机辅助(CASE)工具 计划管理类,Project 2000 设计分析类,Rose、Visio 版本控制类,CVS、SVN 程序设计类,Visual studio、PB 原型建造类 集成化平台,Eclipse 软件测试类,JUnit 论银弹 ——世界上没有万能妙药 凡是需要发挥人的主观能动性、创造性、判断力,特别是人的协作性的工作,断无一劳永逸的解决之法。 只能利用靠自身经验以及前人总结的经验少走弯路罢了。 软件重用的层次 代码级 基于源代码 基于构件 设计级 (设计模式) 软件体系结构级 构件与软件重用(复用) 软件构件 软件系统中具有相对独立功能,可以明确辨识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体。 构件模型 业界主流构件模型标准: CORBA(Common Object Request Broker Architecture,通用对象请求结构,OMG) EJB(Enterprise java bean,SUN) DCOM(Distributed Component Object Model,Microsoft) 基于构件的软件重用 构件获取 构件管理 构件描述 构件分类与库组织 人员及权限管理 构件重用 检索与提取构件 理解与评价构件 修改构件 构件组装 青鸟构件模型(北京大学) 软件体系结构 历史发展 定义 架构描述语言 视图 历史发展 定义 Dewayne Perry和A1ex Wo1f 软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。 Mary Shaw和David Garlan 是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。 Kruchten 概念角度,描述系统的主要构件及它们之间的关系; 模块角度,包含功能分解与层次结构; 运行角度,描述了一个系统的动态结构; 代码角度描述了各种代码和库函数在开发环境中的组织。 Hayes Roth 是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。 架构描述语言(ADL) Wright (由卡内基梅隆大学开发), Acme (由卡内基梅隆大学开发), C2 (由UCI开发), Darwin (由伦敦帝国学院开发)。 视图 功能/逻辑视图 代码视图 开发/结构视图 并行/过程/线程视图 物理/部署视图 用户动作/反馈视图 体系结构示例 客户端服务器 分布式计算 对等系统 黑板 隐式调用 插件 单层系统 三层结构 结构化(基于模块,但在模块内部是一体的) 基于软件构件?(基于模块,在模块内部,通常采用面向对象程序设计方法,slightly less monolithic) 面向服务的体系架构 作业 阐述“黑板系统”与通常的“数据库系统”有何异同点。 作业 概述“建筑工程” 比较“建筑工程与软件工程”的异同 不少于2000字 * * 是一系列按照特定顺序组织

文档评论(0)

小玉儿 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档