功能点总结(二十)

总结在线教育项目功能点

一、准备

1、把后端接口启动起来
2、启动前端项目(前台系统和后台系统)

二、项目后台管理系统功能

1、登录功能(SpringSecurity框架)

2、权限管理模块
(1)菜单管理:列表、添加、修改、删除

(2)角色管理

  • 列表、添加、修改、删除、批量删除
  • 为角色分配菜单

(3)用户管理

  • 列表、添加、修改、删除、批量删除
  • 为用户分配角色

(4)权限管理表和关系

  • 使用五张表
    在这里插入图片描述

3、讲师管理模块
(1)条件查询分页列表、添加、修改、删除

4、课程分类模块
(1)添加课程分类

  • 读取Excel里面课程分类数据,添加到数据库中

(2)课程分类列表

  • 使用树形结构显示课程分类列表

5、课程管理模块
(1)课程列表功能
(2)添加课程

  • 课程发布流程:第一步填写课程基本信息,第二步添加课程大纲(章节和小节),第三步课程信息确认,最终课程发布

  • 课程如何判断是否已经被发布了?使用status字段

  • 课程添加过程中,中途把课程停止添加,重新去添加新的课程,如何找到之前没有发布完成课程,继续进行发布? 到课程列表中根据课程状态查询未发布的课程,点击课程右边超链接把课程继续发布完成

(3)添加小节上传课程视频
在这里插入图片描述

6、统计分析模块
(1)生成统计数据
(2)统计数据图表显示

三、项目前台用户系统功能

1、首页数据显示
(1)显示幻灯片功能
(2)显示热门课程
(3)显示名师

2、注册功能
(1)获取手机验证码

3、登录功能
(1)普通登录和退出

  • SSO(单点登录)
    在这里插入图片描述

 JWT
 使用JWT生成token字符串
 JWT有三部分组成

 登录实现流程
 登录调用登录接口返回token字符串,把返回token字符串放到cookie里面,创建前端拦截器进行判断,如果cookie里面包含token字符串,把token字符串放到header里面。调用接口根据token获取用户信息,把用户信息放到cookie里面,进行显示

(2)微信扫描登录
 OAuth2
 是针对特定问题解决方案
 主要有两个问题:开放系统间授权,分布式访问

 如何获取扫描人信息过程?
 扫描之后微信接口返回code(临时票据),拿着code值请求微信固定地址,得到两个值:access_token(访问凭证)和openid(微信唯一标识),你拿着这两个值再去请求微信固定的地址,得到微信扫描人信息(比如昵称,头像等等)

4、名师列表功能

5、名师详情功能

6、课程列表功能
(1)条件查询分页列表功能

7、课程详情页
(1)课程信息显示(包含课程基本信息,分类,讲师,课程大纲)
(2)判断课程是否需要购买

8、课程视频在线播放

9、课程支付功能(微信支付)
(1)生成课程订单
(2)生成微信支付二维码
(3)微信最终支付

  • 微信支付实现流程:
  • 如果课程是收费课程,点击立即购买,生成课程订单
  • 点击订单页面去支付,生成微信支付二维码
  • 使用微信扫描支付二维码实现支付
  • 支付之后,每隔3秒查询支付状态(是否支付成功),如果没有支付成功等待,如果支付成功之后,更新订单状态(已经支付状态),向支付记录表添加支付成功记录

总结在线教育项目技术点(前端)

1、在线教育项目采用前后端分离开发

2、项目使用前端技术
(1)vue

  • 基本语法
  • 常见指令 : v-bind v-model v-if v-for v-html
  • 绑定事件: v-on-click @click
  • 生命周期:created() 页面渲染之前 mounted()页面渲染之后
  • ES6规范

(2)Element-ui

(3)nodejs

  • 是JavaScript运行环境,不需要浏览器直接运行js代码,模拟服务器效果

(4)NPM

  • 包管理工具,类似于Maven
  • npm命令: npm init npm install 依赖名称

(5)Babel

  • 转码器,可以把ES6代码转换成ES5代码

(6)前端模块化

  • 通过一个页面或者一个js文件,调用另外一个js文件里面的方法
  • 问题:ES6的模块化无法在Node.js中执行,需要用Babel编辑成ES5后再执行

(6)后台系统使用vue-admin-template

  • 基于vue+Element-ui

(7)前台系统使用Nuxt

  • 基于vue
  • 服务器渲染技术

(8)Echarts

  • 图表工具

总结在线教育项目技术点(后端技术一)

1、项目采用微服务架构

