在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用。为了进一步的理解UML的用法,我阅读了《UML大战需求分析》这本书,希望可以详尽的掌握UML语言。

首先我阅读了第一章,学习了什么时候使用什么图,并从整体的角度对各类图进行了认识。UML是一种语言,UML语言用于软件需求中更能直观的进行交流,易于理解。UML大体可以分为两类图:结构型的和行为型的。结构型的图描述的是某种结构在某段时间内具有固有的结构,是静态的;而行为型的图描述的是某种行为,是动态的。例如:在软件开发前期的需求分析阶段,各种业务的内容既是静态的使用结构图描述的,相反业务之间的流程、过程是动态的,这就需要行为图进行描述。

(1)结构型图

包括了类图,类图是分析业务概念的首选,是使用效率最高的一种图。它可以直观的显示类的属性和操作。对象图,在软件开发中会使用,对象是类的实例化,至于在需要描述复杂算法才使用,但它在需求分析工作中并不常用。构件图,描述软件内部物理组成的一种图,一般与结构部署图一起使用。部署图,顾名思义就是用来描述系统如何部署、本系统与其他系统是什么关系的一种图。在软件系统需要基于当前的IT基础环境来规划时,我们需要使用部署图来做这个规划。包图,主要用途是打包类图。包图是避免类图庞大,造成不利于阅读,将某些类放入“包”中的图,组织类图。

(2)行为型图

活动图、状态机图、顺序图从不同的角度描述流程。活动图,表达一个顺序流程,还可以表达分支结构。状态机图,是从某个物品的状态是如何变化的角度来展示流程。顺序图,能够清楚地表达整个过程所参与的角色和角色与角色之间的关系以及角色的交互。通信图,就是我们学过的协作图,和顺序图相似表达角色之间的关系和交互,但是协作图强调的是相互之间的关系,而顺序图更强调先后顺序。用例图,表达啥角色通过软件系统做什么,系统的表达系统的绝大部分要求。时序图,表达的是某东西的状态随时间的变化的图,一般不使用。相比于其他的行为图活动图最接近我们的思维习惯。

在以前学习UML语言这门课程中,我只是认为UML只是画画图,并没有实际的作用。通过第一章的阅读我学到熟练的掌握UML语言有机会成为软件需求高手。它在真正的软件开发过程中,UML能直观、形象、严谨的地描述出 业务概念、业物流程、客户的期望和需求。UML对提升软件需求分析能力有很大的帮助。

转载于:https://www.cnblogs.com/java-test/p/5932489.html

《UML大战需求分析》阅读笔记01相关推荐

  1. 梦断代码阅读笔记01

    就像这本书的推荐序一样,这本书最大的的魔力是它不只是讲技术和理论,而是向我们真实的反映了一流软件开发师是如何进行软件开发的,他把真实的事,人,技术以及产品的发展过程结合在一起.我们现在没有进行开发项目 ...

  2. 梦断代码阅读笔记之一

    最近阅读了罗森伯格的<梦断代码>,算是近距离观察了十几年前软件开发的状态.这本书是作者对OSAF主持的Chandler项目进行田野调查  而写的一本书.本书是在讲一事,也是在讲百千事:是写 ...

  3. 梦断代码阅读笔记03

    经过几天的阅读,终于将这本书看完了,读完了整个故事,我进行了简单的总结,感觉不仅仅是在写代码与计算机或软件交流,更多的是做事行为. 首先是做事得有目标.无论做什么事情都要有目标和动力,这样做起事来无论 ...

  4. 梦断代码阅读笔记之二

    第5章 管束奇客和狗 管理的任务就是让人能协同工作,益其长处.弱其短处.数字只是管理的一个起点,并非终点. 用代码行数计算软件生产力不太可靠. 非正式机制总是存在,而且如果没真正理解就改变他是很危险的 ...

  5. 梦断代码阅读笔记 03

    孟子曾经曰过"鱼,我所欲也,熊掌亦我所欲也:二者不可得兼,舍鱼而取熊掌者也",这就是我们耳熟能详的"鱼与熊掌不可兼得"的由来,无独有偶,其实生活中也有很多的&q ...

  6. 梦断代码阅读笔记02

    最近读到了第四章,大体讲了: 模块化和组件化是软件人员的梦想,谁都想把几个模块插到一起就可以完美的运行并完成任务,但现实却相当残酷,可以运行的模块通常不能与自己想写的程序配合工作,好的源代码由于商业利 ...

  7. 梦断代码 ---阅读笔记02

    Agenda之魂 由于不知道Agenda的意思,所以去查了一下,它是议事日程; 待议诸事项一览表; 日常工作事项; 议程的意思.不过在本书中确实一个项目的名字,它是为解决各种信息的管理问题. 继续努力 ...

  8. 阅读笔记《梦断代码》其二

    梦断代码阅读笔记之二 读"乐高王国"的时候,真的引起了我的共鸣.因为以前我就是作者描述的那种程序猿,专注于制造螺丝和螺母这种小细节,而不屑于利用别人早就写出来不 知多少个版本的代码 ...

  9. 《梦断代码》阅读笔记01

    这几天阅读了老师推荐的<梦断代码>前几章,通过本书简介可以知道本书大概主要讲的是做软件过程中的困难. 第一章软件时间,主要讲的是从事软件制作行业的艰辛,需要没日没夜的加班工作,书中有这样一 ...

  10. 《梦断代码》阅读笔记之第8章至最后

    以下是我读了梦断代码第八章之后的读书笔记: 1.自己做的软件自己一定要用,即"吃你自己的狗食",自己的软件开发出来后自己都不会用那么还要指望别人用不成? 2.在软件开发编写代码的时 ...

最新文章

  1. Juniper 文章目录
  2. windows修改mac地址表
  3. SQL Server分页查询方法整理
  4. 使用BootStrap编写网页,如何设置全屏页面背景?
  5. 对IEnumerableT,IDictionaryTkey,TValue,ICollectionT,IListT的总结
  6. C# WinForm中的Label换行方法
  7. python怎么设置加密,Python 加密的实例详解
  8. 第13章 集成学习和随机森林 学习笔记上
  9. 关于电感数字传感器的一些问题
  10. 关于git的安装与配置问题
  11. 《巴菲特的第一桶金》读书笔记
  12. icraft服务器网页图片,iCraft家族添新一代顶级显卡
  13. 智能手环: 调研报告
  14. el-upload自定义文件列表
  15. 训练模型填充空值(fill null)的几种方法
  16. html页面计算圆的周长和面积,计算圆的周长和面积(VB)
  17. 视频教程-怎么架构生产数据库--生产数据库优化的一种方式-MySQL
  18. 统一身份认证,企业实现统一身份认证有什么好处?
  19. 视觉识别示例-海康威视
  20. MySQL分库分表会带来哪些问题?分库分表问题

热门文章

  1. 【论文阅读整理】TagFi: Locating Ultra-Low Power WiFi Tags Using Unmodified WiFi Infrastructure
  2. 如何做一场精彩的学术报告?
  3. Mac中ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
  4. 第16天学习Java的笔记(标准类,Scanner)
  5. 青春环游记 | 雪中悍刀行之卡尔曼的鱼【回顾 2021,展望 2022】
  6. php多维数组遍历创建表格,php实现遍历多维数组的方法_PHP
  7. 【时间序列】AR、MA、ARMA与ARIMA
  8. 很好很强大,这款AI开发神器的图像标注吊打labelme
  9. 【深度学习】深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案)...
  10. 推荐:用动画的形式呈现解LeetCode题目的思路(github上25000多star)