基于MVC模式的软件体系开发研究

2020-11-25 02:53栾忠祥
电子技术与软件工程 2020年20期
关键词:购物车体系结构卖家

栾忠祥

(沈阳工学院信息与控制学院 辽宁省抚顺市 113001)

1 引言

随着软件系统规的扩大模,软件开发方法也经历了一系列的变革,现如今软件开发技术越来越成熟。

20世纪 70年代以前,软件结构已经成为了一个明确的概念.由此10 多年后,除了对象界面和结构试图,在1997年描述系统结构的一种统一的建模语言——UML 语言,90年代以后软件体系结构明确存在于软件开发过程中,同时,逐渐得到人们的重视。

软件体系结构由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成[1]。

软件体系结构表示了一个软件系统的高层结构,与建筑体系结构相类似,可以将软件系统看成由组件构成的一个整体,不同的组件完成系统的不同的功能[2]。

软件系统的体系结构是一种高层次上的抽象在设计体系结构时,必须考虑系统的动态行为[3];在体系结构设计的同时,还要考虑到现有系统的兼容性、安全性与可靠性,同时为系统以后的扩展与伸缩留下相应的空间[4]。

软件体系结构设计的一个核心问题是能否使用重复的体系结构模式[5]。

客户/服务器应用模式的缺点是系统客户方软件安装维护困难、数据库系统的无法满足对于成百上千的终端同时联机的需求、由于客户/服务器间的大量数据通信不适合远程连接,使其只能适合于局域网应用[6]。

另外,三层 C/S 结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能[7]。

2 相关知识

