网上购物系统分析与设计课件.ppt

上传人:牧羊曲112 文档编号:1865738 上传时间:2022-12-22 格式:PPT 页数:67 大小:344.87KB
返回 下载 相关 举报
网上购物系统分析与设计课件.ppt_第1页
第1页 / 共67页
网上购物系统分析与设计课件.ppt_第2页
第2页 / 共67页
网上购物系统分析与设计课件.ppt_第3页
第3页 / 共67页
网上购物系统分析与设计课件.ppt_第4页
第4页 / 共67页
网上购物系统分析与设计课件.ppt_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《网上购物系统分析与设计课件.ppt》由会员分享,可在线阅读,更多相关《网上购物系统分析与设计课件.ppt(67页珍藏版)》请在三一办公上搜索。

1、网上送花系统案例,北京理工大学珠海学院,内容,初始阶段(识别系统的基本范围和可否进行)用例描述(需求分析)领域对象分析(问题域对象识别)分析模型(不考虑实现,主要从逻辑上设计系统)系统设计(考虑实现,考虑架构、数据库、编程框架等),北京理工大学珠海学院,初始阶段,业务概况:在网上开展销售鲜花业务,将服务范围扩展到所有大中城市,为客户提供网上付款和送花服务,使客户可以异地送花。(通过规模降低成本,通过方便刺激消费,通过信誉提高市场份额),北京理工大学珠海学院,初始阶段,业务过程:鲜花店主在网上开设送花网站,并在全国各主要大中城市设立分支或连锁机构;送花者登陆网站选择鲜花,填写送花信息,支付花款。

2、然后可以随时查看自己所订花进展情况;花店分支或连锁机构业务员按照网上已付款且送花地点属本分店范围的订花信息准备鲜花,然后让配送员送达收花人。配送员向收花人索取确认签名或留言,然后再将有关信息输入系统。,北京理工大学珠海学院,初始阶段,业务规则:规则1:送花者必须先付款,或者确定付款,订单才认为有效;规则2:只有在每日下午3:00以前下订单,才可在第二日送达;下午3:00以后下的订单,最快要在第三日送达;规则3:每日送达时间只可选择早晨9点到夜晚12点;,北京理工大学珠海学院,初始阶段,补充规约:1。要求可以采用支付宝、信用卡或者网上银行转帐支付;,北京理工大学珠海学院,初始阶段,网上送花业务涉

3、及哪些方面(涉众)?店主:花店老板、经营者;业务员:花店业务员。负责订单的执行;送花者:花店的客户,在花店购花;收花者:送花者送花的对象(可以是人、单位);配送员:花店员工,负责将商品送至收花对象。网上支付机构:送花者的付款机构,需要与网上花店签订付款服务协议。如建设银行、中行、支付宝,北京理工大学珠海学院,初始阶段,不同涉众有哪些关注点(诉求)?店主:方便客户(送花者、收花者),有利于开拓市场,降低成本,提高服务质量,进而获得市场占有率,赢得 利润;业务员:系统操作方便,数据准确无误,有防错纠错能力;送花者:准时无误、放心,鲜花质量好,付款方便;,北京理工大学珠海学院,初始阶段,不同涉众有哪

4、些关注点(诉求)?收花者:可以知道送花者、可以留言;配送员:地址详细无误。有联系电话;网上支付机构:安全保密。,北京理工大学珠海学院,初始阶段,有哪些主要参与者?店主业务员送花者配送员辅助参与者?网上支付机构,北京理工大学珠海学院,初始阶段,主要用例店主:管理雇员、浏览订单、维护鲜花信息业务员:登录、处理订单;送花者:选购鲜花、维护购物车、确认订单、付款、注册、登录、查询订单;配送员:登录、确认送达;付款用例与辅助参与者有关。,北京理工大学珠海学院,初始阶段,关键用例?付款本系统中,难度最高、关系到系统成败的关键是网上支付。根据业务规则,鲜花店要先付款再送花。如果已经做过类似系统,付款就不是关

