软件开发的过程 与 现实中组建一个公司或团体 是一样的。
我们需要给系统指定一系列角色,然后分工协作;
关键就在定义角色,分配职责,相互协作。
1.定义角色
你这个公司需要哪些类型的人(项目经理、程序员、测试员、财务...),
需要购买哪些工具(电脑、投影仪、打印机、服务器...)
类
2.分配职责
每个角色的人用来干什么工作
(项目经理管理项目、程序员开发软件、测试员测试产品、财务给大家发工资、
电脑保存工作成果、投影仪用来开会讲解、打印机打印文档、服务器给所有电脑提供服务)
类实现的接口
3.相互协作
各个角色如何协同工作
(项目经理 给 程序员和测试员 分配工作任务、
程序员 将成品交付 测试员,测试员 判定 程序员 的工作是否有效、
电脑 通过访问 服务器 连接到外部网络、
电脑 将影像传输给 投影仪,投影仪显示影像
人 使用 工具 完成各种工作)
对象间的依赖关系
1和2是静态描述
3是动态描述
我们需要给系统指定一系列角色,然后分工协作;
关键就在定义角色,分配职责,相互协作。
1.定义角色
你这个公司需要哪些类型的人(项目经理、程序员、测试员、财务...),
需要购买哪些工具(电脑、投影仪、打印机、服务器...)
类
2.分配职责
每个角色的人用来干什么工作
(项目经理管理项目、程序员开发软件、测试员测试产品、财务给大家发工资、
电脑保存工作成果、投影仪用来开会讲解、打印机打印文档、服务器给所有电脑提供服务)
类实现的接口
3.相互协作
各个角色如何协同工作
(项目经理 给 程序员和测试员 分配工作任务、
程序员 将成品交付 测试员,测试员 判定 程序员 的工作是否有效、
电脑 通过访问 服务器 连接到外部网络、
电脑 将影像传输给 投影仪,投影仪显示影像
人 使用 工具 完成各种工作)
对象间的依赖关系
1和2是静态描述
3是动态描述