需求分析
需求分析就是要搞清楚问题域即用户的需求,从而确定软件要为用户解决什么问题,实现哪些业务功能,满足什么样的性能要求
课程基本信息表、课程营销信息表、课程发布记录表
等添加课程
的需求用例,包括功能名称、功能描述、参与者、基本事件流程、可选事件流、数据描述、前置条件、后置条件等内容
项目 | 添加课程 |
---|---|
功能名称 | 添加课程 |
功能描述 | 添加课程基本信息 |
参与者 | 教学机构管理员 |
前置条件 | 教学机构管理只允许向自己机构添加课程 拥有添加课程的权限 |
基本事件流程 | 1、登录教学机构平台 2、进入课程列表页面 3、点击添加课程按钮进入添加课程界面 4、填写课程基本信息 5、点击提交 |
可选事件流程 | 成功:提示添加成功,跳转到课程营销信息添加界面 失败:提示具体的失败信息,用户根据失败信息进行修改 |
数据描述 | 课程基本信息:课程id、课程名称、课程介绍、课程大分类、课程小分类、课程等级、课程图片、所属机构、课程创建时间、课程修改时间、课程状态 |
后置条件 | 向课程基本信息插入一条记录 |
补充说明 |
模块介绍
内容管理系统简称CMS(content management system)
是一种位于WEB前端和后端办公系统或流程(内容创作、编辑)之间的软件系统
本项目作为一个大型的在线教育平台,其内容管理模块主要对课程及相关内容进行管理
业务流程
教学机构人员
的业务流程如下
运营人员
的业务流程如下
数据模型
内容管理模块的基础表涉及9张,使用PowerDesigner
工具打开学成在线项目.sws
前后端交互流程
前后端交互的流程
: 前端与后端开发人员之间主要依据接口进行开发
PO,DTO,VO模型类
DTO(Data Transfer Object)数据传输对象
: 用于接口层向业务层
之间传输数据
PO(Persistent Object)持久化对象
: 用于业务层与持久层
之间传输数据,一个PO类对应数据库中的一张表,每张表对应一个Mapper接口和Mapper的xml映射文件
VO对象
: 前端与接口层
之间传输数据,当用户使用手机端和PC端查询课程信息时查询条件和查询结果
可能不同
手机查询
: 根据课程状态查询,查询结果只有课程名称和课程状态PC查询
: 可以根据课程名称、课程状态、课程审核状态等条件查询,查询结果也比手机查询结果内容多Service业务层尽量提供一个业务接口,即使两个前端接口接收的数据和响应的数据
不一样
创建模块工程
模块工程关系图
第一步: 创建内容管理模块的父工程xuecheng-plus-content
,该工程负责聚合api,service,model
三个子工程
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<parent>
<groupId>com.xuechenggroupId>
<artifactId>xuecheng-plus-parentartifactId>
<version>0.0.1-SNAPSHOTversion>
<relativePath>../xuecheng-plus-parentrelativePath>
parent>
<artifactId>xuecheng-plus-contentartifactId>
<name>xuecheng-plus-con tentname>
<description>xuecheng-plus-contentdescription>
<packaging>pompackaging>
<modules>
<module>xuecheng-plus-content-apimodule>
<module>xuecheng-plus-content-modelmodule>
<module>xuecheng-plus-content-servicemodule>
modules>
project>
第二步: 创建xuecheng-plus-content-api
接口工程,为前端提供接口
4.0.0
com.xuecheng
xuecheng-plus-content
0.0.1-SNAPSHOT
xuecheng-plus-content-api
com.xuecheng
xuecheng-plus-content-service
0.0.1-SNAPSHOT
第三步: 创建xuecheng-plus-content-service
业务工程,为接口工程提供业务支撑
4.0.0
com.xuecheng
xuecheng-plus-content
0.0.1-SNAPSHOT
xuecheng-plus-content-service
com.xuecheng
xuecheng-plus-content-model
0.0.1-SNAPSHOT
第四步: 创建xuecheng-plus-content-model
数据模型工程,存储数据模型类
和数据传输类型
等
4.0.0
com.xuecheng
xuecheng-plus-content
0.0.1-SNAPSHOT
xuecheng-plus-content-model
com.xuecheng
xuecheng-plus-base
0.0.1-SNAPSHOT