ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:626.75KB ,
资源ID:2926318      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2926318.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软工导论实验报告健康管理系统的设计与实现.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软工导论实验报告健康管理系统的设计与实现.docx

1、软工导论实验报告健康管理系统的设计与实现西安交通大学软件工程导论作业 题目:健康管理系统的设计与实现软件工程jdfohewk 提交日期:2016/11/13一、需求分析1项目目标概述该系统旨在为长期工作在电脑前的用户提供日常的作息安排,进而改善用户的作息,从而将生物钟调整至最佳状态,更好地迎接每一天的工作。2问题初始分析2.1 场景描述目前越来越多的白领型工作人员由于缺乏健康管理意识,身体素质大幅度下降,以致于出现各种健康问题。合理的安排每天的日常行为,可以很有效地改善身体的各种调节,从而能够正常地作息,用最好的状态去完成每天的工作。因此,开发一种能够帮助长期工作在电脑前的朋友进行自我健康管理

2、的软件是很有必要的。2.2 初始功能提取本系统意图实现以下功能:一、初步判断用户的基本身体状况,即根据身高、体重、年龄、性别来判断。二、帮助用户合理地安排一日三餐。三、帮助用户合理地安排每天的运动,以达到健身的功效。四、实时提醒用户进行身体放松。五、待完善。3系统功能分析建模论述3.1系统流程图 开始由用户输入个人信息,经过处理保存到个人信息数据库,再分别调用三餐安排和运动安排程序。由运动安排程序生成并显示运动安排,三餐生成程序调用数据库中的内容,显示三餐安排。3.2 功能模型(数据流图)3.3 数据模型(实体-关系图)每一个用户都拥有一个账户,包含账号和密码,而用户本身信息即他的身体信息,包

3、含年龄、性别、身高、体重。多个用户可以同时使用一个系统。3.4 行为模型(状态转换图)打开系统,最初处于登录界面(即闲置),登录成功后,进入主界面。如果用户第一次使用,会提示用户进行信息登记。当到达特定时间时,会提示当前应做的事。当用户修改了他的信息之后,系统会实时的进行相应调整。3.5 层次方框图(描绘产品的数据结构)4系统性能需求4.1 时间要求(1)响应时间:150ms。(2)数据库更新时间:24s。4.2 空间要求(1)支持的终端数:1。(2)支持的并行操作的使用者数:3-10,根据计算机内存和CPU决定。(3)处理的文件和记录数:数据库文件*1,记录根据操作决定。(4)根据软件提示进

4、行输入,否则会提示出错5系统界面与接口需求5.1 界面需求界面的原则要求,如方便、简洁、美观、一致等。整个系统的界面风格定义,某些功能模块的特殊的界面要求。(1)输入设备:键盘、鼠标;(2)输出设备:显示器;(3)显示风格:对话框;(4)显示方式:1024*768;(5)输出格式:对话框中的字符集。5.2 接口需求(1)用户接口采用对话框式的界面,结合菜单设计,并且采用智能提示,给用户提供最大的便利和最好的操作可行性。支持用键盘和鼠标同时操作。(2)软件接口运行环境:windows xp/windows7/windows8数据库连接:access 2007、ADO动态链接库6可行性分析1、技术

5、可行性目前能够通过VC+ 6.0进行系统的程序编写;能够通过ADO方法连接ACCESS数据库,并且对其进行操作(增删改查);2、操作可行性系统能够提示第一次使用本系统的用户如何操作,并且界面简单大方,因此具有很好的操作可行性。3、经济可行性开发成本忽略不计。二、系统设计1引言本章对该文档的目的、功能范围、术语、相关文档、参考资料、版本更新进行说明。1.1 目的本文档的目旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。1.2 命名规则变量对象命名规则:根据变量的实际

6、意义命名,如姓名:name; 年龄:age; 身高:height;体重:weight。数据库对象命名规则:根据字段的实际意义命名,但不能使用数据库的保留关键字(否则会出错)。如账号:username;密码:password1(防止使用保留关键字)。2系统设计2.1 方案设计 选择方案1.2.2 软件结构设计层次图:本系统包含两个主要模块,用户管理模块和健康管理模块。用户管理模块包含账户管理和个人信息管理,账户管理包含三个功能:注册、登录、改密码;个人信息管理提供一个功能:更改个人信息。健康管理模块提供三个功能:安排三餐、安排运动、实时提醒。2.3 数据库设计1、数据库文件:一个文件:user.

