一:软件工程出现的原因
原因很简单,那就是聪明人不够用,人之间不能互通。如果都像冯罗伊曼一样脑子能运行瞬时运行50行汇编代码,软件工程也就米有存在的必要了。 为了照顾低智商儿童参与软件行业,所以高智商人群提出了软件工程的概念。 二 UML与软件工程的关系 UML(Unified Modeling Language的缩写)统一建模语言,是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。 和平台无关,和具体语言无关,是对系统分析之后逻辑层的可视化展现。 三 UML中的十种图 类图 对象图 包图 组件图 部署图 用例图 时序图 协作图 状态图 活动图 四 UML中的四种关系 UML 中的关系主要包括 4 种: 关联关系(association) 依赖关系(dependency) 泛化关系(generalization) 实现关系(realization 五 UML的IDE——ROSE 一款强大的UML集成开发工具。 六 类之间的关系 泛化关系:在 UML 中, 泛化关系用来表示类与类, 接口与接口之间的继承关系. 泛化关系有时也称为”is a kind of”关系 在 UML 中泛化关系用一条实线空心箭头由子类指向父类 实现关系:在 UML 中, 实现关系用来表示类与接口之间的实现关系. 在 UML 中实现关系用一条虚线空心箭头由子类指向父类。 依赖关系:对于两个相对独立的系统,当一个系统负责构造另一个系统的实例,或者依赖另一个系统的服务时,这两个系统之间体现为依赖关系. 例如生产零件的机器和零件,机器负责构造零件对象; 充电电池和充电器,充电电池通过充电器来充电;自行车Bicycle和打气筒Pump,自行车通过打气筒来充气, 在现实生活中,通常不会为某一辆自行车配备专门的打气筒,而是在需要充气的时候,从附近某个修车棚里借个打气筒打气。在程序代码中,表现为Bicycle类的expand()方法有个Pump类型的参数。以下程序代码表示某辆自行车先后到两个修车棚里充气: 关联关系:对于两个相对独立的系统,当一个系统的实例与另一个系统的一些特定实例存在固定的对应关系时,这两个系统之间为关联关系。例如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司;自行车和主人,每辆自行车属于特定的主人,每个主人有特定的自行车。而充电电池和充电器之间就不存在固定的对应关系,同样自行车和打气筒之间也不存在固定的对应关系。 Person 类与 Bicycle 类之间存在关联关系,这意味着在 Person 类中需要定义一个 Bicycle 类型的成员变量 七 时序图 时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序. 当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件. 在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列. 八 ,部署图 部署图用来帮助开发者了解软件中的各个组件驻留在什么硬件位置, 以及这些硬件之间的交互关系。 节点: 用来表示一种硬件, 可以是打印机, 计算机等.节点的标记符 是一个三维框,在框的左上方包含了节点的名称。 通信关联: 节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联 学习总结:UML旨在逻辑层增强表达人们的思想,而不是通过代码来交流。具有更好的阅读性。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!