文本描述
软件设计工具 北京大学计算机研究所
周秉锋
2006.9
2015-6-14 周秉锋 北京大学计算机科学技术研究所 bfzhou@icst.pku 2/15 本课内容:基于UML的软件设计和建模 参考书:
[1]《UML软件建模》
作者:周秉锋
出版者:北京大学出版社
[2] 《The Unified Modeling Language User Guide》
by Grady Booch, …
published by Addison-Wesley
课程网站:http://www.icst.pku/course/uml/2006/index.html
学习方法:理论学习+设计实践(工具使用) 2015-6-14 周秉锋 北京大学计算机科学技术研究所 bfzhou@icst.pku 3/15 软件设计工具 联系方式
周秉锋:bfzhou@icst.pku
Tel.:82529533
助教:
景昊:jinghao@icst.pku 2015-6-14 周秉锋 北京大学计算机科学技术研究所 bfzhou@icst.pku 4/15 1.软件产品开发和软件建模 为什么要建模
软件是产品而非“程序”
对它的要求和所有其他工业产品是一样的
使用者和制造者分离
质量要求、文档、维护
软件产品的生产和其他工业产品的生产也是一样的
生产:团队、工具的使用(Compiler,..),技术复用
如何满足?先设计,再生产!=》建模!
模型是对现实世界的简化。
在成熟的工业生产领域,建模的方法得到了广泛的应用
例如: 电子工业… ... 2015-6-14 周秉锋 北京大学计算机科学技术研究所 bfzhou@icst.pku 5/15 1.软件产品开发和软件建模 在成熟的工业生产领域,建模的方法得到了广泛的应用, 例如: 电子工业… ...
在设计收音机的时候:
1.先确定收音机是几个波段、有几个喇叭,等等(图...)
2.然后,设计电路图。用集成电路符号、晶 体管符号、电阻电容符号,加上各种标注(图...) 。
3.最后,设计电路板(图...) ,调试,定型,生产 。
电路图就是模型,是现实世界的简化(图...)
再看看我们现在软件是怎么做的... 2015-6-14 周秉锋 北京大学计算机科学技术研究所 bfzhou@icst.pku 6/15 1.软件产品开发和软件建模 我们现在怎么做 软件...
先写一个系统分析报告
简单的设计报告(一些孤立的文字和图形)
开始编码,调试,测试,发行。在大多数情况下,这时的工作已经和前两步工作脱钩了。
相当于不画电路图直接用集成电路、晶体管、电阻、电容做收音机电路。 2015-6-14 周秉锋 北京大学计算机科学技术研究所 bfzhou@icst.pku 7/15 1.软件产品开发和软件建模 我们现在怎么做 软件...
相当于不画电路图直接用集成电路、晶体管、电阻、电容做收音机电路。
这在电子工业是不可想象的:怎么维修、怎么在原有产品基础上发展更先进的产品。
对于软件工业,这些问题一样是存在的。
怎么办?... 2015-6-14 周秉锋 北京大学计算机科学技术研究所 bfzhou@icst.pku 8/15 1.软件产品开发和软件建模 怎么办?多年来,软件工程试图解决这一问题,但成效不大
原因:
缺少工具,只停留在理论上,用一张纸、一只笔进行软件工程管理不易为软件人员接受
没有标准, 无法进行有效的交流
现在,我们有了...
软件建模标准: UML
软件工程工具,如:ROSE
2015-6-14 周秉锋 北京大学计算机科学技术研究所 bfzhou@icst.pku 9/15 什么是UML? UML: 统一建模语言(Unified Modeling Language)
UML是用于描绘软件蓝图的标准语言.
(蓝图…这就是一张蓝图--)
它可用于对软件密集型系统进行
视化(visualize)
说明(specify)
建造(construct)和
建档(document)
这也是对软件系统进行建模的四个目的 1.软件产品开发和软件建模: 2015-6-14 周秉锋 北京大学计算机科学技术研究所 bfzhou@icst.pku 10/15 什么是UML? 1.软件产品开发和软件建模: 解释:
UML是语言:
语言意味着有标准的表达规则
UML是蓝图
UML是由图形符号表达的建模语言
例如,这是UML的一个模型图(图...)
其上的图形符号是遵循给定的标准的
例如:类: (图...)