软件的价值与软件工程的发展_第1页
软件的价值与软件工程的发展_第2页
软件的价值与软件工程的发展_第3页
软件的价值与软件工程的发展_第4页
软件的价值与软件工程的发展_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

页 1 软件的价值与软件工程的发展 一 一 摘要 本文用思考的眼光描述对软件价值的狭义与广义的区分 狭义上来说 软件的价值软 件的价值一定程度上体现在它的售价与开发成本 体现在它所带来的经济价值 广义 来讲 软件的价值源自使用 体现在它所给人们带来的便利 结合学习实践对软件工 程的发展和软件行业的结构进行分析与描述 二 二 经济学角度看待软件的价值经济学角度看待软件的价值 开宗明义 经济学告诉我们 价值的本意是指人类经济产品 关系发展过 程中的人类劳动作用 也可以用通俗易懂的 价格 的概念来理解 价值不仅 仅局限在经济这一方面 在其他方面 也可以体现出不同的价值 今天我们讨论软件的价值与软件工程的发展 首先应当看清在当今这个大 环境下 软件的价值体现在哪些方面 我们不妨从狭义和广义两个方面来看 从狭义上看 软件的价值是指单纯的经济价值 具体体现在软件的销售等 我们每天所接触的软件中就涉及了许许多多软件的这些经济价值 不知不觉中 其实我们也是软件的消费者 为软件的价值贡献些许 而从广义上看 软件的 价值体现在对国民经济诸多领域的巨大贡献 小到我们身边超市的收银记账软 件 大到银行的管理系统 软件在各行各业都体现出了极大的优势 它加速了 信息化高效率的进程 使我们的生活更加便捷 在这个共识之下 我们讨论软 件工程的发展就有了一个大的背景 如何把软件的价值 包括狭义和广义 发展得越来越好 如何让软件更好地为人们服务呢 也许这便是软件发展的目 的也是必然追求 二 二 中国软件市场发展状况及价值体现中国软件市场发展状况及价值体现 我们来看当今现状 软件 IT 计算机可谓是社会上的热词 微博 QQ 微信 智能手机等等字眼也是每天充斥着我们的视野 微博上一则微信即将收费的状 页 2 态的关注度甚至不亚于现今的禽流感 报纸杂志上经常提及一个词 信息时代 确实 这是一个信息爆炸的时代 在教材中说这是 工业化迈向信息化的时代 电脑的普及与网络的深入人心 奠定了这是一个软件极其重要的年代 国家每 年在软件行业的投入可谓是巨大 中国的 IT 企业也如雨后春笋般成长起来 可是 在本世纪初 我国的软件行业经历过一次 互联网泡沫 当时给了 所有狂热者当头一棒 我们反思现状 中国的软件业交出的成绩单确实很漂亮 但是仔细想来是不是有许多值得深思的地方呢 比如我们的游戏行业迟迟打不 出一张够硬的本土牌 我们自己的操作系统迟迟无法得到足够的重视和发展 我们的从业者很难走到行业的前列成为领头羊等等 需要反思的这些问题 也 恰恰是软件工程发展需要重视的问题 三 三 软件价值的个人理解软件价值的个人理解 我对这个问题的看法是 之所以出现这样的情况 是因为中国处在一个社 会转型的阶段 不仅仅是软件行业 许多行业都有盲目追求经济价值的大趋势 这是一件无可厚非的事情 但是软件工程想要发展 必须要看得更远 这样仅 仅看到软件的经济价值 把软件作为一种单纯的用于牟利的商品 是远远不足 以取得长远发展的 所以 我们更应该认识到软件更广更深的价值 不妨同样 从狭义和广义价值两方面来思考 从狭义层面 软件的经济价值不仅仅体现在其商品性之上 如果用软件工 程的发展眼光来看 软件行业不妨可以用建筑业来做比喻 建筑业有地产商 承包商 设计师 工程师 搬砖的工程队等等 软件行业的大趋势向着分工细 化发展 只用代码打天下的想法终将被淘汰 软件获得经济价值的方式也可以 用工程的思想来思考 当职责细化之后 这就是一个比较系统的行业 在此行 业本身之中就有创造经济价值的许多机会 除传统的销售之外 外包 承包等 等新合作模式的出现也是经济价值的体现 另外 在传统的销售中 盗版与反 盗版也是不可避免的重要部分 盗版软件让大家能够不花一分钱就享受到原本 需要付费的服务 因此国内支持使用盗版软件的人很多 为什么中国收入最高 的软件企业华为 一年的销售额还是赶不上其他行业领头羊一年的利润 道理 很简单 不管是中关村还是广埠屯还是珠江路 如果中国每个大大小小的城市 页 3 都能买到 5 块钱一张的操作系统 中国有志做 OS 的企业就永远起不来 因为 他不可能做的成本比 5 块钱更低 不止盗版操作系统 盗版在中国的密集程度 根本没办法统计甚至没办法估计 不得不承认 我现在写这篇报告所使用的 Office 2010 就是盗版 那么软件的价值又在哪里呢 或许苹果的 APP STORE 模 式值得我们思考和反思 当结构细化 分工明确之后 软件行业的销售是不是 也需要与时俱进 找到一个更加科学合理的模式呢 现在我们看到这个趋势已 经初显端倪 软件售价 相关服务的售价 用户的会员制以及软件内嵌广告收 入等等已经使经济价值从单一的售价走向多元化 虽然中国是 windows 操作系 统最便宜的国家 但是正版普及率远不及其他国家 或许当家庭普通版的售价 从三百多降低到几十元 也许这种情况就能够有所改观呢 从广义层面 软件的更广的价值在于信息化社会之中 计算机软件的不可 或缺性 当软件本身越来越复杂的时候 软件工程的概念也就凸显出越来越重 要的地位 搭建一个茅草屋很容易 盖一座高楼大厦很难 没有组织是无法完 成的 当软件本身渗透到国民经济的方方面面的时候 如何高效率地完成要求 是最大的问题 软件工程在做的工作类似于把 游击队 组织成为训练有素的 正规军 当软件危机的出现给了我们教训的之后 有组织 有规划的需求正 是我们所需要的 有了软件工程理论的支撑 将软件的制造进行工程化 工业 化 标准化的改造 能够显著提高软件开发效率 节约开发的成本 也能更好 地满足日益多样化的软件需求 将这个年轻的行业变得更加成熟 就拿 电子 商务与政务 这门课举例 这只是软件所创造的社会价值中一个很小的部分 当各级各部门分层管理又互相连通 形成一站式服务 并使部门信息得到及时 的汇总与共享 这给行政者以及决策者带来的便利是很可观的 而软件工程的 发展必定会将这种优势与便利不断扩大 经济学上讲 利益增长是发展的必然 趋势 软件工程的发展不仅局限于经济 在国家行政以及民生问题上的飞速发 展也是一个很明显的趋势 四 四 软件工程的发展历程软件工程的发展历程 1 面向对象的软件工程 OOSE 自从 1985 年首次提出面向对象的概念以来 面向对象技术作为一种全新的 页 4 软件开发方法开始在软件工程领域越来越被广泛使用 80 年代末 90 年代初 面向对象的软件工程方法呈现百花齐放 百家争鸣的局面 其中 引人注意的 是 Booch Rumbaugh 和 Jacobson 为代表的三种面向对象技术 这三种主要的 面向对象方法各有优缺点 而希望采用面向对象方法的用户并不深知这些方法 的优缺点及相互之间的差异 因而很难根据应用特点选择合适的建模方法和建 模语言 于是 出现了 UML 面向对象技术在软件工程领域的全面应用即是面 向对象的软件工程方法 它包括面向对象的分析 OOA 面向对象的设计 OOD 面向对象的编程 OOP 面向对象的测试 OOT 和面向对象的软件维护 OOSM 等 主要内容 面向对象的分析和设计建模技术是面向对象软件工程方法的重要组 成部分 2 OOA 的基本任务是针对问题域和系统责任 运用 OO 方法 建立一个反映 问题域的 OOA 模型 不考虑与系统实现有关的因素 包括编程语言 图形用户 界面 数据库等等 从而使 OOA 模型独立于具体实现 OOD 的基本任务是根据已确立的系统对象模型 运用面向对象技术 进行 系统软件设计 其中包括两方面的工作 一是把 OOA 模型直接搬到 OOD 做为 OOD 的一个部分 二是针对具体实现中的人机界面 数据存储 任务管理等因 素补充一些与实现有关的部分 这些部分与 OOA 采用相同的表示法和模型结构 从 OOA 到 OOD 不存在转换 只有很局部的修改或调整 并增加几个与实现有 关的独立部分 OOA 与 OOD 的工作是连续的 无缝的 允许有一定的相交 也 允许从 OOD 返回到 OOA OOP 的工作就是用同一种面向对象的编程语言把 OOD 模型中的每个成分书 写出来 OOT 即是对于用 OO 技术开发的软件 在测试过程中继续运用 OO 的概念 和原则 进行以对象概念为中心的软件测试 OOSM 面向对象的软件工程方法为改进软件维护提供了有效的途径 程 序与问题域一致 各个阶段的表示一致 从而大大降低了理解的难度 系统中 最容易变化的因素 功能 作为对象的服务封装在对象内部 对象的封装性使一个 对象的修改对其他影响很小 从而避免了波动效应 OOSE 可较好的描述系统与其用户之间的信息交换机制 即用于向软件系统 页 5 提出需求后 软件系统完成这项需求的过程 OOSE 方法遵循瀑布式的软件开发 过程 首先是描述与系统交互有关的用户视图 然后建立分析模型 最后的构 造过程则完成交互设计 实现和测试 OOSE 方法的最大特点是面向用例 用例 use case 代表某些用户可见的 功能 实现一个具体的用户目标 用例代表一类功能而不是使用该功能的某一 具体实例 用例是精确描述需求的重要工具 贯穿于整个软件开发过程 包括 对系统的测试和验证过程 2 基于组件的软件工程 CBSE 如何更好地实现软件重用一直是软件工程的重要研究课题 OO 技术的出现 是软件开发技术的巨大进步 但怎样实现大粒度的重用以提高软件的可维护性 和可扩展性仍是一个难题 CBSE 的发展从根本上解决这一问题 由于 COM DCOM JavaBeans EJB 等组件标准的出现 CBSE 趋向实用 1990 年开始 在基于面向对象技术的基础上发展了组件技术 它丰富了重用手段和方法 逐 渐成为研究的热点 组件 Component 是可用来构成软件系统的即插即用 plug and play 的软件成分 是可以独立地制造 分发 销售 装配的二进制软 件单元 CBSE 是指用装配可重用软件组件的方法来构造应用程序 它包含了系 统分析 构造 维护和扩展的各个方面 在这些方面中都是以组件方法为核心 的 与传统的软件重用方法比较 CBSE 有以下特点 4 1 即插即用 组件可以方便地集成于框架中 不用修改代码 也不用重新 编译 2 以接口为核心 组件的接口和实现是分离的 组件通过接口实现与其他 组件的框架的交互 组件的具体实现被封装在内部 组装者只关心接口 不必 知道其实现细节 3 标准化 组件的接口必须严格地标准化 这是组件技术成熟的标志之一 目前主要的组件标准有 Microsoft 的 COM DCOM Java 的 JavaBeans 和 EJB OMG 组织的 COR BA 可以说 计算机界很久以前就有用组件来装配成应 用软件的想法 但始终未能成为现实 其中的一个主要原因是组件标准的缺乏 正是由于出现了以上较为成熟的组件标准 才使得 CBSE 由梦想走向现实 页 6 4 组件通过市场销售和分发 大量成熟的组件可以通过市场购得 市场的 竞争机制也可以保证组件生产的质量的提高 种类的增加和价格的降低 CBSE 的意义 5 1 CBSE 从根本上改变了软件生产方式 正是福特创造了汽车的流水线制造法 才开创了工业化大规范生产的新纪 元 而福特制造的精髓就是将汽车生产的重点从制造每一个零件转到装配 汽 车制造者不必自己设计制造每一个零件 大部分零件由外购而来 过去的软件 生产方式与旧的汽车生产方式十分相似 开发者往往要编写程序中的绝大多数 代码 因此 如果能实现像组装汽车或机器一样地进行软件开发 将是软件工 程的巨大进步 2 CBSE 提高了软件重用率 保护了已有的投资 生产好的组件可以分发销售给多个其他用户 一方面大大降低单个组件的 成本 另一方面大大降低软件开发中的重复劳动 目前在各家企事业单位中存 在着许多旧的计算机软件系统 可以将这些系统分成模块后通过组件技术封装 起来 成为新系统的组成部分 这种通过标准的接口将旧的程序代码隐藏起来 的做法 巧妙地保护了已有的软件投资 3 CBSE 使开发者将更多的注意力放到业务流程和业务规则上去 由于开发者的主要工作是构造框架和装配组件 使他们可以摆脱编程的细 节问题 将更多的精力投入到与用户交流 另外 一切业务管理者也可以在更 高的层次上 用偏近于业务而不是偏近于计算机的语言进行讨论 4 CBSE 开发的系统的维护十分方便 由于 CBSE 是模块化开发 如果某个模块需要修改 只需用修改好的模块替 换掉以前的模块 不用重新编译整个系统 若想扩展系统的功能 也只需将符 合框架的约束条件的接口要求的扩展模块直接加入到该系统即可 由此可见 CBSE 开发的系统的维护和升级都十分方便 5 CBSE 降低了对系统开发者的要求 尽管 CBSE 没有消除系统开发者和使用者之间的分界线 但却移动了这条分 界线 这是因为 CBSE 的开发者主要任务是装配已有模块 不需要有很高的编程 技巧 从而使更多的人可以构造适用于自己的系统 在开发环境中 仅仅在构 页 7 造组件时才需要对编程语言的熟悉和高超的技巧 3 面向服务的软件工程 SOSE 随着网络技术的普及与网络技术的发展 以网络为基础的信息系统应用 与服务已成为国民经济可持续发展 社会生活与国家安全保障的重要支柱 我 们正在走向面向服务的软件工程 SOSE 时代 面对市场需求的快速变化 要求企业系统具有敏捷服务 快速重构 资源 重用及自由扩充等特点 这样就应运而生了面向服务的架构 Service Oriented Architecture SOA 7 它定义了构成系统的服务 通过描述服务之间的交互 提供特定的功能特性 并且将服务映射为具体的某种实现技术 SOA 的核心概 念是服务 即把软件的某些功能独立出来 使之能独立运行 并且在逻辑关系 上和运行的应用系统成为一个层次 它接受来自所有授权对象的请求 使得服 务可以同时为多个应用程序提供相同的功能 大大增大软件复用程度 减少开 发和维护成本 一个服务是服务提供者为实现服务请求而执行的一个工作单元 应用程序 是一些良定义的操作 也就是说 一个服务实现了一个应用的功能 它是一个粗粒度的 可发现的软件实体 通过一组松散耦合和基于消息的模型 与其它的应用或服务交互 8 如图 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论