文档库 最新最全的文档下载
当前位置:文档库 › 通讯录详细设计报告

通讯录详细设计报告

通讯录详细设计报告
通讯录详细设计报告

软件测试实训-2

详细设计报告

项目名称: 通讯录管理系统(CS04)

负责人:

日期:

注:(按照书上的顺序,每个项目一个编号,附在项目名称后面,如三角形问题CS01)

详细设计说明书

作用范围

该详细设计说明书讨论的是“通讯录管理系统”各模块的详细设计。

系统目标

1.后台数据库设计,后台需要建立Adrress数据库,维护两个

表groupInfo和people。并且利用windows的ODBC和前台连

接。

2.前台使用MCF 的CRecordset派生类实现和后台通讯。

3.前台利用CDialog派生类实现用户界面,显示系统信息,接

受用户的输入和结果显示。

后台数据库设计

1.组信息表groupInfo结构

2.联系人信息表people结构

3.表关系结构

前台设计描述

数据描述

1.主窗口类 CAddressListDlg,关联主用户界面,实现主要的程

序逻辑。主界面上的主要控件有:

IDC_TREE_LIST,IDC_STATIC,IDC_EDIT,IDC_BUTTON……。

2.CGroupInfo类

成员变量:

long m_id;

CString m_groupName;

3.CPeople类

成员变量:

long m_id;

long m_groupId;

CString m_fullName;

BOOL m_sex;

CString m_company;

CString m_phoneInCompany;

CString m_homeAddress;

CString m_phineInHome;

CString m_mobile;

CString m_mail;

CString m_qq;

CString m_msn;

CString m_memory;

4.界面编辑信息数据结构

typedef struct

{

CString strName;

bool bSex;

CString strCompany;

CString strPhoneInCompany;

CString strHomeAddress;

CString strPhoneInHome;

CString strMobile;

CString strMail;

CString strQq;

CString strMsn;

CString strMemory;

}INTERFACECTRLDATA;

主要功能实现函数

1.添加组

?函数名 OnButtonAppendgroup()

?主要流程,用户点击“增加组”,输入新组名,选择确认/放弃,

确认后,调用添加联系人组函数

CappendNewGroupDialog::OnOk()。刷新。

?流程图:

2.添加联系人

?函数名OnButtonAppend()

?主要流程,选择对应组输入新联系人信息,点击增加。

CheckInputInfo()验证输入的数据,检查输入是否合法。如果

没输入姓名,提示“输入姓名”;如果输入姓名,未输入其他,提示“至少输入一项”。输入合法,取得当前选定组,从界面

获取数据。如果组内有多余位置,正常执行插入语句;如果组

内无空位,则插入语句中添加nGroupId,执行插入语句。断开

与数据库连接,调用SwatchData()清空界面,刷新。

?流程图:

3.更新联系人

?函数名OnButtonEdit()

?主要流程,选择要更新的联系人,更新数据,点击更新。通过

CheckInputInfo()判断更新是否合法。如果没输入姓名,提示“输入姓名”;如果输入姓名,未输入其他,提示“至少输入一项”。如果输入合法,取得界面数据,取得当前联系人ID,更新数据,断开数据库连接。

4.查询联系人信息

?函数名OnOK()

主要流程,点击查询按键,输入要查询联系人,确认或放弃。

确认后,如果输入为空,则提示查询不能为空。如果有输入,执行查询操作。若查询对象不存在,返回空。若查询对象存在,获取所有数据。如果只有一组数据,显示查询结果;若存在重名,有多组数据,则通过goto SEEKEND,逐条显示,确认是否显示下一条或放弃跳出循环。断开与数据库连接。

5.删除联系人

?函数名OnButtonRemove()

?主要流程,选中要删除对象,如果是组,执行删除组操作。如

果是联系人,确认删除或放弃。确认后,执行删除人方法REMOVEPEOPLE()。刷新。

6.删除组

?函数名OnButtonRemove()

?主要流程,选中要删除组,如果是联系人,执行删除联系人操

作。选中组,确认删除或放弃。确认后,若是【未分组】,提示【未分组】不能删除。若是其他组,执行删除组方法。

7.通讯录的树形显示

?函数名RefurTree()

?主要流程,记录当前选中项,如果选中项是联系人,则保存组

ID,人ID 和hSelItem;如果选中项是组,则保存组ID。初始化Tree(InitTreeList();)。回复选中项。

补充:

8.树控件的选择项改变相应函数

?函数名CAddressListDlg::OnSelchangedTreeList()

?所属类CAddressListDlg

?主要流程,当用户在左侧的树控件中选中某一组时,程序关闭

此前展开的组而打开当前选中的组;而如果用户在左侧的树控件中选中的是一名联系人时,则在窗口右侧的区域中显示该联

系人的详细信息

9.更新窗口控件值

?函数名CAddressListDlg::SwitchData (),

在OnSelchangedTreeList()函数中调用

?所属类CAddressListDlg

?主要流程,将数据显示于窗口各控件中或从窗口控件中取得当

前输入的值

?

10.取得当前组ID

?函数名CAddressListDlg::GetCurrentSelGroupId (),在

OnButtonAppend ()函数中调用

?所属类CAddressListDlg

?主要流程,取得当前的组ID,如果当前选中项为组,则通过

GetItemData直接取得其组ID;如果当前选中项为联系人,则先取得其父节点,即当前选中联系人所属的组节点,然后再取得其组ID

?

11.添加联系人组

?函数名CAppendNewGroupDialog::OnOK ()

?所属类CAppendNewGroupDialog

?主要流程,从界面取得用户设定的组名,并检查组名是否为空,

然后以输入的组名为查询条件查询当前系统中是否已存在该

组名。如果组名不存在,则调用类CGruopInfo的AddNew方法

