收藏 分享(赏)

高级软件工程-(1).ppt

上传人:无敌 文档编号:336840 上传时间:2018-03-30 格式:PPT 页数:34 大小:288KB
下载 相关 举报
高级软件工程-(1).ppt_第1页
第1页 / 共34页
高级软件工程-(1).ppt_第2页
第2页 / 共34页
高级软件工程-(1).ppt_第3页
第3页 / 共34页
高级软件工程-(1).ppt_第4页
第4页 / 共34页
高级软件工程-(1).ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、第一讲网 络 软 件,网络软件的复杂性是其自身所固有的抽象、分治、分类等思想将在其中发挥极为关键的作用,内 容,1、软件2、网络环境3、网络环境为应用系统提供的支持 4、网络环境给应用系统带来的挑战5、来自用户需求的挑战6、对策,1、软件,什么是软件软件发展现状软件发展特点软件开发特点软件的本质特性软件的发展趋势,什么是软件,计算机软件一般指计算机系统中的程序及 文档程序是以计算机语言表达的软件系统文档是以人类语言表达的软件系统二者互相配合 共同构成了完整的软件系统软件是系统逻辑的体现 必须依附于一定的载体例如:纸张、软盘、硬盘、光盘等人类抽象的经验、知识正逐步由软件予以精确地体现,软件发展现

2、状 (1)已经存在大量正在运行的软件 金融、电信、航空航天等 (2)软件的应用范围不断扩大商务、交通、家电等,“无处不在的软件” (3)软件的规模与复杂性持续增加越来越多的知识正在由软件进行显式表达 (4)出现了大量与软件相关的标准(3)的需求 (5)软件危机仍然存在(软件脱节)1968-2003,软件发展特点,(1)软件应用范围将继续扩大,成为信息社会的物理设施(2)遗留软件将继续发挥作用(3)软件的可靠性与安全性日趋重要(4)网络化软件将是发展重点,软件开发是典型的知识密集型活动复杂度高开发周期长可靠性保证难 随着 软件应用范围的快速扩大 以及软件运行平台从单机向网络的转变软件的规模越来越

3、大复杂度越来越高 软件开发的 高、 长、 难 愈益突出,软件开发特点,软件的本质特性构造性演化性其它特点:知识密集逻辑产物,软件的构造性软件 是 典型的知识产品 是 客观世界中 问题空间的具体描述,传统的软件开发 是 个体作坊式的只 解决功能问题未 考虑结构问题造成 软件 复杂度高 维护难度大,软件 是 客观事物的一种反映 是 知识的提炼 知识的体现知识的固化,软件的演化性,客观世界不断发展不断发生变化,软件发展趋势 软件运行平台正在 从 单机环境 发展到 网络环境这 将导致软件在 反映对象 开发基础 关注内容运行方式 提交形式 开销比重等 方面的重要发展,从单机环境到网络环境,软件发生了什么

4、变化?,软件反映对象的发展,从 以 个体计算过程 为反映对象向 以 群体合作过程 为反映对象的发展人们的合作过程是丰富多样的、不断调整的 因此,网络环境下的软件 更加 复杂、易变 构造性、演化性 更加突出,例如: 电子商务 电子政务 电子服务 虚拟企业 ,软件开发基础的发展,例如:业务流程重组(BPR:Business Process Reengineering)企业应用集成(EAI:Enterprise Application Integration) 等都需要开发组织具有 “继往开来” 的能力在这样的背景下符合标准规范的软件将更加受欢迎,从 以单个软件开发为主向 以集成式开发为主 的发展,

5、软件关注重点的发展,从 以正面功能为核心向 兼顾侧面约束 的发展,近期出现的 面向 侧面 的编程 (AOP: Aspect Oriented Programming) 特征交互(FI: Feature Interaction) 等与经典的 问题分离(SOC: Separation Of Concerns ) 等相呼应 有效地处理 交叉(cross cutting)特征 例如: 安全性、可靠性、 同步性 等 这一发展 将使 软件工程师容易地开发、维护应用系统,软件运行方式的发展,从 纯被动式的方式向 部分主动式的方式 发展,主动对象(Active Object)类真体(Agent)等具有的 独立

