面对面结对编程设计文档11Word文档下载推荐.docx
《面对面结对编程设计文档11Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《面对面结对编程设计文档11Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。
通过设计软件给出一个可结对交换编程的平台。
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
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.测试时间到得时候能否自动交换角色