软件的价值与软件工程的发展

上传人:pu****.1 文档编号:552805780 上传时间:2022-09-15 格式:DOCX 页数:9 大小:31.98KB
返回 下载 相关 举报
软件的价值与软件工程的发展_第1页
第1页 / 共9页
软件的价值与软件工程的发展_第2页
第2页 / 共9页
软件的价值与软件工程的发展_第3页
第3页 / 共9页
软件的价值与软件工程的发展_第4页
第4页 / 共9页
软件的价值与软件工程的发展_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《软件的价值与软件工程的发展》由会员分享,可在线阅读,更多相关《软件的价值与软件工程的发展(9页珍藏版)》请在金锄头文库上搜索。

1、软件的价值与软件工程的发展一、摘要:本文用思考的眼光描述对软件价值的狭义与广义的区分。狭义上来说,软件的价值软件 的价值一定程度上体现在它的售价与开发成本,体现在它所带来的经济价值,广义来讲, 软件的价值源自使用,体现在它所给人们带来的便利。结合学习实践对软件工程的发展 和软件行业的结构进行分析与描述二、经济学角度看待软件的价值开宗明义,经济学告诉我们,价值的本意是指人类经济产品、关系发展过程 中的人类劳动作用,也可以用通俗易懂的“价格”的概念來理解。价值不仅仅局 限在经济这一方面,在其他方面,也可以体现出不同的价值。今天我们讨论软件的价值与软件工程的发展,首先应当看清在当今这个大环 境下,软

2、件的价值体现在哪些方面。我们不妨从狭义和广义两个方面來看。从狭义上看,软件的价值是指单纯的经济价值,具体体现在软件的销售等。 我们每天所接触的软件中就涉及了许许多多软件的这些经济价值。不知不觉中其 实我们也是软件的消费者,为软件的价值贡献些许。而从广义上看,软件的价值 体现在对国民经济诸多领域的巨大贡献:小到我们身边超市的收银记账软件,大 到银行的管理系统,软件在各行各业都体现出了极大的优势,它加速了信息化高 效率的进程,使我们的生活更加便捷。在这个共识之下,我们讨论软件工程的发 展就有了一个大的背景:如何把软件的价值一一包括狭义和广义,发展得越來越 好,如何让软件更好地为人们服务呢?也许这便

3、是软件发展的目的也是必然追求。二、中国软件市场发展状况及价值体现我们来看当今现状。软件、IT、计算机可谓是社会上的热词。微博QQ微信 智能手机等等字眼也是每天充斥着我们的视野,微瞎上一则微信即将收费的状态 的关注度共至不亚于现今的禽流感。报纸杂志上经常提及一个词“信息时代”,页1 确实,这是一个信息爆炸的时代。在教材中说这是“工业化迈向信息化的时代”。 电脑的普及与网络的深入人心,奠定了这是一个软件极其重要的年代。国家每年 在软件行业的投入可谓是巨大,中国的IT企业也如雨后春笋般成长起來。可是,在本世纪初,我国的软件行业经历过一次“互联网泡沫”,当时给了 所有狂热者当头一棒。我们反思现状,中国

4、的软件业交出的成绩单确实很漂亮, 但是仔细想來是不是有许多值得深思的地方呢?比如我们的游戏行业迟迟打不 出一张够硬的本土牌;我们自己的操作系统迟迟无法得到足够的重视和发展;我 们的从业者很难走到行业的前列成为领头羊等等。需要反思的这些问题,也恰恰 是软件工程发展需要重视的问题。三、软件价值的个人理解我对这个问题的看法是,之所以出现这样的情况,是因为中国处在一个社会 转型的阶段,不仅仅是软件行业,许多行业都有盲目追求经济价值的大趋势。这 是一件无可厚非的事情,但是软件工程想要发展,必须要看得更远。这样仅仅看 到软件的经济价值,把软件作为一种单纯的用于牟利的商品,是远远不足以取得 长远发展的。所以

5、,我们更应该认识到软件更广更深的价值。不妨同样从狭义和 广义价值两方面來思考。从狭义层面,软件的经济价值不仅仅体现在其商品性之上。如果用软件工程 的发展眼光來看,软件行业不妨可以用建筑业来做比喻。建筑业有地产商、承包 商、设计师、工程师、搬砖的工程队等等,软件行业的大趋势向着分工细化发展, 只用代码打天下的想法终将被淘汰。软件获得经济价值的方式也可以用工程的思 想來思考。当职责细化之后,这就是一个比较系统的行业,在此行业本身之中就 有创造经济价值的许多机会。除传统的销售之外,外包、承包等等新合作模式的 出现也是经济价值的体现。另外,在传统的销售中,盗版与反盗版也是不可避免 的重要部分。盗版软件

