- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
uml面向对象科学发行社邹盛荣主编010325
* * UML系统建模 第1章 绪论 -*- 模型 模型是对现实世界的简化 为什么工程师要建造模型(models)?为什么航天工程师要建造航天器的模型?为什么桥梁工程师要建造桥的模型?提供这些模型的目的是什么? 这些工程师建造模型来查明他们的设计是否可以正常工作。航天工程师建造好了航天器的模型,然后把他们放入风洞中了解这些航天器是否可以飞行。桥梁工程师建造桥的模型来了解桥能否接立起来。建筑工程师建造建筑的模型了解客户是否喜欢这种建筑模样。通过建立模型来验证事物是否可工作。 为了更好的了解一个过程或事物,人们通常根据所研究对象的某些特征 (形状、结构或行为等) 建立相关的模型 模型是从一个特定视点对系统进行的抽象 它可以是实物模型,例如建筑模型、教学模型、玩具等 也可以是抽象数字或图示模型,例如数学公式或图形等 目录 UML的发展史 1 日常生活中的应用 本课程学习中需要注意的问题 3 2 开发软件为什么需要模型 在开发软件的过程中,开发者在动手编写程序之前需要研究和分析软件的诸多复杂和纷乱的问题 用户需求的准确描述问题 功能与功能之间的关系问题 软件的质量和性能问题 软件的结构组成问题 建立几十个甚至几百个程序或组件之间的关联问题等等 在这个复杂的开发过程中,我们最关注的还是开发者之间的交流问题 软件开发中能否消除技术人员与非技术人员(用户)之间、使用不同技术的开发人员之间、不同功能使用者之间的等等交流障碍是软件开发成功的关键 直观的软件模型将有助于软件工程师与他们进行有效的交流 软件设计者可以通过建立需求模型来实现技术人员与非技术人员(用户)之间的交流 在软件的设计中,设计人员首先要把描述系统功能需求的自然语言形式转化为软件程序的逻辑形式,在这个转化过程中,设计人员要借助许多模型来完成最终的程序设计模型 在软件的实施、测试和部署中,模型为不同领域的技术人员在软件和硬件的实施、测试和部署中提供有效的交流平台 软件模型是最有效的软件文档保存形式,软件模型在开发团队人员的培训、学习和知识的传递和传播等方面起着非常重要的作用 开发软件为什么需要模型 软件开发中需要建立 -需求模型 分析 模型 设计模型 实施模型 测试模型 部署模型 在系统开发生命周期中,需要从多角度来建立模型才能全面、准确地分析和设计软件系统 软件模型有多种表达方式或语言 开发者们经过多年的实践发现,以图形符号为基础的统一建模语言(Unified Modeling Language,UML) 描述软件模型既简单又清晰 《UML系统建模》是一门与软件开发密切相关的建模方法。1968年产生软件工程,后来面向对象的分析与设计方法的发展在20世纪80年代末至20世纪90年代中出现了一个高潮,UML是这个高潮的产物。 它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其有了进一步的发展,并最终统一为大众所接受的标准建模语言。 1.1 UML的发展史 1.2 日常生活中的应用 UML的目标是以面向对象相关图的方式来描述任何类型的系统。最常用的是建立软件系统的模型,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程等 1. 3 本课程学习中需要注意的问题 (1)小型案例在第三章讲述,主要引导学生观察了解UML常用的9种图的画法及作用,画法简单易用,便于学习,可立即上手。 (2)中型案例在全书的第二部分按章节讲述,中型案例按照统一过程的过程流在每章结尾处展开示例。 (3)大型案例是介绍大型软件可能涉及到人命关天的安全系统,还有一些大型复杂系统的需求是很难说清或抽取的,在书的第十二章重点详细的讲述这种系统建模过程中的复杂网络需求获取方法和形式化方法技术的补充。 怎样成为优秀的软件模型设计者 1. 人远比技术重要 2. 理解你要实现的东西 3. 谦虚是必须的品格,永远认识到自己的不足 4. 需求就是需求,必须照办 5. 比起需求的改变,更多的是你对需求的理解发生改变 6. 经常阅读别人的设计 7. 降低软件模块间的耦合度 8. 提高软件的内聚性 9. 考虑软件的移植性 10. 接受变化,拥抱变化 11. 不要低估对软件规模的需求 12. 性能仅仅是很多设计因素之一 13. 管理接口 14. 简单可靠的设计,不断的重构代码 15. 证明你的设计在实践中可行 16.
文档评论(0)