您的位置:首页 > 其它

UML,为软件工程添砖加瓦

2014-12-28 08:07 190 查看
        学习了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图的理解比较浅,有问题希望大家及时提出)

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: