java编写的非实时答疑系统_基于java在线答疑系统设计方案

本文详细介绍了基于Java的非实时答疑系统的设计,采用MVC架构,包括系统架构、视图解析、运行环境和技术选型。系统使用IntelliJ IDEA开发,前端用Vue,后端使用Spring+SpringMVC+Mybatis框架,数据库为MySQL。数据库设计涉及用户信息、课程信息、提问信息、回答信息、申请信息和用户-课程关系表,管理员负责数据管理,老师角色则参与课程管理和申请处理。
摘要由CSDN通过智能技术生成

前言

本文根据高级软件工程课上所学知识,对工程实践项目-网上书城进行软件系统分析和设计,最终形成软件系统概念原型。

参考资料:

一、系统架构

系统采用MVC架构,MVC包括模型层(Model)、视图层(View)、控制器层(Controller)

Model代表一个存取数据的对象及其数据模型。

View代表模型包含的数据的表达方式,一般表达为可视化的界面接口。

Controller作用于模型和视图上,控制数据流向模型对象,并在数据变化时更新视图。控制器可以使视图与模型分离开解耦合。

4d6bc7d0f38b324c7051eb95c77b49fa.png

二、项目视图

1、分解视图

分解是构建软件架构模型的关键步骤,分解视图也是描述软件架构模型的关键视图,一般分解视图呈现为较为明晰的分解结构特点。

5cece95d1d53b0a1962015d81b367ea3.png

2、依赖视图

依赖视图展现了软件模块之间的依赖关系。比如一个软件模块A调用了另一个软件模块B,那么我们说软件模块A直接依赖软件模块B。如果一个软件模块依赖另一个软件模块产生的数据,那么这两个软件模块也具有一定的依赖关系。

4544ed76d41b0010a541006e3de2a997.png

3、执行视图

执行视图展示了系统运行时的时序结构特点,比如流程图、时序图等。执行视图中的每一个执行实体,一般称为组件(Component),都是不同于其他组件的执行实体。如果有相同或相似的执行实体那么就把它们合并成一个。 执行实体可以最终分解到软件的基本元素和软件的基本结构,因而与软件代码具有比较直接的映射关系。在设计与实现过程中,我们一般将执行视图转换为伪代码之后,再进一步转换为实现代码

82198e0a8d0ad5c71243ecb5d8fb948a.png

84c61a16b53b31073939a69f66bd176f.png

f2ea6f53e1432e7f5a706a4c425c1667.png

e36dade4cb45e710f1d388904a993e21.png

4、实现视图

实现视图是描述软件架构与源文件之间的映射关系。比如软件架构的静态结构以包图或设计类图的方式来描述,但是这些包和类都是在哪些目录的哪些源文件中具体实现的呢?一般我们通过目录和源文件的命名来对应软件架构中的包、类等静态结构单元,这样典型的实现视图就可以由软件项目的源文件目录树来呈现。

实现视图有助于码农在海量源代码文件中找到具体的某个软件单元的实现。实现视图与软件架构的静态结构之间映射关系越是对应的一致性高,越有利于软件的维护,因此实现视图是一种非常关键的架构视图。

2c7f65387dd02db0e53b8ed2230217d4.png

三、系统运行环境

操作系统:Windows 10

开发语言:Java

开发工具:IntelliJ IDEA

前端框架:Vue

后端框架:Spring + SpringMVC + Mybatis

数据库: MySQL

技术选型说明:Spring的IOC特性,将对象之间的依赖关系交给了Spring控制,方便解耦,简化了开发。其AOP特性,对重复模块进行集中,实现事务,日志,权限的控制;SpringMVC是使用了MVC设计思想的轻量级web框架,对web层进行解耦,与Spring无缝衔接,有着灵活的数据验证,格式化,数据绑定机制;Mybatis中数据库的操作(sql)采用xml文件配置,解除了sql和代码的耦合提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建。

四、数据库设计

用户信息表

用户信息表用于储存客户的注册资料、活动信数据、权限等。UID为表的主键。用户名、密码、性别等为注册时用户填入的资料,修改后会重新写入。客户角色标志了客户的主要使用方式,限制了客户的权限。用户的最后活跃时间也储存在这张表里。

84484f5ee6846e4e7ceeb30d060e7abf.png

课程信息表

课程信息表主要包含了科目的编号、科目名称等信息。科目编号作为主键,唯一标识了课程。课程名称等信息由管理员进行管理。

68c13a494e5ce29fef1f0bdc12a7e3f2.png

提问信息表

提问信息表是学生提问的数据的表。主要包括了问题的信息如,编号、标题、内容以及提问的信息如:提问人、提问时间。提问编号为主键。

f92a3f1b70d90ed6aedd1f1bfbbe6050.png

回答信息表

回答信息表是对问题内容的回复,包含了回答的问题的ID、回答人、回答的标题内容、以及时间等信息。回答编号为这个表的主键。

6af19388bed1f0b8fd93b3bbb551a683.png

申请信息表

申请信息表是学生用户申请科目的信息表,储存了申请人的ID、所申请的课程的ID、申请状态等信息。申请编号为申请信息表的主键。

ba773e18516b8d404aa9cd17cf930f04.png

用户-课程关系表

用户-课程关系表是用户与课程的关系的一张表。涵盖了用户的ID与课程的ID。关系的唯一标识是本表的唯一的主键。

8e082f09f9ec5c4939b13217059258cc.png

五、系统概念原型的核心工作机制

系统管理员要完成对系统数据的相关操作:包括学生、课程、及相关的老师信息等。课程管理操作是完成课程菜单的管理,包括:课程的信息浏览、修改和删除、添加新的科目等;用户管理包括:审核注册的信息、查看客户的相关资料、添加制定的管理员等等;连接管理包括:修改删除相关数据、新建制定数据、数据浏览等等;评论管理包括:留言的浏览、浏览数据修改、留言的删除等等。

老师角色,参与了课程信息的添加,删除,修改,申请的接收,申请发送

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值