网上管理系统的分析及设计---应用UML建模

news2024/11/22 22:19:44

目  录

1 系统需求

2 需求分析

2.1 识别参与者

2.2 识别用例

2.3 用例的事件流描述

3 静态结构模型

3.1 定义系统对象

3.2 定义用户界面类

3.3 建立类图

4 动态行为模型

4.1 创建系统顺序图(协作图)

4.2 创建系统的状态图

4.3  创建系统的活动图

5 数据库模型

6 物理模型

6.1 创建系统组件图

6.2 创建系统部署图


第1章 系统需求

随着信息技术的不断发展,我们已经步入了一个信息化的时代,而信息时代的代表便是网络技术的日益成熟,现在网络已经和我们的生活紧密的联系在一起了,我们不敢想像没有网络我们的生活将会怎样,也许就会像食物中没有调料,现在的生活离开了网络就会变的索然无味,通过网络我们可以足不出户就可以做很多事情,随着信息化的不断进步,今天的一种新额购物方式依然出现,那就是上文已经提出额网上购物。

网上购物系统就是能在网上实现商品的销售和购买的系统,网上购物满足了电子商务时代的人们对于网上购买和销售的需求。所以网上购物首先必须满足不同人群对购物系统操作和功能的需求;其次在于网上购物必须切实的把销售和购买结合起来,真正做到网上购买和支付。

网上购物系统应该包括前台和后台功能:

前台:

浏览商品(按类型浏览商品);用户注册(新用户注册、注册信息修改、查询)等;用户登陆(普通用户登陆);对所购商品进行评论。

第2章 需求分析

采用用例驱动的分析方法分析需求的主要任务是识别出系统中的参与者和用例,并建立用例模型。

在网上购物系统中用户可以分为前台用户和后台用户:

前台系统所需要的功能描述:

  • 注册用户信息(Register):初始登陆的用户需要将用户的基本信息通过注册添
  • 加到数据库中。
  • 登陆前台系统(login):用户根据用户名和密码登陆网上购物系统.如果身份验
  • 证失败,则用户不能登录,通过身份验证后用户才能进行网上购物商品的操作。
  • 修改密码(ModifyUserPwd):根据用户的需要可以进行密码的修改。
  • 查看商品信息(CheckGoodsInfo):根据用户输入的商品类别可以查看此商品信息。
  • 添加购物车(AddCart):用户将所购买的商品添加到购物车中。
  • 购物车中删除商品(DeleteCartGoods):如用户对购物车中的商品不满意则可以
  • 将其删除。
  • 添加订单(AddOrder):当用户确定购买商品时可以填写订单进行网上支付。

2.1 识别参与者

网上购物系统的主要参与者为:普通购物用户,会员

用  户:用户主要的操作功能包括注册用户信息,登陆前台系统,修改用户名,修 改密码(找回密码),查看商品信息,

会 员:继承了用户所有操作的功能,会员可以通过交流平台对所购买的商品进行评价,留言,也可以定期的参与网上的优惠(打折,秒杀,积分)活动。 

2.2 识别用例

登陆购物系统(Login):系统管理员试用账号和密码登录系统

进行本系统的管理和维护工作。

修改用户信息(ModifyUserInfo):对于个人基本信息发生变化

的用户,修改数据库中的相关用户信息保存。

删除用户(DeleteUserInfo):将不需要在保存的用户的个人

信息从数据库中删除。

添加商品(AddGoods):将新添加的商品信息录入本系统,并

在数据库中保存。

修改商品信息(UpdateGoodsInfo):如果商品的基本信息发生

变化,修改数据库中的商品信息并自动保存。

删除商品(DeleteGoodsInfo):将不再网上销售的商品的基本信

息从数据库中删除。

2.3 用例的事件流描述

 用例的事件流是对完成用例行为所需的事件的描述。它描述网上购物系统的用户\管理员实体在在进入该系统时应进行怎样的操作(用户浏览商品,添加购物车等功能),而不是描述系统中的实体应该怎样做(实体所进行操作的步骤)。