5、键了。这时,其他问题可能上升为关键问题。,北京理工大学珠海学院,初始阶段,根据经验,付款的问题主要是跟各网上付款中介机构或网上银行联系,使用他们提供的组件,因此技术上不会有问题。结论:可以进一步开发。,北京理工大学珠海学院,从初始到细化,由于本网站功能很多,需要划分成几次迭代第一次迭代选择哪些用例呢?功能上重要:选购鲜花、维护购物车、确认订单、付款架构上重要:付款决定:首次迭代完成选购鲜花、维护购物车、确认订单和付款的部分场景(网上银行转帐),北京理工大学珠海学院,用例描述,选购鲜花用例描述主参与者:送花者前提条件:送花者已经进入网站,网站上显示出了鲜花的目录或分类资料主页面后置条件:被选购的

6、鲜花自动存入本次会话购物车,北京理工大学珠海学院,用例描述,选购鲜花用例描述主要流程:送花者点击感兴趣的鲜花品种;系统显示出该品种的详细情况;送花者确认购买,系统将该品种存放到当前会话的购物车;系统自动回到鲜花目录或分类页面,用户可重复操作1,直到完成全部商品选择。,北京理工大学珠海学院,用例描述,选购鲜花用例描述变化流程:1a 送花者选择其他功能会进入其他功能页面,或者也可选择退出选购;,北京理工大学珠海学院,用例描述,维护购物车用例描述主参与者:送花者前提条件:送花者通过有关页面链接已经进入购物车网站,网站上显示出了购物车的内容后置条件:被修改确认的购物车内容被自动保存,北京理工大学珠海学

7、院,用例描述,维护购物车用例描述主要流程:选择购物车中要删除的项,选择删除功能则该项会被删除;选择购物车中要修改的项,将该项的购买数量改为希望的值;根据需要重复上述步骤直到维护完成。变化流程:3a.选择继续购买,则回到商品目录和分类页面;3b.选择确认订单,则进入订单资料输入页面。,北京理工大学珠海学院,用例描述,确认订单用例描述主参与者:送花者前提条件:送花者完成购物车维护,通过有关页面链接进入确认订单页面后置条件:生成订单所需信息已经收集,包括送花者、收花者、付款方式等。,北京理工大学珠海学院,用例描述,确认订单用例描述主要流程:系统提示参与者输入收花人信息;系统提示参与者选择付款方式;用

8、户确认订单,系统开始付款操作。变化流程:1a.如果操作者尚未登录,则先转向登录页面,完成登录后再回到本页;3a.如果放弃确认,则不确认订单;3b.如果付款不成功,则不确认订单。,北京理工大学珠海学院,用例描述,付款用例描述主参与者:送花者前提条件:订单已经被确认,总金额已知,订单信息已经收集。后置条件:付款成功后生成并保存订单,北京理工大学珠海学院,用例描述,付款用例描述主要流程:系统链接到有关付款页面,同时将订单金额、花店收款账户资料传给付款页面;付款页面提示送花者完成付款的具体操作;系统获得成功付款结果后生成订单并保存。变化流程:2a.如果付款帐户信息或付款凭据有问题,则提示输入信息无效;

9、2b.如果付款帐户不满足支付条件,则中止付款操作。,北京理工大学珠海学院,领域对象分析,完成用例描述后,通过对用例的审阅,可以发现应用的领域对象。例如:选购鲜花用例描述主要流程:送花者点击感兴趣的鲜花品种;系统显示出该品种的详细情况;送花者点击详细说明页面的“购买”,系统将该品种存放到当前会话的购物车;系统自动回到鲜花目录或分类页面,用户可重复操作1,直到完成全部商品选择。,北京理工大学珠海学院,领域对象分析,完成用例描述后,通过对用例的审阅,可以发现应用的领域对象。例如:维护购物车用例描述主要流程:选择购物车中要删除的项,选择删除功能则该项会被删除;选择购物车中要修改的项,将该项的购买数量改