添加一条新纪录,并将新组名赋予CGruopInfo的数据成员

m_groupName,最后通过Update方法提交新纪录到数据库中

?流程图:

12.删除组

函数名CAddressListDlg::RemoveGroup (),

在OnButtonRemove ()函数中调用

?所属类CAddressListDlg

?主要流程,将参数传入的组ID对应的组从数据库中删除,其

执行机理类同于RemovePeople。在数据库设计阶段,由于设定表gruopInfo 与表people之间的关系时,选中了“级联删除相关记录”,所以函数RemovePeople删除参数传入的组ID对应的组时,在表people中所有属于该组的记录也讲被全部删除。

(提示:由此可以设计专门的测试用例,查看是否级联删除;以及在数据库设计中加以补充)

处理过程描述和关键技术

1.CRecordSet派生类与ODBC的关联,VC数据库类通过成

员函数跟ODBC进行关联,进而操作后台数据库的。

CString CPeople::GetDefaultConnect()

{

return _T("ODBC;DSN=address");

}

2.VC中SQL语句的执行的标准步骤是,定义一个SQL语

句原型,并且规范化格式,之后调用相关的接口函数实

现对数据库的操作,如:

联系人信息查询的关键语句:

strSql.Format("SELECT * FROM people WHERE fullName='%s' \

ORDER BY groupId DESC, id",

strPeopleName);

people.Open(AFX_DB_USE_DEFAULT_TYPE, strSql);

插入联系人信息的关键语句:

strFormat = "INSERT INTO people(fullName, sex, company,

phoneInCompany, homeAddress, phineInHome, mobile, mail, qq, msn, memory) VALUES('%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')";

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语句。

注释

测试准备

测试指南

对于每个模块,分别选定,进入独立的对话框进行测试,对每种控件分别构造测试用例,保证正常值和异常值都被测试。考量分为两

个方面:一、数据库中数据文件应对相应操作做修改;二、窗口中的列表做相应更新。异常值可能情况有:输入值为空,输入错误,重复输入等等。

特殊考虑

1 添加联系人时,超过10人,可继续添加。

2 添加联系人时,若只输入【姓名】,则不提示错误;如果输入【姓名】、【工作单位】,则提示“至少输入一种联系方式”。

3 输入信息,不提示格式错误问题。

4 删除组操作,若组中无人,则删除不了组。

完整的开发文档数据库设计说明书

变更履历

目录 第一章引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3术语定义 (2) 1.4参考资料 (2) 第二章外部设计 (3) 2.1标识符和状态 (3) 2.2使用它的程序 (3) 2.3命名约定 (3) 2.4设计约定 (3) 第三章结构设计 (4) 3.1概念结构设计 (4) 3.2逻辑结构设计 (21) 3.3物理结构设计 (33) 第四章运用设计 (34) 4.1数据字典设计 ............................................... 错误!未定义书签。 4.2安全保密设计 ............................................... 错误!未定义书签。 4.3数据库实施 (34) 4.3.1创建数据库 (34) 4.3.2创建表 (34) 4.3.3添加参照完整性约束 ..................................... 错误!未定义书签。 4.3.4添加用户完整性约束 ..................................... 错误!未定义书签。 4.3.5添加索引 ............................................... 错误!未定义书签。 4.3.6创建视图 ............................................... 错误!未定义书签。 4.3.7插入测试数据 ........................................... 错误!未定义书签。

通讯录管理系统的设计与实现

课程设计报告 通讯录管理系的设计与实现 姓名:钟婷英 班级:计122 学号:1213023039 时间:2014年1月10日 1,问题描述 通讯录是用来记载和查询联系人通讯信息的工具,电子通讯录已经为手机,电子词典等设备中不可缺少的工具软件,请设计一个能够满足这种需求的软件,基本功能模块如下图所示。 输入:记录的录入。 显示:通讯录的显示。 查找:按指定方式,输入关键字,查找指定记录。 插入:实现记录的添加或在指定位置插入记录。 保存:将内存中正在被操作的通讯录以文件形式保存到磁盘。 读入:保存的逆操作,讲存在磁盘中的通讯录文件读到内存中。 排序:按指定关键字对通讯录数据进行排序。 修改:提供修改某条记录的功能。 移动:移动记录在通讯录中的存储位子,使其被查找或显示时的位序前移或后移。 退出:结束程序运行。 2,设计要求 (1)设计通讯录数据的逻辑结构和物理结构。 (2)通讯录至少包括下列数据信息:姓名,电话,单位等。 (3)完成图示基本功能。 (4)软件易用,操作简单。 (5)根据自己使用通讯录体会扩充其他功能,如按姓名查找,按号码查找,按序号删除等。 (6)设计足够多的测试用例 主程序 输 入 显示 查找 插入 删除 保存 读入 排序 修改 移动 退出

(7)数据输入有效性检验:如姓名不能为空,号码中不能有非法字符等。(8)提供分组管理的相关功能,如:分组显示,加入组,组创建,组查询等。(9)可视化的界面设计。 3,概要设计 1,使用struct data struct addressList定义结构体类型,struct data结构体中包括年月日的定义,strcut addressList中包括联系人ID账号,名字,性别,名族,生日,手机号码,QQ号码和家庭地址等。 struct date { int year; int month; int day; }; struct addressList { char ID[10]; char name[10]; char gender[4]; char minzu[2]; date birthday; char shoujihao[14]; char QQ[11]; char address[40]; }; 2,程序设计过程中用到的函数有: int zhujiemian( ); void tianjia(fstream & ); void xiugai(fstream & ); void shanchu(fstream & ); void chazhao(fstream & ); void liulan(fstream & ); int findRecord(fstream &, const char *); int getAmount(fstream & ); 3,整个程序用的是面向对象的方法,在主函数中调用各种函数,来实现通讯录的功能。在主函数中,使用的是c++语言中的开关语句(switch)用来选择通讯录的各种功能。

数据库设计说明书-模版

XXXX项目 数据库设计说明书

变更履历

第1章引言 (1) 1.1 编写目的 (1) 1.2 背景 (1) 1.3 术语定义 (1) 1.4 参考资料 (1) 第2章外部设计 (3) 2.1 标识符和状态 (3) 2.2 使用它的程序 (3) 2.3 约定 (3) 2.3.1数据库设计的范围 (3) 2.3.2 命名的总体规则及注意事项 (3) 2.3.3 数据模型设计工具要求 (4) 2.4 支持软件 (4) 第3章结构设计 (5) 3.1 物理结构设计 (5) 3.1.1 表空间物理存储参数 (5) 3.1.2 表空间SQL规程 (6) 3.1.3 数据库用户创建 (7) 3.1.4 数据库例程创建 (7) 3.1.5 角色授权 (7) 第4章运用设计 (8) 4.1 数据字典设计 (8) 4.1.1 表名的命名规范 (8) 4.1.2 表字段命名规范 (9) 4.2 安全保密设计 (9) 第5章风险评估 (10) 5.1 表汇总列表 (10) 5.2 实体关系图 (10) 5.3 表详细设计 (11) 第6章安全检查 ....................................... 错误!未定义书签。 6.1 表汇总列表 ..........................................错误!未定义书签。 6.1 实体关系图 ..........................................错误!未定义书签。 6.2 表详细设计 ..........................................错误!未定义书签。第7章绩效管理 ....................................... 错误!未定义书签。 7.1 表汇总列表 ..........................................错误!未定义书签。 7.2 实体关系图 ..........................................错误!未定义书签。 7.3 表详细设计 ..........................................错误!未定义书签。第8章安全响应、预警和管理............................. 错误!未定义书签。 8.1 表汇总列表 ..........................................错误!未定义书签。

通讯录管理系统课程设计报告完整版

通讯录管理系统课程设 计报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

