认知模型
uml的模型定义:模型是对实体的特征及变化的一种表示或抽象,即把对象实体通过适当的过滤,用适当的表现规则描绘出的简洁的模仿品。
实体和事物对于模型是抽象的,模型是实体和事物的表现,意义在于1.实体的认知。2.掌握实体的特征行为变化规律。3.解决问题。
建模的意义与误区
意义:一个真实多系统可能太庞大,也可能包含很多细节,经常超过人类可能认知的范围,所以人们必须从系统中抽离出重要的现象,让人们能够认识与理解系统的重要性,包括系统各组件的静态与动态合作关系。
误区1.建模就等于写文档、画图。误区22.建模是浪费时间。
流程:认知----->思考 分析------>表达 图、文档、rose、uml等
uml概述
uml(统一建模语言)是一种建模语言,用来面向对象开发系统的产品进行说明,可视化和编辑文档的方法。
uml描述了一个系统的静态结构和动态行为,静态结构定义了系统中的重要对象的属性和操作,以及这些对象之间的相互关系。
uml由视图、图、模型元素、通用机制等组成。
uml中的视图
一个系统可以从不同角度进行描绘,从其中某一个角度观察到的系统称之为一个视图。
uml中的视图包括用例视图,逻辑视图,并发视图和配置视图。
一个视图中可以由多个图组成。
用例视图:它从外部角色的视图来演示系统的功能,用例视图是系统中与实现无关的视图。
逻辑视图:逻辑视图用来描述如何实现用例图中提出的系统功能。它提供系统的详细图形,描述组件间如何关联。逻辑视图即描述系统的静态结构,也描述系统内部的动态协作关系,它通过系统的静态结构和动态行为来展现系统内部的功能是如何实现的,其侧重点在于如何实现功能。
并发视图:并发视图主要考虑资源的有效利用,代码的并发执行,以及系统环境中异步事件的处理。除了将系统划分为并发执行的控制以外,并发视图还需要处理线程之间的通信和同步。
组件视图:组件是不同类型的代码模块,包含模型代码库,执行文件、运行库和其他组件的信息等,它是构造应用的软件单元,组件视图描述系统的实现模块,以及它们之间的依赖关系。
配置视图:配置视图显示系统的物理部署,主要关注系统的实际部署,处理容错,网络带宽,故障恢复与响应时间,可与系统的逻辑结构有所不同,配置视图利用节点来展示系统部署的物理架构。
uml中的图
uml语言定义了五种类型,共九种不同的图,把它们有机地结合起来就可以描述系统的所有视图。
用例图:用例图描述了系统提供的一个功能单元。包括基于基本流程的"角色"(也就是系统交互的其他实体)关系,以及系统内用例之间的关系。
类图:类图显示了一组类,借口和协作,以及它们之间的关系,显示了系统的静态结构。类图在面向对象的建设设计中是很常用的。
对象图:对象图展现了一组对象,以及它们之间的关系。对象图是类图的变体,它使用与类图相似符号描述,不同之处在于对象图显示的是类的多个对象实例而非实际的类。
状态图state:状态图表示某个类所处的不同状态和该类的状态转换信息。一般来说,状态图是对类所描述事物的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件。
活动图activity:活动状态代表了一个活动,即一个工作流步骤或一个操作的执行。活动图由多个动作状态组成,当一个动作完成后,动作状态将会改变,转变为一个新的状态。
时序图sequence:时序图显示多个对象间的动作协作,重点是显示对象之间发送的消息的时间顺序。一个时序图显示了一系列的对象和在这些对象之间发送和接收的消息。
协作图collaboration:一个协作图显示了一系列的对象和这些对象之间的联系,以及对象间发送和接收的消息。时序图主要侧重于对象间消息传递在时间上的先后关系,而协作图表达对象间的交互过程及对象的关联关系。
组件图component:组件图显示了一些组件和它们之间的关系。使用组件图可以说明系统的静态实现。组件图和类图是有联系的,通常一个组件可以映射成一个或多个类,接口或协作。
配置图deployment:配置图用于系统中的硬件和物理结构。配置图显示了一些节点和它们之间的关系,表示该软件系统如何部署到硬件环境中使用配置图可以说明系统的静态结构。
uml应用领域:uml是一个通用的统一建模语言,适用于系统开发模型中从需求规格描述到系统完成后测试的不同阶段。
开发模型
瀑布模型
需求开发——>概要设计------>详细设计----->编码开发---->单体测试---->集成测试---->系统测试---->用户验收测试
缺点:开发周期长,过程不可逆,风险大
RAD(rap application development )
| 需求开发---->用户验收测试 V
| 概要设计-------->系统测试 |
| 详细设计-------->集成测试 |
| 编码开发-------->单体测试 |
V |
rad比瀑布模型好
需求开发(一般都是用 用例图)
用户需求:用户角度来描述
购物系统:购买前相关产品能够对比
产品需求:从产品角度触发描述
商品列表画面中,用户勾选需要对比的商品放入'对比栏',点击 对比 按钮进行商品参数对比,不同项用红色背景高亮显示。
设计(一般用 类图,顺序图,协作图,状态图,组件图)
画面怎么设计,用户交互怎么实现
对比按钮 点击后 业务操作 需要类 类有那些方法 调用顺序
数据如何存,内存数据如何比较 算法?
需求文档
设计文档 ------> uml 图 表达
模型