dictionary小项目代码管理

软件项目开发流程
需求分析 ----》 概要设计  ---》 项目计划 ----》详细设计---》编码测试 -----》

项目测试 ----》调试修改 ---》项目发布----》后期维护
 
>需求分析 : 确定用户的真实需求  
  >>1. 确定用户的真实需求,项目的基本功能
  >>2. 确定项目的整体难度和可行性分析
  >>3. 需求分析文档,用户确认
 
>概要设计:对项目进行初步分析和整体设计
  >>1. 确定功能模块
  >>2. 进行可行性分析 搭建整体架构图
  >>3. 确定技术思路和使用框架
  >>4. 形成概要文档指导开发流程
 
>项目计划 : 确定项目开发的时间轴和流程
  >>1. 确定开发工作的先后顺序
  >>2. 确定时间轴  ,事件里程碑
  >>3. 人员分工  
  >>4. 形成甘特图和思维导图等辅助内容
 
>详细设计 : 项目的具体实现
  >>1.形成详细设计文档 : 思路,逻辑流程,功能说明,技术点说明,数据结构说明,代码说明
 
>编码测试 : 按照预定计划实现代码编写,并且做基本检测
  >>1. 代码编写
  >>2. 写测试程序
  >>3. 技术攻关
 
>项目测试 : 对项目按照功能进行测试
  >>1. 跨平台测试 ,使用测试
  >>2. 根据测试报告进行代码修改
  >>3. 完成测试报告
 
>项目发布
  >>1.项目交付用户进行发布
  >>2.编写项目说明文档
 
>后期维护
  >>1.维护项目正常运转
  >>2.进行项目的迭代升级

功能说明  
>用户可以登录和注册
    * 登录凭借用户名和密码登录
    * 注册要求用户必须填写用户名,密码,其他内容自定
    * 用户名要求不能重复
    * 要求用户信息能够长期保存
        
>可以通过基本的图形界面print以提示客户端输入。
    * 程序分为服务端和客户端两部分
    * 客户端通过print打印简单界面输入命令发起请求
    * 服务端主要负责逻辑数据处理
    * 启动服务端后应该能满足多个客户端同时操作
        
>客户端启动后即进入一级界面,包含如下功能:登录    注册    退出
    * 退出后即退出该软件
    * 登录成功即进入二级界面,失败回到一级界面
    * 注册成功可以回到一级界面继续登录,也可以直接用注册用户进入二级界面
        
>用户登录后进入二级界面,功能如下:查单词    历史记录    注销
    * 选择注销则回到一级界面
    * 查单词:循环输入单词,得到单词解释,输入特殊符号退出单词查询状态
    * 历史记录:查询当前用户的查词记录,要求记录包含name   word   time。可以查看所有记录或者前10条均可。
    
>单词本说明
  >>每个单词一定占一行
  >>单词按照从小到大顺序排列
  >>单词和解释之间一定有空格
        
>查词说明
  >>直接使用单词本查询(文本操作)
  >>先将单词存入数据库,然后通过数据库查询。(数据库操作)

技术方案

* tcp 套接字
   * 多进程 并发
   * 历史记录 : 前10条
   * 注册成功 直接登录

将单词本存入数据表mysql

1. 创建数据库 dict  (utf8)
2. 创建数据表 words  将单词和单词解释分别存入不同的字段
3. 将单词存入words单词表  超过 19500 即可

数据表进行建立

 *单词数据库

create database dictionary charset=utf8;

*单词数据表  words -> id word mean

create table (id int primary key auto_incremant, word varchar(32),mean text);
   * 用户  user -> id  name  passwd

create table user (id int primary key auto_increment,name varchar(32) not null,passwd varchar(128) not null);
   * 历史记录 hist-> id name  word  time

create table hist (id int primary key auto_increment,name varchar(32) not null, word varchar(28) not null,time datetime default now() );

单词表的插入

 1 import pymysql
 2 import re
 3
 4 f =  open(‘dictionary.txt‘)
 5 db = pymysql.connect(host = ‘localhost‘,
 6                      port = 3306,
 7                      user = ‘root‘,
 8                      password = ‘123456‘,
 9                      database = ‘dictionary‘,
10                      charset = ‘utf8‘)
11 #创建游标
12 cur = db.cursor()
13 #执行插入语句
14 sql = "insert into words (word,mean) values (%s ,%s)"
15
16 for line in f:
17     #元祖 非空字符,匹配中间的空格,有些存在无解释
18     tup = re.findall(r‘(\S+)\s+(.*)‘,line)[0]
19     try:
20         cur.execute(sql,tup)#游标方法
21         db.commit()#执行写操作需要提交
22     except:
23         db.rollback()
24
25 f.close()
26 cur.close()
27 db.close()

结构设计

几个模块 封装设计
客户端  :
服务端  : 逻辑请求处理  ,  数据库操作处理
函数封装: 直接写一个功能程序提供给使用者使用。使用者直接运行,而不是需要使用我的代码的某一部分。

功能分析 和 通信搭建

并发通信   登录   注册   查单词   历史记录   退出  返回上一级界面

罗列功能逻辑 :每个功能确定服务端和客户端该做什么,编写代码测试