10、为希望的值;根据需要重复上述步骤直到维护完成。,北京理工大学珠海学院,领域对象分析,完成用例描述后,通过对用例的审阅,可以发现应用的领域对象。例如:确认订单用例描述主要流程:系统提示参与者输入收花人信息;系统提示参与者选择付款方式;用户确认订单,系统开始付款操作。,北京理工大学珠海学院,领域对象分析,完成用例描述后,通过对用例的审阅,可以发现应用的领域对象。例如:付款用例描述主要流程:系统链接到有关付款页面,同时将订单金额、花店收款账户资料传给付款页面;付款页面提示送花者完成付款的具体操作;系统获得成功付款结果后创建订单并保存。,北京理工大学珠海学院,领域对象分析,由此可以得到领域对象:送花者

11、、鲜花品种、会话、购物车、购物车项、收花人、付款、付款方式、订单、收款帐户、付款结果这些对象或许不全,但已能满足第一次迭代需要,北京理工大学珠海学院,领域对象分析,北京理工大学珠海学院,领域对象分析,在识别领域对象及其关系的同时,还应该对领域对象作文字说明和注解,形成词汇表或数据字典。领域对象词汇表加上领域对象图,会更清楚地表达需求阶段所了解的领域概念。词汇表的写法可以参考结构化程序设计中采用的数据字典的写法。一方面用文字说明概念含义,同时也注明概念属性。,北京理工大学珠海学院,领域对象分析,网上送花系统词汇表举例:送花者:本网站的客户或消费者。在网站上购花,并将花送给收花者。送花者 = 代号

12、+密码+手机号码+电子邮箱会话:送花者对本网站的一次访问过程。始于送花者打开本网站某网页,终于送花者关闭本网站所有网页。一次会话期间,送花者可以浏览本网站多个网页。会话 = 会话识别号+开始时间+结束时间,北京理工大学珠海学院,领域对象分析,网上送花系统词汇表举例:购物车:在一次会话中暂时存放送花人选购的商品项的地方。一次会话中有一个购物车。会话结束时,购物车也消失。一次会话中,确认一张订单后,购物车被清空,送花者可以开始一次新的购买,并形成新的订单。购物车 = 会话识别号 + 购物车项购物车项:送花者选择的商品项。放在购物车中。本网站最典型的情况是一个购物车一般只有一个购物车项,但也不排除多

13、个项目的可能。购物车项 = 鲜花品种 + 数量 + 促销价,北京理工大学珠海学院,领域对象分析,网上送花系统词汇表举例:鲜花品种:本网站提供的鲜花种类。一个鲜花品种是网站的一个销售单位,一般是一束花,或者一个花篮。由多支、多种鲜花构成。送花者只能按品种选择购买。鲜花品种 = 代号+名称+介绍+单价+促销价+照片订单:送花者确定并已付款的一次购买商品的电子单据。订单中的商品项由一次会话的购物车中的购物车项导出。订单 = 订单号+下单日期时间+送花者+收花人+送花信息+商品项商品项 = 购物车项,北京理工大学珠海学院,领域对象分析,网上送花系统词汇表举例:付款:对订单的支付行为。一个订单需要一次付

14、款使之有效。付款 = 收款帐户+金额+付款方式付款方式:送花者选择的付款办法。付款方式 = 网上银行|支付宝|信用卡,北京理工大学珠海学院,领域对象分析,网上送花系统词汇表举例:收款帐户:本网站经营者接受送花人付款的银行帐户。收款帐户 = 开户行+户名+帐号付款结果:送花者通过网上方式付款是否成功的结果。付款结果 = 成功|未成功,北京理工大学珠海学院,领域对象分析,网上送花系统词汇表举例:收花人:送花者送花的目的方。收花人 = 手机号码+姓名+送花地址,北京理工大学珠海学院,分析模型,分析模型是对系统如何构建或者组成的逻辑描述,他没有考虑具体的实现约束和环境因素。例如,他不考虑采用何种数据库

