当前位置: 首页 > news >正文

开源StarUML建模实战 在线专家门诊实录

主题:开源StarUML建模实战 嘉宾:邱郁惠 时间:12日下午2点 地点:51CTO.com专家门诊版块

活动举办方: 51CTO 华章公司

实录节选: lxwcto:请问邱老师,软件建模有什么好处? 专家回复: 我個人覺得最大的好處是"溝通"。腦海中對於系統的分析設計,可以透過UML模型圖像化、具象化。當然,除了溝通之外,還有很多好處,包括可以記錄分析設計結果、方便發包或承包、甚至方便重用(reuse)分析設計成果等等,都是透過UML模型來達成。

kirin:感谢邱老师为“促进两岸和平共进,经济知识共同发展”起了个好头。我代表内地同胞欢迎你的到来。今天特地去了趟上海书城福州路店,邱老师的海报放在5楼计算机区显要位置。看来老师的书籍还是相当受欢迎的。   专家回复: 謝謝您,也謝謝各位來參加這個線上技術論壇。

charlesc:我是学习编程的,临近考试l了老师也没教我们UML就叫我们画图....想请教一下 第一.UML中一共有那些图. 第二.这些图大体代表的意思,分别给个小样.稍稍解释一下就行. 专家回复: 1. UML2一共有13張圖,分別為:class diagram、object diagram、component diagram、deployment diagram、composite structure diagram、package diagram、use case diagram、sequence diagram、activity diagram、communication diagram、interaction overview diagram、timing diagram、state machine diagram。 2. class diagram-表達系統內部靜態結構。 object diagram-表達系統某一特定時刻下的物件情況。 component diagram-表達系統內部可執行的元件結構。 deployment diagram-表達軟體元件所座落的執行環境或硬體設備。 composite structure diagram-表達複合物件及其內部的小組件。 package diagram-表達模式元素分成數個套件的情況。 use case diagram-表達系統對外提供的服務。 sequence diagram-表達一群物件合力完成一項特定服務的互動過程。 activity diagram-表達系統活動流程。 communication diagram-同sequence diagram在表達一群物件的互動狀況,但sequence diagram重視依序發出訊息,communication diagram重視物件之間的連結。 interaction overview diagram-表達互動片段之間的控制流程。 timing diagram-表達物件在時序下的狀態轉變情況。 state machine diagram-表達物件受外部事件刺激,導致轉換內部狀態的情況。 簡單回覆如上,詳細說明還是要在查看UML書籍或者上網搜尋。

王东:能告诉我什么是“开源StarUML建模”吗?我是个新手,不太清楚 专家回复: StarUML是一套免費的UML工具,而且它是open source。我們可以使用StarUML來建構UML模型

shancha:请问专家:在JAVA中如何调用C++的类?在JDK,标准C++,WINDOWS2000环境下。 谢谢!   专家回复: 啊,別問我這些實作的問題啦,我不是實作高手喔,請問我關於UML的問題。謝謝。

网冲:能不能大体介绍一下uml 专家回复: UML目前是OMG與ISO兩個組織的標準,專於用來表達物件導向分析設計的產出。它是一種圖形語言,不同於程式語言的文數字符號表示法。它就像我們隨手畫的流程圖之類的圖形,只不過UML對每一個圖示都有它的名稱和定義,比方說,橢圓在UML中稱為use case,用來表達系統對外提供的服務。

王东:能详细讲述以下UML模型是什么吗?   专家回复: 使用UML繪製出來的圖,稱為UML圖,也稱為UML模型。比方說,系統對外提供兩項服務,這時就會在use case diagram中繪製兩個代表use case的橢圓,用來表達系統服務,這樣的圖,我們也稱為UML模型。

王东:看来UML程序是用来做一些网络服务用的,可以像其他语言那样编写程序吗? 专家回复: UML全名為"Unified Modeling Language",它不是程式語言,所以無法編寫程式。不過,程式設計師可以參考UML圖來編寫程式碼。

bugouhen:有人说,设计模式是任何一个程序员(特别面向对象) 所必须掌握的,否则就不是个合格地程序员.至于UML,就不一定了.软件工程没有一定的条条框框.只有合适与不合适,是这样吗邱老师? 专家回复: 這是個大問哉耶,那麼design pattern算不算是條條框框呢?而合適與不合適又要如何判定呢?這些問題都需要進一步釐清,同時也需要多些時間思考與交流,恐怕無法透過三言兩語回覆是或不是。