开始,只是对执行用例的常规流所需的步骤的简单描述。随着分析的进行,通过添入更多的详细信息,步骤不断细化。最后,将备选流添加到用例的事件流描述中。

 网上购物系统的用例事件流描述如下:

   用例编号:US01

   用 例 名:RegisterUserInfo

   用例描述:用户通过注册个人信息系统自动将其添加到数据库中

   参 与 者:用户

前置条件:能够成功的登陆,并且数据库中不存在这位用户的信息

后置条件:用户能够成注册并进行对网上购物系统的操作。

基本路径

     (1)用户在登陆页面点击注册按钮并在注册页面输入个人基本信息。

     (2)用户的基本注册信息包括有—编号,姓名,性别,年龄,身份证号,家庭住址,E-mail,电话等基本信息

用户在注册页面输完个人的基本信息后点击添加按钮,则系统会将所添加的信息发送到数据库中

     (4)系统会将用户所发送的请求传递给JAVA类,Java类经过辨认之后在次将实体类传递给JavaBean

     (5)JavaBean将处理相关的操作,例如通过方法的调用将用户所提交的信息传递给数据库,则数据库就会将用户JAavaBean所传递过来的实体类属性添加到数据库中

     (6)注册成功后系统会提示信息注册成功,则用户就可以查看个人的基本信息。

用例编号:US02

      用 例 名:logIn

      用例描述:完成一次登录的完整过程。

      参 与 者:用户、系统管理员

      前置条件:系统运行正常

      后置条件:如果登录成功,可以进行查询等相关操作。

      基本路径

      (1)用户希望通过网上购物系统进行某一项操作。

      (2)用户首先进入登录系统页面,在登录页面LoginFrame用户通过输入自己的用户名和密码后并提交。

      (3)系统将用户提交的用户名和密码传递到的Control类中检查用户合法身份的方法中,系统并与数据库中用户的基本信息进行比较并作出相应的判断。

      (4)检查通过,将验证结果返回到登录界面并验证用户的基本信息已经通过。

      (5)用户在登录界面获得验证结果后则用户就可以进入所要查询的用户信息的其他相关页面。

用例编号:US03

   用 例 名: QueryUserInfo

   用例描述:用户可以根据个人的编号可以进行个人信息的

   参 与 者:用户

   前置条件:用户通过输入姓名和密码能够成功进入查询页面

   后置条件:如果该用户成功进入登陆页面,则用户就可以成功的查询—编号,姓名,性别,年龄,身份证号,家庭住址,E-mail,电话等所要查询的信息。

   基本路径

   (1)用户首先进入登陆页面,在登陆页面输入用户的编号和密码点击登录按钮即可进入用户查询个人基本信息管理页面。

   (2)在用户查询个人基本管理页面学生再次点击信息查询页面,则既可进入查询页面,则在查询页面用户输入用户姓名点击提交则用户就可予以从数据库中获取个人的全部基本信息 (包括用户所评论的内容)。

   (3)用户在限定的时间内也可以进行修改用户更改的信息

  用例编号:US04

      用 例 名:lAddCart

      用例描述:用户将所查看并决定购买的商品添加到购物车中。

      参 与 者:用户

      前置条件:网上购物系统能够的前台能够运行正常

      后置条件:如果用户登录成功,则用户就可以进行浏览商品并添加购物车等相关操作。

      基本路径

      (1)用户希望通过网上购物系统进行购物车的添加操作。

      (2)用户首先进入登录系统页面输入用户名和密码进入商品信息页面进行查看商品信息并添加购物车。

      (3)当用户点击添加购物车的按钮时系统会将用户所提交的信息提交给javaServlet类,并进行判断用户的提交商品信息类型。

      (4)检查通过,则系统会将基本信息通过MainServlet类,调用MainServlet类中的AddCart()方法,并将商品信息添加到购物车里。

      (5)当用户添加成功后,系统会反馈给用户提示信息,弹出对话框告诉用户已经添加成功。

