BlogJava 联系 聚合 管理  

Blog Stats

随笔档案

文章档案


年度最佳UML/MDA工具

trufun Plato/Kant

2011年12月20日 #

trufun1  9:35:38
UML开课啦
trufun1  9:37:40
上堂课征求意见结果如下:
trufun1  9:38:48
1.有人提的语音等方式不适合上班的大部分网友
trufun1  9:39:20
2.以实战项目为主
trufun1  9:42:58
结论:1.还是采用目前的方式教学,2.开展实战项目征集
trufun1  9:46:45
下面是需求征集表,希望大家下载后传给我
trufun1  9:48:08
             UML建模推广课程讨论题目
网友称呼        工作单位    
题目    
需求片段    要求:1.有一定深度,2.替换掉单位等不宜公开信息
需求描述:

分析要求:    

trufun1  9:52:11

今天的课程是讲解楚凡科技的软件过程模型TUP

=============欢迎访问www.trufun.net下载免费UML2工具试用=================


============欢迎加入Trufun家园交流群讨论UML2应用问题================


trufun1  9:57:12
在UML建模出现之后,这些模型都声称支持建模过程
trufun1  10:01:45
但是国际omg组织并没有指定该何种过程模型
trufun1  10:06:44
西安楚凡科技在总结其他模型的基础上,提出了一种适合中小软件企业的过程模型TUP
trufun1  10:11:48

trufun1  10:14:30
如图所示:整个建模过程从水平方向分为三个阶段,13个活动
trufun1  10:16:10
垂直方向分为两个过程
trufun1  10:18:51
TUP的每个阶段都包括一系列目标、若干重要的焦点活动、若干建模成果以及一个组织活动的方法和一个阶段结束的里程碑。
trufun1  10:21:21
比如:草图阶段的主要目标是获取和定义用户需求,主要包括以下几个方面:
n    确定客户高层需求;
n    确定主要的用户业务需求;
n    确定软件的范围;
n    确定软件系统的实现目标;
n    确定架构雏形。trufun1  10:24:00
焦点:草图阶段的重点是交流活动和建模活动,在建模活动中除了UML建模以外,可能还有原型建模。
trufun1  10:26:58
草图阶段的主要成果

n    生成了系统映像;
n    生成了架构雏形;
n    建立了主要分析类模型;
n    建立了主要流程的活动图模型;
n    建立了系统用例图模型。
trufun1  10:28:18
草图阶段的里程碑:确定了软件的范围和目标,并取得客户的认可
trufun1  10:31:12
下面对TUP过程模型有什么问题可以提问
trufun1  10:31:26
下面对TUP过程模型有什么问题可以提问
trufun1  10:34:16
过程模型说简单一点,就是告诉你应该先做什么,后作什么
trufun1  10:36:54
就象往墙上钉一幅画一样,OMG只告诉你有画,钉子,榔头,浆糊,刷子
trufun1  10:41:02
是用钉子还是用浆糊,omg并没有告诉你,就象是用活动图表示,还是用序列图表示,并没有国际标准
trufun1  10:47:58
TUP就是告诉大家怎样从头到尾进行软件建模
trufun1  10:51:26
怎样由粗到精,由表及里寻找需求背后的业务模型
trufun1  10:56:01
TUP有很多特点:比如简化了RUP中的许多概念,大家知道概念多了交流起来容易混淆
trufun1  11:00:05
比如RUP中与系统交互的有干系人,代理人,用户,角色,系统参与者,而TUP只有一个关键的概念角色,明确的表示了交互和边界的含义
trufun1  11:07:53

所以TUP实用、简单,学起来,使用起来容易


=========欢迎访问www.trufun.net下载免费UML2工具试用=============


==========欢迎加入Trufun家园交流群讨论UML2应用问题=============


trufun1  11:10:19
今天的内容理论性比较强,不是很多网友的关注点,这一点我在以往教学中是清楚的
trufun1  11:18:11
提不出问题没关系,当你看不懂RUP的书,不知道怎样在开发中建模,想想还有TUP就可以啦
trufun1  11:26:23
另外,如果大家希望实战分析的内容有针对性,不妨把那个需求征集表填一下,可以是自己不明白的需求,也可以是自己希望学习的内容
trufun1  11:31:33
上学期的案例都是我准备的,上节课征集意见时,大家还是希望讲实战的项目,要学习,需要大家配合
IS印象(20474992)  11:33:22
这样子讲没什么感觉
trufun1  11:34:18
你希望这样
trufun1  11:34:33
你希望怎样
乐百氏(3)  11:34:49
老师完整地操作一遍,大家围观,随时提出问题。
trufun1  11:35:23
大家可以提出自己的实际案例,我们来实时操作分析
trufun1  11:40:57
今天的课程就到这里,888
QQ熊(2) 2012/2/7 11:45:09
能否提供一个安例呢?(从需求收集--》需求分析--》需求设计)
有整个方案的详细分档么?
trufun1 2012/2/7 11:46:25

trufun1 2012/2/7 11:46:56
你设想一个发给我
QQ熊(2) 2012/2/7 11:49:13
好的。

=========欢迎访问www.trufun.net下载免费UML2工具试用==============


===========欢迎加入Trufun家园交流群讨论UML2应用问题============
posted @ 2012-02-14 15:26 trufun 阅读(222) | 评论 (0)编辑 收藏

中国人最常用的UML工具介绍(摘自论坛投票结果和网友)


第一名:Rational Rose。大名鼎鼎,史上最有名、最无可替代的UML产品,以至于,大多数将之等同于UML工具,正如将可乐等同于可口可乐。需要指出的是,自从 Rational被IBM收购之后,Rational Rose已经成为历史,作为UML1.4标准的产物,现在已经不升级。其替代品是IBM的其他产品,如IBM RSA, RSD等。


第二名:IBM Rational RSA。无可置疑,IBM的旗舰产品,通过和IBM其他产品的协调,支持软件开发的全生命周期开发。唯一的缺陷,是出奇的笨重,和出奇的庞杂昂贵(不唯一了?)。


第三名:Trufun Kant Studio。作为国产唯一的UML工具,据说是最易用的UML工具,目前在国内大多数高校取得了广泛的应用。对企业和高校而言,其最独特的杀伤性武器是 支持广泛实用性强,而且帮助企业引入TUP实训和咨询,一步到位解决产品和具体应用问题。


第四名:EA。EA的特点就是没特点,除了便宜和好像要啥有啥外,没有让人印象深刻的地方,可能这就是低价产品之道。说起来,倒像我曾经呆过的系统集成企业,招标时,没有我不会做的,没有比我更便宜的,呵呵。


第五名:StarUML。用Delphi能做到这种程度,StarUML作者绝对是个Delphi牛人,只可惜此开源项目不知为何中止,可惜啊。如果能够继续的话,估计其他UML工具都没有活路了。

其他还有一些不太常用的,以后有时间再说,如ArgoUML, PowerDesigner, Visual UML等。

以上评价仅代表个人观点,如有异议,欢迎来信来函讨论。
posted @ 2012-02-14 15:25 trufun 阅读(295) | 评论 (0)编辑 收藏

即 日起,凡是购买Trufun最新版本Trufun Kant Studio一站式开发平台4套(39600元)的企业或者团队,均可获赠Trufun Plato企业版最新版本6套和3天定制企业内训课程(价值63000元),所获赠企业内训课程内容可以根据Trufun所提供培训课程并结合企业项目特 点进行定制,更有机会加入Trufun高级TUP过程培训内容,本次活动名额有限,仅限10名,以签订合同顺序为准,机不可失,时不再来!!

访问官网了解更多www.trufun.net
来电来信咨询  029-88346234   trufun*a*trufun.net 
posted @ 2012-02-09 13:10 trufun 阅读(185) | 评论 (0)编辑 收藏

trufun1  9:28:06
UML开课啦,今天讨论组件图
--(3)  9:28:23
好呀好呀
trufun1  9:31:49
简单讲,组件是一个可独立运行的、代表一个业务的二进制代码
--(3)  9:32:21
组件必须是可独立运行的吗?
--(3)  9:32:31
如果不可以独立运行,是不是就不叫组件?
守护者(4)  9:32:32
trufun1  9:33:42
这是标准的解释
--(3)  9:34:23
有意外情况?
守护者(4)  9:34:27
组件也可以是一个 可执行 可调用的 模块吧
--(3)  9:34:33
非独立运行的组件出现?
守护者(4)  9:34:41
不一定都是可执行的吧
承懿<5>  9:35:36
那把非标准的讲一下,通俗点吧

========欢迎访问www.trufun.net网站查看更多交流群讨论内容===============
=========欢迎访问www.trufun.net网站免费下载UML2建模工具使用============
=========欢迎加入trufun qq交流群讨论UML应用问题=======================

trufun1  9:35:52
面向过程,面向对象之后就是面向组件
守护者(4)  9:36:08
我有自己工作积累的独立模块  这不是可以独立运行的   也应该算做是组件吧
--(3)  9:36:50
等下啊,问句题外话,你们在黑龙江,有专门的培训机构吗?想去系统的学习一下
守护者(4)  9:36:54
我以前做过一点 面向 字符串  也是一种 呵呵
--(3)  9:37:00
吉林也成,辽宁也行,东三省都行
trufun
系统学习参加trufun公开课或者企业内训都可以
trufun1  9:40:28
组件有一个很重要的特征是有接口
trufun1  9:42:28
一个生产产品的企业从外部看就是组件
守护者(4)  9:42:52
怎么讲 是说将其完全封装吗
trufun1  9:43:54
这里不是封装,而是抽象
trufun1  9:44:54
如计算机,cpu,内存条都是组件
守护者(4)  9:44:59
面向接口 我觉得 不就是 将行为抽象 将实现封装吗
守护者(4)  9:45:11
恩  
一米阳光(6)  9:45:49
面向接口  我发现通过继承也可以实现接口的功能 这又是什么呢
承懿<5>  9:46:04
守护者(4)  9:44:59
面向接口 我觉得 不就是 将行为抽象 将实现封装吗
我觉得也是这个的
trufun1  9:46:08
组件是物理实现抽象表达
守护者(4)  9:46:34

trufun1  9:47:19
如cpu实际上是对cpu板子的抽象
trufun1  9:48:03
当然,物理软件也可抽象成组件

--(3)  9:48:07
若干个可独立工作的组件,通过接口组装在一起,就变成了一个整体的系统,可以这么理解吧?
一米阳光(6)  9:48:21
意思 一个组件就是一段独立的代码?
trufun1  9:49:29
一般讲,组件是具体的制品构成
一米阳光(6)  9:49:53
不依托其他 条件存在的?
trufun1  9:49:55
组件是抽象的
trufun1  9:50:15
制品是实例化的
trufun1  9:50:36
独立
trufun1  9:51:27
代码(exe,dll) 是制品的一种
一米阳光(6)  9:51:36
那么这么理解 行不行  组件 就是一个类  制品就是一个实例对象? 比如 new object?
承懿<5>  9:51:40
晓得了
========欢迎访问www.trufun.net网站查看更多交流群讨论内容===============
=========欢迎访问www.trufun.net网站免费下载UML2建模工具使用============
=========欢迎加入trufun qq交流群讨论UML应用问题=======================
守护者(4)  9:52:06
组件  比类的粒度要大得多 层面也不一样 小米
trufun1  9:52:09
有点类似
承懿<5>  9:52:26
我原来在另外一家公司 的时候他们的部件加载就是加载dll直接运行的
守护者(4)  9:53:45
我自己以前工作的内容 也集成过一个DLL  自己写程序时  也会  当组件来用 但是单位的程序就不行了
trufun1  9:55:24
组件又被分为执行组件、部署组件、产品组件
trufun1  9:57:27
希望大家多提问题
--(3)  10:02:06
组件只能是单独存在的吧?不会出现组件下面还有小组件存在的这种情况吧?
--(3)  10:02:14
是不是要把组件给细分到最小化?
trufun1  10:02:18
我问大家一个问题,什么是组件架构,由那些组件组成?
trufun1  10:02:34
组件可以包含组件
守护者(4)  10:07:08
SOA算吗  将组件封装成服务
--(3)  10:07:09
那为什么直接细分成最小化呢?
trufun1  10:07:24
一般讲,由容器组件、粘结组件和产品组件构成
守护者(4)  10:08:32
容器 最简单的理解就是 namespace  或者 说是 package
trufun1  10:09:41
举例:网页中,容器组件是什么?粘结组件是什么,产品组件是什么?
守护者(4)  10:09:57
粘结组件?
trufun1  10:10:38
粘接
守护者(4)  10:11:04
网页中,容器组件就是网页所在的链接
产品组件 就是所用到的外部DLL 或者是 页面控件组件
trufun1  10:11:19
不大对
守护者(4)  10:11:49
粘结组件不知道 但是从字面上看是不是就是 链接自己程序和 外部程序的适配器呢
一米阳光(6)  10:12:28
我觉得怎么个html 就是容器组件
trufun1  10:12:34
字打别了为粘接
trufun1  10:13:18
html为粘接组件
守护者(4)  10:13:44
 tru 能给个链接吗  我也学习一下
trufun1  10:14:11
其他呢?
trufun1  10:14:27
你正在学
承懿<5>  10:14:36
网页中的容器组件最大的是body
承懿<5>  10:14:52
小的div table这些都是窗口组件
trufun1  10:15:08
那不是组件,是tag

承懿<5>  10:16:12
不明白,这些也称为标签,但是里面能放东西啊
trufun1  10:16:32
页面中的广告,图片是产品组件
守护者(4)  10:17:05
广告,图片?
守护者(4)  10:17:17
那就是说成型的东西 哦
trufun1  10:17:24
可独立执行
守护者(4)  10:17:37
那如果我应用了第三方 控件的话 也算是  产品组件吧
trufun1  10:17:43

守护者(4)  10:18:03
哦 
守护者(4)  10:18:11
那 粘结组件 呢
trufun1  10:18:16
页面本身是容器组件
守护者(4)  10:18:20
不是 适配器吗
守护者(4)  10:18:42
 是说 调用产品组件的 组件就是粘结组件吗
trufun1  10:18:46
粘接组件为html

守护者(4)  10:19:00
那js呢
一米阳光(6)  10:19:00
那asp.net 里面的控件算不算组件?
trufun1  10:19:18
产品组件
守护者(4)  10:19:35
ajax 都算是产品组件 对吧
trufun1  10:19:42

一米阳光(6)  10:19:47
trufunwu 老师 你回答的是 我的还是 守护者的?
trufun1  10:23:57
谁能举java中组件架构的例子?
--(3)  10:24:49
老师,提问一下:组件,是不是要用在开发上?在需求设计,是不是用不到?
守护者(4)  10:25:10
 
trufun1  10:25:27
经常用
trufun1  10:25:51
在实现阶段,不是分析阶段
--(3)  10:26:30
哦,那就对了。我理解的没错误
trufun1  10:26:33
组件,是实现阶段的工作
trufun1  10:26:52
组件,是实现阶段的工作
--(3)  10:26:54
实现阶段不归我这负责,怪不得听不懂和理解不了
守护者(4)  10:27:07
那--  你负责什么?
--(3)  10:27:17
还是举这个例子
守护者(4)  10:27:25
那--  你负责什么?
--(3)  10:27:44
我只管网页中有什么内容,内容如何排布,网页之间的调整,数据是怎么来的,怎么没的
--(3)  10:28:04
至少这个网页是怎么作的,不归我管
--(3)  10:28:10
至于
守护者(4)  10:28:44
美工?
--(3)  10:28:50
就是说,我只管一盘菜的用料,但是先放油还是先放蛋,不归我管
--(3)  10:28:54
不是美工
--(3)  10:29:18
需求设计及概要设计
--(3)  10:29:24
需求分析
--(3)  10:30:15
给程序员定量的盐、油、蛋、菜,然后告诉他们最终的味道是什么样的
守护者(4)  10:30:18
需求分析 需求设计及概要设计 你管这些吗
--(3)  10:30:25
用这些原理怎么炒,是他们的事情
守护者(4)  10:30:41
怎么炒是详细设计
守护者(4)  10:30:52
只有 代码产出才是程序员的事情
trufun1  10:31:23
下面讨论一下什么是端口?
--(3)  10:31:26
我们没有详细设计人员。。。程序员兼着,小公司,没办法,而且黑龙江这破地方,想找个合适的详细设计人员,基本上不大可能
一米阳光(6)  10:31:42
我一直弄不明白 详细设计要写多么细  概要设计需要多么细
--(3)  10:32:05
楼上的,我的想法是这样
--(3)  10:32:43
比如一个系统,概要设计负责把系统的业务流程、数据流程、界面流程给设计好,就可以了
--(3)  10:32:54
详细设计管的是实现流程
trufun1  10:33:09
return
--(3)  10:33:09
程序管的是按实现流程去干活
--(3)  10:33:33
听老师的
trufun1  10:34:16
下面讨论一下什么是端口?
守护者(4)  10:34:26
端口?   接口吧
trufun1  10:34:54
不同吧
--(3)  10:35:20
感觉不同
守护者(4)  10:35:57
端口是 电脑上的硬件端口吗
trufun1  10:36:39
软件的定义
X易X平X(7)  10:36:41
端口的内涵包含接口,是接口内涵的衍生,也是负责程序间互相访问通信的
X易X平X(7)  10:37:00
能这样理解吧!
守护者(4)  10:37:27
端口是硬件 接口是软件  挨不上吧
--(3)  10:38:07
端口也是软件,不是硬件
trufun1  10:38:15
提供接口和需求接口组合就叫端口
X易X平X(7)  10:39:06
还是老师的话精炼
承懿<5>  10:39:07
那就是成对的才叫端口对吧
trufun1  10:39:53
是的,如收、发
--(3)  10:40:16
接口是只发,或只收?
承懿<5>  10:40:19
哦,晓得了
守护者(4)  10:42:29
:9001、:9003  这种在http协议后的不就是端口吗
一米阳光(6)  10:43:08
这个不同吧
承懿<5>  10:43:10
软件设计应该跟这个不属于同一个范畴
trufun1  10:43:21
糊搞(8)  10:41:38
特定的几组组件选择性提供的业务接口?
trufun1  10:42:15
叫服务
trufun1  10:46:55

 trufun1  10:49:12
从上图找出前面的概念
trufun1  10:53:09
今天的案例:找组件和接口
  子系统信息流
其他系统都要查看库存情况,历史异动情况,未来异动情况,采购子系统收货,销售子系统发货都要影响库存,生产子系统向库存存货,库存子系统向生产子系统供 货,销售子系统向生产子系统提供订单和销售预测,采购子系统向财务子系统产生应付账款,销售子系统向财务子系统产生应收帐款。
trufun1  10:54:38
不难,请踊跃发言
webmaster(344593239)  10:57:35
快下课了~~~~~~~~~~~~~~
感恩的心(157323704)  10:57:42
不知道从哪里说起,呵呵
webmaster(344593239)  10:57:45
大家有问题快点讨论哦~~
--(3)  10:58:59
太有深度了,目前还在消化与不理解中
trufun1  10:59:11
其他系统都要查看库存情况,中的其他系统是带有需求接口的产品组件,
trufun1  10:59:46
需求接口为查看库存
trufun1  11:00:36
那只是提高大家识图的例子
承懿<5>  11:00:48

trufun1  11:01:03
从网上找的
trufun1  11:02:28
历史异动情况,未来异动情况都是需求接口
trufun1  11:05:33
产品组件为采购组件,销售组件,生产组件,财务组件
trufun1  11:10:40
采购子系统收货,销售子系统发货都要影响库存,组件有3,1采购组件,2.销售组件,3,库存组件
接口有4个,采购组件的收货提供接口,销售组件的发货提供接口,库存组件收货需求接口,库存组件的发货需求接口
trufun1  11:13:32
看来大家对组件的应用这里还不熟悉
守护者(4)  11:13:49
是呀
--(3)  11:14:09
相当不熟悉!
--(3)  11:14:34
太有深度了
========欢迎访问www.trufun.net网站查看更多交流群讨论内容===============
=========欢迎访问www.trufun.net网站免费下载UML2建模工具使用============
=========欢迎加入trufun qq交流群讨论UML应用问题=======================

守护者(4)  11:14:51
上层结构的图  中小型的项目 一般用不到呀
守护者(4)  11:15:02
大公司的话 程序员也用不到 只有设计人员能看到
--(3)  11:15:14

trufun1  11:15:16
组件是架构层面的东西
--(3)  11:15:40
在实际工作中,用不上呀。起码小公司用不上
守护者(4)  11:16:37

trufun1  11:17:01
其实开发语言周围到处有这些应用,只是大家不做组件开发
守护者(4)  11:18:42
? 是吗  能细说下吗
trufun1  11:19:08
比如控件
trufun1  11:19:37
开发人员没有不用的
trufun1  11:19:49
第三方组件等
感恩的心(157323704)  11:20:22
类似于com组件?
trufun1  11:20:43

trufun1  11:23:06
这是我给的结果,仅供参考
trufun1  11:23:31

trufun1  11:25:16
仅供参考
守护者(4)  11:24:53

守护者(4)  11:25:03
这说明了 五个组件的关系
守护者(4)  11:25:06
以及功能
trufun1  11:25:32
接口
守护者(4)  11:26:15
恩  对象编程吧 接口是必须的
trufun1  11:26:45
子系统接口
--(3)  11:26:51
这看明白了许多
trufun1  11:29:01
还有问题吗?
--(3)  11:29:39
组件与子系统的区别,能给说一下吗?
trufun1  11:30:39
,子系统是组件的一种类型,往往比组件更
大的组合。子系统本身不会被实例化(抽象的),但其内容组件可以被实例化
--(3)  11:30:57
明白了
--(3)  11:31:59
在设计中,不能把需求抽象成子系统,但可以把需求抽象成组件,是这样吧?子系统是由组件构成的
trufun1  11:33:12
子系统是分解出来的,组件是实现出来的
--(3)  11:33:48
思考。。。
trufun1  11:34:49
下次讨论部署图,记住带着问题来
trufun1  11:37:48
888
--(3)  11:38:01
感谢
========欢迎访问www.trufun.net网站查看更多交流群讨论内容===============
=========欢迎访问www.trufun.net网站免费下载UML2建模工具使用============
=========欢迎加入trufun qq交流群讨论UML应用问题=======================
posted @ 2011-12-27 15:36 trufun 阅读(266) | 评论 (0)编辑 收藏

trufun0  9:31:11
状态图是序列图分析的延伸
trufun0  9:36:30
为啥要要研究对象的状态呢,因为对象只有在某种状态下,才能对某种外部事件发出响应
talenter(1)  9:38:57

talenter(1)  9:39:10
讲完这个 发题目 :)
trufun0  9:39:48
比如学生处在上课状态,只有产生听课的行为,而不能产生睡觉的行为
清水(1)  9:41:31

=============欢迎访问www.trufun.net免费下载UML2建模工具Trufun Plato=======================

trufun0  9:43:05
听到下课铃这个外部事件,处在上课状态的学生可以发生状态改变,处在下课状态的学生,则不会发生状态改变
talenter(1)  9:43:16
恩 状态转换
清水(1)  9:44:38

清水(1)  9:45:05
在实际中问题往往是 该设置多少个状态才算合适
talenter(1)  9:45:35
状态转换都有事件参与吧
trufun0  9:46:03
是的
trufun0  9:48:46
事件是什么?
talenter(1)  9:48:57
消息
talenter(1)  9:48:59

talenter(1)  9:49:05
动作?
trufun0  9:49:26
对,消息,也就是方法
talenter(1)  9:49:46

trufun0  9:51:22
一个对象有多少状态呢
清水(1)  9:52:30
 
trufun0  9:57:26
答案:一个对象有无数个状态
talenter(1)  9:58:08
无数个?  可预知的有限吧
trufun0  9:58:26
状态用对象的属性来表示
清水(1)  10:09:28
对象状态的划分 很重要吧
清水(1)  10:09:39
一个问题是  一些中间状态要不要记录
trufun0  10:09:42
我们只关心那些对我们感兴趣的某个事件发出某种行为的状态
trufun0  10:14:02
今天的案例:                靓号状态   
“靓号”能被锁定,被锁定的“靓号”不能被其它用户再锁定。被锁定的靓号如果在15分钟内没被用户租用,则还回到初始状态,可以再被(其他)用户锁定。被 锁定的“靓号”可以被租用,租用到期后能被系统预留(即为先前的用户保护起来),预留一个月后如用户未续租,则此“靓号”可以被其他人锁定或租用。在租用 状态下的“靓号”,如果被同一用户累积租用超过半年,则可以买断。被买断后,此“靓号”变成普通号。
trufun0  10:14:39
分析出状态,事件,监护条件,效果
talenter(1)  10:16:06
初始状态   租用状态  锁定状态  预留状态  买断状态 结束状态(普通号)
talenter(1)  10:17:11
画个图比较好。
trufun0  10:17:23
还有?
trufun0  10:17:41
先分析,后画图
talenter(1)  10:18:50
状态找不出来了。
trufun0  10:19:48
状态分析先找到分析对象
talenter(1)  10:23:06
靓号  就是分析对象吧?
trufun0  10:23:37

=============欢迎访问www.trufun.net免费下载UML2建模工具=======================

talenter(1)  10:24:26
买断状态 就作为结束状态   
talenter(1)  10:24:37
初始状态   租用状态  锁定状态  预留状态  买断(结束)状态
trufun0  10:25:22
普通号为最终状态,结束状态是单独的
talenter(1)  10:26:05
哦 买断是个动作
trufun0  10:26:15
找到对象后找属性
talenter(1)  10:27:14
累积租用超过半年
trufun0  10:28:05
累计租期是一个属性
trufun0  10:32:07
九头鸟的奋斗(705543728)  10:30:10
靓号的属性只有两种 :预留和非预留

trufun0  10:31:01
是否已预留是一个属性
talenter(1)  10:33:42
是否锁定是个属性
trufun0  10:33:56
是否买断是一个属性
talenter(1)  10:34:01

talenter(1)  10:34:18
是否租用也是个
trufun0  10:34:33

trufun0  10:39:47
下面大家找事件
talenter(1)  10:40:31
锁定  租用   预留  买断
trufun0  10:40:44
锁定是一个外部事件
talenter(1)  10:40:54
解锁  
talenter(1)  10:41:02

talenter(1)  10:41:25
应该找什么事件?
trufun0  10:41:50
锁定是一个外部事件
trufun0  10:42:08
你找的对
talenter(1)  10:42:25
哦 哈
talenter(1)  10:43:27
锁定 解锁  租用  解除租用  预留 解除预留 买断
trufun0  10:46:05
其他人发出的锁定是外部事件,号码接收到这个事件后,变为已锁定状态,内部的是否锁定属性变为是

trufun0  10:54:43
第一个状态是什么?
talenter(1)  10:55:14
初始
trufun0  10:56:51

trufun0  11:00:50
靓号”能被锁定,被锁定的“靓号”不能被其它用户再锁定,这句话中状态,事件,效果,及属性值?
talenter(1)  11:04:56
状态就是锁定   属性 是否锁定
talenter(1)  11:05:04
事件:还是锁定动作。
talenter(1)  11:05:12
效果? 提示?
trufun0  11:05:34
事件为其他人锁定
trufun0  11:06:43
效果就是对象接收事件后的动作
talenter(1)  11:08:39
没效果
talenter(1)  11:08:59
其他人锁定   和  自己锁定 当成一个事件就好吧?

trufun0  11:09:00
效果为拒绝锁定
talenter(1)  11:09:07

trufun0  11:13:34
被锁定的“靓号”是监护条件,意思是不是所有对象对此事件都响应
talenter(1)  11:14:45
 哦 好
trufun0  11:20:00
被锁定的靓号如果在15分钟内没被用户租用,则还回到初始状态,可以再被(其他)用户锁定,这句话的状态,事件,效果
trufun0  11:24:11
状态有两个,已锁定状态和初始状态
trufun0  11:26:28
事件为未租用
trufun0  11:29:22
效果是回到初始状态的回到行为
trufun0  11:32:04
可以再被(其他)用户锁定,是迁移后状态的内部行为
trufun0  11:33:34
剩下的网友自己分析
talenter(1)  11:34:24
   看来大家都很忙啊
talenter(1)  11:34:34
偶今天也比较忙 哈哈  不过学到了不少
trufun0  11:35:17
这是我的观点,仅供参考
trufun0  11:35:37
 
talenter(1)  11:36:28
很清晰啊
talenter(1)  11:37:26
老师辛苦 。
trufun0  11:40:54
下次讨论组件图,记住带着问题来
posted @ 2011-12-20 17:08 trufun 阅读(380) | 评论 (0)编辑 收藏

trufun4  9:24:30
UML开课啦,今天讲状态图
啃铁鼠<4>  9:29:47
好啊
trufun4  9:30:05
上堂的序列图是反映多个对象之间的交互,而状态图是反映单个对象内部的交互
=============欢迎访问www.trufun.net免费下载UML2建模工具=======================
trufun4  9:30:41
状态图是序列图分析的延伸
啃铁鼠<4>  9:32:03
注意哪些地方了?又怎么来应用了?为什么要使用状态图来分析了?
trufun4  9:33:16
很好,看来你思考了
webmaster(1)  9:34:21
大家要多多配合老师的话题积极发言,老师会讲的更深入些,
trufun4  9:35:35
为啥要要研究对象的状态呢,因为对象只有在某种状态下,才能对某种外部事件发出响应
啃铁鼠<4>  9:36:36
是不是说,处在该状态下只能处理该状态的事件,其他状态的事件就不能处理了?
trufun4  9:37:13
是的
啃铁鼠<4>  9:38:13
可如果这样,某个对象会不会出现很多很多的状态,岂不是状态处理很繁琐和麻烦了
=============欢迎访问www.trufun.net免费下载UML2建模工具=======================
trufun4  9:43:56
听到下课铃这个外部事件,处在上课状态的学生可以发生状态改变,处在下课状态的学生,则不会发生状态改变
啃铁鼠<4>  9:44:52
该怎么来划分状态了?
trufun4  9:45:38
一个对象有多少状态呢
承懿<2>  9:45:42
下课-->上课(上课铃响)
承懿<2>  9:45:49
反过来下课铃响
承懿<2>  9:46:17
事件驱动状态改变
trufun4  9:46:42
事件是什么?
承懿<2>  9:47:26
上课铃和下课铃
承懿<2>  9:47:34
响就是事件
trufun4  9:48:08
用面向对象说实质
trufun4  9:50:39
talenter(3)  9:48:57
消息
talenter(3)  9:49:05
动作?
trufun4  9:49:26
对,消息,也就是方法
啃铁鼠<4>  9:51:25
消息怎么会是方法了?
啃铁鼠<4>  9:51:52
应该与运行的系统驱动方式有关吧?
承懿<2>  9:51:55
在objective c中消息就是方法
承懿<2>  9:52:10
这两个好像可以互称
啃铁鼠<4>  9:52:17
windows系统消息和方法是两个概念
trufun4  9:52:33
你可能没学前面的课,可以查查以往的记录
承懿<2>  9:52:33
windows中消息是message
承懿<2>  9:52:40
方法是对象调用的方法对吧
啃铁鼠<4>  9:52:58
是的
trufun4  9:53:00
是的
啃铁鼠<4>  9:53:15
通过消息映射实现的消息与方法的绑定
啃铁鼠<4>  9:54:11
在windows下,消息==事件
W-inds(5)  9:54:20
trufunwu老师,可不可以整理下以往的教学啊...整理成一个文件。
trufun4  9:54:24
调用事件,消息,方法是从不同角度看问题的同一个函数
啃铁鼠<4>  9:54:36
是的
啃铁鼠<4>  9:56:10
所处的层次不同叫法不同,都是为实现驱动机制叫法不同
trufun4  9:56:45
答案:一个对象有无数个状态
一米阳光(6)  9:58:26
我想问个db的问题 有谁对这块熟吗
trufun4  9:58:33
状态用对象的属性来表示
一米阳光(6)  10:00:55
trufunwu 老师 会数据库吗
webmaster(1)  10:01:12
每期的讨论记录都在网站论坛里面整理发布了
trufun4  10:01:13
什么问题
webmaster(1)  10:01:26
在论坛中的qq交流群记录中,大家可以查阅
一米阳光(6)  10:02:09
  有父子关系的表这么设计 有没有问题?
一米阳光(6)  10:02:35
我以前一直这么设计的 刚才查资料 有人说这种不符合数据库范式
trufun4  10:04:10
不规范
承懿<2>  10:04:37
第二个里面怎么两个pk?
trufun4  10:05:02
就这个问题
一米阳光(6)  10:05:09
一个Pk吧 截得别人的图
一米阳光(6)  10:05:42
等下 我重新截个图
trufun4  10:06:42
违反主键和外键是整体关联,而不是部分关联
一米阳光(6)  10:08:20
这样子吗?
trufun4  10:09:24
return
一米阳光(6)  10:10:02
好像在子集合中把父表主键作为主键 就会出现2个pk
trufun4  10:10:45
课后交流此问题
一米阳光(6)  10:10:58
哦 好的
trufun4  10:11:20
我们只关心那些对我们感兴趣的某个事件发出某种行为的状态
trufun4  10:13:01
今天的案例:                靓号状态   
“靓号”能被锁定,被锁定的“靓号”不能被其它用户再锁定。被锁定的靓号如果在15分钟内没被用户租用,则还回到初始状态,可以再被(其他)用户锁定。被 锁定的“靓号”可以被租用,租用到期后能被系统预留(即为先前的用户保护起来),预留一个月后如用户未续租,则此“靓号”可以被其他人锁定或租用。在租用 状态下的“靓号”,如果被同一用户累积租用超过半年,则可以买断。被买断后,此“靓号”变成普通号。
trufun4  10:16:07
分析出状态,事件,监护条件,效果
一米阳光(6)  10:17:38
作业交到那里啊
trufun4  10:17:54
讨论
啃铁鼠<4>  10:20:36
看起来好复杂啊
trufun4  10:21:36
跟我学分析,最后画成图,简单
承懿<2>  10:21:55
可惜我用的mac系统
承懿<2>  10:21:59
没uml工具
一米阳光(6)  10:22:25
trufunwu  状态图里面有没有回到起点的流程?
trufun4  10:23:08
用楚凡的,不但教用工具,而且教分析,多好
一米阳光(6)  10:23:41
呵呵   
webmaster(1)  10:23:52
trufun产品支持跨平台,mac操作系统没问题
一米阳光(6)  10:24:23
个人用户怎么收费啊....
trufun4  10:28:45
联系网管
承懿<2>  10:29:44
我就做一个系统用了UML之后就没用过了
trufun4  10:29:46
talenter(3)  10:27:14
累积租用超过半年
trufun4  10:28:05
累计租期是一个属性
一米阳光(6)  10:29:52
又没vs 环境下的免费版 我上网站看了下 只看到eclipse免费版
trufun4  10:30:26
先试用
trufun4  10:31:43
九头鸟的奋斗(705543728)  10:30:10
靓号的属性只有两种 :预留和非预留
trufun4  10:31:01
是否已预留是一个属性

守护者(7)  11:02:50
属性 是靓号
一米阳光(6)  11:03:05
靓号 是对象吧?
守护者(7)  11:03:07
锁定状态也可以成为锁定
trufun4  11:03:15
属性是是否锁定
守护者(7)  11:03:23
靓号可以是号的子类 也可以是号的属性
守护者(7)  11:03:27
都是可以的
守护者(7)  11:03:38
靓号也可以分成靓号和普通号
trufun4  11:03:38
号码为属性
守护者(7)  11:04:18
属性和子类多代表着不同 可以根据当前的需要变化
trufun4  11:05:18
事件为其他人锁定
守护者(7)  11:05:51
恩  这里的事件在实现上可以定义成 方法或者委托都OK
一米阳光(6)  11:06:26
@守护者  定义成方法我理解 定义成委托 我不大理解 能解释下吗
守护者(7)  11:06:51
 什么地方不理解
守护者(7)  11:07:12
是不理解委托本身 还是不理解 为什么可以定义成委托?
trufun4  11:07:19
效果就是对象接收事件后的动作
trufun4  11:08:31
效果为拒绝锁定
守护者(7)  11:08:44
定义成delegate后 可以 创建event来自的触发委托  不知道怎么解释行不行
一米阳光(6)  11:09:35
属性:  号码  是否锁定 是否靓号 锁定人,锁定开始时间
事件: 发起锁定
效果: 1.已经锁定 拒绝锁定
      2.没有锁定 改变锁定状态
这样?
守护者(7)  11:10:04
而且很多情况下  如果 暴露类和方法是紧耦合的  定义成delegate后  可以有效减除耦合   一米阳光这么说了解了吧
守护者(7)  11:11:22
状态在很多时候 都是在异步的时候用的   同步就不说了  太多了
trufun4  11:12:35
被锁定的“靓号”是监护条件,意思是不是所有对象对此事件都响应
守护者(7)  11:13:35
不是 从低耦合的角度来说  应需要特定的触发吧
一米阳光(6)  11:13:50
@守护者
我不大理解 为什么 要 有效减除耦合

我以往的经验中 定义了委托后,就可以在程序的执行流程中插入另外的执行代码
守护者(7)  11:14:05
要是我的话  就是用  delegate在域上面做控制 或者
trufun4  11:14:14
耦合是设计的概念
守护者(7)  11:14:24
使用代理模式来操作
守护者(7)  11:14:50
耦合和内聚是 设计理念
啃铁鼠<4>  11:15:08
低耦合就是为了设计的简单
守护者(7)  11:15:08
委托的使用 谁都会 小米
守护者(7)  11:15:17
告诉我你为什么会使用委托
一米阳光(6)  11:15:26
恩 是用过 但是不知道为什么要用
守护者(7)  11:15:29
使用的动机什么
守护者(7)  11:15:50
 如果 不知道动机为什么要用  