设计课题题目 一、课程设计目的与要求 1.课程设计目的 (1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。 (2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main ()在程序设计中的实现思路和方法。 2. 课程设计要求 制作一个通讯录系统。 (1)该程序具有查找、添加、修改、删除功能。 (2)通讯录包括:姓名、电话、街道、城市、省、邮编等。 二、总体设计 根据系统的要求,系统总体设计如图1所示。 1

printf("\t--------------------\n"); printf("\t请您选择(0-7):"); scanf("%d",&c); }while(c>7&&c<0); return(c); } int Input(struct date per[10],int n) { int i=0; char sign,x[10]; while(sign!='n'&&sign!='N') { printf("\t姓名:"); scanf("%s",per[n+i].name); printf("\t电话号码:"); scanf("%s",per[n+i].phone); printf("\t电子邮箱:"); scanf("%s",per[n+i].email); printf("\tQQ:"); scanf("%s",per[n+i].QQ); gets(x); printf("\n\t是否继续添加?(Y/N)"); fflush(stdin); ame,per[i-1].phone,per[i-1].QQ,per[i-1].email); if(i>1&&i%10==0) { printf("\t-----------------------------------\n"); printf("\t"); system("pause"); printf("\t-----------------------------------\n"); } } printf("----------------------------------------------------------------------\n"); system("pause"); } int Delete_a_record(struct date per[10],int n) { char s[20]; int i=0,j; printf("\t请输入想删除记录中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i

班级通讯录管理系统课程设计报告

高级语言程序设计(1)课程设计 专业班级学号 姓名完成日期指导教师: 1.程序设计说明书 【设计题目】班级通讯录管理系统 【问题描述】 信息1002班上学生的通讯基本信息包含姓名、电话号码、QQ号和宿舍号。对信息1002班学生的基本通讯信息进行统一整理,并可以按电话号码或姓名等查到学生个人基本通讯信息。可以显示所有的通讯记录,并对现有的通讯记录进行修改和增删等处理。【基本要求】 1.通过此软件可以直接录入各个学生的基本通讯信息,并且会将所有信息自动保存 到磁盘上。 2.通过此软件可以直接对已录入的各个学生的通讯基本信息进行修改,并且修改完 成后会将更改后的信息情况自动保存到原磁盘文件中。 3.通过此软件可以直接对信息1002班每个同学的基本信息情况进行查询。 【算法思想】 1.根据要求,通讯录数据以文本文件存放在文件中: 2.需要提供文件的输入输出的等操作: 3.还需要保存记录已进行修改,删除,查找的操作: 4.另外还需提供键盘式选择菜单实现功能的选择。 【总体设计】 图1系统功能模块图 【详细设计】 主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 【程序】

图2.主函数流程图 Voidmenu()/*主界面*/ { intn,w1; voidenter();voidadd();voidmodify();voidbrowse();voiddelete();voidsearch(); do { puts("\t*******菜单**************\t\n\n"); puts("\t\t\t\t1.新建联系人"); puts("\t\t\t\t2.添加联系人"); puts("\t\t\t\t3.修改"); puts("\t\t\t\t4.删除"); puts("\t\t\t\t5.浏览"); puts("\t\t\t\t6.查找"); puts("\t\t\t\t7.退出"); puts("\n\n\t*****信息1002班通讯录*************\t\n"); printf("请选择服务种类(1-7):[]\b\b"); scanf("%d",&n); if(n<1||n>7) {w1=1;getchar();} elsew1=0; }while(w1==1); switch(n) { case1:enter();break;/*输入模块*/ case2:add();break;/*添加模块*/ 【模块流程图】 main函数

通讯录系统设计说明书

通讯录系统设计说明书(不少于2500字) 一、设计思想 通讯录管理系统是每一个用户管理通讯录的不可缺少的一个管理信息系 统,它的内容对于用户的管理者来说是至关重要的,所以通讯录管理系统应 该能够为每一个用户的管理者提供充足的信息和快捷的查询手段,大大的方便用户合理的管理通讯录。 作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理 所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高通讯录管理的效率,也是用户理财的科学化、正规化管理,与先进科学技术接轨的重要条件。 开发这一系统的好处大约有以下几点: 第一、可以存储大量的通讯录信息,安全、高效; 第二、只需一档案录入员即可操作系统,节省人力; 第三、可以迅速查到所需通讯录信息。 二、系统架构及运行环境 系统架构: 运行环境: 1、操作系统:Microsoft Windows Server 2008,Windows XP,Windows 7,Windows 8,Windows 10 2、技术平台:.Net Framework 3.5 三、系统数据库介绍 用户:用户名,密码 联系人:联系电话,姓名,工作单位,电子邮件,头像 用户登录

联系人 数据库表结构:登录表

联系人表 四、系统功能模块介绍 本系统由1个功能模块(主界面)和5个表单(新增联系人,删除联系人,修改联系人信息,视图,搜索联系人)组成。 主要功能: (1)录入所有通讯人员的相关信息,当单击新增按钮时,就会弹出

增加信息的窗体。 (2)修改当前记录:当选择功能菜单时,会出现一个新用户界面对话框用户根据对话框提示进行当前记录的数据的修改直到修改完所有的信息 (3)删除记录:当用户选择要删除人员的姓名即可删除 (4)查询记录:本程序可以通过姓名、电话进行查询。 五、系统主要功能模块详细设计及实现 登录窗体

C通讯录管理系统的设计与实现

C通讯录管理系统的设计 与实现 The latest revision on November 22, 2020

目录

通讯录的设计与实现 摘要 随着互联网的不断发展,互联网对我们生活产生的影响越来越大。在日常的生活中,我们需要接触很多不同的人,如何运用互联网技术实现朋友圈通讯录的管理呢这是我们日常生活中经常要面临的问题。本次毕业设计中设计的通讯录管理系统既可以实现对通讯录进行管理,在本地进行通讯录的增加、修改、删除、更新等操作。本次设计的通讯录管理系统主要是了解通讯录管理系统的业务逻辑,熟悉通讯录管理系统的实现方式,模拟了真实的通讯录管理软件,为后续相关内容的学习打下了坚实的基础。 通讯录管理系统是一个专门针对少用户的实用系统,它方便了大家对众多信息的储存和快速查询的功能,大大减少了查找过程的时间,是一个比较实用的通讯录管理系统,。对我们后续学习移动端的通讯录管理也会有很大的帮助。 本设计使用的计算机语言是C++,C++语言是在C语言的基础上作了进一步的强化。C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它的应用范围广泛,具备很强的数据处理能力。作为C语言家族的一种,C++也具备了C 语言所具有的优点,并对其进行了优化封装,是开发者更容易操作运用,所以本次课程设计采用了C++作为系统的开发语言。本通讯录管理系统的主要功能有:建立通讯录的链表、插入通讯录信息、查询通讯录信息、删除通讯录信息,输出通讯录信息,保存到通讯录信息。采用的是面向过程的方法,封装函数功能,调用各个功能函数来实现系统的各个功能。

关键词 通讯录;链表;类; 第一章绪论 课题背景 随着市场经济的发展和人们生活水平的提高,互联网技术也在不断地取得新的成果,近些年移动通讯软件层出不穷,人与人之间的联系越来越便捷,这也使得同时与许多人保持联系成为生活中不可或缺的一部分,而单纯的依靠人脑已经很难记住所有人的联系方式,使用传统的纸面方式记录联系人信息时,在联系人比较多时查找将非常的困难。因此,本设计实现的通讯录成为了许多人保持联系方式的首选。当前在许多软件中都附带了通讯录功能,部分手机及一些手机软件也提供了功能不一的通讯录功能,一定程度上说明了通讯录对我们工作生活的重要性。 目的和意义 本毕业设计可以加深对课堂理论学习的理解,增强动手能力,培养了学生合作的能力,为以后的工作学习打下了坚实的基础。在计算机领域中,信息管理系统是我们在学习和生活中比较常见的系统,通过对通讯录管理系统的业务逻辑进行分析,可以很好的理解信息管理系统的业务逻辑,由于市面上绝大部分的信息管理系统的业务逻辑都存在共性,所以通过通讯录管理系统的设计,可以很好地掌握市面上很多的通讯录管理系统的业务逻辑。同时,通讯录系统也是计算机理论学习过程中最常见的信息管理系统之一,通过对该系统的设计与实现,也可以很好地锻炼学生的实践能力,以及培养学生的计算机逻辑思维。 本系统最求简洁、实用、方便等一些实用性的功能,新建模块上可以实现多添加;查询模块可以根据姓名、性别和电话号码查询,以方便管理员查询自己想要的信息;删除模块上,管理员可以根据自己不想要的或者过时的信息进

数据结构通讯录管理系统的设计与实现

课程设计报告 课程设计名称:数据结构课程设计 系:三系 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间:2011-2012学年一学期 宿迁学院 课程设计任务书 课程名称:数据结构 指导教师: 专业班级: 学生姓名: 起止日期: 设计题目一:通讯录管理系统的设计与实现

1 概述 现状分析 课程设计是实践教学中的重要环节,它以某一门课程为基础,涉及和课程相关的各方面知识,是一门独立于课程外的特殊课程。课程设计就是让所有同学对课程更全面的应用。本次实验项目“通讯录管理”就是针对数据结构的一门应用较为广泛的系统管理方法。 实现意义 本次实验应用性能很好,结构清楚,能随时添加、删除、查找、修改、输出联系人;并且可以用姓名、编号两种方式;而且其中增加了排序功能,使得插入之后排序为接下来的操作提供便利,操作更精确,以人性化的方式展现出来,效果十分突出。 2 系统分析 编程完成通讯录的一般性管理工作如通讯录中记录的增加、修改、查找、删除、输出等功能。每个记录包含编号、姓名、性别、电话号码、住址个人基本信息。用《数据结构》中的链表做数据结构结合c语言基本知识编写一个通讯录管理系统。本程序相对简单,使用方便,几乎不用特殊的命令,只需按提示输入即可。对于建立通讯录管理系统,则需了解并掌握数据结构与算法的设计方法,尤其在算法方面,链表及结点的联系,提高综合运用所学的理论知识和方法独立分析和解决问题的能力。 3 概要设计 算法的设计 本实验从整体上分为七大模块:(1)通讯录链表的建立;(2)通讯者结点的插入;(3)通讯者结点的查询;(4)通讯者结点的删除;(5)通讯者结点的修改;(6)通讯录链表的输出;(7)退出通讯录管理通讯者结点的删除系统。 通讯录系统图 系统功能模块图如图所示:

通讯录管理系统课程设计报告书(C语言)

二〇〇八~ 二〇〇九学年第二学期 信息科学与工程学院课程设计报告书 课程名称:C语言课程设计 班级: 学号: 姓名:薛其乐 指导老师:

二〇〇九年九月 通讯录管理系统 一.需求分析 设计题目及要求: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子 邮箱等; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 系统功能需求分析: 主要包含一下多种功能: 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件 二.概要设计 系统功能模块图:

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。 显示:可以以表格形式输出所有通讯录里的记录 删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询 修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改 保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件 三.详细设计 (1).通讯录: typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/

char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person; void main() /*主函数*/ { int n=0; for(;;) { switch(menu_select()) { case 1: printf("\n\t添加记录到通讯录\n"); /*添加记录*/ n=Input(pe,n); break; case 2: printf("\n\t\t\t 通讯录记录表\n"); /*显示记录*/ Display(pe,n); break; case 3: printf("\n\t从通讯录中删除记录\n");

数据库详细设计说明书

修正&标记表 文档变更历史 日期作者版本变更描述 2011-05-28 舒睿V01 数据库说明书创建 2011-06-13 舒睿V01.1 数据库各表功能说明创建 2011-06-20 舒睿V02 数据库各项细节功能完成 审核结果 审核人通过版本审核认职位日期 文档属性 项目描述 文档名称功能说明书 作者舒睿 创建日期5/28/2011 最后更新日期 1.1目的 本文为图书馆管理课程设计SQL Server功能规范说明书。本说明书将: ●描述数据库设计的目的 ●说明数据库设计中的主要组成部分 ●说明数据库设计中各功能的实现 1.2内容 本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象直接的关系)。本文档中包含对以下数据库内容的描述: ●数据表 ●视图 ●存储过程 ●触发器

●约束 在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。 1.3与其他项目的关联 本项目的数据库设计与本项目(Web部分和Windows部分)功能密切相关。本案例项目的数据库将按照项目程序部分的功能需求而设计,数据库设计将配合设计案例的程序部分,以实现一个功能完备的真实环境内的应用。 表 1.4表设计概述 根据设计的系统功能,数据库将以图书信息为中心存储相关数据,配合SQL Server 数据库系统中提供的数据管理,实现图书的借阅、归还、续借及系统设置等业务功能。 数据库设计将以存储读者信息的读者表为基础,连接多张相关表以实现对以下关系的支持: ●读者借书记录 ●读者还书记录 ●读者续借记录 ●读者罚款记录 ●读者对图书的评价 ●读者对图书和图书馆的建议及留言 数据库系统主要的实体关系如图0-1所示。

通讯录详细设计说明书

通讯录管理系统 详细设计说明书 组员: 1210431107 孟磊(项目组长) 1210431119 张静 1210431039 左依婷 1210431041 王庆喜 1210431075 杨江峰 12级计算机软件一班

目录 1.引言 1.1编写目的 1.2 背景 1.3 定义 1.4 参考材料 2.程序系统的结构 2.1 运行环境 2.2 系统组织结构 3. 程序主要模块设计说明 3.1 程序描述 3.2 主要功能模块设计 3.3 性能 3.4 输入输出 3.5 算法 3.6 流程逻辑 3.7 接口 3.8 存储分配 3.9 注释设计 3.10 测试设计 3.11 限制条件 3.12 尚未解决的问题

1引言 1.1编写目的 本文档将对通讯录系统软件开发的详细设计进行描述,本文档的读者是项目策划、设计和评审人员。 1.2背景 本项目作为《软件文档写作》课程的训练项目提出,将学生分成若干项目开发小组进行管理。希望学生通过通讯录系统软件设计开发,了解软件文档的相关标准和编写原则,训练并掌握软件各类文档写作的技巧,同时提高学生使用Java 开发应用程序的能力。 本项目的名称:通讯录管理系统 本项目的提出者:指导老师 本项目的开发者:本小组 项目需求方:日常管理 用户:管理员 1.3定义 通讯录管理系统名称 1.4参考资料 《开发要求说明》.《软件需求说明书》。《概要设计说明书》。

2程序系统的结构 2.1运行环境 (1) 设备 硬件最低要求:CPU PⅢ以上PC服务器,内存32MB以上,硬盘15MB以上。 (2) 支持软件 操作系统:Windows 98,Windows NT、Windows 2000、Windows XP,Windows Server 2003等能 3程序主要模块设计说明 3.1 程序描述 给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?是顺序处理还是并发处理等)。 3.2 主要功能模块设计 (1) 打开通讯录系统显示欢迎界面:具体实现函数 (2) 菜单处理函数管理程序的用户界面操作,用户通过提示选择想要进行的操作:具体实现函数

学生通讯录管理系统的设计与实现

学生通讯录管理系统的设计与实现

学生通讯录管理系统的设计与实现 问题描述: 纸质的通讯录已经不能满足实际需求,容易丢失,查找困难等问题是纸质通讯录所不能克服的缺点。“学生通讯录管理系统”是为了帮助老师、同学,或者其它一些需要使用的通讯录的人员进行管理和应用的一种应用程序。 需求分析: 1)输入数据建立通讯录。 2)查询通讯录中满足要求的信息。 3)插入新的通讯录信息。 4)删除不需要的通讯录信息。 5)查看所有的通讯录信息。 主界面设计要求: 1)通讯录的建立 2)插入通讯录记录 3)查询通讯录记录 4)删除通讯录记录 5)显示通讯录记录 6)退出系统 设计要求: A.建立通讯录时,每个学生的信息包括:学号,姓名,电话。

