1. 面向对象与面向过程的区别:
面向过程: 将系统看为一个整体, 分析影响系统的各个因素,并分析系统里各个因素之间的因果关系, 进而对整个系统进行建模.
面向过程面临的困难:
当系统较大的时候, 构成一个系统的因素太多, 要考虑到所有的因素并把所有因素的因果关系分析清楚同时将这个系统模拟出来非常困难
面向对象: 将系统看为不同的小的对象的按一定规则的组合, 每个对象都有自己的行为方法和属性, 对象之间以消息进行信息交换.
面向对象面临的困难:
★对象是如何被抽象出来的? 现实世界和对象世界差别那么大, 为什么这样抽象而不那样抽象呢?
★对象可以任意组合, 我们怎么知道某个组合就正好满足现实世界的需求,而且这个组合是最优的呢?
★对于一个给定的对象组合, 如何理解它表示的现实含义
举个例子:
如果说现在要给某个工厂开发一个管理系统.
以面想过程的思维来看要这么做: 先分析这个工厂系统中都有哪些业务流程, 找出每个流程中每一步参与的部门和岗位,弄清楚这一步参与者所做的事情和填写表单的结果,并关心用户是如何把这份表单传递给下一个环节的.
以面向对象的思维来看要这么做: 分析这个工厂都有哪些部门, 每个部门都有哪些岗位, 每个岗位都接受谁的调遣做什么事情,做完要通知谁是否要填写表格.
2. UML用来干嘛:
提供如何将现实世界映射到对象世界的方法
提供一种从对象世界描述现实世界的方法
提供一种验证对象世界行为是否正确反映现实世界的方法
3.UML和RUP的区别:
UML: 统一建模语言, 是一种建立模型的语言.
RUP: 统一建模,是一种面向对象, 使用UML作为语言的, 结合项目管理和质量保证等许多软件工程知识综合而成的软件方法