用例编号:US05

      用 例 名:AddOrder

      用例描述:当用户需要购物购物车里的商品时用户通过提交订单进行网上支付。

      参 与 者:用户

      前置条件:网上购物系统能够的前台能够运行正常

      后置条件:如果用户成功添加购物车,则用户就可以进行添加订单的信息并进行网上支付等相关操作。

      基本路径

      (1)用户希望通过购买已经添加到购物车中的商品就必须填写订单等相关的操作。

      (2)用户首先通过购物车的页面点击填写订单按钮则系统就会将通过CartServlet类进行审查并转到order.jsp页面供用户填写。

      (3)当用户填写完订单的相关信息后点击提交按钮系统就会将信息传递给AddOrder()方法进行添加。

       (5)当用户添加成功后,系统会反馈给用户提示信息,弹出对话框告诉用户已经成功提交订单信息。

   用例编号:US06

   用 例 名:AddGoodsInfo

   用例描述:系统管理员将商品的的信息添加到数据库中

   参 与 者:系统管理员

前置条件:能够成功的登陆,并且数据库中不存在这个类型的商品信息

后置条件:系统管理员能够成功添加商品的信息,并且对商品的信息进行相关的操作

基本路径

       (1)系统管理员成功登陆后进入添加商品信息信息页面将信息进行添加

      (2)系统管理员可以添加商品的信息有—商品编号,商品名称,类别,价格,图片(image),商品上传日期等基本信息

管理员在添加页面输完商品的基本信息后点击添加按钮,则系统会将所添加的信息发送到数据库中

      (4)系统会将管理员所发送的请求传递给JAVA类,Java类经过辨认之后在次将实体类传递给JavaBean

      (5)JavaBean将处理相关的操作,例如通过方法的调用将管理员所提交的信息传递给数据库,则数据库就会将管理员JAavaBean所传递过来的实体类属性添加到数据库中

      (6)添加成功后系统会提示信息添加成功,则管理员就可以查看商品的基本信息。

第3章 静态结构模型

根据需求分析,发现系统类以及类之间的关系,确定它们的静态结构和动态行为,是面向对象分析的基本任务。系统的静态结构模型主要用类图和对象图描述。

  • 识别实体类,定义系统中对象;
  •    识别边界类,定义系统界面;
  • 定义控制类,简化系统的实现层次;

3.1 定义系统对象 

   在获得系统基本需求的用例模型以后,通过识别和分析系统中类和对象来创建系统的静态模型,并为此创建类在此系统中我们至少要创建三个类:管理员,商品,用户。

   1.管理员类具有编号,用户名,密码

   2.用户类具有编号,用户名,密码,性别,年龄,地址,电话

   3.商品类具有编号,类别,商品名称,商品图片,商品价格,

上传时间,商品简介。

   4.供应商类具有供应商名称,供应商地址,供应商的销售热线

   5.评论类具有用户ID号,用户名,标题,信息内容,评论日期

 根据上述的类及其关系可知,完整的类图(实体类,边界类,控制类)     

  

3.2 定义用户界面类

1)边界类是系统的用户界面,直接跟系统外部参与者交互,与系统进行信息交流:

   1.注册页面(RegisterDialog):用户输入用户信息页面

   2.登陆页面(loginDialog):用户登陆的页面

   3.个人信息页面(UserInfo人Dialog):用户查看用户的基本信息

   4.关闭账号页面(ConcelDialog):当前购物用户关闭用户账号并退出整个页面

  系统边界类图:

   

 根据上述关系,系统的边界类图为:

   

2)控制类(control):控制类是控制系统中对象之间的交互。它负责协调其他类的工作,实现对其他对象的控制:

     1.处理登陆:在用户登录系统时根据用户名和密码进行处理

     2.处理注册:对用户提交的注册信息等操作进行处理

     3.查询个人资料:实现查询购物用户的个人基本信息操作

     4.查询订单:实现查询用户的订单信息的操作

     5.显示当前账号:实现显示当前登录的购物用户信息操作。

     6.处理账号关闭:实现关闭指定的购物用户账号信息操作。

网上购物系统的用户界面的控制类图如下所示:

       

 

第4章 动态行为模型

系统的动态行为模型由交互作用图(时序图和协作图)、状态图、活动图来描述。

