第一讲网络软件教学课件.ppt

上传人:本田雅阁 文档编号:3112615 上传时间:2019-07-10 格式:PPT 页数:42 大小:311.53KB
返回 下载 相关 举报
第一讲网络软件教学课件.ppt_第1页
第1页 / 共42页
第一讲网络软件教学课件.ppt_第2页
第2页 / 共42页
第一讲网络软件教学课件.ppt_第3页
第3页 / 共42页
第一讲网络软件教学课件.ppt_第4页
第4页 / 共42页
第一讲网络软件教学课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第一讲网络软件教学课件.ppt》由会员分享,可在线阅读,更多相关《第一讲网络软件教学课件.ppt(42页珍藏版)》请在三一文库上搜索。

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

2、软件予以精确地体现,老 子: 道德经: 第十一章: 三十辐共一毂(g) ,当其无,有车之用。 埏(shn)埴(zh)以为器,当其无,有器之用。 凿户牖(yu )以为室,当其无,有室之用。 故有之以为利,无之以为用。,解读的力量!,鲜花与饲料,软件 是脑力劳动的产物 是系统逻辑的体现 必须依附于一定的载体 例如:纸张、软盘、硬盘、光盘等 其它的物品呢?不需要载体?,软件到底有什么奥妙? 人类自身的感官不能直接确定它的存在: 分子、原子 等对于人们总有一定的神秘性:感官距离很“遥远” 软件: 通常 存在于纸带、磁带、光盘等之中 运行起来 靠: 集成电路 发挥作用 显示器 显示状态 竟然还可以在 不

3、同的载体 之间十分方便地跳跃! 显示出来后离我们又这么“近”!如此有用! “万物皆数”? ! 我们可以对认识的任何一种东西进行编码 以产生它的一个具体“实例”,软件作为逻辑产品的特点: 劣势: 不易被理解 容易出错 找错、排错困难 优势: 易于变化,适应性强 复制成本低,适合规模经济 给我们的生活、学习等带来了巨大的变化 The Second Life,软件发展现状 (1)已经存在大量正在运行的软件 金融、电信、航空航天等 (2)软件的应用范围不断扩大 商务、交通、家电等,“无处不在的软件” (3)软件的规模与复杂性持续增加 越来越多的知识正在由软件进行显式表达 (4)出现了大量与软件相关的标

4、准 (3)的需求 (5)软件危机仍然存在(软件脱节) 1968-2003,软件发展特点,(1)软件应用范围将继续扩大,成为信息社会的物理设施 (2)遗留软件将继续发挥作用 (3)软件的可靠性与安全性日趋重要 (4)网络化软件将是发展重点,软件的本质特性 构造性 演化性 其它特点: 知识密集 逻辑产物,软件的构造性 软件 是 典型的知识产品 是 客观世界中 问题空间的具体描述,传统的软件开发 是 个体作坊式的 只 解决功能问题 未 考虑结构问题 造成 软件 复杂度 高 维护难度 大,软件 是 客观事物的一种反映 是 知识的提炼 知识的体现 知识的固化,软件的演化性,客观世界 不断发展 不断发生变

5、化,软件发展趋势 软件运行平台正在 从 单机环境 发展到 网络环境 这 将导致软件在 反映对象 开发基础 关注内容 运行方式 提交形式 开销比重 等 方面的重要发展,软件反映对象的发展,从 以 个体计算过程 为反映对象 向 以 群体合作过程 为反映对象 的发展 人们的合作过程是丰富多样的、不断调整的 因此,网络环境下的软件 更加 复杂、易变 构造性、演化性 更加突出,例如: 电子商务 电子政务 电子服务 虚拟企业 ,软件开发基础的发展,例如:业务流程重组 (BPR:Business Process Reengineering) 企业应用集成 (EAI:Enterprise Applicatio

6、n Integration) 等 都需要开发组织具有 “继往开来” 的能力 在这样的背景下 符合标准规范的软件将更加受欢迎,从 以单个软件开发为主 向 以集成式开发为主 的发展,软件关注重点的发展,从 以正面功能为核心 向 兼顾侧面约束 的发展,近期出现的 面向 侧面 的编程 (AOP: Aspect Oriented Programming) 特征交互(FI: Feature Interaction) 等 与经典的 问题分离(SOC: Separation Of Concerns ) 等相呼应 有效地处理 交叉(cross cutting)特征 例如: 安全性、可靠性、 同步性 等 这一发展