7、mdb;2、表:用户信息表一张、三餐安排表若干、运动安排表一张、日程安排表若干;3、用户信息表包括7个字段:账号、密码、姓名、性别、年龄、身高、体重;4、三餐安排表各包含3个字段:早餐、午餐、晚餐;5、运动安排表各包含个字段:身高、体重、年龄、性别、运动消耗卡路里量。2.4 详细设计各个功能模块间传递用户账号的方式:建立临时的TXT文件,在登录成功时保存账号,进而在调用其他模块时寻找到账号。三、系统实现1、编程环境概述编程环境:VC+6.0(MFC程序)数据库:access 2007(连接方法:ADO)操作系统:windows72、程序源代码2.1 三餐安排功能模块源代码1描述1.1代码功能描

8、述:实时更新对用户安排的三餐信息以及BMI指数。1.2代码描述:(自然语言)开始;读取用户账号;打开数据库;读取数据库中用户信息表的内容;读取所有的用户信息;If(用户第一次使用本软件)打开用户信息更改界面;If(身高或体重数据为空)返回,结束;根据身高体重计算BMI指数;在主界面显示BMI指数;根据BMI指数打开对应的三餐安排数据库表;读取安排信息,并且写入对应的列表控件中;关闭数据库和其他文件;结束。2代码(共154行,包括必要的空行) void CMyDlg:OnTimer(UINT nIDEvent) CString filename=D:user.txt; CStdioFile fi

9、le; file.Open(filename,CFile:modeRead);/用只读方式打开临时TXT文件,以便读取user的ID CString user; file.ReadString(user); _ConnectionPtr m_pConnection; _variant_t RecordsAffected; _RecordsetPtr m_pRecordset;/设置操作数据库的ADO对象指针 /下面是打开数据库 try m_pConnection.CreateInstance(_uuidof(Connection); m_pConnection-Open(Provider=Mi

10、crosoft.Jet.OLEDB.4.0;Data Source=user.mdb,adModeUnknown); catch(_com_error e) CString errormessage; errormessage.Format(打开数据库失败!r错误信息:%s,e.ErrorMessage(); AfxMessageBox(errormessage); return; /下面读取数据库(用户信息)中的内容 try m_pRecordset.CreateInstance(ADODB.Recordset); char strcmd1024; sprintf(strcmd,select

11、 * from usertable); m_pRecordset=m_pConnection-Execute(strcmd,&RecordsAffected,adCmdText); /将usertable表里面的所有数据读取到recordset这个东西里面,以后就直接用这个东西操作表了 catch(_com_error e) CString errormessage; errormessage.Format(错误!r错误信息:%s,e.ErrorMessage(); AfxMessageBox(errormessage); return; /下面寻找对应的用户信息 _variant_t the

12、user,theheight,theweight,theage,thename,thesex; CString tuser,theight,tweight,tname,tage,tsex; while(!m_pRecordset-adoEOF)/用while循环直到把这个表读完,即做一次遍历 theuser=m_pRecordset-GetCollect(username); theheight=m_pRecordset-GetCollect(身高(厘米)); theweight=m_pRecordset-GetCollect(体重(斤)); theage=m_pRecordset-GetCo

13、llect(年龄); thesex=m_pRecordset-GetCollect(性别);/先用_variant_t这个变量读取数据库中的字符串 thename=m_pRecordset-GetCollect(姓名); if(theuser.vt=VT_NULL)tuser=; else tuser=theuser.bstrVal; if(thename.vt=VT_NULL)tname=; else tname=thename.bstrVal; if(theheight.vt=VT_NULL)theight=; else theight=theheight.bstrVal; if(thew

14、eight.vt=VT_NULL)tweight=; else tweight=theweight.bstrVal; if(thesex.vt=VT_NULL)tsex=; else tsex=thesex.bstrVal; if(theage.vt=VT_NULL)tage=; else tage=theage.bstrVal;/然后把_variant_t类型强制转换为CString类 if(tuser=user)break;/退出循环 m_pRecordset-MoveNext();/如果当前所指的用户名不对,就指向下一个,直到最后一个 if(tweight=&theight=&tage=&tsex=&tname=) KillTimer(1); MessageBox( ); file.Close(); CInformation dlg; dlg.DoModal(); SetTimer(1,150,NULL); file.Open(filename,CFile:modeRead); file.ReadString(user); if(tweight=|theight=)retur

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1