4.1 创建系统顺序图(协作图)

根据需求分析创建的系统用例图,我们主要创建如下11个时序图:管理员\用户登录,用户注册(Register)和删除用户(DeleteUser)、添加(AddGoods)和删除商品信息(DeleteGoods)。

 1)用户注册个人信息的工作流程:

   1.用户进入登录页面,,在登陆页面点击注册则用户即可进行注册个人信息。

   2.系统将用户提交的个人注册信息提交给Servlet类并进行验证处理。

   3.如果提示添加成功,则用户就可以在登录页面输入用户名和密码进行登录,否则用

户将重新注册或退出。

根据基本流程图,用户注册个人信息的序列图如下所示:

            

               用户注册序列图

2)用户登陆网上购物系统的工作流程序列图:

     1.用户登录系统,在登陆页面login用户名和密码并提交。

     2.系统将用户提交的用户名和密码传递到control页面中检查用户的身份是否合法(将用户信息与数据库中的用户信息进行比较,检查用户信息是否存在).

     3.检查完毕后将验证结果返回到登陆页面上显示。

     4.用户在登陆页面获得验证结果,如果用户身份未通过,重新登录或退出。否则继续选择下一步操作。

  根据基本流程,用户登录系统的序列流程图如图所示:

       

        

  1. 用户修改个人信息的工作流程序列图:

      1.用户进入修改个人信息页面AddForm,并在界面中提交个人信息。

     2.界面AddForm管理员提交的个人信息传递给控制对象Control。

     3.控制对象向数据库中插入新修改的个人信息的数据。

     4.控制对象将修改个人信息成功的信息返回到界面AFrom并提示用户修改成功。

根据基本流程,用户修改个人信息的序列图如下:

     

                 用户修改个人信息

  1. 管理员登陆网上购物系统的序列工作流程图:
  2.     1.管理员登录系统,在登陆页面login用户名和密码并提交。
  3.      2.系统将管理员提交的用户名和密码传递到control页面中检查管理员的身份是否合法(将管理员信息与数据库中的用户信息进行比较,检查管理员信息是否存在).
  4.      3.检查完毕后将验证结果返回到登陆页面上显示。
  5.      4.管理员在登陆页面获得验证结果,如果用户身份未通过,重新登录或退出。否则继续选择下一步操作。

根据基本流程,系统管理员登陆网上购物系统的序列图如下:

4.2 创建系统的状态图

利用系统的状态图来描述对系统的状态做一描述,能进一步直观的透视系统对象所处的某种状态。在网上购物系统中,比较重要的状态图是:管理员\用户登录状态图,商品状态图。下面真对以上业务活动,建立系统的状态图。

  管理员\用户登陆并进行验证状态图:

    1.如果用户如登陆页面(login):首先用户通过注册成功后既可获得用户名和密码,通过在登陆页面(login.jsp)输入账号(Account)和密码(Passwd)既可进入商品信息浏览页面,则此页面上用户可以浏览商品信息,如果用户需要购买此商品则用户既可将其添加到购物车中必备存储,当用户决定要购买此商品时则用既可使用订单来进行交易,当用户操作完此过程则用户就可以退出此系统,系统将会保持离线状态。

    

 2)最后分析商品流动状态图的模型如下:用户从选购商品到浏览商品的分析过程如下首先用户将其所需商品备选到购物车(Cart)中(如果用户不想需要此商品可以将其删除),进行被选,用户可以在次进行浏览,确认之后点击确认购物车按钮(AddCart),则系统此时会弹出对话框让用户处于被顶状态,则用户可以填其用户信息进行提交,然后用户需要付款,进行购买当此次过程完成之后用户就终止了此过程。

 

3)首先分析管理员操作状态图的模型如下:当管理员进入登陆页面(Login.jsp)时系统同会显示用户处于未登录状态,此时管理员输入账号(Account)和密码(passwd)既可进入操作对商品信息和用户信息进行操作页面,此时管理员处于操作状态,当完成此动作之后管理员退出此系统,则系统会显示处于退出状态。

        

  

