剑花 烟雨

   江南  好 风景旧曾谙 日出江花红胜火 春来江水绿如蓝 能不忆东北

理想中的建筑师应该是一个诗人、数学家、精通历史、精通心理学、熟悉音乐、了解医学、还要具备天文学和计算的基本知识。
                                                                                                                         ------------------公元前25年,罗马建筑学家Vitruvius
posts - 136, comments - 296, trackbacks - 3, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

04 2007 档案

摘要: Active Record(M)
是Rails采用的ORM层。它完全遵循标准的ORM模型:表映射到类,记录映射到对象,字段映射到对象属性。与其它的配置方式不同:它根据人们常用的命名惯例提供了很有意义的缺省配置,因此将需要开发者编写的配置量降到了最低。
Rails采用MVC框架,其结构是多加了一个路由。

Action Pack:The View and Controller
在MVC架构中,视图和控制器是密不可分的:控制器为视图收集数据,然后又接收来自页面的事件——这页面正是由视图生成的。在Rails中,视力和控制器的支持被绑定在同一个组件中,那就是Action Pack。
View Support
视图负责创建在浏览器中显示的页面,生成给用户看的响应内容。
动态内容的生成都是控制器中的Action方法制造的。动态内容由模板生成的。模板有两种形式:一是用ERb(Embedded Ruby)的工具,将Ruby代码片段嵌入到视图的HTML代码中。
Rails还支持Builder-style的视图。借助这种视阅读全文

posted @ 2007-04-30 11:23 落花人独立 阅读(503) | 评论 (9) 编辑 |

ORM

摘要: ORM库可以将数据库表映射到类、将记录映射到对象、将字段映射到对象的属性。类方法用于执行表级别的操作,实例方法用于执行针对单条记录的操作。

在一个典型的ORM库中,你可以提供配置数据来指定数据库端与应用程序羰之间的映射关系。使用这些ORM工具的程序员常会发现:他们不得不忙于创建和维护一大堆的XML配置文件。

一般的ORM包括以下四部分:
一个对持久类对象进行CRUD操作的API;
一个语言或API用来规定与类和类属性相关的查询;
一个规定mapping metadata的工具;
一种技术可以让ORM的实现同事务对象一起进行dirty checking, lazy association fetching以及其他的优化操作。

二、对象-关系映射模式

从《公共仓库元模型:开发指南》一书第8章CWM元仓库中摘录出来的内容,实现了公共仓库元模型(CWM)的UML图到Microsoft SQL Server数据库的映射,是一种阅读全文

posted @ 2007-04-30 10:52 落花人独立 阅读(321) | 评论 (0) 编辑 |

摘要: 在JBPM中动作(actions)就是一段程序逻辑,也就是工作流模型中的应用服务。
状态是JBPM的一个核心概念,也是业务流程的基本元素,状态代表了一种对外部参与者的依赖。定义状态时需要指定该状态的执行者,也就是该状态依赖的外部参与者。多个状态可能依赖同一个参与者,工作流管理系统根据这些信息构建该参与者的任务列表。当开始在JBPM中进行流程建模时,首先需要考虑业务流程的状态,状态将会成为你定义的流程的基本框架。
JBPM允许在数据库中多个同名的流程定义共存,流程实例以当时最新的版本来启动,并且在它的整个生命周期中将保持以相同的流程定义执行。

版本控制机制可归结为以下几条原则:
a)当一个流程存档被部署时,将在JBPM数据库中创建一个新的流程定义。
b)当一个被命名的流程定义被部署,部署器将分配一个版本号。为了分配版本号,部署器将查询同名流程定义的最高版本号,并且在其上加1.
c)当一个新的版本被部署,新的流程实例以新版本启动,而老的流程实例则以老的流程定义继续执行,直到它结束为止。阅读全文

posted @ 2007-04-28 16:55 落花人独立 阅读(988) | 评论 (0) 编辑 |

摘要: 因为NetBpm是基于JBpm的,所以JBpm的原理也同样适用于NetBpm。因为JBpm涉及到了Petri网的知识,所以在这里查了网络的资料,记录在这里,以备查看:



Petri网的规则是:

Connection是有方向的
两个Place或Transition之间不允许有Connction
Place可以拥有任意数量的Token
Action
如果一个Transtion的每个Input Place都拥有Token,该Transition即为enable。一个Transition为enable时,Transtion将fire,input place的Token被消耗,同时为output place产生Token。

