软件设计与体系结构论文_第1页
软件设计与体系结构论文_第2页
软件设计与体系结构论文_第3页
软件设计与体系结构论文_第4页
软件设计与体系结构论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WZMOU UNIVEMrrr OF science and technolcciy软件设计与体系结构非卷面试题设计题目快餐店多功能点餐系统院系 电子与信息工程学院专业 计算机科学与技术学生姓名学生学号任课教师倪启东快餐店多功能点餐系统摘要随着计算机软件行业的发展和互联网的普及,软件进入到人们生活的各个行 业之中。在这个软件爆炸的时代,软件系统有一个好的设计与结构显得尤为重要。 通过快餐店多功能点餐系统的设计,将软件体系结构与设计的所学的知识,运用 到实际系统中,是对知识、技术的巩固,也是能力的提升。本系统主要运用增量模型,随着知识的学习同步进行系统的开发。主要采用 了策略模式、观察者模式、装

2、饰者模式、工厂模式、单例模式。同时,伴随着设 计原则的思想,使得系统更加稳定而高效。关键词 点餐系统;体系结构;设计模式;java目录 TOC o 1-5 h z HYPERLINK l bookmark50 o Current Document 第1章绪论1 HYPERLINK l bookmark53 o Current Document 引言1 HYPERLINK l bookmark56 o Current Document 系统开发目标1 HYPERLINK l bookmark59 o Current Document 开发环境1 HYPERLINK l bookmark62 o

3、Current Document 第2章需求分析3 HYPERLINK l bookmark65 o Current Document 项目概述3 HYPERLINK l bookmark68 o Current Document 功能需求3 HYPERLINK l bookmark71 o Current Document 用户需求3 HYPERLINK l bookmark74 o Current Document 系统需求 3 HYPERLINK l bookmark77 o Current Document 非功能需求3 HYPERLINK l bookmark80 o Current

4、 Document 产品需求3 HYPERLINK l bookmark83 o Current Document 2.3.2外部需求4 HYPERLINK l bookmark86 o Current Document 业务需求4 HYPERLINK l bookmark89 o Current Document 业务要求4 HYPERLINK l bookmark92 o Current Document 客户与用户4 HYPERLINK l bookmark95 o Current Document 特性4 HYPERLINK l bookmark98 o Current Documen

5、t 第3章结构设计5 HYPERLINK l bookmark101 o Current Document 整体设计5 HYPERLINK l bookmark104 o Current Document 普通用户活动图5会员活动图6 HYPERLINK l bookmark107 o Current Document 管理员活动图7 HYPERLINK l bookmark110 o Current Document 详细设计7 HYPERLINK l bookmark113 o Current Document 3.2.1模块划分7 HYPERLINK l bookmark119 o Cu

6、rrent Document 简单业务流程设计8 HYPERLINK l bookmark122 o Current Document 第4章设计模式9 HYPERLINK l bookmark125 o Current Document 工厂模式9 HYPERLINK l bookmark128 o Current Document 4.1.1模式说明9 HYPERLINK l bookmark131 o Current Document 模式类图9 HYPERLINK l bookmark134 o Current Document 所用原则9 HYPERLINK l bookmark13

7、7 o Current Document 抽象工厂模式10 HYPERLINK l bookmark140 o Current Document 模式说明10 HYPERLINK l bookmark143 o Current Document 模式类图11 HYPERLINK l bookmark146 o Current Document 所用原则11 HYPERLINK l bookmark152 o Current Document 观察者模式12 HYPERLINK l bookmark155 o Current Document 模式说明 12 HYPERLINK l bookma

8、rk158 o Current Document 模式类图 12 HYPERLINK l bookmark161 o Current Document 所用原则12 HYPERLINK l bookmark167 o Current Document 策略模式13 HYPERLINK l bookmark170 o Current Document 4.4.1模式说明13 HYPERLINK l bookmark173 o Current Document 模式类图 13 HYPERLINK l bookmark176 o Current Document 所用原则 13 HYPERLINK

9、l bookmark179 o Current Document 单件模式14 HYPERLINK l bookmark182 o Current Document 模式说明14 HYPERLINK l bookmark185 o Current Document 模式类图 14 HYPERLINK l bookmark188 o Current Document 所用原则 14 HYPERLINK l bookmark193 o Current Document 结论15 HYPERLINK l bookmark196 o Current Document 致谢16 HYPERLINK l