棉花糖:邱老师我有一道题不明白: 现在有一棵树A,管理员可以执行上面的任何操作在树上节点(文件夹),在文件夹下可建子文件夹。在子文件夹及父文件夹下都可以建文件,并可对文件进行删除、修改、导出操作。请问用UML该如何描述用例子? 专家回复: 從UML的角度來看,會為系統繪製不同角度的UML圖。比方說,會先用use case diagram來表達系統的服務,用class diagram來表達系統內部結構,用sequence diagram來表達系統內部一群物件的互動。 您的"用例子"是指"use case"嗎?

王东:如果是这样,我想我会更喜欢计算机语言一点。因为图形太繁杂,而且画起来很麻烦。UML与标准流程图之间比较有哪些优点呢?   专家回复: UML有13款圖,每款圖可以表達系統某一個角度的樣貌,透過多款UML圖,可以讓我們對複雜的系統有更正確的認識。

王东:我想替专家回答一下:条条框框不一定是坏事,对编程来说,有一些条条框框还是好的,这样可以提高程序编写的准确度! 专家回复: 謝謝您。

autohost:听说UML只是一种标准化的建模语言,如果你不是搞设计的料,再好的工具也无用。是这样吗?   专家回复: 好用工具可以如虎添翼,但是如果沒有正確的、有創意的思維及技術,即便手上有倚天劍,也使不出什麼好功夫啊!

autohost:另外我觉得用好UML的一套方法是很难的,不同的人就算设计思路一样,用UML方法工具做出的设计也不一定一样,本来很简单的事,搞的图状态图活动图顺序图合作图构件图配置图一大堆,真是有点烦,有没有好的能使工作高效一点的建议吗?   专家回复: "不同的人就算设计思路一样,用UML方法工具做出的设计也不一定一样"...確實如此,即便是同一個人多思考個半天,都可能畫出兩款不同的設計圖。 "本来很简单的事,搞的图状态图活动图顺序图合作图构件图配置图一大堆,真是有点烦"...UML本來就不是用來解決小系統的問題,系統越複雜、參與的人越多、專案時程越長,越可以呈現出UML的好處。 "有没有好的能使工作高效一点的建议吗?"...哪部份工作的高效啊?

okokmmmm:uml和软件工程有什么联系或者说他们之间是否关系密切?   专家回复: 軟體工程談的是如何將軟體開發過程工程化,如同建築工程一樣成熟,UML可以說是軟體工程中的一項重要技術。

Aceryt:专家您好,我是个初学者,您别见笑。 在软件设计中,我怎样用UML设计关于程序界面的内容,在以往的程序流程图怎样转变成UML设计语言?   专家回复: "怎样用UML设计关于程序界面的内容"...UML中有interface的圖示與定義,可以在class diagram中表達界面設計。

王东:“UML本來就不是用來解決小系統的問題,系統越複雜、參與的人越多、專案時程越長,越可以呈現出UML的好處。” 可以举个例子讲详细一些吗?   专家回复: 比方說,兩岸合作的案子,台灣大陸兩地都有開發團隊,大陸團隊主要負責編碼,台灣團隊負責提供分析設計文件,像這樣子的案子,採用UML可以得出明確的設計文件,降低兩岸溝通的成本和複雜度。  

相关文章:

  • 又到一年面试高峰期--面试总结
  • suningin华为招聘--前人经验
  • 俞黎敏与JAVA脚本编程
  • 与Thoughtworks 第三届敏捷软件大会同行
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • Solaris 应用程序设计——孙勇
  • 互动网8周年店庆,诚邀各CSDN会员参加
  • 顶尖图形学专家Steve Cunningham 先生中国行
  • 记录一本优秀图书是如何出版的?
  • 互动网8周年网庆:InfoQ华章 程序员沙龙——云计算
  • 与《Java 编程思想》齐名的《Java 核心技术,卷1,第8版》最新版上市
  • 李松峰谈HTML之路
  • 《Java核心技术》每一位Java学习者的必备读物
  • Java-SOA-UI-Dojo 好书诚邀译者——华章公司
  • 全球38位顶尖高手、众多语言之父经典之作9月15日全国首映
  • [译]Python中的类属性与实例属性的区别
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • HTML中设置input等文本框为不可操作
  • Javascript设计模式学习之Observer(观察者)模式
  • Linux链接文件
  • Object.assign方法不能实现深复制
  • ucore操作系统实验笔记 - 重新理解中断
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 基于axios的vue插件,让http请求更简单
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 深度学习中的信息论知识详解
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 一些关于Rust在2019年的思考
  • 用Canvas画一棵二叉树
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • $.ajax中的eval及dataType
  • ()、[]、{}、(())、[[]]命令替换
  • (1)Nginx简介和安装教程
  • (ibm)Java 语言的 XPath API
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (离散数学)逻辑连接词
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三)uboot源码分析
  • (一)Neo4j下载安装以及初次使用
  • (转)详解PHP处理密码的几种方式
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .net2005怎么读string形的xml,不是xml文件。
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)