B.查找时,学号、姓名、电话均能够作为查询字段。 C.查看所有的通讯录信息时,所有记录需要时有序的(按学号排序,按姓名排序(字典序),按电话号码排序)。 D.存储结构:要求使用顺序存储结构。 E.数据使用:使用本班级的具体信息。 需求分析: 本次设计目的是学生信息管理系统,可存入每个学生的基本信息,所有学生信息都可根据名字、学号、电话、邮箱进行查询,也都能够根据这四个基本信息检索到一个学生并删除其数据。输入形式:student.txt,以文件形式进行输入。 输出形式:根据不同的输入进行不同的操作。 达到功能:能插入一个学生的信息,能删除一个学生的信息,能查询一个学生的信息。 测试数据:班上70个同学的基本数据。 概要设计: 数据类型:顺序链表 ArrayList类 学生数据结构:StuData类包含name、id、phone、email四个String基本类型。 所有操作写在Structure中,包含insert、remove、query、printAll。 Main函数用Java标准输入,循环输入,用switch判断输入进行

通讯录管理系统课程设计报告书(C语言)[1]

开放教育 课程设计报告书 课程名称:通讯录管理系统 班级:综合邮政07秋 学号: 0 姓名:王芬 指导老师:高海东

通讯录管理系统 一.需求分析 设计题目及要求: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子 邮箱等; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 系统功能需求分析: 主要包含一下多种功能: 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件 二.概要设计 系统功能模块图:

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。 显示:可以以表格形式输出所有通讯录里的记录 删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询 修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改 保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件 三.详细设计 (1).通讯录: typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person;

