分享
 
 
 

如何学习CBD/CBSE?

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

如何学习CBD/CBSE?

作者: 贾育

email: jia_yu@263.net

[版权所有 任何形式的拷贝和引用必须得到作者的许可]

关于怎样学习CBD/CBSE(Component-Based Development/ Component-Based Software Engineering,基于构件的软件开发/基于构件的软件工程),我也是摸着石头过河,随便说几句,仅供参考:

一. 知识基础:

首先你必须掌握软件工程知识、特别是当前软件工程的新理论、新方法和新技术,传统的软件工程的内容我想计算机专业的学生都学过,其实大多数中文教材作为入门都可以,这里我推荐Roger S. Pressman的Software Engineering, A Practitioner’s Approach, Fourth Edition. (国内有机械工业版的中译本《软件工程—实践者的研究方法》,黄柏素等译),内容比一本教材深入一些,新一些。如果要想全面了解软件工程最新的理论和实践,理所当然是周之英的《现代软件工程》,虽然我认为这本书在深度上还可以提高,而且由于是从一些论文编译来的,一些章节的内容有些零散,但总的来说大的方面没有遗漏,一个人出这样一本书一定是很辛苦的。闲话少说,我认为你起码必须学习以下的一些知识:面向对象方法学、软件体系结构、软件复用、领域工程,可能的话还有:需求工程、设计模式、软件过程控制(CMM,个人和小组过程)、形式化方法(推荐大家学一学Z语言),是不是要累死你了,没办法谁让你干这个辛苦行当,而且又其乐融融让你自觉自愿地舍身取义。

推荐文献:

-《The Future of Software Engineering》非常好的综述,几乎涉及了软件工程的所有方面,可以读你感兴趣的领域,文中推荐的网上资源也很好。

- A Comparison of Object Oriented Development Methodologies,http://www.toa.com/smnn?mcr.html,面向对象方法学大全,可以查到各种OO方法,以及对它们的比较。

-软件体系结构

Rick Kazman,Software Architecture,Handbook of Software Engineering and Knowledge Engineering 介绍了主要的SA的概念和观点,可以结合《The Future of Software Engineering》里Galan的文章一起看。

Felix Bachmann et al, The Architecture Based Design Method, TECHNICAL REPORT CMU/SEI-2000-TR-001和 Len Bass et al, Architecture-Based Development TECHNICAL REPORT CMU/SEI-99-TR-007 这两篇CMU的技术报告系统介绍了SA的设计和开发方法,给出了SA工程化的可操作的方法。

Mary Shaw,Some Patterns for Software Architectures,介绍了多种体系结构风格,这里比在她的专著Software Architectures中要更加全面、规范,这部分是原著的精华,非常有启发性。

-软件复用

Software Reuse Initiative, http://dii-sw.ncr.disa.mil/reuseic/pol-hist/primer/ 入门级教材

Hafedh Mili et al,Reusing Software: Issues And Research Directions 内容充实,观点深刻,指导性很强,可惜插图看不到。

DEPARTMENT of DEFENSE SOFTWARE REUSE INITIATIVE TECHNOLOGY ROADMAP Version 2.2 http://dii-sw.ncr.disa.mil/reuseic/pol-hist/Roadmap/Cover.html 全面介绍了复用原理和技术,状况、方向分析十分透彻。

其他领域没有以上这两个密切,但也可CBD有关,我以后再介绍,否则喧宾夺主了。

二. 实践基础

软件工程有理论,但更重要的是实践。它的许多方法只能在实际项目中才能体会,我周围一些没有工作经验的软工硕士大谈软工无用论时,唉,只能嗤之以鼻。

你至少要掌握一门面向对象编程语言,最好是JAVA,然后去做一个项目(可以小“题”大做)。你需要学习CORBA、COM/DECOM(现在是MS 的Web Service)和JAVABEAN/EJB(似乎J2EE提法简洁一些,可大家都这么说)之一,尝试去写一些分布式对象,注意,构件的内涵不止面向对象,好在他们正朝着构件技术发展,例如CORBA CCM。建议大家学一学CORBA, 开发工具可以用VisiBroker。你还要学一点UML,现在有人提出把UML作为CBD的建模工具,无论出于什么目的,UML对你肯定有帮助;至于Web Service,如果你有兴趣,自然少不了SOAP之类的新玩意(涉及不深,不敢乱说)。

推荐文献:

- CORBA

Sams Teach Yourself CORBA in 14 Days,入门教材

The Common Object Request Broker: Architecture and Specification,OMG的CORBA规范,很厚的一本大部头,也很枯燥,也有了中译本,其实还是原文更准确,英文技术手册文字都不是很难。

