项目案例
1.项目开始了-----> [用户的基本要求出来了]
• 客户需要创建公司业务门户网站
– 网站支持自主管理功能
– 在线销售
– 业务报表
– 网站支持用户分级
– 是不是可以有博客?
2.信息的获取与分析
• 客户老总
• 客户销售经理
• 客户人事经理
• 客户销售人员
• 客户管理员
• 网友
-----从使用系统得各个角色,了解他们对系统的要求。
------在项目开始的时候,肯定要开很多会议. 在开会的时候,使用ppt和客户交流,并对ppt进行修改,确定每种类型用户的要求,但是,我们要注意用户的要求并不等于需求,用户的每一个想法并不一定合理.
-----如果采用原型方法,每次交给客户一个版本,但是,客户的要求每次可能发生变化,以致每个版本都在变化。导致项目进度推迟,费用超支。
3.信息的获取与分析[ 对应系统的逻辑层和数据层 ]
• 列出所有角色 [转化为对象]
-----如: 老总,销售人员,人事经理,网友、、、、
• 列出所有物件 [转化为对象]
-----如:订单、商品、、、、、
• 列出所有互动关系 [对象中的方法]
---如: 每个角色可以做的工作、、、
还有角色之间的相互关系,以及数据在角色之间的传递.
通过信息的获取与分析,主要是从业务需求开始,得到逻辑层的结构
4. 精炼Use Case
– 概念
• UML
• ORM( object relation mapping)
对象关系映射
------在架构设计中相当重要,实现了从业务模型向数据模型的映射。
1.每个角色或者物件可能对应一个类,也可能对应多个类... ..
2.类和数据库表中的对应,这要求满足范式规范。因此,一个类可能对应多张表。
• Use Case
– 精炼过程
5. 软件开发过程模型
– 瀑布模型:
• 使用里程碑控制项目进度,这样就可以把项目进行分解,各个击破
– 螺旋模型:
• 在快速开发时持续进行反馈与修正,得到多个版本
–MSF
• 整合了瀑布模型与螺旋模型
-------和客户的反馈和交流要控制度,不能过度交流,这样将导致客户提出各种要求,导致项目一直在变化.
-------在项目中应用迭代, MSF 在不停的迭代 如: 概念设计--〉逻辑设计--〉物理设计
6. MSF的三把斧子
• 概念设计
-------主要是在和客户交流, 很多时候有多种类型角色参加会议,因此,必须要从团队的角度考虑,使用的大家都可以理解的语言进行沟通,把每个角色要进行的工作都理解,并画出use case图.(顺序流程图)
• 逻辑设计
--------主要是从用户和业务的角度考虑问题,工作内容是精化use case图.
• 物理设计
------主要是从开发人员的角度进行考虑. 工作内容是要进行对象关系映射.
通过不同的视角审视系统, 逐步细化系统的设计.
7. 网站设计框架
-----------用户
用户
---------表示层
用户界面模块 [业务的流程可以映射到界面过程]
界面过程模块
---------业务逻辑层
服务层-------------做产品时,利于重用和扩展(如不同的异构系统提供统一的接口)
业务流[use case] 业务组件 业务实例[角色,物件]
------------数据层 附加服务层-----------------
数据库访问组件 服务代理
数据库 服务