随笔分类 - [20] Analysis & Design
开闭原则(Open-Closed Principle,OCP)
摘要:2 开闭原则(Open-Closed Principle,OCP) 2.1 什么是开闭原则 开闭原则是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。 1988年,Bertrand Meyer在他的著作《Object Oriented Software...
阅读全文
UML 构件图(组件图)
摘要:•什么是构件 构件和构件的要素 •构件是系统中可替换的物理部分,它包装了实现而且遵从并提供一组接口的实现 •规格说明:对于构件,必须有一个它所提供服务的抽象描述。通俗地说,每个构件都必须提供特定的服务 •一个或多个实现:构件是一种物理概念,必须被一个或多个实现所支持,当然这些实现都必需符合规格说明 •受约束的构件标准:每一个构件,在实现时必须遵从某种构件标准 •封装方法:也就是构件遵从...
阅读全文
UML 状态图
摘要: •状态和状态机 状态、状态表示法及状态机 •状态是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况 •一个状态通常包括名称、进入/退出活动、内部转换、子状态和延迟事件等五个部分组成 •状态机是计算机科学理论的一部分,但UML中的状态机模型主要是基于David Harel所做的扩展,是用来展示状态与状态之间转换的图 •如何阅读状态机图 阅读最简单的状态...
阅读全文
UML 活动图
摘要:内容路线 •活动图概述 活动图概述 •活动图和交互图是UML中对系统动态方面建模的两种主要形式 •交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流 •活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模 •UML 2.0而言,去除了“活动图是状态图的一种特例”这一规定 ...
阅读全文
UML 对象图
摘要:内容图谱 •对象与类的关系 对象的概念与特性 •对象代表一个单独的、可确认的物体、单元或实体,它可以是具体的也可以是抽象的,在问题领域里有确切定义的角色。换句话说,对象是边界非常清楚的任何事物 •状态(属性):对象的状态包括对象的所有属性(通常是静态的)和这些属性的当前值(通常是动态的) •行为(方法,事件):没有一个对象是孤立存在的,对象可以被操作,也可以操作别的对象。而行为就是一个对象根...
阅读全文
UML 类图
摘要: •什么是类 面向对象思想 特例 抽象 •每个对象都扮演了一个角色,并为其它成员提供特定的服务或执行特定的行为。 •在面向对象世界中,行为的启动是通过将“消息”传递给对此行为负责的对象来完成的;同时还将伴随着执行要求附上相关的信息(参数);而收到该消息的对象则会执行相应的“方法”来实现需求 •用类和对象表示现实世界,用消息和方法来模拟现实世界的核心思想 如何用UML表示一个类 •...
阅读全文
UML 用例图
摘要:下面这个知识图片可参照 用例驱动开发 现代需求实践 •共性:站在用户的角度看待系统、定义系统 ;使用用户能够看懂的语言来表述 实践名称 描述 用例(Use case) 描绘一个系统外在可见的需求情况,是代表系统中各个项目相关人员(风险承担人,Stakeholder)之间就系统的行为所达成的契约 用户故事(user story) 由客户参与编写,说明他们需要系统为他们做什么,一般用客户的术语编写...
阅读全文
UML中对关系的描述
摘要:来源网络,加注释修改了用词 依赖关系(Dependency) 依赖关系是一种使用关系,特定对象的改变有可能会影响到使用该对象的对象(唉,这么翻译很难让别人懂的,意思就是存在依赖,改变将影响到被依赖的对象),反之不成立。在你想显示一个对象使用另一个对象时使用依赖关系。 通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数(还有使用另一个类的方法和属性等)。在UML中你可以在其它的对象之间...
阅读全文
软件架构概念分类
摘要:软件架构对于每一个人的理解都是不同的,通过分类可以在包容细节差异的小基础上明确共性,达到“概念总体上的清晰”。 将软件架构概念分派别: 1.组成派 软件系统的架构将系统描述为计算组件及组件之间的交互。 计算组件是泛指的,可以进一步细分为处理组件,数据组件,连接组件可以是子系统,框架,模块,类等不同粒度的软件单元 特征: (1.关注架构实践中的客体--软件,以软件本身为描述对象; (2...
阅读全文
UML 包图
摘要:什么是包 包可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。 •在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间“阡陌交纵”的关联关系、多重性等,必然是大大超出了人们可以处理的复杂度。这也就是引入了“包”这种分组事物构造块。 •包的作用是: 1)对语义上相关的元素进行分组...
阅读全文
UML模型的组成
摘要:UML模型基本元素 模型组织元素 •图:最直接的一种组织元素 •模型: --业务分析模型 --系统分析模型 --设计模型 --实现模型 --测试模型 •视图 --逻辑视图 --进程视图 --实现视图 --部署视图 •包:视图、模型、子系统、层、包 视图、模型与图 视图 模型 图 用例视图 业务/系统分析模型(为主) 用例图、交互图、状态机图、类图、交互概述图 设计模型 交互图、状态机图、...
阅读全文
UML建模实践概述
摘要:建模目的和原则 • 帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化 • 仅当需要模型时,才构建它 • 选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型是不充分的。对每个重要的系统最好用一组几乎...
阅读全文
模型驱动的开发,回忆一年多前的一次开发
摘要:您有关于问题域、需求、解决方案的体系结构以及解决方案的单独组件、大量相互关联的模型。 所有规范文档引用模型,并且被模型引用。 所有的设计和代码都派生自模型。 所有的评估和计划表都给予模型的元素。 所有的测试计划和测试案例都派生自模型。 所有的终端用户文档都根据模型而定制。 所有项目认为产物的状态反应在模型中。 记着在一年多前的,那个时候我所在的公司来了一位新技术总监,他所给老板的承诺...
阅读全文
简单实现缓存需求
摘要:读写缓存像变量一样很容易,但是维护缓存,判定缓存有效性,就要根据业务需求来多多去实践。 方法一 为关键字建立Key 方法二 维护缓存中的数据结构,通过筛选器来筛 过程如上图,这个图是复制的别人的 方法三 内存数据库 未完
阅读全文
Enterprise Architect 基础应用
摘要:下载最新的Enterprise Architect中文版 http://www.enterprisearchitect.cn/download 安装过程 先安装原版EA,再安装汉化包,过程就是一路下一步,安装完成。 http://www.enterprisearchitect.cn上有很多中文的EA资料很不错,推荐。 新建项目 开始-新建项目-选择文件目录及名字后,如下图选择使用的模板...
阅读全文
UML 面向对象分析与设计
摘要:面向对象方法以其超越传统方法的技术先进性越来越得到更多的重视,但技术的先进性不能完全代表一种新生事物的最后成功,还要看它是否能得到有效的推广。统一建模语言(UML)的产生为这种推广规定了一致的表示,诸多开发过程模型为技术的应用提供了宏观的指导。UML 1.模型驱动的开发,回忆一年多前的一次开发 2.UML建模实践概述 3.UML模型的组成 4.UML中对关系的描述 5.UML 包图 6.UML 类...
阅读全文
iBATIS.NET
摘要:下载主页: http://ibatis.apache.org/dotnet.cgi?Preferred=http%3A%2F%2Fapache.etoak.com Demo是从网上搜的,有一个数据库文件附加到SQL Server中来,其中有一个Person表,表中有主键,字符型,浮点型和日期型的字段,下面通过这个代码来入门IBatis.Net (看他并不是要用他,我不会去使用IBatis.Net...
阅读全文
企业的虚拟化发展
摘要:作者 Matthew Porter 译者 孙涛 发布于 2009年8月3日 上午2时1分 以Amazon EC2为代表的云服务已经将虚拟化推向了IT界的前台。云服务是基于虚拟化最受欢迎的特征之上建立的,即其能在硬件上很快地安装新的虚拟机。云计算的核心前提是首先拥有大量的基础设施,并且有冗余的容量可以售卖给有需要的客户。云计算本身拥有大规模基础设施的灵活性和结构,同时又能分成小块的形式出售,从而满足...
阅读全文