注意:

Transition的发生是原子的;
有两个Transition都enable可能,但是一次只能发生一个Transition;
如果出现一个Transition,其Input Place的个数与Output Place的个阅读全文

posted @ 2007-04-28 15:46 落花人独立 阅读(2715) | 评论 (2) 编辑 |

摘要: 为什么需要一个过程
首先,我们希望改进自己的工作方法,那么我们就要知道我们是如何工作的,采集工作的数据。
其次,为了完成分配的任务,你需要一个工作计划。
最后,为了应对复杂的大项目中的工作也需要一个过程。
过程就是计划如何工作的定义。
什么是过程
过程是做一项工作的步骤序列。过程定义就是该过程的描述。
为了将一些方法、工具和人应用于软件任务中,软件过程建立了一个技术和管理框架。过程定义识别了角色、指定任务、建立试题以及主要步骤的入口和出口准则。
一个已定义的过程:标识了一项工作的主要步骤、度量、为项目管理提供了基础、为过程管理和改进提供了基础。
定义自己的过程
当定义自己的过程时,那些抽象的任务变成结构化的和分析的对象。然而只有把任务分解到足够细的情况下才能够对它进行改进。
基线过程(PSP0)的内容
主要目标是提供一个框架,这个框架帮助人们编写第一阅读全文

posted @ 2007-04-26 19:45 落花人独立 阅读(311) | 评论 (5) 编辑 |

摘要: 当在连需求也不知道的情况下,就会不知道如何去做计划。用下面的这句话来说服自己吧,“也许现在制定的计划很不准确,但是现在是你最需要一个你能控制的计划的时候。为此你必须有一个详尽的计划。”
PSP的目的
帮助控制、管理和改进自己的工作方式。是一个结构化的框架,包括软件开发中使用的表格、准则和规程。如果使用得当,PSP将提供所需的数据来帮助软件工程师做出承诺并实现它,同时它可以让个人的工作变得更加有效和可预测。唯一目的帮助个人提高其软件工程水平。
PSP不是所有软件工程问题的万能答案,但是它能帮助识别哪些地方可以改进及如何改进。无论如何你都必须自我改进。
软件工程规范的逻辑
提高软件工程师的实践技能。一个有规范的软件工程组织都会有良好定义的实践。
使用规范的开发实践
我们需要符合我们项目的需要且容易使用的已定义和试题的过程的指南。
可操作的过程
要做什么和怎么样去做。学习如何定义并且遵循你选择的可操作的过程。 <阅读全文

posted @ 2007-04-25 16:16 落花人独立 阅读(286) | 评论 (0) 编辑 |

摘要: The Personal Software Process (PSP) shows engineers how to

manage the quality of their projects
make commitments they can meet
improve estimating and planning
reduce defects in their products

Because personnel costs constitute 70 percent of the cost of software development, the skills and work habits of engineers largely determine the results of the software development process.The PSP can be used by engineers as a guide to a disciplined and structured approach阅读全文

posted @ 2007-04-24 10:36 落花人独立 阅读(434) | 评论 (2) 编辑 |

摘要: 用例模式
业务规则:大多数企业或组织的规则、规范、政策以及公司遵循的最佳经验。
模式
静态定义:业务规则在系统中硬编码。
动态修改:包含一个在系统升级和运行过程中改变规则的用例。




用例描述:

首先,不再在系统流程描述中描述各业务决策,而是在流程描述中引用业务规则集合来组成决策。
其次,业务规则描述与用例描述不出现在同一份文档中,而是用单独的文档或知识库来描述各个规则。
业务规则的实现:独立组件、知识库、已有的规则产品、数据库。
业务规则的分析模型:

具体各类意义参见fivestepsModel(在我的分析模型中)。
阅读全文

posted @ 2007-04-23 20:02 落花人独立 阅读(326) | 评论 (3) 编辑 |

摘要: Use cases can capture the funtion requirements of your systems and definate the border of the system.
One use case can simulate one of the using ways of your system,that is,the event that triggered by users from outer system what sequence actions will be adpted.
每个用例都是系统的一种完整的使用方法。包括由用户输入和系统对这些输入的响应所引起的内部事件的描述,还可以包括内部计算以及给用户的一些输出。用例实例即场景(scenario):用实际的值描述用例的一个执行路径。
每个用例都有一个目的,并且为涉众提供一个值。用例的名字是一个从系统观点以主动现在时态给定的动词短语,通常包括几个单词。
有些时候将用例根据其对系统的重要性分类阅读全文

