- 浏览: 1284134 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
yaolixing01:
他山界面开发框架 v22是一套基于Gecko v22 的开源收 ...
Mozilla FireFox Gecko内核源代码解析(3.nsScanner) -
夏雪纷纷:
感谢博主的分享,好东西啊,哈哈哈,收走了一些,谢谢啊哦,对了, ...
DevExpress DXperience Universal 11.1.6 下载+源码+编译+汉化流程+升级+替换强名 -
夏雪纷纷:
最近有个对于DXperience 2013新功能发布、重难点技 ...
TextEdit非空验证设置 DXperience学习笔记 -
bosschen:
我自己把问价加密,密码为为123456,是rar文件。然后用各 ...
30秒破解所有密码 -
sword319:
现在才发现为什么自己这么苦逼了...哗哗的全是泪啊.. ...
为什么我们程序员晋升要这么难!
Component Library Management System Introduction
Index
Component Library Management System Introduction. 1
2. What is component library Management System.. 2
3. Architecture of Component Library Management System.. 3
3.2 Component Search Engine. 5
1. Objective
Nowadays, we are not effective to reuse the existing codes to develop in the new projects. The most projects cause delay because this and that reason. If we can reuse the existing codes in the implement phase, we could reduce the coding defects, short the developing time and testing time and even short the internal design time.
In fact, most new projects can be built by the components from the old projects. But the components scatter the world sites. On most condition it is longer time to find an expected component among the components sea than the developer codes himself. But the new component exist more defects and risks than the certificated component. The worse condition is that the developer even doesn't know where he can search expected components. The most common components functions are saved in brains of the senior engineers but not in the hard disk.
In this article my objective is not to explain why we should reuse the components and how to make a component but to support how to manage a component library and how to make everyone recognize that he/she can retrieval expected components effectively in the component library and make everyone become a component provider of component library.
2. What is component library Management System
<group id="_x0000_s1026" style="MARGIN-TOP: 74.25pt; Z-INDEX: 1; LEFT: 0px; MARGIN-LEFT: 9pt; WIDTH: 6in; POSITION: absolute; HEIGHT: 126pt; TEXT-ALIGN: left" coordorigin="1980,10080" coordsize="8640,2520"></group><oval id="_x0000_s1027" style="LEFT: 7863px; WIDTH: 2757px; POSITION: absolute; TOP: 10080px; HEIGHT: 2160px"></oval><textbox style="mso-next-textbox: #_x0000_s1027"></textbox>
Application |
Component 1 |
Component 2 |
C1.1 |
C1.2 |
Graphic 2.1 Components |
In the component library one component instance include below sections:
- Component model
- Component source code
- Component binary files
- Help documents
- Development documents.
Unfortunately almost we cannot get all of them. We get more, more reusable the component is.
Component library is responsible to describe component, save it and provide the search method so that the component can be found quickly:
- Description: as input section the description of component is complicated. It includes function, interface, method, property, national language, program language, platform, usage, quality level, restriction, performance, author, created info, public license and so on. It must be sure that each information is correct or the reuser cannot gain the expected component. So it is not just to force the component provider provide all information. The description function should have automation to get most information from component instance.
- Storage: components come from different projects, different providers with much different forms every day. The storage function should be strong enough to manage the thousands components. The storage function could save the component binary files, source code files, help files, document and description of the components.
- Retrieval: as output section the retrieval function is responsible to search components quickly and correctly. The retrieval function can be called search engine that provides different type of search method. We can imagine that when a reuser want to find a component that completes neuron network algorithm, he/she would like input “neuron network algorithm” in the function search. Of course it is not only. The reuser then chooses software environment “windows 2000” and chooses program language “C++”. It is clear now that the function searching is important and it should be a full-text searching engine like google. But to reduce the misunderstanding with reuser, the function searching should permit reuser to restriction the scope to window 2000 operation system and C++ language. Such searching can be a simple select sentence in the database. The found component should show reuser its interface, method, property, help, document and other info like author so that reuser can use it correctly and can contact author for help.
Are these three functions all of component library? Of course not. The reality proved the component library organized only three functions cannot be used popularly. The busy developers always forget inputting their components in component library. Even when they remember to do it, they would like inputting all of their components because it cost so much time. Why costs so much time for other people to reuse? The component library without components cannot be called a library. Otherwise the quality of component cannot be assurance.
So the component library should include other functions to solve above problems. Component Library Management System (I call it CLMS) is not one product or one independent product. CLMS is an integration development and management system. It integrates IDE, Model, Component Library and other powerful development tools. From application design phase to service in, CLMS exists everywhere.
3. Architecture of Component Library Management System
The architecture of CLMS is not independent; it depends on IDE like WSAD, Visual Studio, or <place></place>Delphi, model tools like rational rose, source code version control like CVS or VSS, storage database like DB2, Domino Notes, and component development process management like MS project 2000. The modules of CLMS itself contain component input/output module, component search index module, component search engineer, component storage module, component version control, component integration tool.
3.1 Process
In fact, in most case component reuser is also a component provider. In one project when the plan is finished in a project, the design phase begins. According to the user requirement developer abstracts business component model and common component model using model tools, e.g. rational rose. The component model is searched in the CLMS by the search engine to match the similar existed component model. If existed, CLMS will return the component instance. The developer will take a short time to prove if the retrieval component is expected. If not exist, CLMS will save the component model and documents under document version control, it will also prepare for saving the future components source code and other sections. The components that retrieval may be not one expected component, but they are able to compose into one component that complete one function. At this case, component integration tool helps developer to produce component. In the internal phase, the developer begins to find business components and common components. When developer finish design phase, the coding phase begins. The developer has already known if the expected components exist in CLMS. In the coding phase, the developer as a component provider saves the component in CLMS when he/she finish it. Because the trace begins from the design phase, the most information of component has been known by CLMS and what the developer to do is just to push one button to submit the component source code and binary files to the CLMS. Just as the source code version control, In CLMS, component version should also be controlled. The following content will describe how to search component.
3.2 Component Search Engine
Component search engine is the core of CLMS. It enables to search components by providing properties, function sentence or even model graphic. The quantity of searching objects is huge and the content of searching is complicated. So it is necessary to use some algorithm to complete it.
There are three algorithms I would like to adopt to build engine. The first one is faceted classification to classify the component information that would reduce the scope of the full text searching. The second one is clustering analysis algorithm that complete the full text searching and build index for CLMS. The last one is self-organized mapping neural network algorithms that can also complete the full text searching and build index. How to combine these algorithm to search component have described in my paper [1] and my graduate thesis [2].
4. Summary
For using CLMS to improve efficiency and reduce cost, we must remember reuse definition and we reuse anytime. CLMS follows developer every time in development project. The objective of CLMS is to make components saving and searching simple and easy and be shared for all of developers. To do it, CLMS cannot be an isolated product but a set of tools for developer using. CLMS may not only one in one company, but CLMSes should be able to communicate each other. CLMS should be an international tool without area boundary. All of developers should know and use CLMS. Whatever project managers or programmers should have authority to use, create components in the CLMS. Or it loses its meaning to exist.
2. What is component library Management System
<group id="_x0000_s1026" style="MARGIN-TOP: 74.25pt; Z-INDEX: 1; LEFT: 0px; MARGIN-LEFT: 9pt; WIDTH: 6in; POSITION: absolute; HEIGHT: 126pt; TEXT-ALIGN: left" coordorigin="1980,10080" coordsize="8640,2520"></group><oval id="_x0000_s1027" style="LEFT: 7863px; WIDTH: 2757px; POSITION: absolute; TOP: 10080px; HEIGHT: 2160px"></oval><textbox style="mso-next-textbox: #_x0000_s1027"></textbox>
Application |
Component 1 |
Component 2 |
C1.1 |
C1.2 |
Graphic 2.1 Components |
In the component library one component instance include below sections:
- Component model
- Component source code
- Component binary files
- Help documents
- Development documents.
Unfortunately almost we cannot get all of them. We get more, more reusable the component is.
Component library is responsible to describe component, save it and provide the search method so that the component can be found quickly:
- Description: as input section the description of component is complicated. It includes function, interface, method, property, national language, program language, platform, usage, quality level, restriction, performance, author, created info, public license and so on. It must be sure that each information is correct or the reuser cannot gain the expected component. So it is not just to force the component provider provide all information. The description function should have automation to get most information from component instance.
- Storage: components come from different projects, different providers with much different forms every day. The storage function should be strong enough to manage the thousands components. The storage function could save the component binary files, source code files, help files, document and description of the components.
- Retrieval: as output section the retrieval function is responsible to search components quickly and correctly. The retrieval function can be called search engine that provides different type of search method. We can imagine that when a reuser want to find a component that completes neuron network algorithm, he/she would like input “neuron network algorithm” in the function search. Of course it is not only. The reuser then chooses software environment “windows 2000” and chooses program language “C++”. It is clear now that the function searching is important and it should be a full-text searching engine like google. But to reduce the misunderstanding with reuser, the function searching should permit reuser to restriction the scope to window 2000 operation system and C++ language. Such searching can be a simple select sentence in the database. The found component should show reuser its interface, method, property, help, document and other info like author so that reuser can use it correctly and can contact author for help.
Are these three functions all of component library? Of course not. The reality proved the component library organized only three functions cannot be used popularly. The busy developers always forget inputting their components in component library. Even when they remember to do it, they would like inputting all of their components because it cost so much time. Why costs so much time for other people to reuse? The component library without components cannot be called a library. Otherwise the quality of component cannot be assurance.
So the component library should include other functions to solve above problems. Component Library Management System (I call it CLMS) is not one product or one independent product. CLMS is an integration development and management system. It integrates IDE, Model, Component Library and other powerful development tools. From application design phase to service in, CLMS exists everywhere.
3. Architecture of Component Library Management System
The architecture of CLMS is not independent; it depends on IDE like WSAD, Visual Studio, or <place></place>Delphi, model tools like rational rose, source code version control like CVS or VSS, storage database like DB2, Domino Notes, and component development process management like MS project 2000. The modules of CLMS itself contain component input/output module, component search index module, component search engineer, component storage module, component version control, component integration tool.
3.1 Process
In fact, in most case component reuser is also a component provider. In one project when the plan is finished in a project, the design phase begins. According to the user requirement developer abstracts business component model and common component model using model tools, e.g. rational rose. The component model is searched in the CLMS by the search engine to match the similar existed component model. If existed, CLMS will return the component instance. The developer will take a short time to prove if the retrieval component is expected. If not exist, CLMS will save the component model and documents under document version control, it will also prepare for saving the future components source code and other sections. The components that retrieval may be not one expected component, but they are able to compose into one component that complete one function. At this case, component integration tool helps developer to produce component. In the internal phase, the developer begins to find business components and common components. When developer finish design phase, the coding phase begins. The developer has already known if the expected components exist in CLMS. In the coding phase, the developer as a component provider saves the component in CLMS when he/she finish it. Because the trace begins from the design phase, the most information of component has been known by CLMS and what the developer to do is just to push one button to submit the component source code and binary files to the CLMS. Just as the source code version control, In CLMS, component version should also be controlled. The following content will describe how to search component.
3.2 Component Search Engine
Component search engine is the core of CLMS. It enables to search components by providing properties, function sentence or even model graphic. The quantity of searching objects is huge and the content of searching is complicated. So it is necessary to use some algorithm to complete it.
There are three algorithms I would like to adopt to build engine. The first one is faceted classification to classify the component information that would reduce the scope of the full text searching. The second one is clustering analysis algorithm that complete the full text searching and build index for CLMS. The last one is self-organized mapping neural network algorithms that can also complete the full text searching and build index. How to combine these algorithm to search component have described in my paper [1] and my graduate thesis [2].
4. Summary
For using CLMS to improve efficiency and reduce cost, we must remember reuse definition and we reuse anytime. CLMS follows developer every time in development project. The objective of CLMS is to make components saving and searching simple and easy and be shared for all of developers. To do it, CLMS cannot be an isolated product but a set of tools for developer using. CLMS may not only one in one company, but CLMSes should be able to communicate each other. CLMS should be an international tool without area boundary. All of developers should know and use CLMS. Whatever project managers or programmers should have authority to use, create components in the CLMS. Or it loses its meaning to exist.
相关推荐
Axure最全组件库 10PX Android.rplib android widget by YEFAN.rplib Android手机外壳及UI组件库.rplib Android组件库.rplib Axure RP社交网络元素库.rplib AxureRP-win7phone-AxureRP-Library.rplib Axure反馈表单....
Ipad Axure组件库,很全的组件库,适合交互原型的制作。
该组件库是axure原型设计软件中常用的组件,简洁,大方,好看。其中包括平板,ipad的使用组件,特别棒,在此分享给大家。
Axure组件库.rar
axure元件库,后台管理系统的,侧重与模块化版块,还有输入输出,文件上传,数据导图相关
Axure组件库 手绘组件库 Sketchy Axure Widgets.rplib Scoder Hand.ttf Android-Axure-Widgets Android.rplib iPhone-Axure-Widgets ipad.rplib iPhone-Bodies.rplib iPhone-Horizontal.rplib iPhone-UI.rplib Yahoo...
vue后端管理系统界面 基于ui组件iview
cui组件-web前端jquery组件库
组件管理工具系统,作为新一代国产化高分平台设计工具服务中重要的协助组件管理工具系统,主要为渲染服务和设计工具软件中所有使用的组件提供可视化管理服务,此工具系统在国产化高分平台渲染服务和设计工具软件功能...
AxureUX WEB端交互原型通用组件模板库 v3 (组件列表) AxureUX WEB端交互原型通用组件模板库 v3 (组件列表) AxureUX WEB端交互原型通用组件模板库 v3 (组件列表) AxureUX WEB端交互原型通用组件模板库 v3 (组件列表) ...
android安卓组件库android安卓组件库android安卓组件库
前端组件管理系统,前端基于Vue2/Vue-router/Vuex实现,界面基于Flow-UI实现,后端基于野狗云实现。
AXURE RP 8 常用的组件库 包含bootstrap风格库和elemant 风格
系统必备组件下载常用运行库合集64位,win7,食住玩
GoogleMaterialDesign900个实用的Axure图标组件库
sketch大厂设计组件库
AxureUX数据可视化大屏模板及通用组件库(设计组件) Axure9
Sketch IOS UI组件库,安装即可自动加载到Sketch中,省去自己建库的时间。
热门的ui组件库,
Axure 手绘 组件库