UML,为软件工程添砖加瓦

        学习了UML,就该去想如何将UML图嵌入到“软工”思想之中

                                                                                                                                                        -----题记

         经历了将近twoweeks,终于完成了《[西安电子科技大学]UML基础与应用》的学习,同时结合了《UML基础与ROSE建模实用教程》,对于UML这一面向对象技术标准建模语言有了自己的认识,同时在学习方法也有了自己的感悟。


                                                                                 

     

         如图所示,是视频教程中对知识点的归类划分,从7个角度带领我们来学习UML,其中我认为第2、4、7三个部分的介绍是本课程的重点,让我们对于UML的定义、构成、应用 有了深刻的认识。但是知识永远都是相互关联的,之前学习的软件工程的思想,面向对象技术,以及将要学习的设计模式,都会和UML进行交互,So如何去和旧知识结网就是我们要去思考的事情了。

          软件工程中一般把整个软件开发过程分为:软件计划、需求分析、设计、编码、测试、运行维护6个阶段,然而UML面向对象标准建模语言最终是以9种图的形式展现在用户、程序设计人员面前,下面就来分析9种UML图是如何为软件工程添砖加瓦的。

   在软件开发的各个阶段,使用不用的UML图对系统进行描述,如图所示:

                                              

           

  (1)从需求阶段开始,便开始了第一种图----用例图,从用户角度描述系统,从而得知系统的执行者,以及大概的系统功能介绍。

  (2)接着在用例图中进行抽象,抽象出对象和类,这样就在分析阶段中画出类图。当然,分析阶段可以从两个角度进行分析,1、静态分析分析系统中的构造、外界的参与者、对象之间的组合关系等,这样就出来了类图,同时分析类图的属性和方法,然后对类图归类便形成了包图,2、动态分析:对抽象出的各个对象之间的关系进行分析,for example,考虑系统运行的流程+对象间的交互关系就画出了顺序图活动图,如果侧重分析下对象之间的信息传递关系就画出了协作图。对于动态系统的某个时刻去分析,又出来了状态图~~~~So,在系统进行到分析的阶段,就可以初步的画出7个图了。

  (3)接着在系统进行概要设计和详细设计的时候,对于对象进行抽象,进而对已经画好的类图进行优化,对包图进行完善,到此,UML可以说完成了一大半,剩下的就是照着这些图去编码了。

  (4)到了测试的时候,根据测试层次的不同(1系统测试,2集成测试,3单元测试)去选择不同的UML图(1用例图 2类图、包图 3类图)去完善系统。

  (5)等到了运行安装的阶段,结合构件图and部署图(在一台机子运行系统则无需部署图),从而让我们知道哪些构建实现了哪些接口,以及系统硬件的物理拓扑结构等。就这样,UML图就结合到软件工程中了。(不过对于构件图是不是要在这个阶段画还是有点蒙,只知道这个阶段用的上。。。)

          

    这样,UML中的九种图就顺利的插入到了软件工程的6个阶段中了,成为了软件工程中不可或缺的一个组成部分。

总结:

   在对系统进行分析的时候,对系统静态的分析是一个需要反复的迭代以及修改的过程,底层的类、关系划分好了,充分利用了依赖、泛化、抽象、等建立起来了简单的模型,上层建筑才会越来越稳。同时RUP的思想,一定要用在系统开发的过程中……

   接下来会对详细的部分进行总结,期待中……

  (对UML图的理解比较浅,有问题希望大家及时提出)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值