7、 将使 软件工程师容易地开发、维护应用系统,软件运行方式的发展,从 纯被动式的方式 向 部分主动式的方式 发展,主动对象(Active Object) 类真体(Agent)等具有的 独立性、自治性和自适应性 能够很好地适应 从 封闭、静态、稳定的单机环境 到 开放、动态、多变的网络环境 的转变 这一发展 将 有利于 减轻人的负担 促进 人机和谐环境的 建立,软件提交形式的发展,从 以 产品 为中心 向 以 服务 为中心 的发展,例如:应用服务提供商 (ASP: Application Service Provider) “Web服务” (Web Service) 等 皆体现了软件向服务发展的趋

8、势 这一发展 将使 软件在 方便使用、安全可靠 等方面 更加人性化,软件开销比重的发展,从 开发为主要开销 向 开发、演化开销并重 的发展,最近一段时间 延长软件生命 维护、演化软件 等问题 同时受到了 学术界与产业界的双重关注 诸如 柔性结构技术、远程维护技术、自适应技术 等 将得到重视,二、软件开发,1、软件开发特点 2、软件开发模型 3、开发过程新进展 4、如何理解软件开发的困难,软件开发是典型的知识密集型活动 复杂度高 开发周期长 可靠性保证难 随着 软件应用范围的快速扩大 以及软件运行平台从单机向网络的转变 软件的 规模 越来越大 复杂度 越来越高 软件开发的 高、 长、 难 愈益突

9、出,1、软件开发特点,瀑布模型 (waterfall model) 螺旋模型 (spiral model) 喷泉模型 (fountain model) 演化模型 (evolutionary model),2、软件开发模型,各自特点回顾:画图说明!,RUP 敏捷开发方法 从 CMM 到 CMMI 基于构件的软件开发 基于侧面的软件开发 测试驱动的软件开发 用例驱动的软件开发,3、开发过程新进展,软件开发就象,写小说? 生产PC?搭积木? 演节目? 拍电影/电视?!,4、如何理解软件开发的困难,拍电影,前期:剧本创作、投资 拍摄:场地、演员、道具 后期:剪接、音效,开发软件,分析:需求、用户 设计

10、实现:结构、编码 测试:减少缺陷,其他共性:拷贝、版本、版权;美国、印度,三、网络环境,什么是网络? 硬件厂商的观点 软件厂商的观点 用户的观点 Network is computer?,什么是网络环境(Network Environment)? 通过网络相互连接、相互协作,共同执行任务的一组计算机系统 包括:连接设备、计算机硬件、 支持网络的操作系统等系统软件 与单机环境相对,从不同角度划分网络: 从规模上: LAN、WAN 从行业上: 银行网络(ATM) 电信网络(IP Phone) 从技术上: WWW、WAP、宽带网 从边界上: Internet、Intranet 从协议上: TCP/I

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

12、可以在并发的过程中被执行 构件可以访问、更新共享的资源 如果不对并发的更新进行协调 无法保持环境的完整性,(4)可伸缩性,利用网络环境可以: 为更多的用户服务 响应更快 通常通过增加 更多/更快的处理机 更可靠、更完善的服务实现 当环境增长时,构件不必改变 所设计的构件应当便于系统的伸缩,(5)容错性,硬件、软件、网络发生错误的不可避免性 网络环境必须维护可用性 容错的实现途径: 恢复(recovery) 冗余(redundancy),(6)透明性,网络环境对于用户与应用程序而言 应当是一个整体 而不是一个相互协作的简单的构件集合 透明性具有多层的内容: 访问透明性、位置透明性、并发透明性、

13、副本透明性、故障透明性、迁移透明性、 性能透明性、伸缩透明性,四、网络环境给应用系统带来的挑战,通信问题 异构问题 定位问题 可靠性问题 安全问题 管理问题 维护问题 等等,网络应用系统,五、来自用户需求的挑战,功能:软件系统提供什么 约束: 功能应当满足什么 性能 分布 可靠性 安全性 演化: 功能的增加、改变 约束的调整,六、对策,运行平台 OMA、DNA、应用服务器 开发技术 软件体系结构、设计模式、 面向侧面编程 等 开发过程 USDP、MDA 等 SOA WEB 2.0 开源软件,问 题,从单机环境到网络环境,软件发生了什么变化? 网络环境下的应用系统具有什么样的特点? 开发网络环境的软件需要面临什么样的挑战?,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1