6、让大家能够不花一分钱就亭受到原本需要付费的服务,因 此国内支持使用盗版软件的人很多。为什么中国收入最高的软件企业华为,一年 的销售额还是赶不上其他行业领头羊一年的利润?道理很简单,不管是中关村 还是广埠屯还是珠江路,如果中国每个大大小小的城市都能买到5块钱一张的操 作系统,中国有志做OS的企业就永远起不来,因为他不可能做的成本比5块钱 页2 更低。不止盗版操作系统,盗版在中国的密集程度根本没办法统计英至没办法估 计。不得不承认,我现在写这篇报告所使用的Office 2010就是盗版。那么软件 的价值乂在哪里呢?或许苹果的APP STORE模式值得我们思考和反思。当结构细 化,分工明确之后,软件

7、行业的销售是不是也需要与时俱进,找到一个更加科学 合理的模式呢?现在我们看到这个趋势己经初显端倪,软件售价,相关服务的售 价,用户的会员制以及软件内嵌广告收入等等已经使经济价值从单一的售价走向 多元化。虽然中国是windows操作系统最便宜的国家,但是正版普及率远不及 其他国家,或许当家庭普通版的售价从三百多降低到儿十元,也许这种情况就能 够有所改观呢?从广义层面,软件的更广的价值在于信息化社会之中,计算机软件的不可或 缺性。当软件本身越来越复杂的时候,软件工程的概念也就凸显出越來越重要的 地位。搭建一个茅草屋很容易,盖一座高楼大厦很难。没有组织是无法完成的。 当软件本身渗透到国民经济的方方面

8、面的时候,如何高效率地完成要求是最大的 问题。软件工程在做的工作类似于把“游击队”组织成为训练有素的“正规军”。 当软件危机的出现给了我们教训的之后。有组织、有规划的需求正是我们所需要 的。有了软件工程理论的支撑,将软件的制造进行工程化、工业化、标准化的改 造,能够显著提高软件开发效率,节约开发的成本。也能更好地满足日益多样化 的软件需求,将这个年轻的行业变得更加成熟。就拿电子商务与政务这门课 举例,这只是软件所创造的社会价值中一个很小的部分,当各级各部门分层管理 乂互相连通,形成一站式服务,并使部门信息得到及时的汇总与共亨,这给行政 者以及决策者带來的便利是很可观的。而软件工程的发展必定会将

9、这种优势与便 利不断扩大。经济学上讲,利益增长是发展的必然趋势。软件工程的发展不仅局 限于经济,在国家行政以及民生问题上的飞速发展也是一个很明显的趋势。软件工程的发展历程1.面向对象的软件工程(OOSE)自从1985年首次提出面向对象的概念以來,面向对象技术作为一种全新的 软件开发方法开始在软件工程领域越來越被广泛使用。80年代末90年代初,面 向对象的软件工程方法呈现百花齐放、百家争鸣的局面。其中,引人注意的是页3Booch Rumbaugh和Jacobson为代表的三种面向对象技术。这三种主要的面向 对象方法各有优缺点,而希望采用面向对象方法的用户并不深知这些方法的优缺 点及相互之间的差异

10、,因而很难根据应用特点选择合适的建模方法和建模语言。 于是,出现了 UML。面向对象技术在软件工程领域的全面应用即是面向对象的 软件工程方法。它包括面向对象的分析(00A)、面向对象的设计(00D)、面向对象 的编程(OOP)、面向对象的测试(00T)和面向对象的软件维护(OOSM)等主要内容。 面向对象的分析和设计建模技术是面向对象软件工程方法的重要组成部分2。00A的基本任务是针对问题域和系统责任,运用00方法,建立一个反映 问题域的00A模型,不考虑与系统实现有关的因素(包括编程语言、图形用户界 面、数据库等等),从而使00A模型独立于具体实现。00D的基本任务是根据己确立的系统对象模型