6、性、自治性和自适应性 能够很好地适应从 封闭、静态、稳定的单机环境 到 开放、动态、多变的网络环境 的转变这一发展 将 有利于 减轻人的负担 促进 人机和谐环境的 建立,软件提交形式的发展,从 以 产品 为中心向 以 服务 为中心 的发展,例如:应用服务提供商 (ASP: Application Service Provider)“Web服务”(Web Service) 等 皆体现了软件向服务发展的趋势这一发展 将使 软件在 方便使用、安全可靠 等方面更加人性化,软件开销比重的发展,从 开发为主要开销向 开发、演化开销并重 的发展,最近一段时间延长软件生命维护、演化软件 等问题同时受到了 学术

7、界与产业界的双重关注诸如 柔性结构技术、远程维护技术、自适应技术 等 将得到重视,2、网络,什么是网络?硬件厂商的观点软件厂商的观点用户的观点Network is computer?,什么是网络环境(Network Environment)?通过网络相互连接、相互协作,共同执行任务的一组计算机系统。包括:连接设备、计算机硬件、 支持网络的操作系统等系统软件与单机环境相对,从不同角度划分网络:从规模上:LAN、WAN从行业上:银行网络(ATM)电信网络(IP Phone)从技术上:WWW、WAP、宽带网从边界上: Internet、Intranet从协议上:TCP/IP、DECNET目前需要特别

8、关注以IP为核心实现的网络环境,网络环境自身的特点:,(1)分布性(2)复杂性(3)增长性(4)异构性(5)持续演化性,3、网络环境为应用系统提供的支持,共享性开放性并发性可伸缩性容错性透明性,网络环境下的应用系统具有什么样的特点?,(1)共享性,一旦授权,可以访问环境中的任何资源:硬件、软件、数据资源管理器控制资源的访问 提供命名机制 并 控制并发访问资源共享模型(例如客户/服务器、基于对象)描述:如何提供资源它们如何被使用用户与提供者如何交互,(2)开放性,环境扩展与改进的需要需要发布构件之间的接口细节新构件需要能够与已存在的构件进行集成,(3)并发性,网络环境中的构件可以在并发的过程中被

9、执行构件可以访问、更新共享的资源如果不对并发的更新进行协调无法保持环境的完整性,(4)可伸缩性,利用网络环境可以:为更多的用户服务响应更快通常通过增加 更多/更快的处理机 更可靠、更完善的服务实现当环境增长时,构件不必改变所设计的构件应当便于系统的伸缩,(5)容错性,硬件、软件、网络发生错误的不可避免性网络环境必须维护可用性容错的实现途径:恢复(recovery)冗余(redundancy),(6)透明性,网络环境对于用户与应用程序而言应当是一个整体而不是一个相互协作的简单的构件集合 透明性具有多层的内容:访问透明性、位置透明性、并发透明性、副本透明性、故障透明性、迁移透明性、性能透明性、伸缩透明性,4、网络环境给应用系统带来的挑战,通信问题异构问题定位问题可靠性问题安全问题管理问题维护问题等等,开发网络环境的软件需要面临什么样的挑战?,网络应用系统,5、来自用户需求的挑战,功能:软件系统提供什么约束: 功能应当满足什么性能分布可靠性安全性演化:功能的增加、改变约束的调整,6、对策,运行平台OMA、DNA、应用服务器开发技术软件体系结构、设计模式、面向侧面编程 等开发过程USDP、MDA 等,问 题,从单机环境到网络环境,软件发生了什么变化? 网络环境下的应用系统具有什么样的特点? 开发网络环境的软件需要面临什么样的挑战?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报