[重视项目收尾踢好软件开发临门一脚]历时一年多的软件开发项目终于快要结束了,对我来说这意味着没日没夜疯狂加班的苦日子要熬到头了。开发组成员接二连三地相互表示祝贺,看到这种情况我一脸苦笑,快要看到胜利的曙...+阅读
与传统的软件开发方式相比,基于构件的软件开发方法有什么突破呢? 一、体系结构 软件体系结构代表了系统公共的高层次的抽象,它是系统设计成败的关键。其设计的核心是能否使用重复的体系模式。传 统的应用系统体系结构从基于主机的集中式框架,到在网络的客户端上通过网络访问服务器的框架,都不能适应目前企业所处的商业环境,原因是: 企业过分地依赖于某个供应商的软件和硬件产品。这种单一供应商使得企业难以利用计算供应商的免费市场,将计算基础设施的重要决定交给第三方处理,这显然不利于企业在合作伙伴之间共享信息。 不能适应远程访问的分布式、多层次异构系统。 封装的应用系统在出现某种组织需要时,难以用定制来维护系统,从而难以满足多变的需求。 不能实现分析、设计核心功能重用,最多只能实现代码重用。 如今,应用系统已经发展成为在Intranet和Internet上的各种客户端可远程访问的分布式、多层次异构系统。CBSD为开发这样的应用系统提供了新的系统体系结构。它是标准定义的、分布式、模块化结构,使应用系统可分成几个独立部分开发,可用增量方式开发。 这样的体系结构实现了CBSD的以下几点目标: 能够通过内部开发的、第三方提供的或市场上购买的现有构件,来集成和定制应用软件系统。 鼓励在各种应用系统中重用核心功能,努力实现分析、设计的重用。 系统都应具有灵活方便的升级和系统模块的更新维护能力。 封装最好的实践案例,并使其在商业条件改变的情况下,还能够被采用,并能保留已有资源。 由此看出,CDSD从系统高层次的抽象上解决了复用性与异构互操作性,这正是分布式网络系统所希望解决的难题。二、开发过程 传统的软件开发过程在重用元素、开发方法上都与CBSD有很大的不同。虽然面向对象技术促进了软件重用,但是,只实现了类和类继承的重用。在整个系统和类之间还存在很大的缺口。为填补这个缺口,人们曾想了许多方法,如系统体系结构、框架、设计模式等。 自从构件出现以来,软件的重用才得到了根本改变。CBSD实现了分析、设计、类等多层次上的重用。图1显示了它的重用元素分层实现。在分析抽象层上,重用元素有子系统、类;在设计层上重用元素有系统体系结构、子系统体系结构、设计模式、框架、容器、构件、类库、模板、抽象类等。 在软件开发方法上,CBSD引导软件开发从应用系统开发转变为应用系统集成。建立一个应用系统需要重用很多已有的构件模块,这些构件模块可能是在不同的时间、由不同的人员开发的,并有各种不同的用途。在这种情况下,应用系统的开发过程就变成对构件接口、构件上下文以及框架环境一致性的逐渐探索过程。例如,在J2EE平台上,用EJB框架开发应用系统,主要工作是将应用逻辑,按session Bean、entity Bean设计开发,并利用JTS事务处理的服务实现应用系统。其主要难点是事务划分、构件的部署与开发环境配置。概括地说,传统的软件开发过程是串行瀑布式、流水线的过程;而CBSD是并发进化式,不断升级完善的过程。图2显示了它们的不同。 三、软件方法学 软件方法学是从各种不同角度、不同思路去认识软件的本质。传统的软件方法学是从面向机器、面向数据、面向过程、面向功能、面向数据流、面向对象等不断创新的观点反映问题的本质。整个软件的发展历程使人们越来越认识到应按客观世界规律去解决软件方法学问题。直到面向对象方法的出现,才使软件方法学迈进了一大步。但是,高层次上的重用、分布式异构互操作的难点还没有解决。CBSD发展到今天,才在软件方法学上为解决这个难题提供了机会。它把应用业务和实现分离,即逻辑与数据的分离,提供标准接口和框架,使软件开发方法变成构件的组合。因此,软件方法学是以接口为中心,面向行为的设计。图3是其开发过程。 归纳起来,CBSD的软件开发方法学应包括下面几方面: 对构件有明确的定义。 基于构件的概念需要有构件的描述技术和规范,如UML、JavaBean、EJB、Servlet规范等。 开发应用系统必须按构件裁剪划分组织,包括分配不同的角色。 有支持检验构件特性和生成文档的工具,确保构件规范的实现和质量测试。 总之,传统的软件方法学从草稿自顶向下进行,对重用没有提供更多的辅助。CBSD的软件方法学要丰富得多,它是即插即用,基于体系结构,以接口为中心,将构件有机组合,它把自顶向下和自底向上方法结合起来进行开发。 四、开发组织机构 传统软件的开发组织一般由分析员、设计员、程序员和测试员组成。对一个小的应用系统来说,一个熟练的开发人员,可能兼顾以上多个角色。但对CBSD来说,因为构件开发与应用系统集成往往是分开进行的,因此整个开发过程由六个角色来完成,他们是: 构件开发者 也是构件供货商,这些大多数是中间件构件提供(续致信网上一页内容)者。 应用构件集成者 针对某应用领域将已有构件组合成更大的构件模块或容器, 作为系统部署的基本单元。 应用系统部署者 将系统部署基本单元放入选定的平台环境或基本框架中,完成软件定制的要求。 开发平台服务器供应商 提供...
以下为关联文档:
集思软件开发集思软件开发(深圳)有限公司招聘集思软件开发(深圳)有限公司成立于2004年(简称ICIL),隶属于联邦航空货运集团公司(UFREIGHT),主要从事物流业计算机应用软件开发、咨询,系统集成等业务,...
软件开发型信息化项目监理怎么做一、三种类型的信息化监理项目介绍 按照信息化工程项目本身的特点,信息化工程项目监理可以划分为三类:硬件网络集成项目的监理、软件产品实施型信息化项目的监理以及软件开发...
软件开发类あたい値/值,价值 いがい以外/以外 じぶん自分/自己 いぜん以前/以前 しゃきょく社局/社局 いち位置/位置 しゅうかん習慣/习惯 うりあげ売上/销售额 えいぎょう営業/营业...
软件开发程序员技术支持的岗位职责及岗位要求职位描述: (1) 负责软件项目的全过程实施,制订项目实施计划,确保项目按期实施; (2) 协调和处理客户、最终用户和公司其他部门的各类关系和资源,解决项目实施过程中的各类问题,确保...
国标软件开发设计报告或软件开发技术报告的模板软件开发环境(Software Development Environment,SDE)是指在基本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具...
哥在软件开发公司求分享一份年终总结啊好纠结啊软件开发前期是期望,后期是观望; 总结一年的开发过程: 开头简叙:主要写软件开发的展望,软件对社会的影响 无非是软件在开发前期的,一年前的想法和期望,和现在对开发软件的看法!无需...
重构与模式敏捷软件开发领域驱动设计企业应用架构模式应当上述这些东西基本上都是提取内核的精华,王怀民,需在工程师职位干上5年+1,先把代码写对,俗话说.《敏捷软件开发》Robert C,周斌 译 不解释 至于学习方法.《重构与模式》Joshua Ker...