10、bookmark199 o Current Document 参考文献17第1章绪论1.1引言当今世界已进入信息时代Internet成为21世纪最受关注的行业之一,它 的飞速发展和在全球范围的普及应用正在给人类生活带来革命性变化。网络技术 的发展也取得了巨大的成就,为网站开发提供了很好的技术支持。正基于这个背 景,产生了快餐店多功能点餐系统。就我而言,主要是想通过快餐店多功能点餐系统的开发,让自身在软件 开发的知识水平提升一个档次,特别是对软件开发形成一种概念。也正如Head First设计模式中所说,对象村里的每个人都在使用设计模式。对于刚刚入住 对象村的我,需要有一个和大师交流的机会,而快

11、餐店多功能点餐系统无疑 是我跻身上流社会的一个桥梁。“把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用 他们。”使用设计模式的最好方法。把自己学到的模式和原则,套用到开发 的系统之上,在开发系统的同时也掌握的设计模式的基本思想。在起初没有使用 设计模式的系统中,更能明显的看出设计模式的威力所在。1.2系统开发目标为快餐行业的网互联化提供支持,使商家和定餐者都能便捷高效的完成自己 的需求和响应。具体目标如下:用户能够在没有经过培训以及不了解原有系统的情况下使用系统;系统应将订单处理流程加快20%以上;用户可以节省一半的查看菜单详细信息;当用户在快餐店用餐时,可以仅用没有系统所用时

12、间的30%来完成订餐; 当用户叫外卖时,不需要再找外卖单以及订餐电话;会员得知优惠的效率提高90%以上。1.3开发环境本系统采用目前最流行的web开发技术之J2EE进行开发。主要开发语言采用Java,网页采用JSP、css以及javascript,后台处理采用servlet技术,数据库使用的是MySQL5.5,服务器使用的是Tomcat7。可以配置在Windows,Linux,Unix等常用操作系统平台。第2章需求分析2.1项目概述适用于快餐店的多功能点餐系统,实现会员记录的增、删、查、改、存、读、 的基本功能,根据功能,指导系统的模式。分别对于普通用户、会员、管理员开 设系统。对于普通用户,

13、有管理个人信息、查看菜单、订餐、结帐四种操作。对 于会员,在普通用户的基础上,可以查看优惠信息、使用优惠券。对于管理员, 可以进行管理员管理、普通用户管理、会员管理、菜单管理。2.2功能需求快餐店多功能点餐系统在功能上应满足三类用户的需求,使得用户使用更加 方便而高效。2.2.1用户需求管理员可以通过网络进行菜单更新、会员管理、普通用户管理、发布优惠信 息、查看选定时间段的营业情况;所有用户可以选定菜单的特定子集进行查看菜单;普通用户可以查看今日特价、查看菜单、查看菜目详情、预订菜目、查看消 费金额;会员在普通用户功能的基础上能够查看会员优惠、使用优惠券;普通的浏览者可以浏览菜单。2.2.2系

14、统需求系统能将用户每次的消费设置唯一的标识符记录到用户的信息上;系统可以提供适当的浏览器供用户查看电子邮件等;2.3非功能需求为了使用用户能够更好的使用系统,系统应具有的性能需求分为以下几个方 面。2.3.1产品需求系统应在30秒之内响应用户的所有请求;系统每周7天、每天24小时都可以使用;对于一个没有使用经验的管理员而言,可以经过20分钟的培训使用系统;对于没有使用经验额普通用户和会员能够直接使用系统;系统的安全性、稳定性和可靠性可以让用户放心的使用;系统应具有良好的可移植性。2.3.2外部需求系统的设计应具有较高道德用户体验度以及较高的互操作性。2.4业务需求快餐店多功能点餐系统为快餐行业

15、服务,需要为快餐店的管理员、会员与普 通用户服务。2.4.1业务要求具体业务要求如下:各种菜目的预订、查询和管理;使用计算机实现菜单的日常管理,提供工作效率和服务质量;用户通过网络来实现订餐,改变原有的预订方式;会员通过网络来进行优惠查询与管理,更加方便和高效;管理员可以更直观的管理用户和会员,分析其数据,可以更好的辅助决 策。2.4.2客户与用户快餐店的所有者或者管理员、普通用户、快餐店的会员。2.4.3特性能够在网络上完成订餐与优惠管理,使普通用户和会员更加方便。快餐店管 理员可以通过电子邮件给会员发送优惠信息,大大节省了人力物力。第3章结构设计3.1整体设计通过分析整个系统的需求,结合U

