资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件与信息转换 软件不是有形的物理产品,而是人类软件不是有形的物理产品,而是人类 思维的产物,软件不是被制造出来,而思维的产物,软件不是被制造出来,而 是思考出来的。是思考出来的。 4清华大学出版社 硬件和软件的失效曲线 软件,不会受引起硬件磨损 的环境问题的影响。 6清华大学出版社 软件的演变和认识过程 9清华大学出版社 人月神话 人月神话的内容,源于 作者布鲁克斯在IBM公司 SYSTEM/360家族(最长寿 的计算机体系结构之一) 和OS/360中的项目管理经验。 11清华大学出版社 软件工程层次图 包括软件工程在内的任何工程方法,必须构建在质量的基础之上。 质量关注点(quality focus) 过程(process) 方法(method) 工具(tool) 软件工程是一种层次化的技术! 13清华大学出版社 软件工程与计算机科学的差别 软件工程计算机科学 目标在时间、资源、人员这3个主要 限制条件下构建满足用户需求的 软件系统 探索正确的计算和建模方法,从而改进计算方法本身 产品软件(比如办公包和编译器)算法(比如希尔排序法)和抽象的问题(比如哲学家进餐问题) 进度与时 间表 软件专案都有特定的进度与时间 表 研究专案一般不具有设置的进度与时间表 关注点软件工程关注如何为用户实现价 值 软件理论关注的是软件本身运行的原理,比如时间复杂度,空间 复杂度,和算法的正确性 变化程度随着技术和用户需求的不断变化 ,软件开发人员必须时刻调整自 己的开发以适应当前的需求。同 时软件工程本身也处于不断的发 展中 对于某一种特定问题的正确解决方法将永远不会改变 需要的其 他知识 相关领域的知识数学 著名的探 索者和教 育家 Barry Boehm,David Parnas,布 鲁克斯 Edsger Dijkstra,高德纳,Robert Tarjan,Peter Slater,艾伦图灵 ,姚期智 著名的实 践者 John Backus,Dan Bricklin,蒂 姆伯纳斯-李 林纳斯托瓦兹, 理查德马修斯托曼 无 14清华大学出版社 10个重要的软件工程思想 17清华大学出版社 传统的与互联网时代的软件工程 观比较 传统软 件工程观互联网时代软件工程观 基 础 理 论 基于系统,以中央处理器为核心; 基于图灵计算理论和冯诺依曼结构。 基于网络,节点是图灵机或智 能体等主体对象,主体间相互 作用; 网络化软件具有小世界、无标 度和高集聚的特性,研究网络 动力学行为。 研 究 方 法 操作系统屏蔽硬件的异构性,中间件屏蔽操 作系统的异构性; 用层次结构描述软件单元间的相互关系; 自顶向下分解、逐步求精的开发; 软件生命周期、软件评测和软件成熟度。 网络成为一个虚拟资源环境; 重视在不同时间段、不同软件 规模上的软件间的相互关系和 协同; 软件按偏好依附生长,逐步演 化。 工 程 方 法 软件业是制造业; 面向系统的结构; 要求用户提供确定的需求、明确的系统边界 。 软件即服务,软件业是服务业 ; 面向服务的架构; 用户主导,随需即取,规模定 制,敏捷开发。 20清华大学出版社 模块化和软件成本 模块化时,位置需要保持在M附近,来避免过少、过多的模块化。 至于如何知道M的附近位置?如何将软件划分成模块? 则需要理解后面的设计概念。 25清华大学出版社 狗窝、房子和高楼 开发一个具有 一定规模和复杂 性的软件系统 和编写一个简单 的程序,是不 一样的,借用设 计模式的作者 G. Booch的比喻, 其中的区别如 同建造一座大 厦和搭建一个 狗窝的差别。 27清华大学出版社 房子的建模 p建筑师准备建筑最初 的草图,展示外观和 内部布局,与客户讨 论这些草图,直至所 有相关方都达成一致 意见,认为展示的就 是想要的。 28清华大学出版社 建筑师的角色和沟通依据 p建筑师也充当建造者和客户之间的协调人! 29清华大学出版社 体系结构的需要:温切斯特神秘 屋 这个大厦没有制作过建筑蓝图 ! 30清华大学出版社 软件体系结构的发展史 p2001年到2012年间的重要方法、语言、论文 、数据和会议 31清华大学出版社 体系结构的复用 p圣索菲亚大教堂,是拜 占庭建筑之美的代表。 1100年后, Christopher Wren 使用了同样的设计,来 建造圣保罗大教堂的穹 顶,并成为伦敦的地标 性建筑。 37清华大学出版社 系统的构架结构 软件结 构 关系适用于 分解是一个子模块;与之共享秘密资源分配、项目结构化和规划;信息隐藏、封装 ;配置控制 使用要求正确出现设计子集;设计扩展 分层要求正确的出现、使用服务、提供抽 象 增量式开发;在“虚拟机”可移植性上实现系统 类是一个实例;共享访问方法在面向对象的设计系统中,从一个公共的模版中 产生快速的、相近的实现 客户机- 服务器 与之通信;依赖于分布式操作;关注点的分离;性能分析;负载平 衡 进程与之并发运行、可能会与之并发运行 ;排除;优先于等 调度分析;性能分析 并发在相同的逻辑线程上运行确定存在自资源争用,线程可以交叉、连接、被 创建或被杀死的位置 共享数据产生数据;使用数据性能;数据完整性;可修改性 部署分配给;移植到性能、可用性、安全性分析 实现存储到配置控制、集成、测试活动 工作分配分配到项目管理、最佳利用专业技术、管理通用性 38清华大学出版社
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号