50.在线词典项目1–需求分析及软件框架搭建

1引言

1.1编写目的

经过一段时间的学习,终于要开始一个实战项目了,这个项目目的就是为了回顾之前的知识,主要用到了 络编程客户端及并发服务器的实现,父子进程,信 ,sql数据库等,我们先详细理解需求然后对框架及相关进行梳理,思路清晰后,再开始编程。

1.2 开发环境

开发环境

版本

linux gcc工具链

 

LIB

sqlite3

 

1.3 项目需求

基于 络编程和数据库实现在线词典功能,客户端可以注册,登入,查询历史信息等操作,服务器基于多进程实现多客户端的并发访问,并使用sqlite数据库实现对用户信息的管理

需求分析,进行需求拆分:

  1. 使用tcp实现客户端和服务器
  2. 服务器使用并发服务器(多进程,多线程或者select多路复用)
  3. 建立一个数据库,数据库中包含两个表,一个表用于存储用户名及密码等信息,一个用于存 储历史信息(包含保存时间)
  4. 类似我们平时看到的功能,需要有二级菜单,一级菜单中包含用户的注册,用户登录,用户 退出。登录成功后,进入二级菜单,二级菜单包括单词查询,历史查询,退出。

注意:注意进程的回收防止僵尸进程(通过信 回收),用户注册不能出现重复的用户名等,确 保功能完整,性能优化可以之后慢慢进行。

2软件总体设计

1.结构框架(参考)

 

2.客户端概要框架:

3软件详细设计

3.1服务器端程序流程

 

3.2客户端程序流程

 

3.3参数数据结构

 

4.代码实例(框架)

4.1 net.h (包含需要用到的头文件及结构体等)

4.2 client.c(客户端实现)

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月16日
下一篇 2020年4月16日

相关推荐