posted @ 2007-04-20 21:34 落花人独立 阅读(624) | 评论 (12) 编辑 |

摘要: The Open-Closed Principle
Calsses should be open for extension,but closed for modification.
Our goal is to allow classes to be easily extended to incorperate new behavior without modifying exsiting code.Following the Open-Closed Principle usually introduces new levels of abstraction,which adds complexity to our code.You want to concentrate on those areas that are most likely to change in your designs and apply the principles there.Experience in designing OO systems and a matt阅读全文

posted @ 2007-04-19 15:16 落花人独立 阅读(183) | 评论 (4) 编辑 |

摘要: 系统分析员涉及的领域:
系统分析是指理解九详细说明信息系统应该做什么。
系统设计是指详细说明许多信息系统的组件在物理上怎样实施的。
系统分析员是一个商业专业人员,利用分析与设计技术解决商业问题。



利用信息系统来解决商业问题,即解决商业任务。
信息系统
  系统是一组为实现某些结果相互联系、相互作用的部件。
信息系统是一组完成收集、处理、存储和以输出完成商业任务所需信息作为提交的相互联系、相互作用的部件。
理解系统的方法:按功能分解;列出相互作用的各种事件类型,如一个系统包括硬件、软件、I/O、数据、人和过程。
系统边界:系统在它与它的环境之间有个边界,通过人分界。
自动化边界:一个系统自动部分和手动部分之间的分界。
信息系统类型:
决策支持系统(DSS):允许用户探索有效可选项或决策的影响的支持系统。 阅读全文

posted @ 2007-04-18 11:10 落花人独立 阅读(761) | 评论 (7) 编辑 |

摘要: Design Principles:

Identify the aspets of your application that vary and seperate them from what stays the same.
Take what varies and "Ecapsulate" it so it won't affect the rest of your code.
Program to an interface, not an implementation.
Favor composition over inheritance.
The picture followed is The Strategy Pattern:阅读全文

posted @ 2007-04-13 21:29 落花人独立 阅读(327) | 评论 (4) 编辑 |

摘要: 1、定义角色
  从查阅需求来源开始,比如功能说明。
一种方法是寻找句子的主语。另一种方法是查阅规格说明书中的术语表。
  为了对图形进行组织,可以按以下两种方法来做:
添加一些原形(stereotype),对角色分类。
运用角色分层模式,将角色组织到包中。
阅读全文

posted @ 2007-04-10 20:05 落花人独立 阅读(249) | 评论 (4) 编辑 |

摘要: 程序中对象的概念自然对应于真实世界的对象.例如:订单中加入产品。
Encapsulation:只公布模块和子系统的部分内容。
分析:研究、定义要解决问题的过程;发现系统必须执行的需求,它必须符合的基本假设及判断成功(失败)的标准。
OOA:根据对象定义问题。对象必须是与系统交互的真实世界中的对象,以及用于研究的多种可选方案的候选软件对象。
设计:定义解决方案。
OOD:定义组件、接口、对象、类、属性和操作。以在分析期间定义的候选对象作为开始。大型系统,设计发生在两个范围内:体系结构的设计(定义组成系统的组件)及组件设计(定义组件中的类和接口)。
模型:OOAD过程的中心产物。
分析模型:需求。
体系结构模型:解决方案的组件、接口和结构。该结构在多个结点间的部署。
组件设计模型:描述体系结构模型中的各部分的内部结构的模型(基本每个组件一个模型)。阅读全文

posted @ 2007-04-10 16:38 落花人独立 阅读(289) | 评论 (0) 编辑 |

摘要: 如果您有一个正在使用的应用程序并且不常更新,则转换它可能没什么意义,因为这么做的好处可能很有限。如果选择不将应用程序转换为 Visual Studio 2005 语法,仍有两种选择可以考虑:

1.
在应用程序虚拟目录的 IIS 设置中,保持将该应用程序映射到 ASP.Net 1.1(或 1.0)。继续使用 Visual Studio .Net 2003 编辑应用程序代码。

2.
在 IIS 设置中,将应用程序映射为在 ASP.Net 2.0 下运行,但不要从 Visual Studio .Net 2003 中升级项目格式。在本例中,应用程序将受益于 ASP.Net 2.0 中的几个安全性和性能增强功能,不过您需要继续使用 Visual Studio .Net 2003 来编辑应用程序代码。注:您可以在同一台 IIS 服务器上同时运行 ASP.Net 1.1 和 ASP.Net 2.0 应用程序。