15、管理系统、编程语言、框架、中间件等因素。分析模型与平台和技术无关,仅与系统的需求有关。分析模型体现了对系统的要求的理解,是不受实现细节影响的稳定模型。,北京理工大学珠海学院,分析模型,分析模型中,包含了从逻辑的角度给出的系统组成类及其行为。说明白一点,分析模型的制品(文档),是一些关于分析类的说明。可以包括一些类图及各个类的字典。但在实践中,很多时候都不一定会保留分析模型文档。如果不是很大型和复杂的系统,大多数做法都是直接将分析模型转化为设计模型,然后保留设计模型的文档。,北京理工大学珠海学院,分析模型,一般建立分析模型以用例作为输入。如果用例较复杂,可以选择对用例画出系统顺序图,以识别重要的

16、系统事件。然后对重要的系统操作写出操作契约。在考虑对象行为时,系统顺序图和操作契约可以作为参考资料。作为例子,这里给出选购鲜花用例的系统顺序图及有关操作契约供学习参考。,北京理工大学珠海学院,分析模型,北京理工大学珠海学院,分析模型,契约1:SeleFlower操作:SeleFlower(int FlowerId)交叉引用:选购鲜花用例前置条件:鲜花目录信息已经获得后置条件:所选鲜花品种实例被创建且属性值已正确填充;鲜花品种实例详细信息页被创建且被显示。,北京理工大学珠海学院,分析模型,契约2:BuyFlower操作:BuyFlower(Flower selectedFlower)交叉引用:选

17、购鲜花用例前置条件:选中的鲜花实例已经创建后置条件:创建一个购物车项实例并与选中的鲜花实例关联;创建的购物车项实例被加入到当前会话的购物车。,北京理工大学珠海学院,分析模型,下面我们开始分析模型的建立。一般,组成系统的类有三种:界面类:实现表现功能。控制类:实现业务逻辑、计算等。实体类:需要持久保存的领域对象。,北京理工大学珠海学院,分析模型,这三种类别的类可以从表现、行为、信息三个维度描述系统。每种类别的类,至少具有两个维度的信息,这是不同于传统功能/数据分割的结构化分析的地方同时可以提供抗变化的稳定模型。经验表明,不管系统发生何种变化,都会局限在局部。,北京理工大学珠海学院,分析模型,这种

18、分法,还将系统分成了三层。实体类一层,控制类一层,界面类一层,与著名的MVC模式相似每一个用例,首先给定一个界面类、一个控制类,然后参考从用例文本中识别出的领域类,确定本用例需要哪些实体类。,北京理工大学珠海学院,分析模型,选购鲜花用例界面类:UIFlowerCatalog,UIFlowerDetail控制类:CtrlSeleFlower实体类:鲜花品种(FlowerCatalog)、购物车(Cart)(领域类中送花者、购物车项、会话不必是实体类),北京理工大学珠海学院,分析模型,维护购物车用例界面类:UIMaintainCart控制类:CtrlMaintainCart实体类:购物车(Cart

19、),北京理工大学珠海学院,分析模型,确认订单用例界面类:UIMakeOrder控制类:CtrlMakeOrder实体类:收花人(FlowerReceiver)、订单(Order)、付款方式(PaymentType),北京理工大学珠海学院,分析模型,付款用例界面类:UIPayment,UINotify控制类:CtrlPayment实体类:订单(Order)(领域类中付款结果、收款帐户、付款不必是实体类),北京理工大学珠海学院,分析模型,至此,可以将分析模型中的类整理出来。如果系统规模很大,并在为项目制订的开发过程中,决定将分析模型做得很完善,则可以对分析模型中的类作深入的分析,识别出类的各种属性

20、、操作等,并用类说明文档记载。,北京理工大学珠海学院,分析模型,但在通常的分析中,不一定要将每个类的属性、方法都识别得很细致。分析模型是一个过渡模型,很多时候,还没有做到很深入,就自然地转向了设计模型了。,北京理工大学珠海学院,系统设计,以架构为中心的设计方法是,在初始阶段和早期迭代中,就已经确定系统的架构(由资深技术负责人定)系统的架构规定了使用何种组件、平台及体系结构。系统的架构决定了分几层,每层的职责如何。层与层之间是低耦合的,层内是高内聚的。,北京理工大学珠海学院,系统设计,依照确定的架构,各个类的职责可以根据它所属的层决定。在本系统中,我们设计的架构如下:,北京理工大学珠海学院,系统