个人通讯录管理软件功能设计说明书

个人通讯录管理软件功能 设计说明书 一.系统名称 个人通讯录管理 二.系统分析 2.1系统需求分析 个人通讯录模型可以参考流行的腾讯QQ聊天软件,同时结合手机里面的通讯录进行设计。在此阶段初步确定系统的要实现的基本功能即联系人和分组的增删改、联系人信息的多种查询以及数据库设计构型即采用哪种数据库、大致由哪些基本表组成。 2.2概念结构设计 采用E—R图的设计方法进行数据库的概念结构 由图可得:数据库主要是联系人表,表的基本结构如下: 联系人表(、职务、职称、工作单位、通讯地址、邮政编码、单

位、住宅、分编特征) 联系人表中,主键是分编特征; 2.3逻辑结构设计 在完成以上分析后,要对数据库进行表结构的设计,这里仅以表字段数据结构的为重点。 各表列出对应子段名,各字段长度,是否Null、默认值见其下图,根据数据库基础知识分析,各表设计都达到了第三式,符合数据库的设计规。 联系人表:,xm;职务,zw;职称,zc;工作单位,gzdw;通讯地址,xxdz;邮政编码,yzbm;单位,dwdh;住宅,zzdh;分编特征,fbtz; 表的索引,主键,外键关系约束如下: 三.系统主要功能及界面设计 3.1功能简介: 1、该软件应具有对通讯录信息的增加、删除、保存、查询、排序、

打印等功能。 2、以单文档界面和多文档界面两种形式实现。 3、该软件应包括数据窗口技术、用回车键实现TAB键功能、多条件查询、多文档界面的实现、窗口之间的参数传递、结构的应用、图片的使用等主要技术 3.1.2信息查询模块: 1该功能模块包含查找方式是:按照查找,按照分编特征查找,按照地址查找。只要输入,分编特征,地址,就可以立马找到联系人的信息。 2查找的优势:在查找的下方可以清晰的看到查找的联系人的信息在通讯录中的具体位置,包括其所在的行和列。 3.1.3.系统管理模块:该功能模块包含: 1新增联系人信息,包括,职务,职称,工作单位,通讯地址,邮政编码等。 2打印:打印联系人相关信息包括,职务,职称,工作单位,通讯地址,邮政编码等。 3删除:删除联系人相关信息包括,职务,职称,工作单位,通讯地址,邮政编码等。 4设置:设置联系人信息即更改其信息包括,职务,职称,工作单位,通讯地址,邮政编码等。 5保存通讯录信息包括,职务,职称,工作单位,通讯地址,邮政编码等。

通讯录管理系统的设计与实现

