1.从需求到架构:MSF+UML在项目中的具体应用

来源:互联网 发布:淘宝十元包邮是真货么 编辑:程序博客网 时间:2024/05/14 10:02

 项目案例

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]    业务组件    业务实例[角色,物件]

------------数据层            附加服务层-----------------

数据库访问组件   服务代理

数据库                             服务