CORBA Comparison Project: Final Report德国和捷克两个研究机构的CORBA开发工具比较报告, 介绍了ORL OMNIORB、IONA ORBIX和INTERPRISE VISIBROKER,挺好。

CORBA方面的资料太多,可以去OMG的网站去找: http://www.omg.org/

- J2EE

张志伟等译,J2EE 构件企业系统,清华大学出版社,很全面,可惜没有电子版。如果看原版的J2EE技术蓝皮书会很辛苦。

- COM/DCOM我不很熟,曾推荐了一组.NET和Web Service的文章,大家可以读一读。

- UML

首推《UML用户手册》,邵维忠等在1999年第4期“计算机研究与发展”上的综述《统一建模语言UML述评》也非常好。

UML在构件上的应用请看Desmond D'Souza 的Catalysis -- Objects, Components and Frameworks with UML, 该书没有电子版,不过网上可以找到相关的论文。

开发工具各取所好,VisiBroker 和Delph 6网上都有,需要的话我可以上传下载网址, CORBA方面它们的商品化水准最高。

三. CBD的常见术语和概念

CBD学习当然要从概念开始,因为是一门新学科(或只能称为新方向),相关概念多得有时让人丈二和尚摸不着头脑,罗列一些,供大家参考:

构件(component)、构架(Software Architecture)、框架(framework)、构件框架/构件基础设施(component framework/component Infrastructure)、对象/分布式对象(Object /Distributed OO)、接口/接口描述语言(interface/IDL)、应用工程(Application Engineering)、领域工程(Domain Engineering)、契约(contract)、COTS(我译为“商业成品构件”,怎么样?)、中间件(middleware)、连接件/端口/角色(connector/port/role)、产品线/产品族(Product Line/Product Family)、子系统(Subsystem)、服务/网络服务(service/web service)、构件适应/配置/部署(Component adaptation/configuration/deployment)、构件容器(container)、对象请求代理ORB(Object Request Broker)、设计模式(design pattern)、SOC/AOP/SOP(separation of concerns/Aspect-Oriented Programming/Subject-Oriented Programming),合成和生成复用(compositional/generative reuse),可复用资产(Reusable Asserts), 遗产系统(legacy)、企业应用集成( Enterprise Application Integration)、包装(wrap)、粒度(granularity)…….

然后了解CBD/CBSE的每个过程的目的、任务和活动:构件获取-构件评价-构件适应-构件部署-系统集成-系统运行-构件维护-构件升级。

我总结的CBD研究方向:(a)构件模型和构件表示;(b)软件构架技术;(c)构件库和构件获取;(d)构件的评价和度量;(e)构件的适应和演化;(f)构件的集成和连接;(g)CBD过程和管理,如果你想研究,你可以挑一个你感兴趣的方向开始工作,如果你想应用,那么这些知识就像软件工程和编程语言的关系,修行就得看各人了。

推荐几篇论文。

(1)入门

考虑到中文好读一些,首推计算机世界日报的99年3月15日的专题报道“软件复用”,非常好的一组入门级文章。还有对中科院软件所李京的专访也挺好:《分布对象技术的新进展》(微电脑世界2000年33期)。

《基于构件开发的11个步骤》(11 Steps to Component Based Development URL:http://www.flashline.com/content/steps/steps.jsp?sid=986880017671-3396000210-150);普及性的资料集,内容很丰富,偏向于技术介绍。

Faisal Siddiqui,CBSE: A look at reusable software components;很规矩的概述。

Component Software Glossary;构件软件术语表, 现在新的软件术语层出不穷,去那里看看能不能找到解释。

Alan Brown, An Introduction to Component-Based Development;

Brown的讲稿,学习CBD的快餐。

Brown写了很多关于构件论文和专著,到这里找:http://www.alanbrown.net/online.html

(2)提高

Mälardalen University的Component Based Software Engineering - State of the Art report, 一个非常好的论文集,里面很多是CBD研究者所关心的,该学校设有CBD的博士学位,关于CBD的教学问题,也即学习问题,它们给出了一个全面系统的方案。

1998~2000 International Workshop on Component-Based Software Engineering; 会议论文集,有几十篇短文(以后我会挑一些出来点评)。

说明:

(1)以上推荐的文献都是一些实用的论文,并不取决它的权威性,一些经典的论文,例如软件体系结构方面,应该看David Garlan和Mary Shaw的Software Architecture: perspectives on an emerging discipline, 以及 Dewayne E. Perry 和Alexander L. Wolf 的 Foundations for the Study of Software Architecture,但是它们绝没有Rick Kazman 的Software Architecture内容新、综合全面,文章也短一些。

(2)除特别说明,所有文章均取自网上,有些我已上传,没有的,如果谁急需请告诉我。

(3)应网友请求匆忙成文,我会不断修订,权当版本1.0,请各位DX多提意见。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有