|
名词 |
解释 |
提交者 |
更新者 |
版本 |
|
UTF是什么 |
UTF,是Unicode Text Format的缩写,意为Unicode文本格式。对于UTF,是这样定义的:
(1)如果Unicode的16位字符的头9位是0,则用一个字节表示,这个字节的首位是“0”,剩下的7位与原字符中的后7位相同,如“/u0034”(0000 0000 0011 0100),用“34” (0011 0100)表示;(与源Unicode字符是相同的);
(2)如果Unicode的16位字符的头5位是0,则用2个字节表示,首字节是“110”开头,后面的5位与源字符中除去头5个零后的最高5位相同;第二个字节以“10”开头,后面的6位与源字符中的低6位相同。如“/u025d”(0000 0010 0101 1101),转化后为“c99d”(1100 1001 1001 1101);
(3)如果不符合上述两个规则,则用三个字节表示。第一个字节以“1110”开头,后四位为源字符的高四位;第二个字节以“10”开头,后六位为源字符中间的六位;第三个字节以“10”开头,后六位为源字符的低六位;如“/u9da7”(1001 1101 1010 0111),转化为“e9b6a7”(1110 1001 1011 0110 1010 0111);
可以这么描述JAVA程序中Unicode与UTF的关系,虽然不绝对:字符串在内存中运行时,表现为Unicode代码,而当要保存到文件或其它介质中去时,用的是UTF。这个转化过程是由writeUTF和readUTF来完成的。
|
yanglx |
yanglx |
1 |
|
Struts |
ok.... |
yongbing |
thuang |
3 |
|
sql profiler |
good indepth concepts.... |
wwty |
thuang |
2 |
|
SCEA |
SCEA is a poupar name in Sun's world = Sun Certified Enterprise Architect ...
One of the key certification exams provided from Sun |
thuang |
thuang |
1 |
|
AJAX |
AJAX .... a recently hot name at web2.0 development.... = Asynchronous Javascript and Xml
require a solid knowledge on client-side's javascript besides traditional server-side technology... |
thuang |
thuang |
1 |
|
ERD |
好....值得好好学习 |
thuang |
ben_mo5 |
2 |
|
Hibernate Synchronizer |
是从ddl生成hbm文件的目前最好的工具之一。是hibernate很好的辅助开发工具,是一个Eclipse 的插件。可以从现存的数据库schema根据表定义和外键关联,生成hbm文件,并根据volocity模版生成文件。 优点多多。 |
wwty |
wwty |
1 |
|
hibernate Console |
hibernate Console是图形化的hql查询工具。用其可以不必编写程序,即可以直接执行sql查询,其具有直观的对象图观察器。新版本被并入到hibernate tools eclipse插件。 |
wwty |
wwty |
1 |
|
p6spy |
P6Spy 是针对数据库访问操作的动态监测框架(为开源项目,项目首页:www.p6spy.com)它使得数据库数据可无缝截取和操纵,而不必对现有应用程序的代码作任何修改。P6Spy 分发包包括P6Log,它是一个可记录任何 Java 应用程序的所有JDBC事务的应用程序。其配置完成使用时,可以进行数据访问性能的监测 |
wwty |
wwty |
1 |
|
CRUD |
CRUD是一个数据库技术中的缩写词,它代表创建(Create)、读取(Read)更新(Update)和删除(Delete)操作。CRUD 定义了用于处理数据的基本原子操作。. 之所以将CRUD 提升到一个技术难题的高度是因为完成一个涉及在多个数据库系统中进行CRUD操作的汇总相关的活动,其性能可能会随数据关系的变化而有非常大的差异。 |
wwty |
wwty |
1 |
|
middlegen |
Middlegen一个免费数据库驱动(database-driven)的代码生成引擎。它基于JDBC, Velocity,Ant和XDoclet.假如你已经有一个数据库,你可以使用Middlegen与EJB (CMP 2.0) /JDO/Hibernate/Torque结合来生成持久层.也可以与JSP/Struts结合来生成数据库图形用户界面(Database GUI)。 |
wwty |
wwty |
1 |
|
守护线程 |
守护线程是一类特殊的线程,它从属于创建它的线程,它和普通线程的区别在于它并不是应用程序的核心部分,当一个应用程序的所有非守护线程终止运行时,即使仍然有守护线程在运行,应用程序也将终止,反之,只要有一个非守护线程在运行,应用程序就不会终止。守护线程一般被用于在后台为其它线程提供服务。 |
zhengsheng |
zhengsheng |
1 |
|
体系结构 |
体系结构包括一组部件以及部件之间的联系。
体系结构风格有9大类:1. 数据流系统,包括顺序批处理、管道和过滤器;2. 调用-返回系统,包括主程序和子程序、面向对象系统、层次结构;3. 独立部件,包括通信进程、事件隐式调用;4. 虚拟机,包括解释器、规则基系统;5. 以数据为中心的系统(库),包括数据库、超文本系统、黑板系统;6. 特殊领域风格;例如过程控制、模拟器;7. 特殊结构的风格,例如分布式处理、状态转移系统;8. 不同风格合成建立的异构结构;9. 最初始、最基本的主程序/子程序。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
ant |
Ant是一个Java编写的build工具。全称是Another Nest Tool。目前只要能找到的开源软件,基本都提供ant的build.xml脚本进行构建。很多工具,如xdoclet,findbugs,checkstyle等等,都提供了绑定到ant的任务,xdoclet甚至完全依赖ant运行的。
ant现在是java界实际上的标准构建脚本。 |
yongbing |
xyz20003 |
2 |
|
JDBC概念 |
JDBCTM 是一种用于执行 SQL 语句的 JavaTM API(有意思的是,JDBC 本身是个商标名而不是一个缩写字;然而,JDBC 常被认为是代表 “Java 数据库连接 (Java Database Connectivity)”)。它由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯 Java API 来编写数据库应用程序。 有了 JDBC,向各种关系数据库发送 SQL 语句就是一件很容易的事。换言之,有了 JDBC API,就不必为访问 Sybase 数据库专门写一个程序,为访问 Oracle 数据库又专门写一个程序,为访问 Informix 数据库又写另一个程序,等等。您只需用 JDBC API 写一个程序就够了,它可向相应数据库发送 SQL 语句。而且,使用 Java 编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将 Java 和 JDBC 结合起来将使程序员只须写一遍程序就可让它在任何平台上运行。 Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java 应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和 UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用 Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和 JDBC 可为外部客户提供获取信息更新的更好方法。
|
yanglx |
yanglx |
1 |
|
Jtest |
Jtest是一个很好的JAVA代码检查的工具,在软件开发的过程中经常和Junit、Cactus等一起来完成整个软件开发的代码检查、测试等工作。Jtest又一个很大的优点就是自己可以设定代码的规则,然后来检查已经开发的代码,并给出正确的或者是建议性的报告。 |
yongbing |
yongbing |
1 |
|
CVS |
CVS 是 Concurrent Version System(并行版本系统)的缩写,用于版本管理。在多人团队开发中的作用更加明显。CVS 的基本工作思路是这样的:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序。这样,就好象只有一个人在修改文件一样。避免了冲突。每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。用户做的任何修改首先都是在本地进行,然后用 cvs 命令进行提交,由 cvs 仓库管理员统一 修改。这样就可以做到跟踪文件变化,冲突控制等等。
|
yongbing |
yongbing |
1 |
|
weblogic |
BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、 网络应用和数据库应 用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的 开发、集成、部署和管理之中。 BEA WebLogic Server拥有处理关键Web应用系统问题所需的性能 、可扩展性和高可用性。 与BEA WebLogic Commerce ServerTM配合使用, BEA WebLogic Server可为部署适应性个性化 电子商务应用系统提供完善的解决方案。 |
yongbing |
yongbing |
1 |
|
eclipse |
Eclipse 是一个开源的、可扩展的集成开发环境,最近已经吸引了业界的很多注意力。Eclipse 的支持者源源不断,当其他 IDE(例如 JBuilder)中具有某些特性而 Eclipse 中没有这些特性时,这些支持者就会感到沮丧,并想法开发这些特性。开发软件的大部分(但不是全部)工作都是编写代码。不管一个 IDE 提供了多少特性,如果它只提供基本的功能,那么它将不会给程序员带来太多帮助。这就是为什么很多程序员长期以来宁愿选择使用简 单的文本编辑器,而不愿使用 IDE。
有趣的是,很多早期采用 Eclipse 的用户都是从文本编辑器上迁移过来的,而不是从其他 IDE 上迁移过来的。当然,这就解释了为什么他们并不介意功能的缺乏。对于很多人来说,这是他们使用的第一个 IDE,这并没有简化他们 的开发任务。IBM 附属的 OTI 是一个非常优秀的面向对象的技术公司,已经花费了 4 千万美元来开发 Eclipse,然后将其捐赠给了开源社区。
更有趣的问题是 Eclipse 是否与其他花钱的 IDE 一样好。 答案非常确定。首先,这取决于您想要用它来做什么。如果您只需要进行基本的开发,就没有必要继续往下看了。对于编码、调试、重 构、单元测试等等, Eclipse 可以与任何一种 IDE 匹敌,甚至比它们还要好。与免费的 JBuilder X Foundation 版本类似, Eclipse 也有代码补足、代码模板的功能,以及对重构、Ant、CVS 和 JUnit 的支持。实际上,您可能会发现 Eclipse 对很多特性的支持都比 JBuilder 更好。例如, Eclipse 具有更多的重构功能,能够更好地支持将本地代码与 CVS 服务器进行合并。
|
yongbing |
yongbing |
1 |
|
Spring |
Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。
|
yongbing |
yongbing |
1 |
|
Jboss |
JBoss服务器是一种优秀的J2EE服务器,和BEA的Weblogic,IBM的Websphere属于同类产品, JBoss的优势在于具有良好的性价比。 JBoss为完全开放源码的免费软件,而且具有良好的运行效率和可靠性,因此已经得到越来越多的J2EE应用开发者的青睐。
|
yongbing |
yongbing |
1 |
|
Tomcat |
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。 |
yongbing |
yongbing |
1 |
|
商务智能 |
商务智能:Business Intelligence 简称:BI |
lymhit |
lymhit |
2 |
|
OGNL |
OGNL全称Object-Graph Navigation Language,是一种用于读取和设置java对象属性的描述语言。WebOGNL是一种构建以servlet为基础的组件化应用的web表现层框架,它的模板语言建立在OGNL表达式的基础上,具有别的web层框架不能匹敌的适应性。
OGNL可以让我们用非常简单的表达式访问对象层,例如,当前环境的根对象为user1,则表达式person.address[0].province 可以访问到user1的person属性的第一个address的province属性。
这种功能是模板语言的一个重要补充,象jsp2.0,velocity,jelly等等,都有类似的功能,但是ognl比它们完善得多,而且以一个独立的lib出现,方便我们构建自己的框架。
webwork2中使用OGNL取代原来的EL来做界面数据绑定,所谓界面数据绑定,也就是把界面元素(例如一个textfield,hidden)和对象层某个类的某个属性绑定在一起,修改和显示自动同步。
和struts的formbean相比,这样做的好处非常明显:在webwork中不需要为每个页面专门写formbean,可以直接利用对象层的对象。例如在对象设计中,我们的User和Person是分开的,而一个注册用户界面需要填写两者的内容,在webwork中,就可以保持后台的对象结构,把属于用户属性的界面元素用user.person.xxx绑定,把属于账号属性的界面元素用user.xxx绑定。
|
tanlan |
tanlan |
1 |
|
GPL |
copyleft |
leoodemon |
蓝灵 |
2 |
|
数据库连接池 |
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素: 1) 最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费; 2) 最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作。 3) 如果最小连接数与最大连接数相差太大,那么最先的连接请求将会获利,之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。不过,这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
RelaxBSD |
RelaxBSD可能对绝大多数Java世界的人来说都很陌生,它隶属于FreeBSD中文化项目。它的2.0版本现已发布,其核心部分基于FreeBSD 6.1-RELEASE。构建RelaxBSD的软件均由FreeBSD ports编译并有小量修改。整个系统带参数:CPUTYPE?=pentium3 CFLAGS= -O2 -pipe进行编译。可升级至更新版本的FreeBSD(FreeBSD 6.1-RELEASE及以上)。支持英文、简体中文、繁体中文,针对桌面系统特别设计。
官方网站:http://www.relaxbsd.org |
Jaln |
Jaln |
1 |
|
人机交互 |
人机交互技术(Human-Computer Interaction Techniques)是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。人机交互技术是计算机用户界面设计中的重要内容之一。它与认知学、人机工程学、心理学等学科领域有密切的联系。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
需求 |
需求的定义是为“系统必须符合的条件或具备的功能”。
需求的种类各种各样。一种分类的方法叫作 FURPS+ 模型 [GRA92],它使用首字母缩写词 FURPS 来描述具有以下子类别的主要需求类别。
功能性、 可用性、 可靠性、 性能和 可支持性
FURPS+ 中的“+”可提醒您还要包括如下需求:
设计约束、 实施需求、 接口需求和 物理需求。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
用例模型 |
用例模型是系统既定功能及系统环境的模型,它可以作为客户和开发人员之间的契约。用例是贯穿整个系统开发的一条主线。同一个用例模型即为需求工作流程的结果,可当作分析设计工作流程以及测试工作流程的输入使用。
系统建模有许多种方法,每种建模方法可以满足不同的目的。然而,用例模型最重要的作用是将系统行为传达给客户或最终用户。因此,模型必须易于理解。
可能与该系统交互的用户和任何其他系统都是主角。由于主角代表了系统用户,它们协助界定系统并提供十分明确的系统用途说明。编写用例依据主角的需求来进行。这样就确保该系统成为用户期望得到的系统。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
用例 |
Use Case(用例)是一个UML中非常重要的概念,在使用UML的整个软件开发过程中,Use Case处于一个中心地位。 那么,到底什么是Use Case呢?在UML的文档中,Use Case的定义是:在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。有点拗口,对吧?其实Use Case就是对系统功能的描述而已,不过一个Use Case描述的是整个系统功能的一部分,这一部分一定要是在逻辑上相对完整的功能流程。(唔?Use Case也没什么特别的嘛!怎么这玩意儿会在开发中处于一个中心地位呢?)在使用UML的开发过程中,需求是用Use Case来表达的,界面是在Use Case的辅助下设计的,很多类是根据Use Case来发现的,测试实例是根据Use Case来生成的,包括整个开发的管理和任务分配,也是依据Use Case来组织的。啊,Use Case,简直太重要了!好了,Use Case就吹到这儿,具体的使用还要在实践中去体会,“运用之妙,存乎一心” 也! 对于每个Actor来说,他都要使用系统的某项功能,所以我们识别和分析Use Case是,要 对于每个Actor来逐个进行。对于ToDo User,我们可以轻易的识别出两个Use Case:Add Task 和 Remove Task。ToDo User主动使用这两个Use Case所描述的系统功能,所以在我们的Use Case图上,ToDo User和这两个Use Case的关系是用从ToDo User发出的箭来表示的。对于FileSystem,我们识别出的也是同样的两个Use Case,不过这次箭头从Use Case指向FileSystem,表示FileSystem是被动的。
Use Case可以用很多方式来描述,我们可以用自然语言(英语,汉语,随您的便),可以用形式化语言(哇!太酷了吧!),也可以用各种图示。在UML中,通常用两种图来描述Use Case,它们就是顺序图(Sequence Diagram)和协作图(Collaboration Diagram)
Use Case 由以下元素组成: 名称 简单描述 事件流 关系 活动图和状态图 Use Case 图 特殊需求 前条件 后条件
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
设计模式 |
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。
GoF的“设计模式”是第一次将设计模式提升到理论高度,并将之规范化,本书提出了23种基本设计模式,自此,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
配置管理 |
配置管理(Configuration Management,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。
配置管理过程是对处于不断演化、完善过程中的软件产品的管理过程。其最终目标是实现软件产品的完整性、一致性、可控性,使产品极大程度地与用户需求相吻合。它通过控制、记录、追踪对软件的修改和每个修改生成的软件组成部件来实现对软件产品的管理功能。
早在七十年代初期加利福利亚大学的Leon Presser教授就撰写了一篇论文,提出控制变更和配置的概念,之后在1975年,他成立了一家名为SoftTool的公司,开发了自己的配置管理工具:CCC,这也是最早的配置管理工具之一。之后,随着软件开发规模的逐渐增大,越来越多的公司和团队意识到了软件配置管理的重要性,而相应的软件配置管理工具也如雨后春笋一般,纷纷涌现,比较有代表性的有:Marc Rochkind的SCCS(Source Code Control System)和Walter Tichy的RCS(Revision Control System),这两种工具对日后的配置管理工具的发展做出了重大的贡献,目前绝大多数广泛使用的配置管理工具基本上都是基于这两者的设计思想和体系架构。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
嵌入式系统 |
嵌入式系统(ES)是计算机技术、通信技术、半导体技术、微电子技术、语音图象数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的更新换代产品。因此往往是技术密集、投资强度大、高度分散、不断创新的知识密集型系统。反映当代最新技术的先进水平。 嵌入式系统不仅和一般的PC 机上的应用系统不同,就是针对不同的具体应用而设计的嵌入式系统之间差别也很大。嵌入式系统一般功能单一、简单,且在兼容性方面要求不高,但是在大小,成本方面限制较多。 嵌入式计算机基本上不能算是嵌入式系统。它仍然是计算机一类,不过是工作条件有所不同而已,因为它还保留了计算机的基本。
嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
远程数据服务(Remote Data Services,RDS) |
远程数据服务(Remote Data Services,RDS)是允许我们处理客户端数据的一系列服务的统称。现在不用担心这方面的问题,因为RDS本身就是ADO的一部分,只有在需要传送和使用客户端数据时,才会使用。
远程数据服务RDS允许程序员开发原生的WINDOWS分布式多层应用系统,或是开发以浏览器为图形用户接口的WEB应用系统。
远程数据服务RDS提供了客户端应用程序在INTERNET/INTRANET或分布式环境中使用ADO中RECORDSET对象的能力。
可以在浏览器中通过远程数据服务RDS取得RECORDSET对象,然后在脚本语言中存取数据。或在原生WINDOWS应用程序中通过RDS取得RECORDSET对象,然后使用程序代码来存取远程数据源中的数据。RDS能够将ADO取得的数据一DCOM或HTTP通信协议由中介软件或中介组件传递给客户端,并且把数据缓存在客户端中让客户端存取数据。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
组件图(component diagram) |
组件图(component diagram)是用来反映代码的物理结构。从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。使用组件图可以将系统划分为内聚组件并显示代码自身的结构。
组件图的主要目的是显示系统组件间的结构关系。在 UML 1.1 中,一个组件表现了实施项目,如文件和可运行的程序。不幸地,这与组件这个术语更为普遍的用法、指象COM组件这样的东西相冲突。随着时间的推移及UML的连续版本发布, UML 组件已经失去了最初的绝大部分含义。UML 2 正式改变了组件概念的本质意思;在 UML 2 中,组件被认为是独立的,在一个系统或子系统中的封装单位,提供一个或多个接口。虽然 UML 2 规范没有严格地声明它,但是组件是呈现事物的更大的设计单元,这些事物一般将使用可更换的组件来实现。但是,并不象在 UML 1. x中,现在,组件必须有严格的逻辑,设计时构造。主要思想是,你能容易地在你的设计中重用及/或替换一个不同的组件实现,因为一个组件封装了行为,实现了特定接口。1 在以组件为基础的开发(CBD)中,组件图为架构师提供一个开始为解决方案建模的自然形式。组件图允许一个架构师验证系统的必需功能是由组件实现的,这样确保了最终系统将会被接受。
除此之外,组件图对于不同的小组是有用的交流工具。图可以呈现给关键项目发起人及实现人员。通常,当组件图将系统的实现人员连接起来的时候,组件图通常可以使项目发起人感到轻松,因为图展示了对将要被建立的整个系统的早期理解。
开发者发现组件图是有用的,因为组件图给他们提供了将要建立的系统的高层次的架构视图,这将帮助开发者开始建立实现的路标,并决定关于任务分配及(或)增进需求技能。系统管理员发现组件图是有用的,因为他们可以获得将运行于他们系统上的逻辑软件组件的早期视图。虽然系统管理员将无法从图上确定物理设备或物理的可执行程序,但是,他们仍然欢迎组件图,因为它较早地提供了关于组件及其关系的信息(这允许系统管理员轻松地计划后面的工作)。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
类图(Class diagram) |
类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。
类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。
类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。
类图(Class diagram)最基本的元素是类或者接口。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
逻辑视图 |
逻辑视图(Logical View,又叫设计视图(Design View))是为了便于理解系统设计的结构与组织,在“分析设计”工作流程中使用了名为逻辑视图的构架视图。系统只有一个逻辑视图,该视图以图形方式说明关键的用例实现、子系统、包和类,它们包含了在构架方面具有重要意义的行为。逻辑视图在每次迭代过程中都会加以改进。
逻辑视图表示了设计模型中在构架方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
另外还有四个视图,即用例视图(在“需求”工作流程中处理)、进程视图、部署视图和实施视图;后面三个视图在“分析设计”和“实施”工作流程中进行处理。
构架视图记录在软件构架文档中。你可以添加其他视图,如安全视图,来表达软件构架的其他特定方面。
所以,构架视图在本质上可以看成是所建模型的抽象或简化,它们通过舍弃具体细节来突出重要的特征。系统开发过程中,构架是提高所建模型质量的重要手段。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
用例视图 |
用例视图(Use Case View)是被称为参与者的外部用户所能观察到的系统功能的模型图。用例是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用。用例模型的用途是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行。
用例也可以有不同的层次。用例可以用其他更简单的用例进行说明。在交互视图中,用例做为交互图中的一次协作来实现。
用例视图(Use Case View)需求工作流程中使用了名为用例视图的构架视图,作为计划迭代的技术内容所需的基础。系统仅有一个用例视图,它阐述了那些包含对于构架很重要的行为、类或技术风险的用例和场景。考虑并改进用例视图是在每次迭代的初期进行的。
用例视图显示了在构架方面具有重要意义的用例模型的子集,以及用例和主角的子集。
随需求之后进行的分析、设计和实施等活动都以构架这个概念为中心。该构架的建立和确认是初期迭代,特别是精化阶段的初期迭代主要关注的问题。构架由一组不同的构架视图表示,构架视图的本质是模型“在构架方面具有重要意义的”元素的提炼。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
进程视图 |
进程视图(Process View)是为了便于理解系统的进程组织,在“分析设计”工作流程中使用了名为进程视图的构架视图。系统只有一个进程视图,它以图形方式说明了系统中进程的详细组织结构,其中包括类和子系统到进程和线程的映射。进程视图在每次迭代过程中都会加以改进。 进程视图表示了系统的进程组织。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
部署视图 |
部署视图是为了便于理解系统在一组处理节点上的物理分布,在“分析设计”工作流程中使用了名为部署视图的构架视图。系统只有一个部署视图,它以图形方式说明了处理活动在系统中各节点的分布,包括进程和线程的物理分布。部署视图在每次迭代过程中都会加以改进。 部署视图表示了处理活动在系统中的物理分布。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
泛化关系 |
泛化关系是一般元素和具体元素之间的一种分类关系。具体元素与一般元素完全一致,但包含一些额外的信息。在允许使用一般元素的场合,可以使用具体元素的实例。
在实际生活中,有许多东西都具有共同的特征。例如,狗和猫都是动物。对象也可以具有共同的特征,您可以使用它们所属类之间的泛化关系来阐明这些共同特征。通过将共同特征抽取到它们所属的类中,可以在将来更容易地变更和维护系统。
泛化关系表示一个类对另一个类的继承。继承而得的类称为后代。被继承的类称为祖先。继承意味着祖先的定义(包括任何特征,如属性、关系或对其对象执行的操作)对于后代的对象也是有效的。泛化关系是从后代类到其祖先类的关系。
泛化关系可以发生在几个阶段,这使您可以对复杂的、多级别的继承分层结构进行建模。一般特征位于继承分层结构的上部,而特殊特征处于较低的部分。也就是说,您可以使用泛化关系来对一般概念的特殊化进行建模。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
WPF |
WPF(Windows Presentation Foundation)是微软.NET Framework 3.0的组成部分之一, 它是一套基于XML, .NET Framework, 矢量绘图技术的表现层开发框架, 微软视其为下一代用户界面技术, 将广泛被用于下一代的Windows平台(Windows Vista)的界面开发.
WPF使用一种新的XAML(Extensible Application Markup Language)语言来开发界面, 这将把界面开发以及后台逻辑很好的分开, 降低了耦合度, 使用户界面设计师与程序开发者能更好的合作, 降低维护和更新的成本.
首先,它清晰而又有效的将用户界面和程序实现分开。它使得设计可视化的用户界面的设计者和编写内部核心代码的开发人员可以并行工作。这是非常重要的:
?将两者分开,软件开发公司可以使得设计者们集中精力将设计工作做得更好,同时让开发者支持他们。
?随着软件外包和订购的逐渐风行,WPF使得一些商业的设计者们能够更好的从事界面设计工作,并集成一些简单的功能,而购买的核心代码能够独立的完成内部的一些关键逻辑而不干扰设计过程。
?它更好的支持应用软件的国际化。不同的独立的界面可以使用不同的本地化方案,而内部的代码是通用的。
?它支持软件的"空标签":可以为不同的用户采用定制的界面而保持核心的逻辑不变。开发者们创建程序逻辑,然后为不同的用户使用不同的界面并贴上他们的商标等。
WPF使用一种基于XML的语言来定义用户界面从而完成上述的工作。这种语言被称为XAML,XML应用程序标记语言。
其次,WPF使用一种基于向量而不是基于光栅的绘制引擎,这和曹其的Windows的绘制引擎是截然不同的。光栅绘制引擎通过在屏幕上绘制象素点来绘制表面。象素只是点;这样的话,如果屏幕分辨率(DPI,每英寸点)增加了,它的效果就会变差。随着现在屏幕都采用超高DPI的分辨率,字体必须使用成百上千个DPI来达到一定的浏览效果。比如微软Word里缺省的英文字体12号的Times New Roman,在现在的普通分辨率情况下效果还可以但是到了超高分辨率的显示器上效果就不行了。管理这些基于光栅的图像的点将会消耗大量的处理能力,同时也是很浪费的。而采用基于向量的方式来替代象素,在一个可扩展的坐标系里绘制字体和其他线型,使得它们可以独立于DPI。想想Windows Metafile(WMF)和位图文件(BMP)之间的差距你就明白了。同时,向量图也使得一些变换如3D,旋转和动画变得更加方便和易于操作
|
usherlight |
usherlight |
1 |
|
SCA |
SCA(Service Component Architecture)是一种规范,它使开发人员可以将注意力集中在业务逻辑的编写上。更直接地说,它是一种大大改进了的部署描述符,它可以使用任何语言而不限于Java。此外,您还可以使用编程式语言和声明式语言,比如BPEL和XSLT。SCA的特别之处在于,它对安全性、事务和可靠消息传递之类的特性使用了声明式策略的理念。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
SDO |
SDO(Service Data Objects,服务数据对象) 是BEA 和 IBM 最近共同发布的一项规范,而且它正由JSR-235专家组进行标准化以通过JCP(Java 标准化组织)的审核。SDO是Java平台的一种数据编程架构和API,它统一了不同数据源类型的数据编程,提供了对通用应用程序模式的健壮支持,并使应用程序、工具和框架 更容易查询、读取、更新和检查数据。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
OMT方法 |
OMT方法是1991年由James Rumbaugh等5人提出来的,其经典著作为“面向对象的建模与设计”。 该方法是一种新兴的面向对象的开发方法,开发工作的基础是对真实世界的对象建模,然后围绕这些对象使用分析模型来进行独立于语言的设计,面向对象的建模和设计促进了对需求的理解,有利于开发得更清晰、更容易维护的软件系统。该方法为大多数应用领域的软件开发提供了一种实际的、高效的保证,努力寻求一种问题求解的实际方法。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
Coad |
Coad方法是1989年Coad和Yourdon提出的面向对象开发方法。 该方法的主要优点是通过多年来大系统开发的经验与面向对象概念的有机结合,在对象、结构、属性和操作的认定方面,提出了一套系统的原则。该方法完成了从需求角度进一步进行类和类层次结构的认定。尽管Coad方法没有引入类和类层次结构的术语,但事实上已经在分类结构、属性、操作、消息关联等概念中体现了类和类层次结构的特征。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
Booch方法 |
Booch最先描述了面向对象的软件开发方法的基础问题,指出面向对象开发是一种根本不同于传统的功能分解的设计方法。面向对象的软件分解更接近人对客观事务的理解,而功能分解只通过问题空间的转换来获得。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
软件体系结构 |
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
程序 |
计算机程序或者软件程序(通常简称程序)是指一组指示计算机每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语的人(体系结构)来做这个菜。 通常,计算机程序要经过编译和链接而成为一种人们不易理解而计算机理解的格式,然后运行。未经编译就可运行的程序通常称之为脚本程序。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
OS |
操作系统(Operating System,简称OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
工作流 |
工作流(Workflow)就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。一个工作流包括一组任务(或活动)及它们的相互顺序关系,还包括流程及任务(或活动)的启动和终止条件,以及对每个任务(或活动)的描述。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
客户端(Client) |
客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。一般安装在普通的客户机上,需要与服务端互相配合运行。因特网发展以后,较常用的用户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
中间件(middleware) |
中间件(middleware)是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
线程 |
线程(thread, 台湾称 执行绪)是"进程"中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。
线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现程序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
面向对象设计 |
面向对象设计(Object-Oriented Design,OOD)方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
面向对象方法 |
面向对象方法(Object-Oriented Method,OO方法)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。 面向对象方法作为一种新型的独具优越性的新方法正引起全世界越来越广泛的关注和高度的重视,它被誉为"研究高技术的好方法",更是当前计算机界关心的重点。十多年来,在对OO方法如火如荼的研究热潮中,许多专家和学者预言:正象70年代结构化方法对计算机技术应用所产生的巨大影响和促进那样,90年代OO方法会强烈地影响、推动和促进一系列高技术的发展和多学科的综合。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
面向对象编程 |
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。OOP 主要有以下的概念和组件: 组件 - 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。 抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。 封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。 多态性 - 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。 继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。 由于抽象性、封装性、重用性以及便于使用等方面的原因,以组件为基础的编程在脚本语言中已经变得特别流行。Python 和 Ruby 是最近才出现的语言,在开发时完全采用了 OOP 的思想,而流行的 Perl 脚本语言从版本5开始也慢慢地加入了新的面向对象的功能组件。用组件代替“现实”上的实体成为 JavaScript(ECMAScript) 得以流行的原因,有论证表明对组件进行适当的组合就可以在英特网上代替 HTML 和 XML 的文档对象模型(DOM)。
|
jiqimiao1982 |
jiqimiao1982 |
1 |
|
SCM |
Software Configuration Management (SCM) concerns itself with answering the question: somebody did something, how can one reproduce it? Often the problem involves not reproducing "it" identically, but with controlled, incremental changes. Answering the question will thus become a matter of comparing different results and of analysing their differences. |
xli2005 |
xli2005 |
1 |
|
DSM |
DSM(Domain-Specific Modeling)意味Domain-Specific Modeling领域定义建模,通过使用领域概念直接指定解决方案,DSM提高了超越程序代码之上的抽象层次,最终软件产品将从高层次的设计中直接自动产生,这样一个自动过程是可以实现的,因为 语言和代码产生器可以满足某一个公司或领域的需求,建模专家使用定义这个自动机器,而程序员只管使用即可。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
FDD |
FDD是一种模型驱动开发的软件过程,和XP一样是敏捷软件开发方法的一种。FDD的主要思想是对功能的实现,也就是说FDD是以实现功能为目标。把系统分解成一个一个的功能集,每个功能集又习细分为具体的功能。 |
jiqimiao1982 |
jiqimiao1982 |
1 |
|
GWT |
那是当然的啦 。 |
leoodemon |
leoodemon |
3 |
|
JDNI |
Should be JNDI. I guess it was a typo |
lhx20 |
lianhua_lotus |
2 |
|
|