网站大量收购独家精品文档,联系QQ:2885784924

软件设计与体系结构秦航.pptVIP

  1. 1、本文档共39页,可阅读全部内容。
  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文档。上传文档
查看更多
清华大学出版社 第1章 软件工程和软件设计 内容提要 1.1 软件 1.1.1 软件的本质 1.1.2 软件神话 6 1.2 软件工程 1.2.1 软件工程 1.2.2 软件过程和软件工程实践 1.2.3 网络环境带来的影响 1.3 软件设计 1.3.1 软件工程中的设计 1.3.2 设计过程和设计质量 1.3.3 软件设计原则 1.4 软件体系结构 1.4.1 什么是软件体系结构 1.4.2 软件体系结构的内容 1.4.3 设计阶段的软件体系结构 1.5 小结 1.1 软件 1.1.1 软件的本质 计算机软件,是由专业人员开发并长期维护的软件产品。 软件科学成为了今天商业、科学、工程必需的技术,促进了新科技的创新和发展 但是,无论国外、国内,软件危机的达摩克利斯之剑,一直高悬在软件从业者头顶,至今挥之不去。 软件与信息转换 软件的特性 软件是设计开发的,而不是传统意义上生产制造的 软件不会磨损! 随着基于构件的构造模式发展,大多数软件需要根据实际的顾客需求定制 硬件和软件的失效曲线 计算机软件分类 系统软件 应用软件 嵌入式软件 科学和工程计算软件 产品线软件 人工智能软件 网络化软件 新的挑战 开放计算 网络资源 开源软件 软件的演变和认识过程 程序设计语言的发展有三个层面 以标准C语言簇为典型代表的面向过程的软件设计方法 以JAVA语言簇为典型代表的面向对象的软件设计方法 以XML语言为典型代表的面向构件的软件设计方法 人月神话 1.2 软件工程 1.2.1 软件工程 美国电气与电子工程师协会(IEEE)给出的: 软件工程是:(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。(2)在(1)中所述方法的研究。 软件工程层次图 软件工程与计算机科学的差别 1.2.2 软件过程和软件工程实践 一个通用的软件工程过程框架,通常包含5个活动: 沟通:在技术工作开始之前,和客户的沟通、协作极其重要 目的是理解利益相关者的项目目标,并收集需求,以定义软件特性、功能。 策划:软件项目好比是一个复杂的旅程,策划活动,就是创建一个使任何复杂的旅程都变得简单的地图,以指导团队的项目旅程,该地图称为软件。 建模:无论是庭园设计家、桥梁建造者、航空工程师、木匠还是建筑师,每天的工作都离不开模型。 他们会画一张草图,来辅助理解整个项目大的构想,包括体系结构、不同的构件如何结合,以及其它特征。 构建:包括手写的、自动生成的编码和测试,以发现编码中的错误。 部署:软件以全部、部分增量的形式交付给用户,用户对其进行评测,并给出反馈意见。 7条简单的原则 存在价值:软件系统因能给用户提供价值,而具有存在价值。所有的决定,都应基于该思想。 保持简洁:软件设计并不是随意的过程,软件设计中需要考虑很多因素。所有的设计,都应该尽可能简洁, 保持愿景:清晰的愿景,是软件项目成功的基础。没有愿景,项目将会有多种设计思想而永远不能结束。如果缺乏一致性, 关注使用者:有产业实力的软件系统,不是在真空中开发、使用的。通常,软件系统必定是由开发者以外的人员使用、维护和编制文档,等等,这就必须要让别人理解你的系统。因此,在需求说明、设计和实现过程时 面向未来:生命期持久的系统,具有更高的价值。在现在的计算环境中,需求规格说明随时会变 计划复用:复用既省时又省力。软件系统开发过程中,高水平的复用,是一个很难实现的目标。面向对象技术会给代码和设计复用带来好处 认真思考:这最后一条规则,可能最容易忽略。行动之前,清晰定位、完整思考,通常能产生更好的结果。仔细思考,可以提高做好事情的可能性 10个重要的软件工程思想 1.2.3 网络环境带来的影响 美国南加州大学的巴里·贝姆(Barry Boehm)教授,总结了国际上软件工程的发展历程: 20世纪50年代的类似硬件工程 60年代的软件手工生产、70年代的形式化方法和瀑布模型 80年代的软件生产率和可扩展性 90年代的软件并发和顺序进程 21世纪初的软件敏捷性和价值 软件工程在40年发展历程中关注域转向需求 40年来,软件工程的发展都是以系统为中心的,基于图灵计算模式,图灵计算时代,计算机软件是与计算机系统操作有关的程序、规程、规则及如何与之有关的数据结构和文档,即: 软件=程序+数据结构+文档 随着一个划时代的转变,人们开始推崇“软件即服务”的思想。 那么,计算机软件是与满足需求的信息及与之有关的服务工具,即: 软件=满足需求的信息+服务工具 Google的成功,就是一个现实的例子。 传统的与互联网时代的软件工程观比较 1.3 软件设计 朗曼字典里,对“设计”的解释包括: 描述某个事物如何被制造出来的图样或模式。 形成上述图样或模式的艺术。

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档