可用性(avilability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示[8]。

安全性(security)是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力[9]。安全性又可划分为机密性、完整性不可否认性及可控性等特性[10]。

可修改性(modifability)是指能够快速地以较高的性能价格比对系统进行变更的能力,通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性[11]。

可维护性(maintainability)主要体现在问题的修复上:在错误发生后“修复”软件系统[12]。

可扩展性(extendibility)是使用新特性来打展软件系统,以及使用改进版本来替换构件并删除不需要或不必要的特性和构件[13]。

结构重组(reassemble)。这一点处理的是重新组织软件系统的构件及构件间的关系[14]。

作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用[15]。

3 体系结构框架的设计

本程序使用了三层架构,分别为:专门用数据访问的DAL曾,应用于业务逻辑的BLL 层,建立系统模型的Model 层和ShoppingOnline 层(界面表示)。

3.1 DAL层

BaseDAL.cs:读取数据库文件,查找列表

PhoneDAL.cs:访问手机信息

PhoneTypeDAL.cs:访问手机类型信息

CacheHelperDAL.cs:Cache 辅助类,获取数据缓存

DbContextFactoryDAL.cs:在数据库文件中,获取数据

RoleDAL.cs:访问职能信

UserDAL.cs:访问用户信息

3.2 BLL

BaseBLL.cs:完成对数据文件的添加,删除,修改,查询

PhoneBLL.cs:获取手机信息应用到界面表示层

PhoneTypeBLL.cs:获取手机类型应用到界面表示层

ShopCardBLL.cs:获取购物车信息应用到界面表示层

OrderBLL.cs:获取订单信息应用到界面表示层

RoleBLL.cs:获取职能信息应用到界面表示层

UserBLL.cs:获取用户信息应用到界面表示层

3.3 Model

Phone.cs:手机信息(手机号,手机类型,手机厂家信息,手机发售的专属型号,手机的实时价格信息,信息链接)

ShoppingOnlineEnities.cs:手机销售平台包含的手机信息、手机类型、订单信息、用户信息、职能信息、购物车的信息管理。

PhoneType.cs:手机类型(手机类型,类型名,信息描述)

Cart.cs:购物车信息(添加,点击数量+号或点击数量-号或自己输入一个值,移除,计算总价,清空,获取)

CartLine.cs:手机号和手机品牌

Order.cs:数量,总价,订单时间,地址信息(包括货物寄出的地址和确认收到货物的地址),订单状态(0 是未处理,1 是已处理)

Role.cs:职能信息(职能号,职能名)

SampleData.cs:职能信息(普通用户和管理员)和分类信息(5G类,摄像类,音乐类,游戏类)

ShopCart.cs:购物车号,手机型号,账号,数量,总价

User.cs:用户注册(账号(不能为空),密码(不能为空),确认密码(不能为空),邮箱(必须输入邮箱名,邮箱已存在))

3.4 ShoppingOnline

App_Data:存储手机销售平台数据

name ShoppingOnlineEntities.mdf:以文件的形式存储手机销售平台数据

App_Start:手机销售平台的逻辑文件

(1)BundleConfig.cs:注册开发手机销售平台系统所使用的文件(主要为CSS 文件和JS 文件)

(2)FilterConfig.cs:注册过滤器,过滤器可以在全局使用,同时也可以在每个Action 和Controller 使用

(3)RouteConfig.cs:配置MVC 应用程序的系统路由路径

Areas:将一个功能分离到一个文件夹中

(1)Controllers:处理用户输入和响应的控制器类

(2)views:存储与手机销售平台的显示相关的HTML 文件

Content:用于存放页面所需要的图片和描述页面样式的文件

(1)Images:用于存放所需要的图片

(2).css 和.map 文件:用于描述页面样式的文件

Controllers:含有控制器类主要用于处理用户的相关操作如用户的输入,同样也能控制用户响应。controller 结尾是MVC 模式下的控制器类基本方式。

(1)ProductController.cs:手机信息的查询,添加,修改和删除操作

(2)HelloWorldController.cs:返回当前时间视图

(3)HomeController.cs:管理员相关操作

(4)ShopCartController.cs:购物车相关操作并返回试图

(5)StoreConroller.cs:订单信息的添加,删除,修改,查询,分页以及导出表格操作

(6)TestConroller.cs:返回当前时间视图

(7)UserConroller.cs:手机信息的查询,注册,修改和注销操作

fonts:用于存放文字文件

Models:包含表示手机销售平台模型的类,通过这些模型操作手机销售平台的数据

Scripts:存储手机销售平台所支持的js 形式的脚本文件

ViewModels:

(1)Login.cs:用户登录操作

(2)Register.cs:用户注册操作

Views:用于存储与手机销售平台的显示相关的HTML 文件(用户界面)

(1)Phone:手机信息相关的操作页面

(2)HelloWorld:当前时间的页面

(3)Home:存储home 页和about 页之类的手机销售平台页面

(4)ShopCart:购物车操作的相关页面

(5)Store:订单信息的相关页面

(6)Test:当前时间的页面

(7)User:用户操作相关的页面

(8)Shared:分享的视图,一般为母版页和网页中应用于布局的页面(通过存储器之间分享)

(9)Login:登录页面

4 软件实现的功能模块

4.1 买家使用模块

买家用户可以浏览网络平台页面,但只有注册个人信息后才可以对商品进行操作。用户需要按照相关规定进行注册,信息修改,如果管理员审核不合格,会通知用户重新修改或者注销用户信息。

用户注册成功后可以登录平台对想要的商品进行信息查询,浏览商品后,将想要购买的商品添加到购物车中,针对个人需求可以将不想购买的商品移出购物车,针对打算支付的商品进行总价计算然后购买。

4.2 卖家使用模块

卖家需要先注册个人信息才可以使用平台,管理员可以对卖家用户信息,产品信息进行审核并对卖家提出整改要求(修改信息或者下架)。

卖家用户可以使用卖家的权限在商品库存不足时添加商品,同时也可以针对商品信息不明确或者管理员权限的要求下更改或者删除相应的商品信息。

4.3 管理员使用模块

管理员既可以权限为管理员的这一类权限的应用者进行管理员权限的添加或删除的操作,同时也可以进行管理员信息查询操作并针对具体原因修改信息,但只能是权限更高的管理员管理权限更低的管理员。

所有管理员共同拥有的权力是管理部分买家使用模块(用户注销,用户信息修改,用户信息查询,商品信息查询)和部分卖家使用模块(商品删除);但管理员不可以以买家的身份进行商品购买,也不可以以卖家的身份添加商品或者修改商品信息。

5 软件体系结构的质量研究

5.1 质量属性考察

通过组内探讨成立评估小组,针对软件体系结构的性能,如判断该软件使用是否安全,是否容易后期修改,用户使用效果是否良好,功能是否全面,后期集成过程是否繁杂,软件出现问题或者需要进行更新时,是否具有可以移植等方面进行质量属性考察。

5.2 ATAM质量评估的前期规划

通过描述ATAM 的方法,详述每个项目成员在开发时的经历,并预留出时间针对性回答问题,简单预计质量评估结果,并提前规划好其他活动所需要的使用环境;然后详述该系统最重要的手机商城开发需求,在开发本系统使用的技术、本系统使用的开发金额、领导对本系统开发的管理或政府对系统的政治方面的约束条件,业务的目标和环境,主要的风险承担者以及体系结构的驱动因素。

在体系结构的描述中,约束开发环境的操作系统、开发本系统使用的硬件设施和整体流程中运用的中间件的技术以及与本系统交互的其他系统,生成质量属性效用树。通过找出ATAM 方法的缺陷和敏感点,发现于其他方法的交互和权衡点,并以此捕获ATAM方法的框架,在讨论和分析后,描述评估成果。

5.3 ATAM质量评估的实施阶段

本系统使用ATAM 方法的实施大致分为两个阶段:首先,以本系统的体系结构为中心,获取体系结构信息并分析;然后,以风险承担者为中心,获取风险承担者的观点,并验证第一个阶段的成果。

6 结语

本系统通过对基于MVC 的软件体系结构的研究,采用面向对象分析方法进行了系统的需求分析,得出了三种权限的用户:管理员(管理用户),买家用户(浏览商品,使用购物车,订单信息查看)和卖家用户(管理商品)。本系统采用功能分解法进行了系统功能设计,共包含五种功能模块:用户管理(管理员对用户的添加,删除,修改信息,查询信息),商品管理(卖家对商品的添加,删除,修改信息,查询信息),购物车管理(查看商品信息,购买商品,商品添加至购物车,商品移除购物车,购物车结算,订单信息查询);在设计方面本系统采用asp.net MVC技术,HTML5技术,.CSS技术,.JAVASCRIPT 技术实现了手机销售平台的买家用户浏览操作功能,卖家用户管理功能,管理员管理功能和布局页,母版页和功能页的样式设计;最后通过使用ATAM 方法对软件的质量进行评估。

猜你喜欢
购物车体系结构卖家
买家秀和卖家秀
被疫情改变的购物车
不会吃蟹腿的买手 不是好卖家
推购物车购物
购物车里的“时间线”
付款不及时卖家将房卖出,能否解除购房合同?
卖家注意,这15种曾经风靡一时的经典玩具千万别卖!
清空购物车了吗!
基于粒计算的武器装备体系结构超网络模型
作战体系结构稳定性突变分析