4.3  创建系统的活动图

     

1)用户查询商品信息的操作活动图:用户输入所要浏览的商品查询信息,进行验证,系统会将在数据库中查询商品,并显示商品详情。

    

2)用户将商品添加到到购物车的操作活动图:用户输入要选的商品,如果存在此商品则系统会在数据库中查询此商品并将其加入购物列表,如果不存在则形同会将其显示添加购物车失败的信息。

    

  1. 数据库模型

 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致.

  5.1系统数据库设计

       根据分析系统的实体有:用户实体(user)、商品实体类(Cart),评论实体类(Comment),购物车商品信息实体类(CartGoodsList)等实体类所有类体。实体及其关系统的数据库概念结构模型如下图所示:

   网上购物系统数据库各实体类之间的关系图:

   

    

第6章 物理模型

6.1 创建系统组件图

在网上购物系统中,对系统的主要参与者和主要的务实体类分别创建对应的构建并进行映射。在前面的类图中创

Control类,商品类,用户类,管理员类,所以可以映射出相同件,包括用户构件,商品构件和管理员构件等,除此之外,还必须有主程序构件。

根据这些构件及其关系创建的构件图如图所示:

   

6.2 创建系统部署图

网上购物系统的部署图描绘系统节点上运行资源安排,在网上购物系统中,系统包括三种节点,分别是数据库节点,有一台数据库服务器负责数据存储,处理等;系统服务器节点,用于处理系统的业务逻辑;客户端浏览器节点,用户通过客户端登录系统进行操作;网上购物系统的部署图如下所示:

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1006190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络爬虫-----初识爬虫

目录 1. 什么是爬虫? 1.1 初识网络爬虫 1.1.1 百度新闻案例说明 1.1.2 网站排名(访问权重pv) 2. 爬虫的领域(为什么学习爬虫 ?) 2.1 数据的来源 2.2 爬虫等于黑客吗? 2.3 大数据和爬虫又有啥关系&…

Java低代码:jvs-list (子列表)表单回显及触发逻辑引擎配置说明

一、子列表【新增】表单默认回显主列表关联字段 子列表新增表单可使用表单回显配置,在新增表单中默认回显,如图效果 1、子列表中进入新增页面配置 2、切换到表单设置,选择回显设置,进入回显逻辑引擎。 3、在画布中拖入【对象变量…

记录一次对登录接口的性能测试

测试环境 客户端: win10 这里可以用linux,但没用,因为想直观查看结果。 被测环境:linux X86 4核CPU16G内存 被测接口:登录接口,没有做数据驱动。 场景设计 设置线程数19,持续时间5分钟,并用后端监听器监听结果,使用grafana+prometheus监控服务器资源。 测试执行 …

fabic如何将绘图原点移到画布中心

情况说明: fabic默认绘图原点为left:0,top:0 后端给我的内容是按照x,y返回的,需要将坐标系移到fabic画布的中心位置,找了下网上合适的砖,想一句命令直接设置,结果没有。…

二叉排序树(BST)的算法分析以及基本操作(结点的查询,插入,删除)

1.二叉排序树的定义 二叉排序树,又称二叉查找树(BST,Binary Search Tree) 默认不允许两个结点的关键字相同。 1.二叉排序树的性质: 任意一棵二叉排序树的子树的结点大小都满足“左小右大”。 左子树上所有结点的关键字均小于根结点的关键…

廉价的全闪存雷电 NAS 折腾笔记:NUC9 操作系统踩坑

上一篇文章中,分享了关于低成本全闪存 NAS 的个人方案选择。 本篇文章,来聊聊硬件相关部分,以及软件的基础配置部分,也聊聊雷电组网的踩坑之旅。 写在前面 我使用的设备是 NUC9i5QNX,这台设备的硬件基础规格&#x…

【软件测试】selenium3

自动化测试的概念 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最 后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试就相当于将人工测试手段进行转换,让代码…

国产视觉检测设备崛起,以AI机器视觉及自研算法破解智造难题