2、SpringBoot
(1)SpringBoot本质是就是Spring,只是快速构建Spring工程脚手架
(2)细节:

  • 启动类包扫描机制
  • 设置扫描规则 @ComponentScan(“包路径”)
  • 配置类
    (3)SpringBoot配置文件
  • 配置文件类型:properties和yml
  • 配置文件加载顺序:bootstrap application application-dev

3、SpringCloud
(1)是很多框架总称,使用这些框架实现微服务架构,基于SpringBoot实现
(2)组成框架有哪些?

(3)项目中,使用阿里巴巴Nacos,替代SpringCloud一些组件

(4)Nacos

  • 使用Nacos作为注册中心
  • 使用Nacos作为配置中心

(5)Feign

  • 服务调用,一个微服务调用另外一个微服务,实现远程调用

(6)熔断器

(7)Gateway网关

  • SpringCloud之前zuul网关,目前Gateway网关

(8)版本
在这里插入图片描述

4、MyBatisPlus
(1)MyBatisPlus就是对MyBatis做增强
(2)自动填充
(3)乐观锁
(4)逻辑删除
(5)代码生成器

5、EasyExcel
(1)阿里巴巴提供操作excel工具,代码简洁,效率很高
(2)EasyExcel对poi进行封装,采用SAX方式解析
(3)项目应用在添加课程分类,读取excel数据

总结在线教育项目技术点(后端技术二)

1、Spring Security
(1)在项目整合框架实现权限管理功能
(2)SpringSecurity框架组成:认证和授权
(3)SpringSecurity登录认证过程

(4)SpringSecurity代码执行过程
在这里插入图片描述

2、Redis
(1)首页数据通过Redis进行缓存
(2)Redis数据类型
(3)使用Redis作为缓存,不太重要或者不经常改变数据适合放到Redis作为缓存

3、Nginx
(1)反向代理服务器
(2)请求转发,负载均衡,动静分离

4、OAuth2+JWT
(1)OAuth2针对特定问题解决方案
(2)JWT包含三部分

5、HttpClient
(1)发送请求返回响应的工具,不需要浏览器完成请求和响应的过程
(2)应用场景:微信登录获取扫描人信息,微信支付查询支付状态

6、Cookie
(1)Cookie特点:

  • 客户端技术
  • 每次发送请求带着cookie值进行发送
  • cookie有默认会话级别,关闭浏览器cookie默认不存在了,
  • 但是可以设置cookie有效时长 setMaxAge

7、微信登录

8、微信支付

9、阿里云OSS
(1)文件存储服务器
(2)添加讲师时候上传讲师头像

10、阿里云视频点播
(1)视频上传、删除、播放
(2)整合阿里云视频播放器进行视频播放

  • 使用视频播放凭证

11、阿里云短信服务
(1)注册时候,发送手机验证码

12、Git
(1)代码提交到远程Git仓库

13、Docker+Jenkins
(1)手动打包运行
(2)idea打包
(3)jenkins自动化部署过程

总结在线教育项目问题

1、前端问题-路由切换问题
(1)多次路由跳转到同一个vue页面,页面中created方法只会执行一次
(2)解决方案:使用vue监听

2、前端问题-ES6模块化运行问题
(1)Nodejs不能直接运行ES6模块化代码,需要使用Babel把ES6模块化代码转换ES5代码 执行

3、mp生成19位id值
(1)mp生成id值是19位,JavaScript处理数字类型值时候,只会处理到16位

4、跨域问题
(1)访问协议,ip地址,端口号,这三个如果有任何一个不一样,产生跨域
(2)跨域解决:

  • 在Controller添加注解
  • 通过网关解决

5、413问题
(1)上传视频时候,因为Nginx有上传文件大小限制,如果超过Nginx大小,出现413
(2)413错误:请求体过大
(3)在Nginx配置客户端大小
(4)响应状态码:413 403 302