16、ML建模语言,对系统整体用例图分析如图 3.1.1所示。图3.1.1系统用例图3.1.1普通用户活动图普通用户可以进行菜单查看,点单,查看消费金额等活动,系统活动图如图 3.1.2所示。普通用堡体活动国会员注册2刑除长单图3.1.3会员活动图精彩文档图3.1.2普通用户活动图直迓会员忧会1梅改会员信息J宜音会员优惠)直肴菜单)会员在普通用户的基础上可享受更多优惠,系统活动图如图3.1.3所示。3.1.3管理员活动图管理员可以进行菜单管理、普通用户管理、会员管理等活动,系统活动图如管理员可以进行菜单管理、普通用户管理、会员管理等活动,系统活动图如图3.1.4管理员活动图3.2详细设计对于系统的设

17、计,根据软件工程的相关理论,遵循模块化原则,使得系统在 “高内聚、低耦合”的要求之下更加稳定、已扩展,在后期的维护方面可以更加 方便。3.2.1模块划分按照系统开发的要求,可以分为前台与后台。前台与用户交互的界面设计应 满足简洁大方,以小清新为主题风格。后台代码实现应条理清晰,方便之后的扩 展与管理。具体模块及关系如图3.2.1所示。点餐系统图3.2.1模块划分图3.2.2简单业务流程设计对于整个系统的业务流程,主要包括三个主要参与方。订餐者的点餐信息通 过服务器的处理可以反馈给管理员,而管理员发布相关的优惠也是通过服务器的 处理通知给会员。业务流程图如图3.2.2所示。图3.2.2图3.2.

18、2简单业务流程图第4章设计模式4.1工厂方法模式4.1.1模式说明工厂方法模式,就是定义一个创建产品对象的工厂接口,让子类决定实例化 哪一种实例对象,也就是将实际创建实例对象的工作推迟到子类当中,核心工厂 类不在负责具体产品创建。实质上是通过继承的方式实现应用程序的解耦。应用在本系统中,有一个数据库的操作类工厂,名字叫DAOFactory,有四个 数据库操作类,UserDAO、DishesDAO和TableDAO,分别对用户、菜单和餐桌消 息进行管理。4.1.2模式类图图4.1.1工厂方法模式类图4.1.3所用原则“开一闭”原则一个软件实体应对扩展开放,对修改关闭。在设计软件模块的时候应该使这

19、个模块可 以在不修改的前提下被扩展。在本系统中,将Dao类的实现推迟到对象子类中实现。依赖倒置原则不论工厂还是产品都依赖于抽象,而不是具体的实现类。这样以来,无论底层组件怎么 变化,只要抽象组件不变,高层组件就不会发生变化。4.2抽象工厂模式4.2.1模式说明抽象工厂模式提供了一个接口,用于创建相关或者依赖对象的家族,而不需 要制定具体的实现类。抽象工厂模式允许客户使用抽象接口来创建一组相关的产品,客户类和工厂 类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无需修改就可 以获得新产品,这样一来,客户就从具体产品中解耦。实质上是通过对象组合的 方式实现应用程序的解耦。而这样的模式正好

20、适用于订餐者的点餐:快餐店生产食物的工厂;各种 食物工厂生产的产品;订餐者客户。角色关系如下图4.2.1所示。生产快餐店图4.2.1生产快餐店图4.2.1抽象工厂模式角色关系图)4.2.2模式类图图4.2.2抽象工厂模式类图4.2.3所用原则多用对象组合,少用继承所谓对象组合,就是让对象作为类的成员变量,通过构造函数或者set方法给类的对 象的实例变量赋值。在本系统中,在订餐者的类中存在一个FastFactory抽象工厂类型的实 例变量,订餐者类通过构造方法将对象传入。针对抽象编程,而不是针对实现编程当设计一个软件系统的时候,要尽可能的对软件系统中出现的事物进行抽象,从而建 立基础的抽象底层,

