面对面结对编程设计文档.docx
《面对面结对编程设计文档.docx》由会员分享,可在线阅读,更多相关《面对面结对编程设计文档.docx(15页珍藏版)》请在冰豆网上搜索。
![面对面结对编程设计文档.docx](https://file1.bdocx.com/fileroot1/2023-6/25/e7ff651b-a1dc-4d47-b991-b41bf1058e36/e7ff651b-a1dc-4d47-b991-b41bf1058e361.gif)
面对面结对编程设计文档
面对面结对编程软件
设计文档
指导老师:
窦万峰
项目负责:
汪亮——负责需求交叉索引,整合各部分
团队成员:
王晓彤——负责对结对交换编程模块的描述
李春燕——负责对登录验证以及初始化模块的描述
高洁——负责数据设计,体系结构设计以及接口设计
洪洋——负责幻灯片的制作
完稿日期:
2012年11月17日
1.范围
1.1系统目标
通过设计软件给出一个可结对交换编程的平台。
1.2主要软件需求
1.双外设控制系统
①鼠标权限控制
②键盘权限控制
③双屏显示控制
2.角色交换(RoleSwitch)
①请求角色交换
②传输交换请求信息
③接收交换请求信息
④响应角色交换请求
⑤处理角色交换请求
3.系统干预(Interrupt)
①系统发出强制转换要求
②用户在接收到请求后拒绝交换,系统发出警告
③系统干预转换过程
4.统计分析(Statistics)
①角色计时
5.评价系统的设计
①结对评估分析
1.3软件设计约束、限制
本软件使用VC6.0编程工具进行设计,使用C++语言进行程序设计,并使用MFC进行用户界面的设计。
2.数据设计
2.1数据对象以及数据结构
数据对象
数据结构
ID
CHAR(5)
NAME
CHAR(10)
SEX
CHAR
(2)
PERSONALITY
CHAR(10)
PROGRAM
NTEXT
2.2数据库中的表和字段名
用户信息表:
字段:
ID,NAME,SEX,PERSONALITY。
编程信息表:
字段:
ID,PROGRAM。
2.3全局数据
时间变量:
TIME,由时间片控制,用于时间片强制交换角色以及统计两位用户编程总时间,所以需要设置为全局数据。
编程信息:
PROGRAM_INFO,由数据库中编程信息表存储,用于两位用户交换角色时编程信息的提取。
2.4交叉索引
编程信息:
PROGRAM_INFO,由数据库中编程信息表存储,
工作总时间:
TOTALTIME
3.体系结构设计
3.1程序模块结构图
3.2软件结构图
4.接口设计
4.1人机界面
1.进入初始的登录界面,还未注册的用户先进行注册。
2.注册用户进行注册界面,并进行相容性的性格分析。
3.已经注册的用户直接进行登录
4.登录成功进如用户界面
5.驱动者发起结对,结对开始,系统初始化。
6.进行初始角色分配,Driver或者Navigator。
7.按照时间或者个人意愿进行角色交换。
8.编程结束,退出系统。
4.2外部接口
交换角色接口:
输入:
Driver请求;输出:
控制权交换。
交换键盘接口:
输入:
控制权交换命令;没有输出。
交换鼠标接口:
输入:
控制权交换命令;没有输出。
记录时间接口:
输入:
控制权交换命令;输出:
时间。
交换鼠标接口:
输入:
控制权交换命令;没有输出。
初始化时钟接口:
输入:
控制权交换命令;没有输出。
强制交换角色接口:
输入:
强制交换命令;输出:
控制权交换。
时钟计时切换接口:
输入:
控制权交换;输出:
时钟计时切换。
5.过程设计
5.1模块一:
注册模块
5.1.1性能:
识别用户是否已经注册。
5.1.2输出项目:
注册信息:
用户注册后,由登录模块将信息发送至数据库中的用户信息表,存储相应的用户基本信息。
5.1.3功能:
新用户可以利用此模块进行用户注册,注册后登录时起到验证用户信息的作用,并且在登录成功后初始化系统。
5.1.4输入项目:
用户基本信息:
用户登录后,系统将自动从数据库中的用户基本信息中调取该用户的信息,并作为初始化计时系统的依据。
5.1.5算法:
进入开始界面,注册新用户,用户填写基本信息,点击确定,注册成功,后点击确定将用户基本信息发送至数据库中的用户信息表。
5.1.6程序逻辑:
5.2模块二:
登录模块
5.2.1性能:
识别用户是否登录系统。
5.2.2输出项目:
登录信息:
若用户之前已经进行过相容性分析,由验证模块将本次登录信息发送至数据库中的用户信息表,存储相应的用户基本信息。
5.2.3功能:
用于两位用户登录系统,起到验证用户信息的作用。
5.2.4输入项目:
两位用户的帐号和密码。
5.2.5算法:
进入登录界面,用户输入用户名及登录密码,用户不存在进入注册模块,用户信息有误则重新输入。
进入初次结对,系统进行初始化后开始编程。
继续结对则读出系统保存的信息后开始编程。
5.2.6程序逻辑:
5.3模块三:
初始化以及相容性分析模块
5.3.1性能:
对两位用户进行相容性分析。
5.3.2输出项目:
用户的性格特点。
5.3.3功能:
初始化信息:
两位用户同时登陆成功后,由初始化模块向数据库中时间信息表发送初始化命令,将用户时间信息初始化,分配角色,结对编程开始,并且倒计时开始。
相容性分析:
用户登录并进行相容性性格分析后,由登录模块将信息发送至数据库中的用户信息表,存储相应的用户性格信息。
5.3.4输入项目:
相容性分析问卷题目。
5.3.5算法:
根据作答信息确定用户的性格特点。
5.3.6程序逻辑:
进入注册界面,进行个性能力测试
5.4模块四:
计时系统模块
5.4.1性能:
实时进行已过时间与时间片的比较。
5.4.2输出项目:
时间信息:
通过计时系统统计的时间决定是否强制角色交换,并且将两位用户编程时间信息存储到编程信息表中。
5.4.3功能:
记录驱动者已经编程的时间,系统判断是否进行强制交换,并且记录两位用户分别编程的时间,存储到编程信息表中。
5.4.4输入项目:
无。
5.4.5算法:
时间片的倒计时机制。
5.4.6程序逻辑:
5.5模块五:
角色互换模块
5.5.1性能:
根据时间片或用户提出实时转换,具有中断功能。
5.5.2输出项目:
转换成功信息,鼠键控制权交换,或者退出结对。
5.5.3功能:
角色交换:
驱动者、观察者进行角色交换,否则,在规定时间内强制交换。
结束结对:
申请结束结对,保存信息退出结对。
5.5.4输入项目:
系统强制交换角色或用户请求交换角色,结束结对。
5.5.5算法:
1.Driver申请角色交换,Navigator决定是否同意角色交换,如果不同意则Driver继续编程,Navigator继续担任领航者角色。
如果同意交换则开始进行角色交换,并交换角色信息和时间片初始化。
2.到达时间片后,系统进行强制角色交换,自动交换角色并且进行时间片初始化。
3.Driver申请结束结对,保存相关信息,结对结束。
5.5.6程序逻辑:
6.测试
1.测试用户登录时用户是否已存在。
2.测试用户注册好后信息有没有保存。
3.测试已注册的用户是否重新做题。
4.测试用户评估结果的正确性。
5.测试角色交换是否能顺利进行。
6.测试用户双方提出角色交换请求是否能得到响应。
7.测试时间到得时候能否自动交换角色。