当前位置:文档之家› 面向对象方法精粹大作业

面向对象方法精粹大作业

面向对象方法精粹
目录
1 需求分析..................................................... 错误!未定义书签。

1.1 项目描述 (3)
1.2 功能描述 (3)
2 构建功能模型 (5)
2.1 确定系统边界 (5)
2.2 寻找参与者 (5)
2.3 寻找用例 (5)
3 构建结构模型 (8)
3.1 寻找并保留正确的类 (8)
3.2 准备数据词典 (8)
3.3 寻找关联属性并细化 (9)
4 构建行为模型 (11)
4.1 状态机图 (11)
4.2 活动图 (12)
4.3 顺序图 (14)
1需求分析
1.1 项目描述
该项目建立一个育童网站,旨在为没有时间呵护孩子成长的年轻父母提供育童服务。

网站采取B/S架构,客户通过浏览器获取所需服务,注册账号,订购服务。

公司通过后台管理订单。

同时,网站设有育童论坛,供年轻父母进行交流与分享,通过论坛方式可获得育童积分,累积可转换为育童券,进行购物。

网站同时为年轻父母提供第三方支付的服务和旅游,餐饮与医疗服务。

在购买服务时的支付方式为第三方支付和育童券支付,育童券可以冲抵现金,但不能兑换现金。

每个账号有自己的等级,等级越高则购买相应服务折扣越大。

该网站为一个P2P的线下服务平台,主要客户为时间不充裕的年轻父母,主要商家为育童公司,以及与育童网合作的旅游,餐饮和医疗公司。

通过育童公司订购的旅游,餐饮和医疗服务将享有折扣。

1.2 功能描述
用户(年轻父母):
1.年轻父母可提交服务订单;
2.年轻父母可提交自己的育童服务专页(含认知教程,营养食谱,医疗
卫生,屋舍设施,户外环境);
3.年轻父母可向亲朋好友发送孩子百日电子请柬;
4.年轻父母在线支付育童服务费(如网银,第三方,爱童券等);
5.年轻父母分享孩子成长视频/图片获得爱童券;
6.年轻父母之间可以相互交流;
7.评价后可获得爱童券;
8.在线支付后可获得爱童积分;
9.在支付后悔期内可自由退订;
10.在支付后悔期外壳有限制退订;
11.订单完成后支付积分转换为爱童积分;
12.爱童积分可兑换爱童券;
13.年轻父母可在线折扣购买爱童券;
14.年轻父母介绍新用户加入爱童网可提升自己的级别;服务平台(育童公司):
1.可发布育童服务信息;
2.浏览自己的育童服务专页;
3.设置年轻父母的级别;
4.设置年轻父母的升级规则;
5.浏览服务订单进度;
6.浏览营收;
7.订购餐饮机构的服务;
8.订购医疗机构的服务;
9.订购旅游机构的服务;
商家(餐饮/医疗/旅游机构):
1.发布服务信息;
2.浏览自己的服务专页;
3.浏览自己的服务营收;
2构建功能模型
2.1确定系统边界
系统主要的功能为用户向商家订购服务,商家向用户提供服务。

其中订购的过程中会伴随订单的产生,支付,完成,评价。

同时在服务过程中,伴随用户爱童积分的积累,爱童券的积累。

还有用户之间的交流与分享。

商家的行为主要是基于服务器端,查看订单情况,支付情况,以及提供服务和帮助用户订购其他服务。

综上,本系统的主要边界为客户端边界内的用例和服务端边界内的用例。

2.2寻找参与者
在确认边界的基础上,寻找与系统直接交互的外部对象。

对于被系统而言,参与者主要有用户,公司和第三方服务商。

这三类参与者都会执行一部分系统功能,且有不同的操作界面。

2.3 寻找用例
结合上述分析,我找出了两类用例分别在用户系统内和服务端系统内。

者两类用例会以完全不同的方式使用本系统。

其中图1表示用户使用本系统的功能,图2表示服务端下本系统提供给公司和第三方机构的功能。

图1:客户端系统用例图
本图描述了用户即年轻父母在本系统内与公司以及第三方机构的一切交互,
主要分为订单系统,用户论坛系统和主页系统三大模块。

图2 的主要参与者为公司和第三方服务机构。

3构建结构模型
3.1寻找并保留正确的类
首先从用户,公司第三方机构三类参与者中找出相关的对象。

再从对用户,公司的功能描述中找出相关的概念。

用户要提交订单,订单要被执行,确认,评价。

等行为过程中找出对象。

然后将这些对象逐层抽象为类。

然后,去掉表示相同概念的类,保留最具描述能力的名称,即去掉冗余类;然后
去掉不相关的属性。

最终我得出本系统中的类如下所示:
3.2准备数据词典
为避免单词的歧义,编制数据字典如下。

同时对一些重要类的作用域,生命周期作出解释,并描述了类间的关联,聚合以及一些重要的属性。

3.3寻找关联属性并细化
进一步细化类之间的关联,并表明重要的唯一属性,对类间的关联做出约束。

并使用继承来细化,调整继承的层次和多重继承,增强代码的复用性。

综上步骤,我所得出的类图如图3所示。

图3.类图
4构建行为模型
4.1状态机图
经过分析我认为,本项目中存在状态变化生命周期的有两个。

一是订单状态,二是育童积分和育童券之间的转换。

分别入图4,图5所示。

图4表示订单的生命周期,从被用户建立,支付到执行完毕,最终由用户做出评价。

图5表示育童积分与育童券之间的相互转化,用户获得育童积分的手段主要有参与在线支付,参与评价和完成一笔订单,当育童积分到达一定数量自动转换为育童券可以冲抵现金进行购物。

图4.订单状态机图
图5.爱童积分状态机图
4.2活动图
活动图主要表示用户和服务商进行主要活动的单方向流程,尽量不要涉及循环迭代的过程。

本例中我设计了用户端活动图和服务端活动图如图6,图7所示。

图6表示用户从注册账号到完成一笔订单所需要的活动。

图7表示服务器端操作用户订单,并联系进行相应服务的活动。

图6
4.3顺序图
图8表示客户订购服务的流程图,订购服务,生成订单,公司根据已支付的订单提供相应的育儿服务或者联系第三方进行服务。

由对象的生命线和激活时间可以清楚的了解这个线上服务网站的业务流程。

图8。

相关主题