注册  客户端: 输入注册信息
                 发送请求
                 得到反馈
         服务端 : 接收请求
                 判断是否允许注册
                 允许注册将信息存入数据库
                 给客户端反馈结果
  登录  客户端: 输入用户名密码
                  发送请求给服务器
                  得到服务器反馈
             服务端: 接收请求
                   判断是否允许登录
                  发送结果
 查单词 客户端: 输入单词
                  发送请求 Q name word
                  等待接收结果
          服务端: 接收请求
                  查找单词
                  发送结果
                  插入历史记录

设定客户端服务端协议

原文地址:https://www.cnblogs.com/Alan-Song/p/11221973.html

时间: 2024-08-04 21:02:24

dictionary小项目代码管理的相关文章

[转] 使用Git进行小项目代码管理

http://www.uml.org.cn/pzgl/201206155.asp 之前在公司使用过SVN(无甚感觉)和ClearCase(把人恶心死的东西)两种版本控制工具,都不满意.后来想自己写点东西玩,就发现了这个在国内人气还不怎么高的Git,这个由Linus实现的灵活小巧的VCS.对它的印象差不多可以这么说:“我被萌到了”. 通过采用不同类型的工作流,Git可以适用于各种大小规模的项目.这里介绍一下针对最简单的集中式工作流的配置方式,适合个人和小型团队使用. 注:本文只是一个快速流程,要详

项目代码管理工具Git的总结

在项目的开发中,代码的同步管理很重要,团队的几个人可以通过免费的github管理自己的开源项目代码,高效方便.下面说说,开发中经常用到的git指令操作,基于github平台. 0.配置提交者的账户和邮箱名 git config --global user.name "Your Real Name" //账户 git config --global user.email [email protected] //邮箱 1本地创建仓库,然后同步到远程github中. $git init //

使用coding进行项目代码管理(全程可视化操作!)

第1步 下载并安装git 下载地址:https://git-scm.com/ 下载及安装过程略. 第2步 注册coding帐号 coding官网:https://coding.net 注册完毕之后,需要到邮箱点击激活邮件中的链接验证邮箱. 具体过程略. 第3步 在coding中创建一个项目 在如下界面创建项目 创建完成之后,会得到一个Git地址,点击右面的图标可以复制地址,如下 项目创建完成之后,可以添加项目成员,被添加的成员都可以访问到你的项目. 第4步 在本地创建仓库 安装完git后,右键菜

第一个java画板小项目代码,最后面有问题哦,欢迎交流。

一.主窗体代码 package com.mr.draw;//类所在的包名 import javax.swing.JFrame; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapte

我与Git的那些破事--代码管理

1. Git是什么? 作为一名程序猿,我相信大家都或多或少接触过git--分布式版本控制软件. 有人说,它是目前世界上最先进的分布式版本控制系统,我想说,是否最先进不知道,但确实好用,实用. 作为一款风靡全球的软件,不得不提提它的历史: --由Linus Torvalds创作,并与2005首次发布,最初仅是为更好的管理Linux核心开发而设计,不曾想太优秀,如今已被广为使用. 2. 我们可用Git来干什么? 作为一款分布式版本控制软件,听上去高端大气上档次,但说白了,就是一款项目代码管理工具.

用户管理的小项目

之前学习链表数据结构的时候,写过(相信很多人都做过)dos窗口版的学生管理系统,通过输入数字来实现CURD学生的信息,顶多就是把数据写入文件来存储数据.这次决定用Qt来实现,虽然不是学生管理,但是也类似,数据保存使用的是mysql数据库.之前,学习Qt只是单一的练习某一块知识,这次做个小项目,算是把之前学的做一下综合,感受颇多. 使用Qt的原因不多说了,方便,快捷,最重要和吸引人的就是跨平台性,代码无需修改或者少量的修改,再用相关平台的编译器重新编译下,就可以在windows,linux,and

[BI项目记]-搭建代码管理环境之客户端

 前面已经介绍了如何搭建代码管理环境的服务器端安装和配置,这里介绍对于客户端的几个场景. 首先对于开发人员来说,可以直接使用Visual Studio来连接,这里主要演示Visual Studio 2013. 打开Visual Studio 2013,点击VIEW下的Team Explorer. 在Team Explorer里,点击Select Team Projects- 在弹出的界面中,点击Servers- 点击Add-连接TFS服务器. 填写TFS服务器所在位置. 这个地址可以在TFS

[BI项目记]-搭建代码管理环境客户端

前面已经介绍了如何搭建代码管理环境的服务器端安装和配置,这里介绍对于客户端的几个场景. 首先对于开发人员来说,可以直接使用Visual Studio来连接,这里主要演示Visual Studio 2013. 打开Visual Studio 2013,点击VIEW下的Team Explorer. 在Team Explorer里,点击Select Team Projects… 在弹出的界面中,点击Servers… 点击Add…连接TFS服务器. 填写TFS服务器所在位置. 这个地址可以在TFS Ex

最近项目中代码管理学习

之前项目用的都是SVN进行代码管理的,最新的两个项目開始用git了.非常早之前就開始接触git.可是一直没有正规的使用过,所以对git的命令并非非常熟悉,基本上的命令都是使用诸如clone.checkout.add.commit之类的命令.没有使用过创建分支(branch)和打tag之类的操作.眼下项目中常常出现一种情况:项目開始的时候我们都在master分支上开发,然后等到一个阶段完毕之后我们会公布这个版本号,然后再创建一个develop分支.接着在develop分支上开发,然后对master