软工导论实验报告健康管理系统的设计与实现Word文档下载推荐.docx
- 文档编号:15837335
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:28
- 大小:626.75KB
软工导论实验报告健康管理系统的设计与实现Word文档下载推荐.docx
《软工导论实验报告健康管理系统的设计与实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软工导论实验报告健康管理系统的设计与实现Word文档下载推荐.docx(28页珍藏版)》请在冰豆网上搜索。
开始由用户输入个人信息,经过处理保存到个人信息数据库,再分别调用三餐安排和运动安排程序。
由运动安排程序生成并显示运动安排,三餐生成程序调用数据库中的内容,显示三餐安排。
3.2功能模型(数据流图)
3.3数据模型(实体-关系图)
每一个用户都拥有一个账户,包含账号和密码,而用户本身信息即他的身体信息,包含年龄、性别、身高、体重。
多个用户可以同时使用一个系统。
3.4行为模型(状态转换图)
打开系统,最初处于登录界面(即闲置),登录成功后,进入主界面。
如果用户第一次使用,会提示用户进行信息登记。
当到达特定时间时,会提示当前应做的事。
当用户修改了他的信息之后,系统会实时的进行相应调整。
3.5层次方框图(描绘产品的数据结构)
4.系统性能需求
4.1时间要求
(1)响应时间:
150ms。
(2)数据库更新时间:
2~4s。
4.2空间要求
(1)支持的终端数:
1。
(2)支持的并行操作的使用者数:
3-10,根据计算机内存和CPU决定。
(3)处理的文件和记录数:
数据库文件*1,记录根据操作决定。
(4)根据软件提示进行输入,否则会提示出错
5.系统界面与接口需求
5.1界面需求
界面的原则要求,如方便、简洁、美观、一致等。
整个系统的界面风格定义,某些功能模块的特殊的界面要求。
(1)输入设备:
键盘、鼠标;
(2)输出设备:
显示器;
(3)显示风格:
对话框;
(4)显示方式:
1024*768;
(5)输出格式:
对话框中的字符集。
5.2接口需求
(1)用户接口
采用对话框式的界面,结合菜单设计,并且采用智能提示,给用户提供最大的便利和最好的操作可行性。
支持用键盘和鼠标同时操作。
(2)软件接口
运行环境:
windowsxp/windows7/windows8
数据库连接:
access2007、ADO动态链接库
6.可行性分析
1、技术可行性
目前能够通过VC++6.0进行系统的程序编写;
能够通过ADO方法连接ACCESS数据库,并且对其进行操作(增删改查);
2、操作可行性
系统能够提示第一次使用本系统的用户如何操作,并且界面简单大方,因此具有很好的操作可行性。
3、经济可行性
开发成本忽略不计。
二、系统设计
1.引言
本章对该文档的目的、功能范围、术语、相关文档、参考资料、版本更新进行说明。
1.1目的
本文档的目旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。
1.2命名规则
变量对象命名规则:
根据变量的实际意义命名,如姓名:
name;
年龄:
age;
身高:
height;
体重:
weight。
数据库对象命名规则:
根据字段的实际意义命名,但不能使用数据库的保留关键字(否则会出错)。
如账号:
username;
密码:
password1(防止使用保留关键字)。
2.系统设计
2.1方案设计
选择方案1.
2.2软件结构设计
层次图:
本系统包含两个主要模块,用户管理模块和健康管理模块。
用户管理模块包含账户管理和个人信息管理,账户管理包含三个功能:
注册、登录、改密码;
个人信息管理提供一个功能:
更改个人信息。
健康管理模块提供三个功能:
安排三餐、安排运动、实时提醒。
2.3数据库设计
1、数据库文件:
一个文件:
user.mdb;
2、表:
用户信息表一张、三餐安排表若干、运动安排表一张、日程安排表若干;
3、用户信息表包括7个字段:
账号、密码、姓名、性别、年龄、身高、体重;
4、三餐安排表各包含3个字段:
早餐、午餐、晚餐;
5、运动安排表各包含个字段:
身高、体重、年龄、性别、运动消耗卡路里量。
2.4详细设计
各个功能模块间传递用户账号的方式:
建立临时的TXT文件,在登录成功时保存账号,进而在调用其他模块时寻找到账号。
三、系统实现
1、编程环境概述
编程环境:
VC++6.0(MFC程序)
数据库:
access2007(连接方法:
ADO)
操作系统:
windows7
2、程序源代码
2.1三餐安排功能模块源代码
1.描述
1.1代码功能描述:
实时更新对用户安排的三餐信息以及BMI指数。
1.2代码描述:
(自然语言)
开始;
读取用户账号;
打开数据库;
读取数据库中用户信息表的内容;
读取所有的用户信息;
If(用户第一次使用本软件)打开用户信息更改界面;
If(身高或体重数据为空)返回,结束;
根据身高体重计算BMI指数;
在主界面显示BMI指数;
根据BMI指数打开对应的三餐安排数据库表;
读取安排信息,并且写入对应的列表控件中;
关闭数据库和其他文件;
结束。
2.代码(共154行,包括必要的空行)
voidCMyDlg:
:
OnTimer(UINTnIDEvent)
{
CStringfilename="
D:
\\user.txt"
;
CStdioFilefile;
file.Open(filename,CFile:
modeRead);
//用只读方式打开临时TXT文件,以便读取user的ID
CStringuser;
file.ReadString(user);
_ConnectionPtrm_pConnection;
_variant_tRecordsAffected;
_RecordsetPtrm_pRecordset;
//设置操作数据库的ADO对象指针
//下面是打开数据库
try
{
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->
Open("
Provider=Microsoft.Jet.OLEDB.4.0;
DataSource=user.mdb"
"
"
adModeUnknown);
}
catch(_com_errore)
CStringerrormessage;
errormessage.Format("
打开数据库失败!
\r错误信息:
%s"
e.ErrorMessage());
AfxMessageBox(errormessage);
return;
//下面读取数据库(用户信息)中的内容
try
{
m_pRecordset.CreateInstance("
ADODB.Recordset"
);
charstrcmd[1024];
sprintf(strcmd,"
select*fromusertable"
m_pRecordset=m_pConnection->
Execute(strcmd,&
RecordsAffected,adCmdText);
//将usertable表里面的所有数据读取到recordset这个东西里面,以后就直接用这个东西操作表了
错误!
}
//下面寻找对应的用户信息
_variant_ttheuser,theheight,theweight,theage,thename,thesex;
CStringtuser,theight,tweight,tname,tage,tsex;
while(!
m_pRecordset->
adoEOF)//用while循环直到把这个表读完,即做一次遍历
theuser=m_pRecordset->
GetCollect("
username"
theheight=m_pRecordset->
身高(厘米)"
theweight=m_pRecordset->
体重(斤)"
theage=m_pRecordset->
年龄"
thesex=m_pRecordset->
性别"
//先用_variant_t这个变量读取数据库中的字符串
thename=m_pRecordset->
姓名"
if(theuser.vt==VT_NULL)tuser="
elsetuser=theuser.bstrVal;
if(thename.vt==VT_NULL)tname="
elsetname=thename.bstrVal;
if(theheight.vt==VT_NULL)theight="
elsetheight=theheight.bstrVal;
if(theweight.vt==VT_NULL)tweight="
elsetweight=theweight.bstrVal;
if(thesex.vt==VT_NULL)tsex="
elsetsex=thesex.bstrVal;
if(theage.vt==VT_NULL)tage="
elsetage=theage.bstrVal;
//然后把_variant_t类型强制转换为CString类
if(tuser==user)break;
//退出循环
m_pRecordset->
MoveNext();
//如果当前所指的用户名不对,就指向下一个,直到最后一个
if(tweight=="
&
theight=="
tage=="
tsex=="
tname=="
)
KillTimer
(1);
MessageBox("
"
file.Close();
CInformationdlg;
dlg.DoModal();
SetTimer(1,150,NULL);
file.Open(filename,CFile:
file.ReadString(user);
||theight=="
)retur
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 导论 实验 报告 健康 管理 系统 设计 实现