11、,运用面向对象技术,进行 系统软件设计。其中包括两方面的工作:一是把00A模型直接搬到00D,做为 00D的一个部分;二是针对具体实现中的人机界面、数据存储、任务管理等因 素补充一些与实现有关的部分。这些部分与00A釆用相同的表示法和模型结构。 从00A到00D不存在转换,只有很局部的修改或调整,并增加儿个与实现有关 的独立部分。00A与00D的工作是连续的、无缝的,允许有一定的相交,也允 许从00D返回到00A。OOP的工作就是用同一种面向对象的编程语言把00D模型中的每个成分书 写出來。00T即是对于用00技术开发的软件,在测试过程中继续运用00的概念和 原则,进行以对象概念为中心的软件测

12、试。OOSMo面向对象的软件工程方法为改进软件维护提供了有效的途径。程序 与问题域一致,各个阶段的表示一致,从而大大降低了理解的难度;系统中最容 易变化的因素(功能)作为对象的服务封装在对象内部,对象的封装性使一个对象 的修改对其他影响很小,从而避免了波动效应。OOSE可较好的描述系统与其用户之间的信息交换机制,即用于向软件系统 提出需求后,软件系统完成这项需求的过程。OOSE方法遵循瀑布式的软件开发 过程,首先是描述与系统交互有关的用户视图,然后建立分析模型,最后的构造 过程则完成交互设计、实现和测试。OOSE方法的最大特点是面向用例。用例(use case)代表某些用户可见的功 能,实现一

13、个具体的用户目标。用例代表一类功能而不是使用该功能的某一具体 实例。用例是精确描述需求的重要工具,贯穿于整个软件开发过程,包括对系统 的测试和验证过程。2基于组件的软件工程(CBSE)如何更好地实现软件重用一直是软件工程的重要研究课题。00技术的出现 是软件开发技术的巨大进步,但怎样实现大粒度的重用以提高软件的可维护性和 可扩展性仍是一个难题,CBSE的发展从根本上解决这一问题:由于C0M/DC0M、 Java Bea ns/EJB等组件标准的出现,CBSE趋向实用。1990年开始在基于面向对象 技术的基础上发展了组件技术,它丰富了重用手段和方法,逐渐成为研究的热点。 组件(Component

14、)是可用來构成软件系统的即插即用(plug and play)的软件成分, 是可以独立地制造、分发、销售、装配的二进制软件单元。CBSE是指用装配可 重用软件组件的方法來构造应用程序。它包含了系统分析、构造、维护和扩展的 各个方面,在这些方面中都是以组件方法为核心的。与传统的软件重用方法比较,CBSE有以下特点4:1) 即插即用。组件可以方便地集成于框架中,不用修改代码,也不用重新编 译。2) 以接口为核心。组件的接口和实现是分离的。组件通过接口实现与其他组 件的框架的交互,组件的具体实现被封装在内部,组装者只关心接口,不必知道 其实现细节。3) 标准化。组件的接口必须严格地标准化,这是组件技

15、术成熟的标志之一, 目前主要的组件标准有Microsoft的C0M/DC0M, Java的JavaBeans和EJB, 0MG 组织的COR-BAc可以说,计算机界很久以前就有用组件来装配成应用软件的想 法,但始终未能成为现实,其中的一个主要原因是组件标准的缺乏。正是由于出 现了以上较为成熟的组件标准,才使得CBSE由梦想走向现实。4) 组件通过市场销售和分发。大量成熟的组件可以通过市场购得,市场的竞 争机制也可以保证组件生产的质量的提高、种类的增加和价格的降低。CBSE的意义:(1) CBSE从根本上改变了软件生产方式正是福特创造了汽车的流水线制造法,才开创了工业化大规范生产的新纪元。 而福

16、特制造的精髓就是将汽车生产的重点从制造每一个零件转到装配,汽车制造 者不必自己设计制造每一个零件。大部分零件由外购而來。过去的软件生产方式 与旧的汽车生产方式十分相似,开发者往往要编写程序中的绝大多数代码。因此, 如果能实现像组装汽车或机器一样地进行软件开发,将是软件工程的巨大进步。(2)CBSE提高了软件重用率,保护了已有的投资生产好的组件可以分发销售给多个其他用户,一方面大大降低单个组件的成 本,另一方面大大降低软件开发中的重复劳动。目前在各家企事业单位中存在着 许多旧的计算机软件系统,可以将这些系统分成模块后通过组件技术封装起來, 成为新系统的组成部分。这种通过标准的接口将旧的程序代码隐藏起來的做法, 巧妙地保护了已有的软件投资。(3)CBSE使开发者将更多的注意力放到业务流程和业务规则上去由于开发者的主要工作是构造框架和装配组件,使他们可以摆脱编程的细节 问题,将更多的精力投入到与用户交流。另外,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号