项目先关介绍

什么是项目?
软件项目:一个具有完整的功能的代码集合
接口(API):函数,类,模块都可能是接口,提供的具有一定功能的代码,通过获取数据返回响应的结果

软件项目开发流程
需求分析 --> 概要设计 --> 项目规划 --> 详细设计 --> 编码测试 --> 项目测试 --> 项目发布 --> 后期维护

需求分析:确定用户真实需求做项目评估
1.确定用户真实需求,项目的基本功能
2.对项目整体进行评估(可行性,难度等)
3.完成需求分析文档,用户确认

概要设计:对项目进行整体设计,技术分析
1.确定功能结构
2.进行技术分析,构建整体框架图
3.确定技术思路和使用技术
4.完成概要设计文档,指导开发流程

项目计划:确定开发的时间轴和流程
1.确定开发的先后顺序
2.确定时间轴,里程碑事件
3.确定人员的分工
4.形成甘特图和思维导图,设定计划

详细设计:项目的具体实现手册
1.详细记录项目的思路,逻辑,功能,技术点,代码说明,数据结构等等

编码测试:按照计划编写功能代码,做基本测试
1.写代码,测代码
2.技术攻关

项目测试:对项目进行整体测试,调整修改
1.项目的各种功能和逻辑测试
2.完成测试报告
3.进行项目修改

项目发布
1.交付用户进行使用
2.编写说明文档

后期维护
1.bug的修改
2.产品的升级

项目注意事项
* 按照规定时间完成项目
* 项目中的人员和技术冲突

项目工具的推荐
文档编写:word ppt excel markdown LaTex
项目流程图:Mindmanager visio
项目管理管理工具:project
代码管理:git svn

HTTPServer v3.0
httpserver + WebFrame

httpserver 功能:
    1.获取http请求
    2.解析http请求
    3.将请求内容发送给WebFrame
    4.从WebFrame接收返回数据
    5.将数据组织为Response格式发送给客户端
WebFrame 功能:
    1.从httpserver 接收具体请求
    2.判断请求网页或者数据,根据请求调用函数处理
    3.将网页或者数据发送给httpserver

升级点: 1.采用了httpserver与应用程序分离,两个功能模块独立,降低了偶合度
       2.数据的处理单独调用函数完成
       3.两者的配合使用进程间通信

电子词典

功能说明

1.用户可以登录和注册

登录凭借用户名和密码登录
注册要求用户必须填写用户名密码,其它内容自己拟定
用户名要求不能重复

2.用户信息需要长期保存,以满足随时登录

要求使用数据库保存

3.能够满足多个用户同时登录操作的需要
4.项目分为客户端和服务端,客户端负责请求和展示数据,其余处理由服务端完成
5.客户端启动即进入一级界面(界面print打印),一级界面功能
登录 注册 退出
6.用户登录后即进入二级界面(注册后是否处于登录状态自定),二级界面功能
查看单词 查看历史记录 注销
查单词:可以循环输入单词,获取单词解释
提示:每个单词占一行
单词按照顺序排列
单词和解释之间一定有空格
可以选择直接操作文本,或者将单词本导入数据库后从数据库中查找
查看历史记录:
格式: name word time
可以显示登录人员查的所有单词或者最近10条自定
注销:返回一级界面

1.确定技术点
用什么并发? fork 多进程
用什么套接字? tcp 套接字
用什么数据库? mysql
文件处理还是数据库查询?
2.建立数据库,设计表
如需要将单词本导入数据库,则编程完成导入

扫描二维码关注公众号,回复: 4969071 查看本文章

用户表: id name passwd
历史记录: id name word time
单词表: id word interpret

create table user(
-> id int primary key auto_increment,
-> name varchar(32) not null,
-> passwd varchar(16)
-> default '000000');

create table hist(
-> id int primary key auto_increment,
-> name varchar(32) not null,
-> word varchar(32) not null,
-> time varchar(64)
-> );

create table words(
-> id int auto_increment primary key,
-> word varchar(32),
-> interpret text
-> );

3.结构设计,仿照ftp文件服务器

服务器:创建套接字 --> 创建父子进程 --> 子进程等待处理客户端请求 --> 父进程继续等待连接下一个客户端
      
      具体请求调用具体函数处理
客户端:创建套接字 --> 发起连接请求 --> 进入一级界面 --> 发起请求(登录,注册,退出) -->
      登录成功进入二级界面 --> 请求(查询,历史记录)

4.完成通信的搭建
5.功能分析,根据分析完成功能代码

注册
    客户端:
        1.输入注册信息
        2.将信息发送给服务器
        3.等到服务其反馈
    服务端:
        1.接收请求
        2.判断是否允许注册
        3.将结果反馈给客户端
        4.将注册信息插入数据库
登录
    客户端:
        1.输入用户名密码
        2.将信息发送给服务器
        3.得到服务器反馈
        4.进入二级界面
    服务端:1.接收请求
          2.判断是否允许登录
          3.反馈结果
查词
    客户端:
        1.发送请求 Q name word
        2.接收返回结果
        3.##表示退出查词
    服务端:
        1.接收请求
        2.查找单词,反馈结果
        3.插入历史记录
历史记录

cookie
import getpass
passwd = getpass.getpass()
功能:隐藏密码输入

pip的使用
作用:安装python的标准第三方库
安装: sudo apt-get install python3-pip
常用命令:
安装包:pip3 install [package]
查看python包: pip3 list
搜索python包: pip3 search [package]
升级软件包: pip3 install --upgrade [package]
查看软件包信息: pip3 show [package]
卸载软件包: pip3 uninstall [package]
导出软件环境: pip3 freeze > requirements.txt
安装软件环境: pip3 install -r requirements.txt

猜你喜欢

转载自blog.csdn.net/qq_41866851/article/details/85337912
今日推荐