数据结构实验报告 实验名称:通讯录管理系统的设计与实现 试验时间:2011.1.13 班级:姓名 学号: 指导老师:1.问题描述: 通讯录是用来记录,查询联系人通讯信息的工具。电子通讯录已成为手机,电子词典等电子设备中不可缺少的工具软件。设计一个能够,满足这种需求的软件。 基本功能模块:输入,显示,查找,插入,删除,保存,读入,排序,修改,移动,退出。 2.设计要求: (1)基本要求 1.设计通讯录数据的逻辑结构和物理结构。 2.通讯录至少包含下列数据信息:姓名,电话,地址等。 3.完成图示基本功能。 4.软件易用,操作简单。 5.根据自己使用通讯录的体会,扩充其他功能,如按姓名查找,按学 号查找,按序号查找等。 (2)较高要求 1.数据输入有效性检验:如姓名不能为空,号码中不能有非法字符等。 2.提供分组管理的相关功能,如:分组显示,加入组,组创建,组查 询等。 3.可视化的界面设计。 3.测试案例:

请输入您的选择(0--6): 1 分别输入编号,姓名,性别,电话,地址(输入0 结束通信录的建立): 编号:01 姓名:张三 电话:152****1919 地址:2-222 编号:0 请输入您的选择(0--6): 2 编号:01 姓名:张三 电话:152****1919 地址:2-222

是否继续添加?(Y/N):N 请输入您的选择(0--6): 3 请选择查询的方式(1 编号,2 姓名):1 请输入编号:01 编号:01 姓名:张三 电话:152****1919 地址:2-222 请问是否继续查询?(Y/N):N

请输入您的选择(0--6): 4 输入删除编号:01 删除学生信息如下: 编号:01 姓名:张三 电话:152****1919 地址:2-222 请输入您的选择(0--6): 5 通讯录的全部信息如下: *****编号*****姓名*****性别*****电话*****地址*****

通讯录设计报告

C程序设计报告 系(部、中心) 姓名学号 专业班级 课程名称 设计题目名称 起止时间 成绩 指导教师签名