机器视觉作为人工智能的前沿分支之一,被称为智能制造的“智慧之眼”,在工业领域中,能够代替人工完成识别、测量、定位、检测等工作,以实现对设备精密控制及产线智能化、自动化升级。 同时,深度学习和3D视觉的技术升级…

Java本地开发环境搭建

概述 Java语言是企业级应用软件开发语言,本文主要描述Java开发环境的搭建。 如上所示,TIOBE提供2023年9月份全球开发语言的排行榜,其中,Java排名第四,而Python已经跃升到第一位,因为,Python是人…

芯科蓝牙BG27开发笔记6-精简第一个程序

1. 这些IO的控制代码在哪里? 还是蓝牙点灯程序: 首先需要对pinout做一些精简: 为了简化工程,去掉了不必要的IO。 至于PTI接口是什么,怎么用,不知道,现在不考虑: 但是提出以下问题…

第6章_freeRTOS入门与工程实践之创建FreeRTOS工程

本教程基于韦东山百问网出的 DShanMCU-F103开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id724601559592 配套资料获取:https://rtos.100ask.net/zh/freeRTOS/DShanMCU-F103 freeRTOS系列教程之freeRTOS入…

应该下那个 ActiveMQ

最近在搞 ActiveMQ 的时候,发现有 2 个 ActiveMQ 可以下载。 应该下那个呢? JMS 即Java Message Service,是JavaEE的消息服务接口。 JMS主要有两个版本:1.1和2.0。 2.0和1.1相比,主要是简化了收发消息的代码。 所谓…

Redis——其他数据类型介绍

概要介绍 Redis中有10种不同的数据类型。之前的blog中介绍了Redis中常见的五大数据类型:String,List,Hash,Set,ZSet。而Redis中还有许多其他的数据类型,一般在特定的场景中使用 Stream 首先介绍一下什么…

笔记本多拓展出一个屏幕

一、首先要知道,自己的电脑有没有Type-c接口,支持不支持VGA 推荐: 自己不清楚,问客服,勤问。 二、显示屏与笔记本相连,通过VGA 三、连接好了,需要去配置 网址:凑合着看&#xff…

代码随想录算法训练营Day42 | 动态规划(4/17) 0-1背包问题理论基础 LeetCode 416.分割等和子集

开始背包问题的练习! 1. 背包问题的理论基础 对于面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。这里附上代码随想录的图,可以对背包问题进行一个分类。 1.1 十分重要的基础&a…

Java class 文件安全加密工具对比与ClassFinal实战

文章目录 前言常见加密方案对比XJarProGuardClassFinal ClassFinal实战纯命令方式maven插件方式 写在最后 前言 相信不少的同学开发的软件都是用户商业化,对于这些商业运营的项目很多都会直接部署在客户方,这样就可能会导致项目源码泄露。当然&#xff…

每日一题~中序后序遍历构造二叉树

题目描述: 思路分析: 后序遍历分析图 中序遍历分析图 不难看出后序遍历的结果中的最后一个元素就是根节点,倒数第二个元素则是根节点的右子树的根节点,而倒数第三个元素是右子树的新右子树的根节点,依次类推。我们可…

部署ik分词器

部署ik分词器 案例版本:elasticsearch-analysis-ik-8.6.2 ​ ES默认自带的分词器对中文处理不够友好,创建倒排索引时可能达不到我们想要的结果,然而IK分词器能够很好的支持中文分词 ​ 因为是集群部署,所以每台服务器中的ES都需…

springboot redisTemplate.opsForValue().setIfAbsent返回null原理

一、版本 springboot版本:spring-boot-starter-data-redis 2.1.6 redisson版本:redisson-spring-boot-starter 3.11.5 二、场景 Boolean res redisTemplate.opsForValue().setIfAbsent("key","value");以上代码同一时间多次执行…

【校招VIP】常用产品分析之数值分析能力

考点介绍: 产品的生命周期各个阶段都伴随着产品数据的变化,产品经理根据这些数据来判断产品所在阶段并对后期的产品演进进行合理的规划;在产品需求分析阶段,通过数据分析来鉴别用户需求的真伪;在产品上线后&#xff0c…