IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 软件开发流程----云笔记1 -> 正文阅读

[Python知识库]软件开发流程----云笔记1


云笔记web系统

需求分析

功能模块及技术分析

用户的登录、注册

  1. 用户第一次使用系统需注册账号,输入用户名、密码、邮箱等信息。
  2. 用户名不能重复,密码需要一定的复杂度
  3. 用户信息持久化到磁盘(使用数据库)。
  4. 用户登录后,一段时间内记住用户,保持会话(Cookie/Session)
  5. 用户只有在登录后才可以进行操作
  6. 前端登录的UI界面设计

技术实现,使用html/css/js搭建前端登录页面
在这里插入图片描述

用户的操作模块

用户操作界面设计:记笔记、查单词、查询历史、个人中心、注销等
记笔记,用户可以将自己的学习心得、收获记入笔记中,方便日后查看。
查单词,用户可以输入单词,查看返回结果
查询历史,查看自己的查询历史,仅返回最近的10条数据,包含name,word,time字段
个人中心,可以查看、更新用户的个人信息。
注销,即退出登录,删除用户的会话保持数据
等等。。。

技术实现,使用html/css/js搭建操作页面,页面效果后期可以优化。
在这里插入图片描述
导航栏的代码:

<ul>
<li class="logo"><a href="/logo">Logo</a></li>
<li><a href="/index">首页</a></li>
<li><a href="/note/add">写笔记</a></li>
<li><a href="/note/translate">查单词</a></li>
<li><a href="/note/history">历史查询</a></li>
<li><a href="/user">个人中心</a></li>
<li><a href="/about_us">关于我们</a></li>
</ul>

服务端返回数据

接收用户的查询请求,处理请求,返回数据
由于我们没有维护自己的单词数据库,要完成翻译的工作,只能请求第三方服务,这里使用有道翻译
在这里插入图片描述
服务端从有道翻译拿到数据,存储到Mysql数据库,并加入到缓存,提高下次请求的响应速率。

技术实现:
使用Django搭建后端服务
使用requests请求有道翻译,获取翻译数据。

数据持久化

用户的数据需要长期存储,所以需要存入磁盘。
选择使用Mysql数据库,持久化数据
使用Redis缓存数据。

使用的表
用户信息表
user_table

历史记录表
history_table

个人笔记表
note_table

概要设计

使用的技术框架等

开发系统:Ubuntu1804
开发工具:python3.6.9、pycharm、vscode
框架:Django 2.2.12

确定功能模块

由于使用的Django框架,基于Django的特性,将系统划分如下模块:
用户模块,处理用户的登录注册及维护个人信息
笔记模块,处理用户的笔记操作,查单词操作,维护历史记录

可行性分析,架构图

技术成熟的Django框架,可以轻松实现。

系统架构图:
在这里插入图片描述

编写概要文档

制定整体项目计划

按照课程规划

  1. 确定开发工作的先后顺序
    采用Django前后端不分离的模式,每个功能从前端请求到后端响应顺序开发,注册–>登录–>写笔记等顺序操作。

  2. 确定时间节点。
    同步课程规划

3.人员分工
每个人负责全部功能模块,串行开发。

详细设计

  1. 按照功能模块的划分,详细说明功能的实现及技术。
    比如:注册模块
    前端页面请求地址:GET /usr/reg/
    Django服务匹配到该路由,响应注册页面–给浏览器
    用户可以输入自己的信息。
    在这里插入图片描述
    这里使用了手机验证码功能,输入手机号,点击发送验证码,浏览器发送异步请求。
    ajax异步请求:POST /usr/sms/
    Django服务收到请求,去向第三方短信平台发送“向该手机号发送验证码”的请求。Django收到响应的验证码存入缓存,并通知前端用户验证码发送成功。
    用户收到短信后,将验证码填入表单,与其他信息一起提交给服务端。
    提交请求:POST /usr/reg/,安全地提交数据。
    Django服务端接收响应,简单验证用户是否存在、密码是否符合规范,验证码是否相同等,没问题就将数据存入数据库。
    注册成功!
    具体流程最好使用流程图表示,比较清晰。

  2. 首页模块
    路由:/index/
    视图函数: index 在主应用的views下
    在这里插入图片描述
    其他功能模块也应详细地描述,形成word详细设计文档。
    这里不再展开描述。

  3. 除了各个功能模块,还要详细说明数据库的设计。
    配置项目的Mysql数据库,并创建一个数据库note_project
    ? 1 user_table
    在这里插入图片描述
    ? 2 note_table
    在这里插入图片描述
    ?3 history_table
    在这里插入图片描述
    ?4 E-R图
    在这里插入图片描述

编码测试

开始写代码吧。。。。。。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:28:29  更:2021-09-04 17:30:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:54:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码