基于UML一气贯通DB系统设计(1)
最近很无聊,正好翻译一本日本很火的一本书,书中对系统设计中UML的应用的说明很实用,也正好借此机会学习一下。
第一章 从面向对象到数据库
正因为前沿技术的进步,UML、数据建模等各种建模方法越来越重要。首先,有必要介绍一下建模方法的最新进展和必要性。
1. 系统开发中建模的必要性
最近,开发信息管理系统的时候,基于UML、数据建模的工程屡见不鲜。但是,系统开发中模块的灵活性是很必要的,为什么?
1.1 分析用户需求
系统开发中的建模,是用户和开发者之间关于需求具体化的重要手段。这跟建筑业的设计图纸有一些相似。
比如,在建造房屋的过程中,为了把投资方的需求具体化,设计师做了一些图纸(户型图、平面图),这个图纸中关于房屋的各种要求(户型设计、日照时间、抗震度等)和制约事项(预算等)就是设计师和投资方共同合意开发出来的。同样的,软件系统中的模型也是用来确认用户需求的。
1.2 系统可视化
长久以来,软件因为不是可见的,所以就比较复杂。跟汽车生产不一样,软件没有自身的形状。因此,在构筑软件的时候,可视化对于这种看不见的系统是很必要的。
向来,软件开发都是都会有厚厚一叠的设计书,这样的结果就是很难明确的表现软件的式样。灵活运用模块,系统的整体印象和式样都可见了,这对开发者是很重要的。
1.3 生产性提高
系统模块化并不只是为了以上两个方面,现在,对于建模过程有很多的辅助工具,灵活运用这些工具可以大大的提高生产效率。
信息系统的设计中,模块可以利用手写等作图工具做成,但是如果有了修改,就会花很多时间在修改上面。而利用专门的工具可以在修改一部分模块的时候,将其反映在整个系统中。(以后再详述)
1.4 自动生成功能
设计好的模块,不单单只是作为设计资料,还可以根据模块自动生成代码、数据库Schema等。有了这样的功能,做成设计成果物的生产效率能有很大的改善。
1.5 逆向分析
逆向分析,是读取已有的系统代码(程序代码、数据库等),取得设计信息的工作。
灵活的逆向分析,可以避免全新的构造系统,而是在旧系统的基础上进行改造,更有效的利用建模工具。
现行的系统,有很多设计书和代码不一致,或者设计书不见了,或者设计书不全的情况很多,这时候,如果有对现行系统的代码、数据库逆向分析的工具,做成系统的设计书,对设计新的系统很有帮助。
预告:
2. 系统开发中模块的类型