- 浏览: 1329086 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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.
相关推荐
【标题】"原创校园网图书管理系统"所涉及的知识点主要集中在Web开发领域,尤其是使用Java技术栈进行开发。这个系统是作者为毕业设计而创作的,因此,它不仅是一个实际的应用程序,也是学习和理解Web应用程序开发过程...
【基于Android系统的课程管理系统毕业论文】是一篇详细探讨如何利用Android平台开发课程管理系统的毕业设计论文。这篇论文涉及的关键知识点主要包括: 1. **Android系统体系结构**:Android系统是基于Linux内核的...
这些文件共同构成了晴和教学管理系统的前端和后端结构。 "内容来自存起来软件站www.cqlsoft.com.txt"可能是一个文本文件,里面记录了关于源码的来源或者使用注意事项。通常,这样的文件会提供版权信息、授权协议、...
【JSP教学管理系统】是一个基于Java Web技术的教育管理平台,它主要利用JSP(JavaServer Pages)技术来实现前端展示,与后端服务器进行交互,以提供教学管理功能。这个系统通常包括用户登录、课程管理、学生管理、...
后台管理系统是网站或应用程序的核心部分,负责处理数据、管理用户权限、执行后台任务等。高级后台管理模板H+通常会提供如用户管理、权限控制、数据统计、操作日志等功能模块,以满足企业级应用的需求。 在【压缩...
标题中的“基于bootstrap搭建的信息管理后台系统模板adminHtmlTemplate-master.rar”揭示了这是一个使用Bootstrap框架构建的后端管理系统模板,命名为“adminHtmlTemplate-master”。Bootstrap是Twitter推出的一个...
4. MOS管(金属-氧化物-半导体场效应晶体管):在太阳能充电管理系统中,MOS管用于构成开关,实现能量的分配和调度。通过控制MOS管的开闭,可以调节流向负载或电池的电流,以适应不同的工作条件。 5. PWM波形(脉冲...
OSAL(操作系统抽象层)是一个实现类似于操作系统的功能的软件框架,它提供了多任务管理机制,可以对硬件、协议栈和应用层的交互进行封装管理。OSAL核心在于消息和事件的处理,使系统资源管理更为高效。 OSAL系统...
【新闻发布系统】是一种基于Web的软件应用,通常用于发布、管理和分发各种新闻资讯。在这个特定的案例中,系统是用jsp(JavaServer Pages)作为前端脚本语言,结合MySQL数据库进行后端数据存储和处理。这样的组合在...
系统主要由前端展示层、业务逻辑层和数据访问层构成,这种三层架构设计有利于代码的维护和扩展。 二、技术栈解析 1. 前端框架:可能使用HTML、CSS和JavaScript为基础,配合Bootstrap或其他前端UI框架,如Element UI...
在论文中,虽然具体内容提及的是“失物招领管理系统”,但这可以作为一个示例应用,来阐述如何运用jsp+ssh技术。在这个系统中,可能涵盖了用户登录、失物信息发布、查询、管理等功能,这些功能的实现都依赖于JSP的...
工资管理系统,涉及员工薪资构成和发放;宿舍楼管理系统,管理住宿、人员信息等;光盘商店管理系统,涵盖订购、出租、销售业务等。 **项目实施与评价** 1. **团队合作**:鼓励1-2人一组,分工协作,共同完成项目。...
本项目“StudentManagement.zip”是田超凡原创设计的一个学生管理系统,它充分利用了JavaEE的核心特性,旨在为教育机构提供一套便捷、高效的学生信息管理解决方案。 首先,我们要理解JavaEE的架构。它主要由一系列...
此外,Android的权限管理系统在7.0版本中有较大改变,运行时权限的获取是开发者必须掌握的技能。 最后,Android的调试工具和测试策略也会被提及,如使用Logcat进行日志输出、调试器(DDMS或Android Studio的内置...
一个典型的关系型数据库管理系统(RDBMS)主要由以下五个组件构成: 1. **客户端管理器**:负责接收来自客户端的应用程序请求,进行初步处理后发送给服务器端。 2. **查询解析器**:将SQL查询转换为内部格式,以便...
AWT提供了构成GUI所需的基础组件,这些组件由`java.awt`包中的类来表示。`java.awt`包是Java核心库中较大的一个包,其中包含了所有GUI组件类以及其他用于构建GUI的相关类,比如`Font`(字体)、`Graphics`(绘图)和...
这些文档共同构成了一个完整的项目生命周期管理框架,涵盖了从需求分析、系统设计、编码实现、测试验证到上线维护的全过程。对于任何大型在线系统项目,参照这样的模版进行工作,能够提升项目的规范性和成功率。在...
这些组件共同构成了系统的核心功能,确保用户能够方便地浏览、选择和预订房间,同时,后台管理功能使得酒店员工可以高效处理订单和维护信息。 测试部分,报告规划了测试计划,包括单元测试和集成测试,以验证系统...
Struts2的架构由多个核心组件构成,这些组件协同工作以实现高效的应用程序开发。主要包括Action、配置文件、拦截器、视图技术等。 **1.2.5 OGNL表达式语言** OGNL(Object-Graph Navigation Language)是一种强大...
SQL Server 2000是微软公司的关系型数据库管理系统,支持SQL语言和XML,是构建投票系统后端数据存储的关键。它由数据库、关系数据库、SQL和XML等组件构成,提供高效的数据存储和检索功能。SQL Server 2000提供的API...