通讯录详细设计报告概要Word文档格式.docx
- 文档编号:13320962
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:17
- 大小:410.54KB
通讯录详细设计报告概要Word文档格式.docx
《通讯录详细设计报告概要Word文档格式.docx》由会员分享,可在线阅读,更多相关《通讯录详细设计报告概要Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
含义
类型
长度
默认值
主键
ID
组ID
长整型
主键,自增
groupName
组名
文本
20
2.联系人信息表people结构
groupID
所属组ID
1
外键
FullName
姓名
50
Sex
性别
是/否
company
工作单位
255
phoneInCompany
办公电话
15
homeAdrress
住址
phineInHome
住宅电话
Mobile
手机
邮箱
msn
MSN
memory
备注
3.表关系结构
前台设计描述
数据描述
1.主窗口类CAddressListDlg,关联主用户界面,实现主要的程序逻辑。
主界面上的主要控件有:
IDC_TREE_LIST,IDC_STATIC,IDC_EDIT,IDC_BUTTON……。
2.CGroupInfo类
成员变量:
longm_id;
CStringm_groupName;
3.CPeople类
longm_groupId;
CStringm_fullName;
BOOLm_sex;
CStringm_company;
CStringm_phoneInCompany;
CStringm_homeAddress;
CStringm_phineInHome;
CStringm_mobile;
CStringm_mail;
CStringm_qq;
CStringm_msn;
CStringm_memory;
4.界面编辑信息数据结构
typedefstruct
{
CStringstrName;
boolbSex;
CStringstrCompany;
CStringstrPhoneInCompany;
CStringstrHomeAddress;
CStringstrPhoneInHome;
CStringstrMobile;
CStringstrMail;
CStringstrQq;
CStringstrMsn;
CStringstrMemory;
}INTERFACECTRLDATA;
主要功能实现函数
1.添加组
✧函数名OnButtonAppendgroup()
✧主要流程,用户点击“增加组”,输入新组名,选择确认/放弃,确认后,调用添加联系人组函数CappendNewGroupDialog:
:
OnOk()。
刷新。
✧流程图:
2.添加联系人
✧函数名OnButtonAppend()
✧主要流程,选择对应组输入新联系人信息,点击增加。
CheckInputInfo()验证输入的数据,检查输入是否合法。
如果没输入姓名,提示“输入姓名”;
如果输入姓名,未输入其他,提示“至少输入一项”。
输入合法,取得当前选定组,从界面获取数据。
如果组内有多余位置,正常执行插入语句;
如果组内无空位,则插入语句中添加nGroupId,执行插入语句。
断开与数据库连接,调用SwatchData()清空界面,刷新。
3.更新联系人
✧函数名OnButtonEdit()
✧主要流程,选择要更新的联系人,更新数据,点击更新。
通过CheckInputInfo()判断更新是否合法。
如果输入合法,取得界面数据,取得当前联系人ID,更新数据,断开数据库连接。
4.查询联系人信息
✧函数名OnOK()
✧主要流程,点击查询按键,输入要查询联系人,确认或放弃。
确认后,如果输入为空,则提示查询不能为空。
如果有输入,执行查询操作。
若查询对象不存在,返回空。
若查询对象存在,
获取所有数据。
如果只有一组数据,显示查询结果;
若存在重名,有多组数据,则通过gotoSEEKEND,逐条显示,确认是否显示下一条或放弃跳出循环。
断开与数据库连接。
5.删除联系人
✧函数名OnButtonRemove()
✧主要流程,选中要删除对象,如果是组,执行删除组操作。
如果是联系人,确认删除或放弃。
确认后,执行删除人方法REMOVEPEOPLE()。
6.删除组
✧主要流程,选中要删除组,如果是联系人,执行删除联系人操作。
选中组,确认删除或放弃。
确认后,若是【未分组】,提示【未分组】不能删除。
若是其他组,执行删除组方法。
7.通讯录的树形显示
✧函数名RefurTree()
✧主要流程,记录当前选中项,如果选中项是联系人,则保存组ID,人ID和hSelItem;
如果选中项是组,则保存组ID。
初始化Tree(InitTreeList();
)。
回复选中项。
补充:
8.树控件的选择项改变相应函数
✧函数名CAddressListDlg:
:
OnSelchangedTreeList()
✧所属类CAddressListDlg
✧主要流程,当用户在左侧的树控件中选中某一组时,程序关闭此前展开的组而打开当前选中的组;
而如果用户在左侧的树控件中选中的是一名联系人时,则在窗口右侧的区域中显示该联系人的详细信息
9.更新窗口控件值
SwitchData(),
在OnSelchangedTreeList()函数中调用
✧主要流程,将数据显示于窗口各控件中或从窗口控件中取得当前输入的值
✧
10.取得当前组ID
GetCurrentSelGroupId(),在OnButtonAppend()函数中调用
✧主要流程,取得当前的组ID,如果当前选中项为组,则通过GetItemData直接取得其组ID;
如果当前选中项为联系人,则先取得其父节点,即当前选中联系人所属的组节点,然后再取得其组ID
11.添加联系人组
✧函数名CAppendNewGroupDialog:
OnOK()
✧所属类CAppendNewGroupDialog
✧主要流程,从界面取得用户设定的组名,并检查组名是否为空,然后以输入的组名为查询条件查询当前系统中是否已存在该组名。
如果组名不存在,则调用类CGruopInfo的AddNew方法添加一条新纪录,并将新组名赋予CGruopInfo的数据成员m_groupName,最后通过Update方法提交新纪录到数据库中
12.删除组
RemoveGroup(),
在OnButtonRemove()函数中调用
✧主要流程,将参数传入的组ID对应的组从数据库中删除,其执行机理类同于RemovePeople。
在数据库设计阶段,由于设定表gruopInfo与表people之间的关系时,选中了“级联删除相关记录”,所以函数RemovePeople删除参数传入的组ID对应的组时,在表people中所有属于该组的记录也讲被全部删除。
(提示:
由此可以设计专门的测试用例,查看是否级联删除;
以及在数据库设计中加以补充)
处理过程描述和关键技术
1.CRecordSet派生类与ODBC的关联,VC数据库类通过成员函数跟ODBC进行关联,进而操作后台数据库的。
CStringCPeople:
GetDefaultConnect()
return_T("
ODBC;
DSN=address"
);
}
2.VC中SQL语句的执行的标准步骤是,定义一个SQL语句原型,并且规范化格式,之后调用相关的接口函数实现对数据库的操作,如:
联系人信息查询的关键语句:
strSql.Format("
SELECT*FROMpeopleWHEREfullName='
%s'
\
ORDERBYgroupIdDESC,id"
strPeopleName);
people.Open(AFX_DB_USE_DEFAULT_TYPE,strSql);
插入联系人信息的关键语句:
strFormat="
INSERTINTOpeople(fullName,sex,company,
phoneInCompany,homeAddress,phineInHome,mobile,mail,qq,msn,memory)VALUES('
%d,'
'
)"
;
strSql.Format(strFormat,
interfaceCtrlData.strName,
interfaceCtrlData.bSex,
interfaceCtrlData.strCompany,
interfaceCtrlData.strPhoneInCompany,
interfaceCtrlData.strHomeAddress,
interfaceCtrlData.strPhoneInHome,
interfaceCtrlData.strMobile,
interfaceCtrlData.strMail,
interfaceCtrlData.strQq,
interfaceCtrlData.strMsn,
interfaceCtrlData.strMemory);
}
database.ExecuteSQL(strSql);
3.通讯录的树形显示技术
使用“树”控件的成员函数GetItemData和GetChildItem,先显示选中的根节点,判断如果有叶子节点则继续显示叶子节点,一直到最后一个叶子节点显示完成。
设计语言描述
C语言,采用MFC进行对话框程序开发,其中对于数据库的访问采用嵌入式SQL语句。
注释
测试准备
测试指南
对于每个模块,分别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 详细 设计 报告 概要
![提示](https://static.bdocx.com/images/bang_tan.gif)