目录 第1章题目与要求 (3) 1.1 基本要求(及格 (3) 1.2 高级要求(加分)... (3) 第2章用户需求分析 (3) 2.1 功能需求 (3) 第3章设计方案 (3) 3.1设计思路 (3) 3.2功能设计 (3) 第4章实施方案 (4) 第5章软件调试 (5) 5.1 错误介绍 (5) 5.2 错误分析及解决方案 (5) 第6章程序流程图及结构说明 (6) 第7章程序清单 (7) 第8章效果展示 (18)

第1章题目与要求 本次程序设计实践的题目是《通信录管理系统的设计》。 1.1基本要求(及格) (1)使用C语言,设计一个字符界面并带有菜单的通信录管理系统,每个记录中应包含:姓名、性别、年龄、联系电话、电子邮箱等项目。 (2)最大记录数:100。 (3)程序基本功能:显示记录、添加记录、删除记录。 1.2高级要求(加分) (1)以多文件方式设计该程序。 (2)对程序中的数据类型进行自定义(为方便程序的阅读和管理,定义自己的类型名)。 (3)能将该通讯录制作成文件保存于磁盘。 第2章用户需求分析 2.1 功能需求 通过《程序设计实践I(能源11-12)》指导书中的相关要求,以及参考程序流程图的基本程序的框架,同时用户需求的基本功能,要求系统需要有以下功能:(1)有菜单选择界面; (2)联系人信息修改简单方便,支持多种方式的修改; (3)方便的联系人信息查询,支持多种方式的查询; (4)联系人信息查看功能能供用户详细的查看; (5)退出时若用户更改了联系人相关信息或添加、删除联系人时,会提示用户联系人信息已更改是否保存; (8)有动态的开始界面。 第3章设计方案 3.1 设计思路 为了更好地实现上述内容,此程序采用了结构体、链表,来处理联系人的数据。结构体能够包含联系人的各项信息,如姓名、家庭地址、电话号码等,克服了数组只能包含同种类型的数据的缺点。链表数据的存放不需要连续的内存,相对于结构体数组减少了内存空间的浪费。利用fopen等函数创建文件、保存文件数据等,实现退出程序后联系人的数据能够保存,方便以后的查看、添加、修改等动作。采取多文件的方式,能够更好地对程序进行维护调试。 3.2 功能设计

系统数据库设计说明书

期末考核设计报告 课程名称:软件工程 题目:航空订票系统 专业班级:17计科本4班 学号:17401085 学生姓名:刘梅 指导教师:朱婕 2019年11月20日

期末考核任务书 课程名称:软件工程 设计题目:航空订票系统 专业:计算机科学与技术班级:17计科本4班完成时间:2019年11月指导教师:朱婕

期末考核成绩评定表

航空订票系统数据库设计说明书 编写人:刘梅

目录 1引言 (1) 1.1编写目的 (1) 1.2项目背景 (1) 2数据库外部设计 (2) 2.1标识符和状态 (2) 2.2支持软件 (2) 2.3 数据完整性设计 (2) 2.4 数据规范性设计 (2) 3数据库结构设计 (4) 3.1概念结构设计 (4) 3.2逻辑结构设计 (6) 3.3表结构设计 (8) 3.3.1表user (9) 3.3.2 表administrator (9) 3.3.3 表flight (9) 3.3.4 表ticket (9) 参考文献 (10)

1引言 1.1编写目的 本文档说明了航空订票系统项目的数据库设计,用于指导该系统在数据库存储各方面的内容,为系统设计员及开发的程序员作为基准文档。 该文档的预期读者是该项目的系统设计员及程序员。 在下一阶段的详细设计及编码中,程序设计人员可参考此数据库设计说明,在数据模型设计的基础上,对系统进行详细设计和编码。在以后的软件测试以及软件维护阶段也可参考此说明书,以便在修改时找出在本阶段设计的不足或错误。 1.2项目背景 开发软件名称:航空订票系统 委托单位:武汉工商学院 开发单位:205 主管部门:205 信息管理技术作为当今计算机最广泛的应用,已经渗透到软件系统的方方面面,该航空订票系统在社会上运用广泛,航空市场的不断扩大,飞机现已成为大部分人选择的出行工具,航空订票系统也成为了重要的系统。这可以适应现在的快速发展,管理大量的数据,并且具有一定稳定性,实现现代化的信息管理。

通讯录详细设计报告

软件测试实训-2 详细设计报告 项目名称: 通讯录管理系统(CS04) 负责人: 日期: 注:(按照书上的顺序,每个项目一个编号,附在项目名称后面,如三角形问题CS01)

详细设计说明书 作用范围 该详细设计说明书讨论的是“通讯录管理系统”各模块的详细设计。 系统目标 1.后台数据库设计,后台需要建立Adrress数据库,维护两个 表groupInfo和people。并且利用windows的ODBC和前台连 接。 2.前台使用MCF 的CRecordset派生类实现和后台通讯。 3.前台利用CDialog派生类实现用户界面,显示系统信息,接 受用户的输入和结果显示。 后台数据库设计 1.组信息表groupInfo结构 2.联系人信息表people结构

3.表关系结构

前台设计描述 数据描述 1.主窗口类 CAddressListDlg,关联主用户界面,实现主要的程 序逻辑。主界面上的主要控件有: IDC_TREE_LIST,IDC_STATIC,IDC_EDIT,IDC_BUTTON……。 2.CGroupInfo类 成员变量: long m_id; CString m_groupName; 3.CPeople类 成员变量: long m_id; long m_groupId; CString m_fullName; BOOL m_sex; CString m_company; CString m_phoneInCompany; CString m_homeAddress; CString m_phineInHome; CString m_mobile; CString m_mail;

通讯录管理系统的设计与实现

大连民族大学 计算机科学与工程学院实验报告 实验题目: 1. 学生信息管理系统的设计与实现 2. 暴力算法在旅行商问题中的应用 课程名称:信息系统开发案例 实验类型:□演示性□验证性□操作性□设计性 综合性 专业:软件工程班级:144 学生姓名:赵耀学号:2014082430 实验日期:2017年3月6日—4月27日 实验地点:金石滩校区I303机房 实验学时:24学时实验成绩: 指导教师:赵戈

通讯录管理系统的设计与实现 摘要 本项目用C++语言开发了一个简单的通讯录管理系统,该系统能对联系人信 息进行“增删改查”。系统的UI设计基于Windows系统自带的控制台。测试结 果表明该通讯录管理系统可以稳定正确运行,具有较高的可靠性。 关键词:通讯录管理系统;C++语言;Windows 控制台 目录 1.选题的背景和意义 (3) 2.需求分析 (3) 2.1 用例图 (3) 2.2 用例文本 (4) 3.总体设计 (5) 3.1 通讯录管理系统功能模块图 (5) 3.2 主控main函数执行流程图 (6) 3.3 执行流程图的解释说明 (6) 3.4 存储结构设计 (7) 4.详细设计 (8) 5程序运行结果 (9) 6总结和展望 (9) 7附录 (10) 程序源代码: (10)

1.选题的背景和意义 当今时代,计算机已经成为人们生活中不可或缺的一部分,它打破了地域时间限制,改变了人们的工作和生活方式。人们之间的联系越来越便捷,这就使得要经常与很多人保持着联系,而单纯依靠人脑已经很难记住所有人的联系方式还有其各做附加信息。通讯录系统能方便用户的需求,满足用户迅速、准确的查找修改或者删除联系人信息,把各个联系人信息以文件保存。本文介绍了c++编写简易通讯录管理:系统的分析,功能模块的设计,系统的流程图及运行界面。此系统的主要管理的信息由:联系人的姓名、性别、电话号码,加深对c++语言程序设计的理解,提高算法设计的能力,锻炼编程的能力。用c语言编程一个通讯录管理系统软件,要求能实现通讯录管理系统中的增加信息,删除信息,显示通讯里的所有信息,按名字查询信息,保存通讯录,退出系统。。 2.需求分析 2.1 用例图 通讯录管理系统的用例图如下图所示: 图2.1 用例图

通讯录管理系统课程设计报告..

设计课题题目 一、课程设计目的与要求 1.课程设计目的 (1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。 (2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。 2. 课程设计要求 制作一个通讯录系统。 (1)该程序具有查找、添加、修改、删除功能。 (2)通讯录包括:姓名、电话、街道、城市、省、邮编等。 二、总体设计 根据系统的要求,系统总体设计如图1所示。

三、详细设计 1、数据结构设计 #include /*标准输入输出函数库*/ #include /*标准函数库*/ #include /*字符串函数库*/ #define FILENAME "phone.dat" struct date //定义一个结构体类型数组 { char name[10]; /*姓名*/ char phone[12]; /*电话*/ char email[20]; /*邮箱*/ char QQ[20]; /*QQ*/ } per[10]; int menu() //主菜单选择函数 2.函数说明 (1) 主函数 main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。 (2)

四、程序清单 1、头文件 #include /*标准输入输出函数库*/ #include /*标准函数库*/ #include /*字符串函数库*/ #define FILENAME "phone.dat" 2、主函数 void main() //主函数 { int n=0,i; while(1) { switch (menu()) { case 1: { printf("\n\t 通讯信息录入\n"); //信息录入 n=Input(per, n); } break; case 2: printf("\n\t\t\t 通讯录记录表\n"); //显示记录 Display(per,n); break; case 3: printf("\n\t保存功能\n"); WritetoText(per,n); //保存数据 printf("\t"); system("pause"); //操作完成后进行暂停 break; case 4: printf("\n\t从通讯录中删除记录\n"); n=Delete_a_record(per,n); //删除记录 printf("\t"); system("pause"); break; case 5: printf("\n\t修改通讯录中的记录\n"); Change(per,n); //修改数据

相关文档
相关文档 最新文档