2022年2022年机房管理系统_系统实现说明书 .pdf
-
资源ID:32072821
资源大小:78.06KB
全文页数:8页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年2022年机房管理系统_系统实现说明书 .pdf
上海海事大学软件工程课程设计报告系 统 实 现 说 明 书项目名称:机房管理系统项目组长:沈连才组长班级:计算机 083班项目组员:陈莉陈仙娟裘宙欣2010 年 12 月 20 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 1 目录1 引言. 1 1.1 编写目的 . 1 1.2 软件系统开发背景介绍 . 1 1.3 定义. 1 1.4 参考资料 . 1 2 系统开发平台 . 2 2.1 程序语言选择 . 2 2.2 开发环境选择 . 2 2.3 数据库系统选择 . 2 3 关键程序代码 . 3 3.1 关键程序源代码一及其解释. 3 3.2 关键程序源代码二及其解释. 3 3.3 关键程序源代码三及其解释. 5 4 系统测试 . 6 4.3 测试数据的评价 . 6 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 1 1 引言1.1 编写目的编写本报告的目的是为了对设计进一步细化,确定程序设计语言,数据库的选择等,用以指导编码和测试,同时记录编码和测试过程中的关键步骤或结果。预期读者是客户,项目领导,程序编码人员,程序测试人员等。1.2 软件系统开发背景介绍现代社会的校园网络环境,已经大大发生了变化,除了个人笔记本电脑,各种计算机、语音实验室机房也成为了使用频率颇高的场所,我们不能仅仅把它理解为提供上机的环境,而是应该完善此处的各种相关工作,如考勤, 收费等, 同时最大限度的降低机房的运营成本,提高使用率。 通过建设“机房管理系统”,运用先进的技术手段和设备,满足以上应用需求。机房管理系统是一个功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点,具有很好的可移植性,可在WINDOWS 系列等操作系统上使用。说明:A.所建议开发的软件系统的名称:机房管理系统B.本项目的任务提出者:沈连才、陈莉、陈仙娟、裘宙欣开发者:沈连才、陈莉、陈仙娟、裘宙欣用户:教师、学生、职工、机房管理员等实现该软件的计算中心或计算机网络:个人笔记本电脑、学校机房该软件系统同其他系统或其他机构的基本的相互来往关系:可访问学生学籍系统的数据库1.3 定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1.4 参考资料1. 机房管理系统可行性研究报告2. 机房管理系统需求分析报告3. 机房管理系统系统设计报告4. 软件工程导论(第五版) 张海潘编著清华大学出版社5. VisualC+程序设计自学手册明日科技宋坤刘锐宁编著人民邮电出版社6. VisualC+项目开发案例精粹雷进辉范秀平高守传张飞等编著电子工业出版社7. VisualC+数据库系统开发完全手册明日科技王珊于速张雨编著人 民 邮 电 出版社8. VisualC+ + SQL 数据库应用系统开发与实例启明工作室编著人民邮电出版社名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 2 9. 网络资源,像百度文库,CSDN 论坛等。2 系统开发平台2.1 程序语言选择本系统的设计计划使用VisualC+6.0中文版开。 VisualC+ 是一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计工具,可用于开发Windows 环境下的各种应用程序。它简单易学、效率高,且功能强大,可以与Windows 的专业开发工具SDK相媲美。2.2 开发环境选择本系统的前端开发工具,选择了Visual C+ 6.0 。2.2.1 Visual C+ 6.0 简介微软公司生产的工具Visual C+ 6.0 是一种强大的可视化编程环境,一种高效、快捷的Windows 应用程序开发工具。并且微软公司提供了MFC 类库,该类库已经成为业界事实上的标准,一般性工作可以全部交给VC 来完成,用户只需要在MFC 提供的基类上,继承、添加自己想要实现的功能即可。VC 支持访问多种数据库,包括微软公司的SQL 数据库,Oracle 公司的 Oracle 数据库, IBM 公司的 DB2 数据库, Sybase公司的 ASE 数据库以及一些其他的数据库,如Microsoft 公司的桌面型数据库Access 等。并具有丰富的人机界面,并能生成高效的机器代码的可执行文件,通过设计任务的需求分析,采用VISUAL C+ 6.0开发工具是理想的选择。2.2.2 Visual C+ 6.0 的功能特点Visual C+6.0 使用的语言是c+,简单、高效,功能强大,代码结构清晰,可读性好,由于 Visual C+6.0 是微软公司出品的,所以能够和windows 系统紧密结合。MFC 是微软推出的一个类库,程序开发人员按照c+类的层次形式组织在一起,几个高层类提供一般功能,而底层类实现更具体的行为。基于以上这些因素,选择 C+程序语言, 以及 Microsoft 公司的 Visual C+6.0 集成开发环境 ( IDE) 来作为开发工具。2.3 数据库系统选择作为 Microsoft的 office 套件产品之一,Access 已经成为世界上最流行的桌面数据库系统。它是一个功能强大而且使用方便的数据库管理系统,它为中小型数据库提供了良好的创建环境,并且Access 与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。同时,Access 完全支持 Microsoft 的 OLE 技术。Access 还提供 Windows 操作系统的高级应用程序开发系统。Access 数据库与其它数据库开发系统之间相当显著的区别就是:不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一过程是完全可视的!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 3 3 关键程序代码3.1 关键程序源代码一及其解释帐户管理的块的实现功能说明用来对会员的信息进行添加、删除、查询、修改和充值。设计思路添加:用 _RecordsetPtr 对象的 AddNew() 函数在数据库的user表中插入一新行,然后用GetDlgItem ()函数将对话框中的内容取出,然后调用_RecordsetPtr 对象的 PutC 写入该行的相应字段中。查询:用 _RecordsetPtr 对象的 Open()函数的 source 参数中 SELECT * FROM user where card=%s 则从数据库中搜索出了相应的记录,然后显示到ListCtrl 中。删除:用 _RecordsetPtr 对象的 Delete()函数删除相应的记录。更改:用 _RecordsetPtr 对象的 PutCollect()函数修改相应的记录。充值:用 _RecordsetPtr 对象的 GetCollect() 函数读出相应的记录的money 字段的值,然后输入的money 值同其相加,然后用GetCollect() 再写回数据库中。关键代码如下:CString strArr7 ;CMyListView *pWnd = (CMyListView *) (CMainFrame *)(AfxGetApp()-GetMainWnd()-GetViewPtr(0,1);CString strNum ;GetDlgItemText(IDC_EDIT_NUM,strNum) ;if(!strNum.GetLength() MessageBox(请输入要查询的学号);return ; /学号 ,卡号 ,密码 , 姓名 ,班级 ,金额 ,状态 GetDlgItemText(IDC_EDIT_CARD, strArr1) ;GetDlgItemText(IDC_EDIT_PWD,strArr2) ;GetDlgItemText(IDC_EDIT_NAME, strArr3) ;GetDlgItemText(IDC_EDIT_CLASS, strArr4) ;GetDlgItemText(IDC_EDIT_MONEY,strArr5) ;GetDlgItemText(IDC_EDIT_STA TUS ,strArr6) ;pWnd-m_db.Modify(strNum,strArr) ;3.2 关键程序源代码二及其解释远程监管模块的实现功能说明名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 4 右击右视图的报表,会弹出远程控制的菜单,远程重启和远程关机用来对选中的学生机进行重启和关机操作,远程截屏用来对选中的学生机截屏,截获的屏幕图像存放在本程序的当前工作目录下。设计思路用 ListCtrl 的 GetFirstSelectedItemPosition() 和 GetNextSelectedItem() 分析出用户所选择的学生机,然后用send()函数将重启、关机命令发给学生机,学生机会做出相应的处理。用 send()将远程截图的命令发给学生机,学生机会将其截获的图像发回给服务器,然后服务器用recv() 函数将收到的图像保存到当前工作目录下。关键代码如下:in_addr in;in。S_un。S_addr = (unsigned) lpParam ;CString strip = inet_ntoa(in) ;unsigned port = :GetPrivateProfileInt(NET,RecvPort ,8002,.configure . ini) ;AfxSocketInit(NULL);CSocket sockClient;sockClient。Create();for(int i=0 ;i5; i+) int r ;r= sockClient 。 Connect(strip, port);if(r=0) r = GetLastError() ;Sleep(1000); else break; if(i=5) sockClient。Close();return false; unsigned dataLength;sockClient。Receive(&dataLength , 4);unsigned r1 = dataLength ;CFile destFile(./temp.bmp,CFile:modeCreate | CFile:modeWrite | CFile:typeBinary) ;byte* data = new byte1024*64;unsigned count = 0,total = 0 ;while(total dataLength) unsigned r2 ;r2 = sockClient 。Receive(data, 1024*64) ;destFile。 Write(data,r2);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 5 total += r2 ;count+ ; sockClient。Close();delete data;return TRUE;3.3 关键程序源代码三及其解释计费模块的实现功能说明可以调整最小计费时段和每时段计费金额。同时还可以调整是否为计费状态。设计思路用 API 函数 WritePrivateProfileString()和 GetPrivateProfileString()从系统的配置文件 configure.ini中读写上机计费的最小时段,默认为十分钟, 以及每时段的计费金额,默认为每十分钟0.25 元。当用户登录后, 验证线程会将用户名等信息发送到主窗口,在交给右视图处理。首先从在用户链表中检索该用户,若有则表示注销该用户,否则为激活该用户。关键代码如下:char szBuf20;int iMin = GetDlgItemInt(IDC_EDIT_MINS);DWORD marks =0 ;if(iMin != m_iMims) marks|=UDMinMinutes ;m_iMims = iMin;/itoa(iMin,szBuf ,20) ;sprintf(szBuf,%3d,iMin) ;WritePrivateProfileString(COUNT,MinMinutes,szBuf ,.configure.ini); GetDlgItemText(IDC_EDIT_MONEY ,szBuf ,20) ;float fMoney = (float)atof(szBuf);float ftemp = (float)fabs(fMoney-m_fMoney);if(ftempGetCheck();CMainFrame *pWnd = (CMainFrame *) AfxGetApp()-GetMainWnd();HWND hWnd= pWnd-GetViewhandle(0,1) ;if(iChk = 1) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 6 / 设为计费状态:SendMessage(hWnd ,UM_UPDATESET, marks ,UDCOUNT) ; else / 不计费状态:SendMessage(hWnd ,UM_UPDATESET, marks ,UDUNCOUNT);4 系统测试4.1 基于白盒的测试用例设计(针对一个典型模块运用白盒进行测试)针对计费模块的测试用例(1)计费状态,余额充足;预期结果:弹出余额不足提示,锁定屏幕,不能继续使用计算机(2)计费状态,余额不足;预期结果:正常计费,每十分钟余额减少0.25 元(3)不计费状态,余额充足;预期结果:系统处于上课模式,不计费,余额不减少(4)不计费状态,余额不足。预期结果:系统处于上课模式,弹出余额不足提示,不计费,能继续使用计算机4.2 基于黑盒的测试用例设计(针对一个典型模块运用黑盒进行测试)针对系统控制模块的测试用例(1)发出指定计算机关机指令;预期结果:指定计算机正常关闭(2)发出指定计算机重启指令;预期结果:指定计算机正常重启(3)发出全部计算机关机指令;预期结果:全部计算机正常关机(4)发出全部计算机重启指令;预期结果:全部计算机正常重启(5)发出截取指定计算机屏幕图片指令预期结果:返回指定计算机的屏幕当前画面4.3 测试数据的评价基于白盒的四组测试条件完成了条件覆盖、条件组合覆盖等;基于黑盒的四组测试数据包括了所有要求实现的系统控制功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -