学习交流

C++博客 首页 新随笔 联系 聚合 管理
  2 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
 



我的第一篇博客文章居然是个错误的论点(VC6.0中全局常量在编译时好像是当作宏定义优化处理了),这让我十分汗颜

发贴两天之后,我发现了自己的想法是错误的!

灰溜溜的删除了处女作后,仍在担心已经有几个读了此贴,给他们带来了误会啊

我保证以后发贴一定慎重又慎重!




以前老师常说,学语言是学到了软件的下乘东西,专科生都可以无师自通,要学我们就学设计。
可是……我们班都误解了老师,老师的意思是编程序应该由我们自学,我们放弃了编程,设计又没学好,结果连专科生都不如……。

请一起反思,无论你是爱好编程,还是爱好设计,编程是基础,让我们从编程开始。




UML 统一建模语言,是一种建模方法,对建模对象进行模型抽象与形式描述的方法。
建模方法 = 过程 + 表示法 + 扩展机制;
过程:描述软件开发中所遵循的有序步骤。(需求分析、概要设计,……)
表示法:描述建模开发过程中所采用的模型的表示语言及符号。(UML图描述,ACME描述,……)
扩展机制:应用于 适应领域应用变化 的可扩充语言表示。

UML 就是告诉你一种方法,让你对软件进行建模(设计)。

从建模方法上看,

对象:现实世界任何事物的抽象化描述,问题域中可用结构模型定义的实体
属性:描述对象的内部状态信息数据结构
操作:描述对象的外部状态信息通讯方式
关系:不同对象间具有规律性的关联抽象
结构:对象单元的分类结构,组装结构。
机制:封装机制,继承机制,聚集机制,消息机制。

面向对象 = 对象 (属性,操作,封装)
         + 结构 (分类,组装)
         + 关系 (关联,泛化,聚集)
         + 通信 (消息,执行方法)



结构化方法并不是比面向对象差,只不过它是刚性的,不利于维护,不要完全抛弃结构化思想。在大型软件设计中,开始可用结构化思维分块,再用面向对象分析设计。


下面介绍一些概念:

对象:问题域中有意义事物的抽象。
类:    问题域中同类对象的抽象化结构表示——一组具有相同属性集和操作集的对象。(抽象化对象)
实例:由类创建的新对象。(具体化对象)

对象的抽象化即为类
类的实例化即为对象

模板表示
抽象类:主要用于定义接口,其操作可推延到子类中实现。
具体类:主要用于实现父类的具体操作,可实例化的类。

粒度:软件分类的可封装的独立单元的大小程度。(重用性)
层次:可分解的相关单元的叠放次序。

操作:属性的操作即数据的存取方法(Method),状态迁移的瞬时行为(Action),
            对象的服务(Service)即与外界进行消息通信的方法。

泛化:对概念的共性抽象与特性识别,体现抽象对象(类)间的一般/特殊关系,
            抽象对象间父类与子类关系的继承表示,可用于构成层次化的分类结构。
聚合:对实体构成的实例描述,体现具体对象间的整体/部分关系,具体对象分解/组合关系的聚集表示,
            可用于构成组装结构。
            组成是聚合关系的一种特例,组成用于表示部分与整体共存,如车轮类是构成车类的部件。
依赖:表示相关对象间的变化/影响关系。


如何开发软件?
        软件的开发过程沿主工作流推进,软件优化过程按迭代工作流展开,以用例(事务,活动)驱动软件构架。

主工作流:需求,分析,设计,实现,评估
驱动过程:
                  用例 ——》   事务 ——》   活动 ——》动作
                     |
                  构架 ——》   初始 ——》   细化 ——》精化
                     |
                  构件 ——》   对象 ——》   模板 ——》实例

UML描述:
o_04.JPG

    


初始:目标/功能/案例
细化:构架/构件/对象


UML的基本构造块 : 部件、关系、图

部件:结构 + 行为 + 分组 + 注释 ;

结构:用例,对象类,角色,构件,节点,接口;
行为:交互,协作,活动,状态;
分组:包,框架,子系统;
注释:说明,标注,注解;

构造关系:关联、聚集、泛化、依赖

图……

关于图的,下次再依次详细解释吧(最近老加班,估计到下周末才有时间:)
每种图都会介绍它的作用,如何驱动。
每个例子都会以 图 + 图元编号 +小说明 进行解释。

当然这一切都建立在我知道如何在这里贴图的条件上,有谁知道请告诉我。

我想用Rational Rose 或 Visio2003 画图,请高手告诉我如何贴图,谢谢了。

posted on 2006-11-11 23:07 邵腾飞 阅读(611) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理