UML_需求_设计_模式
文章平均质量分 62
bamboolsu
技术总监,产品经理,开发经理,项目经理,PMP, Scrum master, CM
丰富的java,HTML5,python, C/C++开发开发经验,
motorola, google, 第九城市等公司工作经验
跨境电商相关(进出口商城,erp等)产品规划,研发
丰富的产品管理,项目管理,需求管理,技术开发管理敬仰
linux,windows, wxworks等多平台开发
展开
-
流程图工具
DiaVisioRation rose原创 2015-01-28 13:04:58 · 626 阅读 · 0 评论 -
设计模式介绍:观察者模式(observer)
观察者模式(又称发布/订阅模式)定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,,所有依赖于它的对象都得到通知并被自动更新。 常见的应用程序框架中有很多观察者模式的应用,比如 MFC 的 Doc/View ,Qt 中的信号与槽、 Model/View Architecture,安卓中的广播接收者( Broadcast Receiver )。 当对一个对象的转载 2015-02-19 16:08:13 · 468 阅读 · 0 评论 -
需求评审的案例分析
案例一:客户需求文档评审 参与人员:1位主持人,1位作者,1位记录员,4位专家,1位咨询顾问旁观 开始时间:15:40 结束时间:17:15 会议工时 :6.3人时 会前准备累计工时:9人时 总工时:15.3人时 会议前发现的问题:25个 会中发现的问题:2个 合计问题:27个 会前评审效率:2.8个/人时 会中评审效率:0.3个/人时 评审转载 2015-02-22 19:45:32 · 2235 阅读 · 0 评论 -
MVC框架设计思想与设计理念
尽管MVC早已不是什么新鲜话题了,但是从近些年一些优秀MVC框架的设计上,我们还是会发现MVC在架构设计上的一些新亮点。本文将对传统MVC架构中的一些弊病进行解读,了解一些优秀MVC框架是如何化解这些问题的,揭示其中所折射出的设计思想与设计理念。MVC回顾作为一种经典到不能再经典的架构模式,MVC的成功有其必然的道理,这个道理不同的人会有不同的解读,笔者最认转载 2015-02-19 16:47:58 · 2895 阅读 · 0 评论 -
文档恐惧症的分析
一、为什么不愿意写文档?大部分开发人员不愿意编写文档,为什么呢?1.写文档需要花费很多时间。2.不愿意暴露自己的思想被别人评判。3.文档编写得不好、没有充分发挥作用。4.根据实践经验,并非不写文档,项目就干不下去。有很多客户也这样对我讲:“我们原来没有那么多文档,项目照样干,客户也一样验收付款啊!”。5.如果写文档,很容易造成文档与实现不一致,文档的价值大大降低转载 2015-02-25 16:02:34 · 472 阅读 · 0 评论 -
案例:需求问题的解决方案
讨论时间:2012-09-14下午13:00至14:45参与人员:EPG3人,需求开发部门负责人一名,项目经理一名 1现象与问题:(1)开发人员反映需求没有说清楚, 写的人认为需求很清楚了。(2)是写清楚,还是说清楚?以谁的意见为主?如果说清楚呢,语言没有证据,不如文字规范。将来发生了需求变更时有争议。(3)需求人员没有讲解约定俗成的,默认的东西,开发人员没有概念。(4转载 2015-02-26 13:35:58 · 962 阅读 · 0 评论 -
如何减少返工工作量?
提高软件开发效率的最有效手段就是一次做对,一次做好,不返工,追求交付零缺陷的目标。“对”就是没有错误,符合需求,“好”就是没有坏味道,易于修改。“做对”保证了产品的外部质量,“做好”保证了产品的内部质量,这样就可以减少软件缺陷、需求变更带来的返工。返工可能发生在生命周期的早期,也可能发生在后期,或者是交付以后,缺陷越早发现,越早解决,返工的工作量越少。有哪些手段可以保证不犯错,少犯错,及时纠错呢?转载 2015-02-25 16:08:24 · 2597 阅读 · 0 评论 -
UML 工具
Rational RoseVisioPowerDesigner可正向 反向工程原创 2015-01-25 18:46:53 · 455 阅读 · 0 评论 -
设计模式介绍1:单例模式(Singleton)
最简单最常见的设计模式: singleton (单例)。 意图保证一个类仅有一个实例,并提供一个访问它的全局访问点 已知应用举例Qt, QCoreApplicationJava, Runtime.getRuntime() 常见问题多线程重入与竞争会造成 2 个或多个实例被构建找不到合适的时机释转载 2015-02-14 09:08:19 · 552 阅读 · 0 评论 -
设计模式介绍:概述
本文的目的:介绍设计模式在开发过程中主动使用设计模式使用设计模式来重构已有代码不是完整的设计模式参考和详解,仅仅是推荐 什么是设计模式 设计模式的系统性概念是 GoF 整理并提出来的。 GoF (又称“四人帮”,即 Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides )的《设计模式》一书中有详转载 2015-02-14 09:09:23 · 442 阅读 · 0 评论 -
UML基础
UML基础知识扫盲UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言。你可能会问:这明明是一种图形,为什么说是语言呢?伟大的汉字还不是从图形(象形文字)开始的吗?语言是包括文字和图形的!其实有很多内容文字是无法表达的,你见过建筑设计图纸吗?里面还不是很多图形,光用文字能表达清楚建筑设计吗?在建筑界,有一转载 2015-03-02 20:17:35 · 567 阅读 · 0 评论 -
需求分析挑战之旅(疯狂的订餐系统)
大纲:1.某IT公司员工的吃饭问题2.需求分析的大道理3.背景-需要-需求规格4.没完没了的“新需求”5.领导“突发奇想”6.榨干人脑汁的需求分析7.变被动为主动8.最后的疯狂 1. 某IT公司员工的吃饭问题咱们出来干活的,天天需要吃午饭,所谓“午饭吃不好,工作干不好”。某IT公司深知这个道理,为了让大家方便吃午饭,由转载 2015-03-02 18:31:50 · 1535 阅读 · 0 评论 -
设计模式介绍:模板方法(Template Method)模式
应用程序开发框架中的一个基本的概念是模板方法( Template Method )模式,它是如此的常见以至于我们在使用时甚至不觉得这是个模式,达到了熟视无睹的程度。 模板方法模式的一个重要特征是它(模板方法,这里不是模式名,而是指那个我们称之为模板方法模式的方法或函数)的定义在基类中(有时作为一个保护或私有成员函数)并且不能改动——模板方法模式就是“坚持相同的代码”。它调用其它基类函转载 2015-02-19 15:45:07 · 440 阅读 · 0 评论 -
设计模式介绍:工厂模式(factory)
我们在实现一个软件系统时,经常遇到添加新类型的情况,没有设计模式经验的开发者会采取比较直接的方式,定义一个类,在用这个类的模块中引入该类所在的头文件,使用 new 操作符从堆上分配一个对象,不需要的时候调用 delete 来删除对象回收内存。随着类型越来越多,这种分配对象的操作遍布代码各个模块,一旦类的定义发生变化,尤其是修改或增加了新的接口,就要到处检查修改代码,系统大了,甚至会遗漏一些需要修改原创 2015-02-19 15:10:55 · 588 阅读 · 0 评论 -
软件需求评审之道
软件需求是软件开发的最重要的一个输入,需求风险也常常是软件开发过程中最大的一个风险,降低需求风险的一个重要手段就是需求评审,但是需求评审是所有的评审活动中最难的一个,也是最容易被忽视的一个评审。笔者曾经历过以下的几种失败的需求评审: 案例一 某领域专家A先生就某企业的成本管理系统做用户需求报告的评审工作,在评审会开始时间不长,就被在场的企业的一位副总B先生打断,认为A先生提出的方案转载 2015-02-22 19:46:18 · 620 阅读 · 0 评论 -
Linux下的绘图(流程图、UML、mindmap)工具
最近在做新项目的需求,手头没有好用的绘图工具,我比较喜欢用mindmap工具来整理思路,但是Linux下的FreeMind一直用得不习惯,功能不是很完善,我还是比较喜欢Mindjet MindManager,可惜没有Linux版本,而流程图等,熟悉Linux的朋友可能会说用Dia,Dia做的图太简陋了,所以好好的Google了下,发现两个非常好用免费的基于Java的绘图工具,一个是IHMC C转载 2015-01-28 11:18:14 · 4131 阅读 · 0 评论 -
DIA: 使用Diagram Designer快速绘制流程图、UML等图形
目前比较流行的UML建模工具包括Visio、Rational Rose、PowerDesigner、EA等,基本上都是企业级的软件,功能强大,我只用过Visio,所以就不对它们的特点或者异同多加介绍。对于较正式的情况,例如图形会作为项目文档的一部分,建议使用以上列出的软件。当我们在工作中遇到较复杂的代码逻辑或者业务逻辑时,把它们以图形的形式展现出来更容易理解,对于这种情况,可以使用一个简单轻便的建转载 2015-01-30 09:24:08 · 20335 阅读 · 3 评论 -
Uml of linux
Uml of linuxbouml: 有linux 与 windows 的版本, 可以import源代码,从而通过拖动代码生成的类,而生成类图, 并且自动产生类图之间的关系线。 是通过导入文件夹进行导入类的。 支持c++, java,php, python, idl 语言;umbrello: linux 下的UML工具,可以import源代码,从而通过拖动代码生成的类,而生成原创 2015-01-29 10:24:44 · 621 阅读 · 0 评论 -
13种优秀的UML tools 反向工程
BOUML: linux windows platform 反向工程BOUML 是一个开源的UML2 建模工具,可生成包括 C++、Java、Idl、PHP、Python 等代码,支持操作系统包括: Unix、Linux、Solaris、 MacOS X 和 Windows。eclipse-uml2-tools: 反向工程UML2 Tools 是一组基于GMF 的编原创 2015-01-29 10:54:40 · 6962 阅读 · 0 评论 -
eclipse uml
1, install new software in eclispe, using the following repoEclipse Kepler repository - http://download.eclipse.org/releases/kepler 用UML 过滤结果, 选择UML2http://eclipse.org/modeling/mdt/?pro原创 2015-01-29 13:36:55 · 933 阅读 · 0 评论 -
需求培训
需求培训http://www.open-open.comhttp://www.uml.org.cn/StarUMLhttp://www.kuqin.com/developtool/20070825/632.htmlhttp://www.itpub.net/forum-16-6.html?ts=29原创 2015-01-22 13:06:18 · 382 阅读 · 0 评论 -
UML 工具 UMLet 试用
UML 工具 UMLet 是一个免费、开源、简单的 UML 建模工具。分两个版本,独立运行的版本和 Eclipse 插件。我下载的是独立运行的版本,由这里下载,目前最新版本是 12.2 。 独立版本是个 zip 包,解压即可使用,软件界面非常简单,是英文界面,但支持中文输入,在用例图上可以输入中文,其他的图标中也可以输入中文。 下图是启动后的界面:转载 2015-02-19 16:13:26 · 1060 阅读 · 0 评论 -
需求评审会议亲历记
最近参加了一次需求评审,整理了整个过程如下: 评审组构成: 由EPG的组长担任评审会议主持人,评审组成员有12个人,6个开发人员,包括项目经理,都是项目组内部的人员,1个测试人员,4个EPG成员,1个外部咨询顾问。 准备工作: (1)提前1天发了会议通知,没有为评审组成员准备检查单。 (2)有2个人提前进行了准备,阅读了被审查文档,但是只找出了2-5个问题 (3)Q转载 2015-02-22 19:06:11 · 1014 阅读 · 0 评论 -
uml of linux
bouml: 有linux 与 windows 的版本, 可以import源代码,从而通过拖动代码生成的类,而生成类图, 并且自动产生类图之间的关系线。 是通过导入文件夹进行导入类的。 支持c++, java,php, python, idl 语言;umbrello: linux 下的UML工具,可以import源代码,从而通过拖动代码生成的类,而生成类图, 并且自动产生类图之间的关原创 2015-01-22 12:25:47 · 477 阅读 · 0 评论 -
设计模式介绍:命令模式(command)
命令(模式)的结构很简单,但对于消除代码间的耦合却有着重要的影响。 在 C 语言中我们经常使用回调函数,而命令模式是回调( callback )的面向对象的替代物。从最直观的角度来看,命令模式就是一个函数对象:一个作为对象的函数。通过将函数封装为对象,就能够以参数的形式将其传递给其他函数或者对象,告诉他们在履行请求的过程中执行特定的操作。可以说,命令模式是携带行为信息的信使。转载 2015-02-19 15:43:31 · 495 阅读 · 0 评论 -
关于需求跟踪矩阵的6个问题
1 需求跟踪矩阵(RTM)有什么作用? (1) 在需求变更、设计变更、代码变更、测试用例变更时,需求跟踪矩阵是目前经过实践检验的进行变更波及范围影响分析的最有效的工具,如果不借助RTM,则发生上述变更时,往往会遗漏某些连锁变化。 (2) RTM也是验证需求是否得到了实现的有效工具,借助RTM,可以跟踪每个需求的状态:是否设计了,是否实现了,是否测试了。 2 需求跟踪矩阵分为哪几类?转载 2015-02-22 18:55:38 · 3982 阅读 · 0 评论 -
软件设计 实践
1)什么是优秀的设计?2)优秀设计从分析需求开始3)软件系统不是木桶型的4)软件设计的“大道理”5)规划系统的骨架——架构设计6)打造系统的底蕴——数据库设计7)细节决定成败——详细设计8)用户感觉好才是真的好——用户体验设计1)什么是优秀的设计?1.1. 什么是优秀的设计?某项目的设计文档评审会上,各路技术大牛原创 2015-03-07 18:56:20 · 6916 阅读 · 0 评论