守护者(7)  11:16:10
那你让后面维护你代码的后来人怎么维护呢
一米阳光(6)  11:16:31
我使用委托的情况 都是因为要操作本身以外的对象
守护者(7)  11:16:43
我在程序的每一行代码都是用动机的 没动机的代码我宁愿不写
守护者(7)  11:17:00
操作本身以外的对象
有很多方式 为什么就是用委托呢
承懿<2>  11:17:13
讲一下委托的具体实例
承懿<2>  11:17:16
举一个听听
守护者(7)  11:17:24
也可以调用  代理  观察者  继承  很多方式呀
承懿<2>  11:17:29
有可能我用过,但是我不知道
承懿<2>  11:17:35
代理晓得
守护者(7)  11:17:39
为什么单单使用委托
承懿<2>  11:17:39
观察者也晓得
承懿<2>  11:17:48
delegate
承懿<2>  11:17:53
讲一下嘛
一米阳光(6)  11:17:59
可以不用关心 外部对象 的操作 过程 结果
守护者(7)  11:18:11
承  去网上看看得多是
trufun4  11:18:27
被锁定的靓号如果在15分钟内没被用户租用,则还回到初始状态,可以再被(其他)用户锁定,这句话的状态,事件,效果
守护者(7)  11:18:36
 定义成接口也可以看不到 操作过程
承懿<2>  11:18:39
你说的那个不用关心操作过程的那个不是建造者模式吗
守护者(7)  11:18:47
咋不用Interface呢
一米阳光(6)  11:19:28
rufun4  11:12:35
被锁定的“靓号”是监护条件,意思是不是所有对象对此事件都响应

我的理解是 所有的对象都响应,然后根据属性返回不同结果
守护者(7)  11:20:58
呵呵  观察者也可以呀  通过观察状态进行双向依赖   
一米阳光(6)  11:21:03
@守护者

我可能表达的有误
这么说吧
我使用委托 主要是引发event
告诉外部对象  你可以执行某某操作了
至于怎么操作,要不要操作 本身不去管

一米阳光(6)  11:21:33
建造者模式 我以前还真没有了解过
守护者(7)  11:21:49
 这才是我要问的  有时候为了接触双向依赖 才需要委托
守护者(7)  11:22:29
而且定义event后 委托能后自动触发   在一定的场合下能带来便利
一米阳光(6)  11:22:31
@守护者 我被绕糊涂了
trufun4  11:22:41
状态有两个,已锁定状态和初始状态
守护者(7)  11:22:49
 其实我就是在问你委托的使用动机
守护者(7)  11:23:03
因为 很多方式都能表达消息的传递
承懿<2>  11:23:11
像android的AlertDialog就是典型的建造者模式
trufun4  11:23:21
状态有两个,已锁定状态和初始状态
守护者(7)  11:23:21
不同情况下  最佳方案不一样 这就是我要问的
承懿<2>  11:23:22
 
守护者(7)  11:23:52
trufunwu  我把状态 用继承放在子类也表达 也OK吧
承懿<2>  11:24:06
你不需要知道里面是怎么实现的,传入不同的参数得到不同的界面
承懿<2>  11:24:16
里面的建造过程很复杂
一米阳光(6)  11:25:31
    刚才说的这些 我没有得到一个结论 我做的对不对  我该怎么做  为什么要这么做
trufun4  11:25:56
事件为未租用
一米阳光(6)  11:27:36
我真晕了  有没有基础书 我去啃啃
trufun4  11:28:43
效果是回到初始状态的回到行为
一米阳光(6)  11:29:53
复位行为 我更容易理解  回到行为 有点绕 呵呵
trufun4  11:31:01
可以再被(其他)用户锁定,是迁移后状态的内部行为
trufun4  11:33:11
剩下的网友自己分析
守护者(7)  11:33:38
呵呵
守护者(7)  11:34:04
tru 通过状态 给大家引了很多模式上的话题呀  呵呵
trufun4  11:34:16
谢谢
trufun4  11:36:09
这是我的观点,仅供参考
trufun4  11:36:55
 
守护者(7)  11:37:15
build模式    一个系统 没几个  除非是超级类  但是我设计的软件  多没有大型类 有也本大而化小了
守护者(7)  11:37:37
我写过一个有关代码的写过规则 当然 是以前项目制定的  可以去看看
守护者(7)  11:37:51
150行 以内的类能大到什么地方去呢  呵呵
trufun4  11:41:08
下次讨论组件图,记住带着问题来
守护者(7)  11:42:49
这图 是系统级的了  话题有点大
一米阳光(6)  11:43:09
trufunwu  已租用 和 已续租 为什么是2个状态?
守护者(7)  11:43:29
不做上层设计的话 一般不会用到组件图
守护者(7)  11:44:14
这样子能区分租用是 第一次租 续租  是第N次租
trufun4  11:44:41
对事件的响应(行为)不同
一米阳光(6)  11:46:12
是不是一个要记录开始时间 一个不用记录?
守护者(7)  11:46:20
很有可能第二以后在租用 就会打折 打折的话 和全款 就是不同的行为  所以状态会不一样的
trufun4  11:46:52
属性讨论已谈过,有租期
一米阳光(6)  11:47:40
根据 租期  来决定是否买断 是吧
trufun4  11:48:26
是的
posted @ 2011-12-20 17:07 trufun 阅读(293) | 评论 (0)编辑 收藏