21、这样做的目的就是让软件的结构更加框架化、系统化,系统结构更加灵 活,易维护、易扩展。产品对象通过对象暴露的方法创建一个软件系统要达到“高内聚、低耦合”的要求,应尽量避免在对象实例中使用new 关键字创建其他对象实例。在客户类中,没有创建对象实例的语句,而是调用抽象工厂暴露 的方法获得对象实例,创建对象实例的工作全部都是在具体工厂中实现的。4.3观察者模式4.3.1模式说明观察者模式(发布/订阅模式),定义了对象间的一种一对多的依赖关系,当 一个对象的状态发生变化时,所有依赖他的对象都将得到通知并自动更新。在本系统中,会员与管理员之间便是这种关系:管理员被观察的对象, 会员观察者。当管理员发布优

22、惠信息的时候,主动发出对每个会员的通知。 在具体的实现中,让被观察者管理观察者的对象的接口类型,然后调用接口方法 更新观察者。4.3.2模式类图图4.3.1观察者模式类图4.3.3所用原则“开一闭原则”观察者对象将自己注册到被观察者的容器中时,被观察者不过问观察者的具体类型, 而是使用观察者的接口。单一职责原则在该模式中,一个被观察者可以对应多个观察者,观察者对象都是基于接口而不是具 体的实现,这一点为程序提供了更大的灵活性。当被观察者发生改变时,他可以将消息注意 发送给观察者;而每一个观察者关注于处理各自的内容,不与其他观察者对象产生任何影响, 这就是所谓的单一职责原则。依赖倒置原则在观察者

23、模式中,抽象观察者角色定义了更新的接口,在被观察者对象中,存储的是 该抽象类型的集合。4.4策略模式4.4.1模式说明策略模式定义了一系列的算法,将每一种算法封装起来并可以相互替换使 用,策略模式让算法独立于使用它的客户应用而独立变化。策略模式使用多个类来区分不同的行为,使用策略模式避免暴露复杂的、与 算法相关的内部数据结构。在本系统中,快餐店的促销优惠策略就是用了这种策略模式,其中,各种菜 目的促销方式就是具体的策略,而订餐者最终的消费金额就是通过每一种优惠策 略的算法计算得到的。4.4.2模式类图图4.4.1策略模式类图4.4.3所用原则(1) “开一闭”原则在策略模式中,可以在客户端程序

24、运行的时候动态设置需要的具体策略,进行算法的 运算,而不需要修改客户端的应用程序就能达到不同算法的行为。每一种算法用一个独立的 类实现,更加易于系统的扩展,增加一种策略只需要新增一个实现抽象策略的接口即可达到 目的。(2)单一职责原则在策略模式中,每一种策略都是使用一个类来实现的,因此各种算法之间没有任何干 扰,各种算法都专注于实现自身的处理逻辑,这使得功能模块的耦合度降低,有效的防止了 因修改一个策略对其他策略的影响。4.5单件模式4.5.1模式说明单件模式是指确保每个类只有一个实例,而且自行实例化并向整个系统提供 这个实例。在本系统中,数据库连接类只能有一个实例,该类自行创建这个实例,同时

25、 该类自行向整个系统提供这个实例,因此,数据库连接类无疑满足了单件模式。4.5.2模式类图OPEBLtilitissit二gjuiMt : OPEBLtilitissit二gjuiMt : OPBELtiliti-s+ EE-t Ins t-ajiEE-0 : OPDBLtilitie图4.5.1单件模式类图4.5.3所用原则确保某个类只有一个实例一个类保证有一个实例,首先要将构造方法设置为private,这样就保证了类不能被外 部应用创建;其次是提供一个方法,该方法供外部应用使用,获得单件对象。自行实例化并向整个系统提供这个实例单件模式的设计,必须要有类自身提供那个获得单件对象的方法,而不能由外部应用 程序创建对象。在提供单件对象时,首先应设置一个类的静态实例对象。结论经过这段时间的努力,快餐店多功能点餐系统论文终于完成了。在整个 设计过程中,出现过很多的难题,但都在老师和同学的帮助下顺利解决了,在不 断的学习过程中我体会到:写论文是一个不断学习的过程,从最初刚写论文时对设计模式的问题的模糊 认识到最后能够对该问题有深刻的认识,我体会到实践对于学习的重要性,以前 只是明白理论,没有经过实践考察,对知识的理解不够明确,通过这次的论文, 真正体会到理论加实践的威力之大。同时,在这次设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论