EEG信号是脑神经细胞群电生理活动在大脑皮层或头皮表面的总体反映,不同的思维状态和病因在大脑皮层的不同位置产生不同的脑电信号。因此,脑电信号含有丰富的有用信息,其对于生理研究与临床应用如癫痫、脑炎、脑肿瘤等脑疾病的诊断都具有十分重要的意义。随着计算机、信号处理技术的发展,脑电图在脑疾病的临床诊断中越来越起到重要的作用,其成效最明显的例子就是癫痫病的诊断。但是这些诊断一般
都是通过检查疾病发作后所记录得到的脑电图实现的,是一种预后行为,因此不论是普通的脑电图诊断还是ICU 的脑电图监护,都做不到对脑疾病如癫痫病的发作进行预测。基于Takens 的时间延迟相空间重构法[1 ,2 ]和基于自适应投影学习算法[3 ]的径向基函数网络,研究了EEG信号的预测问题。通过对径向基函数引入一宽度调节系数α,使网络的预测性能如预测精度、收敛速度均有较大改善。研究结果证明这种预测方法是有效的,具有较好的应用前景。
19:43, #, By linmi
Learning, Others
08:40, #, By linmi
Learning, Others
在哲学领域, 还原论(reductionism)一词最早出现在1951年,当时蒯因用它来标记逻辑经验主义的信条。精致的还原论思想却是由卡尔纳普等逻辑经验主义者发展起来的:在二十世纪二、三十年代,他们不加限制的推广使用还原方法,试图通过不同学科之间的严格还原,来达到学科间的理想统一,从而消除学科间的混乱和分歧。一般还原论的思想是建立在这样一个基本假设之上,即“表面上不同种类的存在物或特性是同一的。它声称某一种类的东西能够用与它们同一的更为基本的存在物或特性类型来解释。” 而就建立统一科学的纲领而言,其所依据的还原论前提就是:一种科学的理论可以用另一种更为基本的科学理论来进行系统的解释,或者复合体的定律可以还原为关于构成复合体的部分定律,正如内格尔所说:“还原的目标是要表明,次级学科的定律和一般原理只是初级学科的假定逻辑结果。”
参见:《系统辩证学学报》2004年第2 期 关于还原的一些哲学思考 周维刚
11:42, #, By linmi
Learning, Others
1. E-R模型(Entity Relationship Model),用长方形表示实体(人,物,场所,事件,信息,概念等),用菱形表示实体之间的关系。实体和关系拥有属性。
2.数据规范化:常用的范式有三种(第一范式,第二范式,第三范式)
举例:
非规范化数据
|
发票号 |
日期 |
客户代码 |
客户名 |
住所 |
购买1 |
购买2 |
购买3 | ||||||
|
商品号 |
数量 |
单价 |
商品号 |
数量 |
单价 |
商品号 |
数量 |
单价 | |||||
第一范式
|
发票号 |
日期 |
客户代码 |
客户名 |
住所 |
|
发票号 |
商品号 |
数量 |
单价 |
第二范式
|
发票号 |
日期 |
客户代码 |
客户名 |
住所 |
|
发票号 |
商品号 |
数量 |
|
商品号 |
单价 |
第三范式
|
发票号 |
日期 |
客户代码 |
|
客户代码 |
客户名 |
住所 |
|
发票号 |
商品号 |
数量 |
|
商品号 |
单价 |
12:33, #, By linmi
Learning
1. 级别1(初始级)代表了以不可预测结果为特征的过程成熟度。过程包括了一些特别的方法、符号、工作和反应管理,成功主要取决于团队的技能。
2. 级别2(已管理级)代表了以可重复项目执行为特征的过程成熟度。组织使用基本纪律进行需求管理、项目计划、项目监督和控制、供应商协议管理、产品和过程质量保证、配置管理、以及度量和分析。对于级别2而言,主要的过程焦点在于项目级的活动和实践。
3. 级别3(严格定义级)代表了以组织内改进项目执行为特征的过程成熟度。
强调级别2的关键过程域的前后一致的、项目级的纪律,以建立组织级的活动和实践。附加的组织级过程域包括:
需求开发:多利益相关者的需求发展。
技术方案:展开的设计和质量工程。
产品集成:持续集成、接口控制、变更控制。
验证:保证产品正确建立的评估技术。
确认:保证建立正确的产品的评估技术。
风险管理:检测、优先级,相关问题和意外的解决方案。
组织级培训:建立机制,培养更多熟练人员。
组织级过程焦点:为项目过程定义建立组织级框架。
决策分析和方案:系统的可选的评估。
组织级过程定义:把过程看做组织的持久的发展的资产。
集成项目管理:在项目内统一各个组和利益相关者。
4. 级别4(定量管理级)代表了以改进组织性能为特征的过程成熟度。3级项目的历史结果可用来交替使用,在业务表现的竞争尺度(成本、质量、时间)方面的结果是可预测的。级别4附加的过程域包括:
组织级过程执行:为过程执行设定规范和基准。
定量的项目管理:以统计质量控制方法为基础实施项目。
5. 级别5(优化级)代表了以可快速进行重新配置的组织性能,和定量的、持续的过程改进为特征的过程成熟度。附加的级别5过程域包括:
因果分析和解决方案:主动避免错误和强化最佳实践。
组织级改革和实施:建立一个能够有机地适应和改进的学习组织。
13:15, #, By linmi
Learning
能力成熟度モデル
通常CMMといった場合、このソフトウェア能力成熟度モデルを指すことが多い。
CMMの指標はレベルの低いほうから見ていくと表のようになっています。
| レベル | 内容 | |
| レベル1 | 初期 | 予測できず、そして貧弱なコントロール |
| レベル2 | 反復できる | これまでに習得した仕事を反復できる |
| レベル3 | 定義された | プロセス特性が記述され、正しく十分に理解される |
| レベル4 | 管理された | プロセスが計測され、コントロールされる |
| レベル5 | 最適化する | プロセス改善に集中する |
レベル2:要件管理(Requirements Management;RM)、 ソフトウェアプロジェクト計画(Software Project Planning;SPP)、 ソフトウェアプロジェクト進捗管理(Software Project Tracking Oversight;PTO)、 ソフトウェア外注管理(Software Subcontract Management;SSM)、 ソフトウェア品質保障(Software Quality Assuarance;SQA)、 ソフトウェア構成管理(Software Configuration Management;SCM)
レベル3:組織プロセス重視(Organization Process Focus;OPF)、 組織プロセス定義(Organization Process Definition;OPD)、 トレーニングプログラム(Training Program;TP)、 ソフトウェア統合管理(Integrated Software Management;ISM)、 グループ間調整(Intergroup Coordination;IC)、 ソフトウェアプロダクトエンジニアリング(Software Product Engineering;SPE)、 ピアレビュー(Peer Reviews;PR)
レベル4:定量的プロセス管理(Quantitative Process Management;QPM)、 ソフトウェア品質管理(Software Quality Management;SQM)
レベル5:欠陥予防(Defect Prevention;DP)、技術変更管理(Technology Change Management;TCM)、 プロセス変更管理(Process Change Management;PCM)
- レベル1:プロセスが確立されていない初期段階
- レベル2:特定のプロジェクトリーダーや技術者に依存している状態
- レベル3:首尾一貫したプロセスを標準として持っている段階
- レベル4:標準化されたプロセスを定量的に測定し、洗練化していく状態
- レベル5:技術・要件環境の違いによって、標準プロセスを最適化して用いられる段階
12:54, #, By linmi
Learning, Japanese Learning
http://it.icxo.com/htmlnews/2004/07/28/277692.htm
在网上发现关于需求的分析一篇好文,部分摘要如下:
1、 分析人员要使用符合客户语言习惯的表达
需求讨论集中于业务需求和任务,因此要使用术语。客户应将有关术语(例如:采价、印花商品等采购术语)教给分析人员,而客户不一定要懂得计算机行业的术语。
2、分析人员要了解客户的业务及目标
只有分析人员更好地了解客户的业务,才能使产品更好地满足需要。这将有助于开发人员设计出真正满足客户需要并达到期望的优秀软件。为帮助开发和分析人员,客户可以考虑邀请他们观察自己的工作流程。如果是切换新系统,那么开发和分析人员应使用一下目前的旧系统,有利于他们明白目前系统是怎样工作的,其流程情况以及可供改进之处。
3、 分析人员必须编写软件需求报告
分析人员应将从客户那里获得的所有信息进行整理,以区分业务需求及规范、功能需求、质量目标、解决方法和其他信息。通过这些分析,客户就能得到一份“需求分析报告”,此份报告使开发人员和客户之间针对要开发的产品内容达成协议。报告应以一种客户认为易于翻阅和理解的方式组织编写。客户要评审此报告,以确保报告内容准确完整地表达其需求。一份高质量的“需求分析报告”有助于开发人员开发出真正需要的产品。
4、 要求得到需求工作结果的解释说明
分析人员可能采用了多种图表作为文字性“需求分析报告”的补充说明,因为工作图表能很清晰地描述出系统行为的某些方面,所以报告中各种图表有着极高的价值;虽然它们不太难于理解,但是客户可能对此并不熟悉,因此客户可以要求分析人员解释说明每个图表的作用、符号的意义和需求开发工作的结果,以及怎样检查图表有无错误及不一致等。
5、 开发人员要尊重客户的意见
如果用户与开发人员之间不能相互理解,那关于需求的讨论将会有障碍。共同合作能使大家“兼听则明”。参与需求开发过程的客户有权要求开发人员尊重他们并珍惜他们为项目成功所付出的时间,同样,客户也应对开发人员为项目成功这一共同目标所做出的努力表示尊重。
6、 开发人员要对需求及产品实施提出建议和解决方案
通常客户所说的“需求”已经是一种实际可行的实施方案,分析人员应尽力从这些解决方法中了解真正的业务需求,同时还应找出已有系统与当前业务不符之处,以确保产品不会无效或低效;在彻底弄清业务领域内的事情后,分析人员就能提出相当好的改进方法,有经验且有创造力的分析人员还能提出增加一些用户没有发现的很有价值的系统特性。
7、 描述产品使用特性
客户可以要求分析人员在实现功能需求的同时还注意软件的易用性,因为这些易用特性或质量属性能使客户更准确、高效地完成任务。例如:客户有时要求产品要“界面友好”或“健壮”或“高效率”,但对于开发人员来讲,太主观了并无实用价值。正确的做法是,分析人员通过询问和调查了解客户所要的“友好、健壮、高效所包含的具体特性,具体分析哪些特性对哪些特性有负面影响,在性能代价和所提出解决方案的预期利益之间做出权衡,以确保做出合理的取舍。
8、 允许重用已有的软件组件
需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。
9、 要求对变更的代价提供真实可靠的评估
有时,人们面临更好、也更昂贵的方案时,会做出不同的选择。而这时,对需求变更的影响进行评估从而对业务决策提供帮助,是十分必要的。所以,客户有权利要求开发人员通过分析给出一个真实可信的评估,包括影响、成本和得失等。开发人员不能由于不想实施变更而随意夸大评估成本。
10、 获得满足客户功能和质量要求的系统
每个人都希望项目成功,但这不仅要求客户要清晰地告知开发人员关于系统“做什么”所需的所有信息,而且还要求开发人员能通过交流了解清楚取舍与限制,一定要明确说明您的假设和潜在的期望,否则,开发人员开发出的产品很可能无法让您满意。
11、 给分析人员讲解您的业务
分析人员要依靠客户讲解业务概念及术语,但客户不能指望分析人员会成为该领域的专家,而只能让他们明白您的问题和目标;不要期望分析人员能把握客户业务的细微潜在之处,他们可能不知道那些对于客户来说理所当然的“常识”。
12、 抽出时间清楚地说明并完善需求
客户很忙,但无论如何客户有必要抽出时间参与“头脑高峰会议”的讨论,接受采访或其他获取需求的活动。有些分析人员可能先明白了您的观点,而过后发现还需要您的讲解,这时请耐心对待一些需求和需求的精化工作过程中的反复,因为它是人们交流中很自然的现象,何况这对软件产品的成功极为重要。
13、 准确而详细地说明需求
编写一份清晰、准确的需求文档是很困难的。由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。但是在开发过程中,必须解决这种模糊性和不准确性,而客户恰恰是为解决这些问题作出决定的最佳人选,否则,就只好靠开发人员去正确猜测了。
在需求分析中暂时加上“待定”标志是个方法。用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。
14、 及时作出决定
分析人员会要求客户作出一些选择和决定,这些决定包括来自多个用户提出的处理方法或在质量特性冲突和信息准确度中选择折衷方案等。有权作出决定的客户必须积极地对待这一切,尽快做处理,做决定,因为开发人员通常只有等客户做出决定才能行动,而这种等待会延误项目的进展。
15、 尊重开发人员的需求可行性及成本评估
所有的软件功能都有其成本。客户所希望的某些产品特性可能在技术上行不通,或者实现它要付出极高的代价,而某些需求试图达到在操作环境中不可能达到的性能,或试图得到一些根本得不到的数据。开发人员会对此作出负面的评价,客户应该尊重他们的意见。
16、 划分需求的优先级
绝大多数项目没有足够的时间或资源实现功能性的每个细节。决定哪些特性是必要的,哪些是重要的,是需求开发的主要部分,这只能由客户负责设定需求优先级,因为开发者不可能按照客户的观点决定需求优先级;开发人员将为您确定优先级提供有关每个需求的花费和风险的信息。
在时间和资源限制下,关于所需特性能否完成或完成多少应尊重开发人员的意见。尽管没有人愿意看到自己所希望的需求在项目中未被实现,但毕竟是要面对现实,业务决策有时不得不依据优先级来缩小项目范围或延长工期,或增加资源,或在质量上寻找折衷。
17、 评审需求文档和原型
客户评审需求文档,是给分析人员带来反馈信息的一个机会。如果客户认为编写的“需求分析报告”不够准确,就有必要尽早告知分析人员并为改进提供建议。
更好的办法是先为产品开发一个原型。这样客户就能提供更有价值的反馈信息给开发人员,使他们更好地理解您的需求;原型并非是一个实际应用产品,但开发人员能将其转化、扩充成功能齐全的系统。
18、 需求变更要立即联系
不断的需求变更,会给在预定计划内完成的质量产品带来严重的不利影响。变更是不可避免的,但在开发周期中,变更越在晚期出现,其影响越大;变更不仅会导致代价极高的返工,而且工期将被延误,特别是在大体结构已完成后又需要增加新特性时。所以,一旦客户发现需要变更需求时,请立即通知分析人员。
19、 遵照开发小组处理需求变更的过程
为将变更带来的负面影响减少到最低限度,所有参与者必须遵照项目变更控制过程。这要求不放弃所有提出的变更,对每项要求的变更进行分析、综合考虑,最后做出合适的决策,以确定应将哪些变更引入项目中。
20、 尊重开发人员采用的需求分析过程
软件开发中最具挑战性的莫过于收集需求并确定其正确性,分析人员采用的方法有其合理性。也许客户认为收集需求的过程不太划算,但请相信花在需求开发上的时间是非常有价值的;如果您理解并支持分析人员为收集、编写需求文档和确保其质量所采用的技术,那么整个过程将会更为顺利。
12:24, #, By linmi
Learning
与Java的企业级应用大致可以分为4类:
- Web应用程序:Apache,Tomcat/Jetty,Struts,JetSpeed,Cocoon等
- 事务处理系统:Ejb(Jboss),O/R(Torque/Hibernate/TJDO),RDBMS(PostgreSQL/MySQL)
- XML:解析器(Xerces/JDOM),XSLT处理器(xalan/saxon),SOAP等
- 开发工具:IDE(Eclipse/NetBeans/JDEE),测试(Junit/Cactus/JUnitEE/HttpUnit),编译工具(Ant/XDoclet/Maven),项目管理(CVS),Log管理(Log4j)等
08:46, #, By linmi
Learning
本实验需要两台机器,一台机器运行apache和tomcat,另外一台机器运行tomcat。连接器`可选用Jk或Jk2,本试验采用JK
机器1的配置:xp,apache2.04,tomcat3.32
假设:tomcat安装在c:\tomcat33
Apache的Conf文件的最后加入include "C:\tomcat33\conf\jk\mod_jk.conf"
修改mod_jk.conf文件
LoadModule jk_module modules/mod_jk.dll
<IfModule mod_jk.c>
#JkWorkersFile <fill-path-to>/workers.properties
#JkLogFile logs/jk.log
#JkLogLevel error
#JkMount /*.jsp ajp12
#JkMount /servlet/* ajp12
#JkMount /examples/* ajp12
JkWorkersFile “C:/tomcat33/conf/jk/workers.properties”
JkLogFile logs/jk.log
JkLogLevel error
JkMount /*.jsp loadbalancer
JkMount /servlet/* loadbalancer
JkMount /examples/* loadbalancer
</IfModule>
修改workers.properties文件
① worker.list=ajp12, ajp13 ⇒ worker.list=ajp12, ajp13, Tomcat2, loadbalancer
② worker.loadbalancer.balanced_workers=ajp12,ajp13⇒worker.loadbalancer.balanced_workers=ajp12,Tomcat2
③ 在#------ DEFAULT LOAD BALANCER WORKER DEFINITION ----------------------之前添加以下内容
#
#------ Tomcat2 WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
#
#
# Defining a worker named ajp12 and of type ajp12
# Note that the name and the type do not have to match.
#
worker.Tomcat2.port=8007
worker.Tomcat2.host=第二台机器的IP
worker.Tomcat2.type=ajp12
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.Tomcat2.lbfactor=1
在c:\tomcat\webapp\ROOT中生成test.jsp文件,内容如下:
<html>
<head>
<title>Tomcat1</title>
</head
body >
<center>
<h1>Tomcat 1</h1>
</body>
</html>
机器2的配置:xp,Tomcat33
假设:tomcat安装在c:\tomcat33
在c:\tomcat\webapp\ROOT中生成test.jsp文件,内容如下:
<html>
<head>
<title>Tomcat2</title>
</head
body >
<center>
<h1>Tomcat 2</h1>
</body>
</html>
启动两台机器的Tomcat,然后再启动Apache
打开两个IE窗口分别访问http://机器1/test.jsp, 则返回tomcat1和tomcat2(lbfactor取值相同的情况下)
若以刷新页面的方式,重新访问test.jsp页面时,返回相同的内容
08:27, #, By linmi
Learning
RUP和XP开发流程管理的两种方法。
RUP是Rational Unified Process的缩写。RUP主要从管理的角度出发,强调反复型的开发,将整个开发过程分为4个阶段:Inception,Elaboration,construction,Transition。
阶段1,以需求分析为主,建立系统整体像。
阶段2,针对第一阶段需求分析结果,进行设计,编程,测试,然后再反馈到需求分析
阶段3,对第阶段的需求进行设计,编程,测试,反馈。重复需求,设计,编程,测试的过程
阶段4,综合测试
XP主要从编程人员的角度出发,需要一定的条件,对编程人员的素质要求较高。
08:41, #, By linmi
Learning