面向对象分析与设计(UML 2.0)读书笔记(一)

来源:互联网 发布:tcp端口阻塞 编辑:程序博客网 时间:2024/05/22 13:55

1.什么是方法学?

方法学是做事的系统方法,它是一个可以接受的过程。方法学还包括资源管理、规划、调度和其他管理任务的建议或技术。

 

2.方法学能够解决的问题?

  • 规划:确定需要做什么
  • 调度:确定完成工作的时间
  • 分配资源:估计和获得人力、软件、硬件和其他需要的资源
  • 工作流:较大开发工作中的子过程,如:设计系统的体系结构、给问题域建模,规划开发过程
  • 活动:工作流中的各个任务,如:测试组件、绘制类图
  • 任务:方法雪中由人(开发人员、测试人员或销售人员)完成的任务
  • 制品(artifact):开发成果:软件、设计文档、培训计划和手册。

3.软件开发中的经典阶段

  • 需求:包含两个方面:业务建模:理解软件的操作上下文,也就是用户如何操作;软件需求建模/规范表示:确定软件的功能。
  • 分析:理解要处理的过程。在设计解决方案之前要了解相关的实体、它们的属性和相互关系,还要验证是否正确。
  • 设计:如何解决问题。系统设计把系统分解为逻辑子系统(过程)和物理子系统(计算机和网络),选择技术等。
  • 规范:
  • 实现:编码,形成子系统,子系统与其他系统协同工作形成整个系统。
  • 测试:
  • 部署:硬软件交付给最终用户,并提供手册和培训材料。
  • 维护:

在经典软件开发中的关键问题

  • 需求阶段:什么是我们的上下文?要达到什么目的?
  • 分析阶段:要处理什么实体?如何确保有正确的实体?
  • 系统设计阶段:如何解决问题?在完成的系统中需要什么硬件和软件?
  • 子系统设计阶段:如何实现解决方案?源代码和支持文件有哪些?
  • 规范阶段:那些规则控制着系统组件之间的接口?可以出去模糊,保证正确吗?
  • 实现阶段:如何编写组件,符合规范的要求?如何编写漂亮的代码?
  • 测试阶段:完成的系统能满足要求吗?可以攻破系统吗?
  • 部署阶段:系统管理员必须做什么?如何培训最终用户?
  • 维护阶段:可以找出和更正错误吗?可以改进系统吗?

4.UML13种类型的图

  • 用例图:对系统的使用方式分类
  • 类图:显示类和他们的相互关系(也可以显示对象)
  • 对象图:只显示对象和他们之间的关系
  • 活动图:显示人和对象的活动
  • 状态机图:显示声明周期,比较复杂对象的各种状态
  • 通信图:某种情况下对象之间发生的消息
  • 顺序图:与通信图类似,但强调的是顺序而不是连接
  • 包图:显示相关的类如何组合,对开发人员有用
  • 部署图:显示按照已完成系统的机器、过程和部署制品
  • 组件图:显示可重用的组件(对象或子系统)及其接口
  • 交互图:使用顺序图显示活动的各个步骤
  • 时间图:显示消息和对象状态的标准时间限制
  • 复杂结构图:显示对象在聚合或复合中的相互关系,显示接口和写作对象。

5.软件开发阶段Ripple制品