21、设计,UI,BusinessLogic,BusinessEntity,DataAccess,BaseStructure,北京理工大学珠海学院,系统设计,UI层:用户界面。每个用例的界面类处于该层中。在一些实现中,一个界面类通常带有一个控制类,也处于该层。界面类负责与用户交互,控制类负责与业务逻辑层通信界面类:WinForm, JFrame, WebForm,JSP(动态网页)控制类:与一个窗体对应。在ASP.NET中,代码文件就是一个控制类,与页面对应。,北京理工大学珠海学院,系统设计,BusinessLogic层:实现业务逻辑、计算、转换、查询等。该层通常含有不多的控制类,但这些控制类有很多

22、操作,实现用例中需要的业务逻辑例如,简单的系统中可以只有12个业务逻辑类。可以用高内聚原则划分。BizLogic, QueryLogic(将单纯事务处理与查询分开),北京理工大学珠海学院,系统设计,BusinessEntity层:由需要永久保存的业务实体类构成。该层的职责是负责自身信息的增、删、改、查询每个实体类有不同的属性但都有相同的方法,Open,Save,Delete,Seek等。有共同的基类,该基类实现对象关系映射。,北京理工大学珠海学院,系统设计,DataAccess层:含有业务实体类的公共基类,负责实现实体类与数据库存储之间的映射(转换)实现对象关系映射的基类Open,Save,D

23、elete,Seek等方法在基类中实现一般用到反射技术(教材37章介绍),北京理工大学珠海学院,系统设计,BaseStructure层:在各层之间充当信息载体。通常是一些简单的结构、枚举等类型。这些类称为值类型(ValueObject),属性与实体类同,但没有方法,很轻便;用于在不同的层之间传递数据(作为方法的参数、返回值)直接用实体类太笨重,影响效率。,北京理工大学珠海学院,系统设计,在上述分层的架构设计基础上,剩下的设计工作是,识别为了实现用例的功能(分析模型),各层需要哪些类,这些类应该具备哪些属性和操作。实际上,类的职责分配没有教材上说的那么复杂。(因为架构已经确定了每一层的类的职责类

24、别),北京理工大学珠海学院,系统设计,设计的方法是逐个用例进行用例设计。这又体现了用例驱动的思想。用例设计步骤:1. 参与类识别;2. 参与类动态关系识别,得出类的操作;,北京理工大学珠海学院,系统设计,设计的方法是逐个用例进行用例设计。这又体现了用例驱动的思想。用例设计步骤:1. 参与类识别;2. 参与类动态关系识别,得出类的操作;,北京理工大学珠海学院,系统设计,举例:选购鲜花用例。已识别分析类:界面类:UIFlowerCatalog,UIFlowerDetail控制类:CtrlSeleFlower实体类:鲜花品种(FlowerCatalog)、购物车(Cart),北京理工大学珠海学院,系

25、统设计,考虑采用ASP.NET实现,一个页面有一个控制类(代码文件),加上CtrlFlowerDetail将原来命名的控制类改名为CtrlFlowerCatalog根据架构,参与类还有QueryLogics,北京理工大学珠海学院,系统设计,参与类共有:UIFlowerCatalog, UIFlowerDetailCtrlFlowerCatalog,CtrlFlowerDetailQueryLogics(业务逻辑层)FlowerCatalog (业务实体层)Cart(基础结构层,并非实体)注意,DataAccess层是现有组件。,北京理工大学珠海学院,系统设计,画出上述参与类在用例中的顺序图:(见黑板),北京理工大学珠海学院,系统设计,从图中,可以识别出有关控制类的操作。至于属性,在分析阶段就可以定出。要知道,设计不是一次做好的,要反复考虑和修改。 模型需要打磨和擦拭,才会铮亮!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号