阅读全文

posted @ 2007-04-10 09:26 落花人独立 阅读(1722) | 评论 (0) 编辑 |

摘要: 我采取的方法是,将不能加载的项目从你的解决方案中删除掉。然后选择添加现有项目,如果提示找不到相关的工程文件,会提示路径不对,那么就去将应的.csproj用vs.net打开进行修改就可以了。阅读全文

posted @ 2007-04-09 13:47 落花人独立 阅读(3315) | 评论 (3) 编辑 |

摘要: 1. Requirements
• The Microsoft .Net Framework 1.1
• A relational database. All scripts are tested with MySql 4.1 and MS Sql Server 2000.
如果安装了.NET2.0,那么就要做:右击"默认网站"->属性->Asp.NET页->Asp.net version改成1.1.4322,就是要改成1.1版本的(因为我只是试了这种版本,2.0的版本还没有做测试)
2. Setup
• Get the NetBpm distribution from the SourceForge site http://sf.net/projects/netbpm
(click on files to find the downloads). Get the latest release bundle unless you are looking
for a particular version.
• Unzip t阅读全文

posted @ 2007-04-06 21:51 落花人独立 阅读(2153) | 评论 (16) 编辑 |

摘要: NetBpm( Business Process Management )
是一个.NET的企业级应用程序,对于工作流管理系统(WFMS)具有独特的灵活性和可扩展性。其核心功能包括一个工作流引擎用来维护完全可定制的过程状态。NetBpm可以被看作是几个组件的捆绑,每个组件都有一个定义良好的接口。
  大体上NetBpm解决了以下几个主要问题:

  如何绑定一般的应用程序逻辑with不能被实时获取的由其它的人系统或人产生的结果。
  如何使一个事务在执行和等由第三方进行输入的时候保持连续性。
  NetBpm引擎跟踪它所等待的任何一party和其所执行的活动。
  在什么时候一个外部的party为NetBpm Engine提供一个结果,并且其继续执行过程定义。
Action
An action is a piece of software that has to be executed by the process-engine within the context of a process execu阅读全文

posted @ 2007-04-05 15:20 落花人独立 阅读(1049) | 评论 (8) 编辑 |

摘要: 在P236中的配置是错误的按例子写出的代码是不执行的。由此看来清华出书的质量实在是成问题,在这本书中好像还有一个或几个地方是这样子的,前后内容差不多。改成如下的代码:

keyContainerName="MyKeyContainerName"
useMachineContainer="true" />

阅读全文

posted @ 2007-04-02 21:51 落花人独立 阅读(314) | 评论 (0) 编辑 |

摘要: 成员资格和角色管理API
  Membership、Roles、FormsAuthentication三个类合作。
Membership提供管理用户帐户的方法——添加、删除一个新用户,编辑任何的用户信息。
Roles类创建和管理用户和角色之间的关联关系。
  阅读全文

posted @ 2007-04-02 20:07 落花人独立 阅读(419) | 评论 (7) 编辑 |

摘要: 安性不可以添加到现有应用程序或在开发阶段后期引入.安全性生来就与应用程序的功能相联系,应当在设计阶段的早期作为最早的特征之一加以规划。
最安全的Web应用程序是真正能抵制攻击的应用程序,而不是只是从设计上能这么做的应用程序。安全性是一个非常复杂的难题,其解决方案因应用程序的不同而不同。安全性通常是通过应用程序级和系统级措施的成功结合而实现的。
ASP.NET提供了一个内置的基础结构,在应用程序级保护Web页面不受未授权的访问。而这种安全性只是问题的一面,还要防止服务器攻击。
(一)安全的来源
跨站点脚本攻击(Cross-site scripting,XSS):不受信任的用户输入被回送到该页面。
拒绝服务(Denial of Service,DoS):加大请求,使系统过载。
窃听:使用嗅控器。
隐藏字段篡改。
单键攻击。
会话拦截。
SQL代码注入。
敏感数据不能通过电线发送,必须安全的保存在服务器上。
措施:
编码实践:数据验证、类型阅读全文

posted @ 2007-04-02 10:21 落花人独立 阅读(753) | 评论 (8) 编辑 |

count hit
欢迎您到紫阁阳光坐客