2012年9月21日
摘要: 类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就介绍一下。类与类之间存在以下关系: (1)泛化(Generalization) (2)关联(Association) (3)依赖(Dependency) (4)聚合(Aggregation)UML图与应用代码例子:1.泛化(Generalization)[泛化]表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。[具体表现]父类 父类实例=new 子类()[UML图](图1.1)图1.1 Animal类与Tige... 阅读全文
posted @ 2012-09-21 18:58 bitbit 阅读(309) 评论(0) 推荐(0) 编辑
  2012年9月20日
摘要: 软件构架师是技术主管首先,软件构架师是技术主管,这意味着除了他要有技术上的技能外,还要有很好的领导才能。构架师的领导能力在团队中和项目质量控制中起着十分重要的作用。在团队中,构架师是项目的技术总管,他需要有丰富的知识背景,以便作出技术上的决定。相对于构架师来说,项目经理是来管理项目的资源,时间进度和花费的。使用电影制作来做类比的话,项目经理就是制片人(他要确定工作被完成了),而构架师是导演(他需要确定工作被正确的完成)。由于他们在项目中所处的位置,构架师和项目经理是公众人物,在一个团队中,他们是整个项目所涉及的所有人员的联系枢纽。构架师应该为建立软件构架争取投资,并且要明确建立软件构架能给组织 阅读全文
posted @ 2012-09-20 20:36 bitbit 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 设计模式与软件架构设计 一、面向对象软件架构设计思想 a)面向对象范式 i.面向对象范式的核心是“对象”的概念 ii.所有的东西都聚焦于对象 iii.围绕对象-而非函数-组织代码 b)对象从不同视角观察 i.概念层:一个对象是一系列责任 ii.规格层:一个对象是一系列可以被其他对象或该对象自己调用的方法 iii.实现层:一个对象是一些代码和数据 c)设计原则 i.“开闭”原则(OCP) ii.里氏代换原则(LSP) iii.依赖倒转原则(DIP) iv.接口隔离原则(ISP) v.组合/聚合复用原则(CARP) vi.迪米特法则(LoD) 二、使用UML进行软件架构设计 a)最小UML建模技术 阅读全文
posted @ 2012-09-20 19:46 bitbit 阅读(712) 评论(0) 推荐(0) 编辑
  2012年9月19日
摘要: RUP的二维开发模型 在RUP中,软件开发生命周期根据时间和RUP的核心工作流划分为二维空间:横轴表示项目的时间维,是过程展开的生命周期特征,体现开发过程的动态结构。RUP的核心工作流 RUP中有9个核心工作流,分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。RUP的四个阶段 通过使用RUP,软件产品的生命周期被分成单独的开发周期。这些开发周期再被细分为多个阶段。RUP包括以下几个阶段:初始阶段;细化阶段;构造阶段;发布发布阶段。RUP的迭代开发模型 RUP中的每个阶段可以进一步分解为迭代... 阅读全文
posted @ 2012-09-19 16:40 bitbit 阅读(3865) 评论(0) 推荐(0) 编辑
摘要: 区别: 系统分析师比系统架构师更贴近用户一点,主要是需求分析,业务分析。系统架构师比系统分析师更贴近技术一点,是技术专家、资深技术人员。联系: 都是高级抽象级别,同作为软件高级职称资格,是程序员和软件设计师的领导者和技术顾问。 两个联系多于区别,一般系统分析师组和架构师组合作,共同制定一个基础技术框架。 阅读全文
posted @ 2012-09-19 14:11 bitbit 阅读(2495) 评论(0) 推荐(0) 编辑
  2012年9月18日
摘要: 加油 阅读全文
posted @ 2012-09-18 20:29 bitbit 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 要画出用例图,必须首先确定系统的参与者有哪些。参与者又分为普通用户,系统用户,以及外部系统。每个用例描述了系统的一个相对独立的模块,但他并不涉及系统内部的具体实现细节。用例之间的关系有泛化,包含,扩展三种。 阅读全文
posted @ 2012-09-18 20:17 bitbit 阅读(270) 评论(0) 推荐(0) 编辑
  2012年9月15日
摘要: 1.A dependency exists between two elements if changes to the definition of one element (the supplier) may cause changes to the other (the client). With classes, dependencies exist for various reasons: One class sends a message to another; one class has another as part of its data; one class mentions 阅读全文
posted @ 2012-09-15 14:00 bitbit 阅读(420) 评论(0) 推荐(0) 编辑
摘要: UML关系(泛化,实现,依赖,关联(聚合,组合))UML的构造快包含3种:(1) 事物(4种):结构事物,行为事物,分组事物,注释事物(2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系(3) 图(10种):用例图,类图,对象图,包图,组件图,部署图,状态图,活动图,序列图,协作图事物是对模型中最具代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。(2) 关系(4种)UML中类与类,类与接口,接口与接口这间的关系有:泛化(generalization)关系,关联(association)关系(关联,聚合,合成),依赖(dependency)关系,实现(realization 阅读全文
posted @ 2012-09-15 12:30 bitbit 阅读(229) 评论(0) 推荐(0) 编辑
  2012年9月12日
摘要: 1.在设计一个类时,可能会不自觉地与它的实现相联系(譬如,这个接口我这样设计,功能是否能最终实现?).这是一个很基本的错误. 设计时要把抽象与实现分离。理由很简单,一是简化了类的抽象,忽略对当前设计目的来说不重要的属性或特性,如飞机驾驶培训系统的飞机类,就可以忽略飞机的客舱内部布置;二是把抽象与实现分现,将使抽象的实现更灵活。如飞机的起降控制,只需提供两个接口,具体起飞控制流程和降落控制流程并不需要涉及。又如,酒店预订系统的房间类,可以不考虑房间的装修时间,室内陈设的新旧程度,提供退房接口,也不关心退房的具体流程。2.接口要最小化.通常,一个完美的类应该包含下面这些成员1~6。但是这不是所有类 阅读全文
posted @ 2012-09-12 21:09 bitbit 阅读(541) 评论(0) 推荐(0) 编辑