电梯简易UML图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、 面向对象技术概述
软件危机:
1.软件开发过程中出现的难题:复杂程度高、研制周期长、正确性难以保证
2.表现形式:需求不明确、变更过多,开发进度难以控制;软件成本增加,但质量差;维护困难
3.原因:需求不充分,无计划性;开发过程不规范;软件无评测手段
4.解决途径:加强软件开发过程管理;推广使用开发软件的成功技术、方法和工具
软件开发的现状:
1.软件工程学科不断发展
2.软件危机依然存在
3.中小型软件开发较为成熟,大型的仍存在问题
常用软件开发方法:
1.瀑布模型
2.快速原型
3.螺旋模型
软件工程的目的:
在规定的时间、规定的费用内开发出满足用户需求的(低错误率,易用,可维护,课重用,可移植)高质量软件系统。
软件与硬件的区别:
1.产品需求
2. 生产方式
3. 表现形式
4. 维护方式
软件复杂性原因:
1.现有硬件系统体系结构造成的
2.软件开发很难描述软件的本质规律和特征
3.软件系统中各元素之间的关系具有不确定性
4.软件需求的不断变化
5.软件生命周期中需要适应不同硬件环境
基本方法:
1.分解,“分而治之”
2.抽象,抽取本质特征(过程抽象,和数据抽象)
3.模块化,高内聚,低耦合
4.信息隐藏
结构化VS面向对象
面向对象的优点
1.易于理解,直接模拟问题空间中的对象属性和行为
2.稳定性较高、适应性好(用较稳定的把不稳定的包起来)
3.可靠性高,灵活性好,可复用
封装提供两种保护:
1.保护对象,防止直接访问对象内部细节
2.保护客户,防止对象实现部分的变化影响客户对象
消息是类与类之间通信的桥梁,包括:
1.同步消息,请求者需要等待响应者返回
2.异步消息,请求者不需要等待响应者返回,发出消息后可以继续自己的工作
二、 UML概述
Unified Modeling Language:
1.U: 统一各种表示有差别的建模方法,并集其所长。
2.M: 模型从全局上把握系统的全貌机器部件之间的关系
3.L: 是面向对象的建模语言
UML是一个通用的、可视化的建模语言标准,可以用来可视化、描述、构造、和文档化软件系统的各种工作
UML的特点:
1.统一的标准
2.面向对象
3.可视化
4.独立于开发过程,可适用于不同软件过程
5.概念明确,表示简洁,结构清晰,容易学习掌握
UML构成:
构造块,UML规则,公共机制
构造块:建模元素,模型主体,包括事物,关系,图
a.事物:
(1)结构事物:类、接口、用例、组件、节点等
(2)行为事物:交互、状态机
(3)分组事物:把语义上相关的建模元素分组为内聚单元
(4)注解事物:捕获特殊信息
b.关系
(1)关联 对象间的一组链接
(2)依赖 事物的改变引起依赖事物的语义改变
(3)泛化一个元素以另外一个元素的特化,而且可以取代更一般的元素
c.图
1234为结构,其中12为静态图,34为实现图
56789为行为,其中56为交互图,78为行为图,9为用例图
注:各种图见UML概述PPT
UML中的4+1视图
三、 用例与用例图
组成元素:
1.参与者,用例,表示关系的连接线
2.参与者与用例的关系:一根线表示
3.用例之间的关系:包含、扩展、泛化
用例的建模过程:
a.获取原始需求
b.识别参与者
c.识别用例
d.识别用例之间的关系
e.描述脚本
f.构建用例图
g.用例描述
a.获取原始需求:
技巧:实地观察,用户指导,原型制作等
b.识别参与者:
指系统之外,透过系统边界与系统进行有意义交互的事物,参与者的确定代表系统边界的确定,就知道哪些外部对象在与系统交互
参与者不仅可以由人承担,也可以是其他系统,设备,时间等
技巧:参与者使用功能、改变系统数据、获取系统信息、利用系统完成日常任务、维护管理系统并保
证其资产运行、与系统交互、利用系统产生的结果、或者为时间、气温等外部条件
参与者的泛化:表示一个一般性参与者(父参与者)与一个更为特殊的参与者(子参与者)之间的联
系,子参与者继承父参与者的行为和含义并且增加自己的特有的行为和含义。
c.识别用例:
要点:可观测(用例止于系统边界,不考虑系统内部对该功能的实现方式)、用例是有意义的目标、由系统执行、由参与者观测(用户观点,而不是功能)、注意用例粒度
用例命名:
(状语)动词+(定语)宾语
用例粒度:
粒度过细,把步骤当做用例,把系统活动当做用例,忽略了用户的目的。
用力获取:
参与者的任务,参与者需要了解,修改系统什么信息,参与者是否需要把系统外部的变化通知系统,参与者是否希望系统把异常情况通知自己。
d.用例间的关系:
泛化:子用例继承父用例的行为和含义,子用例可以增加新的行为和含义覆盖父用例中的行为和含义。
包含:(指向包含用例)基用例包含了包含用例的行为,一定执行包含用例。当用例出现重复描述时可用。
扩展:(指向基用例)基用例提供扩展点,扩展用例只能在扩展点上增加新的行为,不一定执行扩展用例,在特殊情况执行。当行为中某种变异发生时通过扩展用例加以控制。
e.脚本:
指一条单一路径,用来显示用例中的某种特殊情况。每个用例有一系列脚本,一个主要脚本和几个次要脚本。相对于主要脚本,次要脚本描述了执行路径中的异常或可选择的情况
f.构建用例图