6、Maven加载问题
(1)maven加载项目时候,默认不会加载src-java文件夹里面xml类型文件的
(2)解决方案:

  • 直接复制xml文件到target目录
  • 通过配置实现
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. 功能分析法概论 1.1 功能分析方法的目标: 1. 功能方法的收益. 1.3. 功能分析法的步骤. 1.3.1. 决定分析的类型 1.3. 识别分析范围和应用边界 1.3.3. 确定未经调整的功能数 (Unadjusted Function Point Count -- UFPC) . 1.3.3.1 数据功能的计数 1.3.3 交易功能的计数 1.3.3.4. 确定调整系数 1.3.3.5.计算经过调整的功能 2. 分析流程. 2.1 决定分析的类型. 2.1.1 定义:功能分析的类型. 2 识别分析范围和应用边界 2.1 识别分析范围和应用边界中的定义 2 定义应用边界. 2.3 分析范围以及应用边界的规则和流程. 2.3.1 边界识别的规则. 2.3 分析范围和应用边界流程: . 2.3.3 边界识别的一些技巧: 2.4 计数数据功能 2.4.1 定义: 2.4 计数流程概述. 2.4.3 ILF 识别规则. 2.4.4 EIF 识别规则. 2.4.5 复杂度和贡献的定义和规则. 2.4.6 ILF/EIF 计数流程. 2.4.7 复杂度和贡献确定流程 2.4.8 数据功能计数技巧. 2.5 计数交易功能 2.5.1 定义 2.5.1.1 基本定义. 2.5.1 交易功能总结: 2.5.1.3 相关术语的定义 2.5.1.4 交易功能执行的逻辑处理总结 2.5 EI,EO,EQ 计数规则 2.5.1 交易功能计数的概要流程 2.5 基本处理的识别规则 2.5.3 交易功能计数规则 2.5.3.1 EI 的主要目的描述:. 2.5.3 EI 的计数规则: 2.5.3.3 EO 和EQ 的共同主要目的描述: 2.5.3.4 EO/EQ 共享的计数规则:. 2.5.3.5 EO 计数的补充规则:. 2.5.3.6 EQ 计数的补充规则:. 2.5.3 复杂度和贡献的定义和规则. 2.5.3.1 EI 的复杂度和贡献规则 2.5.3.1.1 EI 的引用文件类型(FTR)计数规则 2.5.3.1 EI 的数据元素类型(DET)计数规则. 2.5.3 EO/EQ 的复杂度和贡献规则 2.3.5.1 EO/EQ 共享的引用文件类型(FTR)计数规则 2.3.5 EO 特定的引用文件类型(FTR)计数规则 2.3.5.3 EO/EQ 共享的数据元素类型(DET)计数规则. 2.5.4 EI,EO,EQ 的计数流程 2.5.5 复杂度和贡献确定流程. 2.5.6 交易功能计数技巧. 2.6 决定调整系数 2.6.1 调整系数的决定. 2.6 确定VAF 的流程 2.6.3 通用系统特性及其影响程度的评定. 2.6.3.1 数据通讯. 2.6.3 分布式数据处理. 2.6.3.3 性能. 2.6.3.4 使用强度高的配置. 2.6.3.5 交易速度 2.6.3.6 在线数据输入 2.6.3.7 最终用户的效率. 2.6.3.8 在线更新 2.6.3.9 复杂的处理 2.6.3.10 可重用性 2.6.3.11 安装的简易性 2.6.3.12 运行的简易性 2.6.3.13 多场地 2.6.3.14 允许变更 2.7 计算调整功能 2.7.1 开发项目功能的计算. 2.7 升级项目功能的计算. 2.7.3 应用功能的计算. 附录A : 未经调整的功能计算表. 附录B:功能计数中的规则表. 附录C: 词汇表:.
二十游戏是一款很受欢迎的数学游戏,玩家需要通过四则运算将给定的四个数字计算出24这个结果。在Android平台上开发这个游戏需要以下几个步骤。 首先,我们需要设计游戏界面。可以利用Android Studio提供的布局工具来设计一个简单直观的界面,包含四个数字输入框和一个计算按钮。玩家可以通过输入数字或者击按钮来提交答案。 接下来,我们需要编逻辑代码来实现游戏的规则。当玩家击计算按钮时,我们首先需要获取四个输入框中的数字,并进行合法性检查。如果数字无效,则提示玩家重新输入。如果数字有效,则通过四则运算计算出所有可能的结果,并判断是否存在结果等于24的计算过程。如果存在结果等于24的计算过程,则提示玩家答案正确;否则,提示答案错误。 在实现四则运算的计算过程时,可以利用递归算法来穷举所有可能的组合。我们可以先从给定的四个数字中选择两个进行运算,得到一个新的数字,并将这个新的数字与另外两个数字结合进行运算,再得到一个结果。然后,将这个结果与另外两个数字进行运算,再得到一个新的结果。最后,将这个新的结果与剩下的一个数字进行运算,得到最终结果。通过递归算法,可以穷举所有可能的计算过程。 最后,我们需要添加一些额外的功能来增加游戏的趣味性。例如,可以添加计时器来记录玩家完成游戏所用的时间;也可以添加提示功能,当玩家无法找到答案时,可以击提示按钮来获取一种可能的计算过程。这些额外功能可以通过Android的控件和事件处理来实现。 通过以上步骤,我们可以开发出一款可以玩家在Android设备上玩的二十游戏。玩家可以通过输入数字和进行四则运算来找到计算结果等于24的过程,锻炼数学思维和逻辑能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杵意

谢谢金主打赏呀!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值