自己详细需求分析1.docx_第1页
自己详细需求分析1.docx_第2页
自己详细需求分析1.docx_第3页
自己详细需求分析1.docx_第4页
自己详细需求分析1.docx_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VC+课程项目需求分析 题 目: 基于VC+的电子超市管理系统 组长姓名:孙自然(322114108)组员姓名:陈思睿(32214116)吴迪恒(32214112) 学 院: 工学院 专 业: 自动化 班 级: 自动141、142 信息123指导老师: 钱燕 2015年9月 南京农业大学教务处制一、引言:1、编写目的:编写详细设计说明书是软件开发过程必不可少的部分,其目的是为了使开发人员在完成概要设计说明书的基础上完成概要设计规定的各项模块的具体实现的设计工作。该说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。本文档为该系统的软件详细设计说明书,较详细阐述了系统的各项功能需求、技术需求、实现环境及所使用的实现技术。同时,对软件应具有的功能和性能及其他有效性需求也进行了定义。2、项目背景:项目名称:电子超市管理系统相关单位:南京农业大学工学院电气工程系VC+课程第31小组3、参考资料:Visual C+教程 郑阿奇 丁有和 编著 2005年7月,清华大学出版社Visual C+时训 郑阿奇 丁有和 编著 2005年7月,清华大学出版社30天学会VC+二、总体设计:1:系统结构 (见3页图)2:软件描述:用电管理系统根据各电力部门对电力用户的管理与电力收费的实际情况设计开发完成。通过对电力局(电力公司)近一年的系统分析研究,在充分了解熟悉供电局业务需求和使用习惯的基础上,完全从供电局使用的角度出发开发完成了一套完整的解决方案-用电管理系统。通过上千用户下载使用,多次修改完善,实现了本软件在适用性、易用性与强大的功能完美结合,完全满足了供电局对下级供电所的管理以及供电所对日常工作处理。是各供电部门对电力用户管理、收费以及经营分析统计不可缺少的管理工具软件。通过本软件,可以轻松实现对用供电管理科技化、 系统化、信息化、实现无纸办公。 3:功能介绍:(1)总体概述本系统诣在为超市提供方便,根据不同用户不同需求对其进行相关操作。分为系统管理员登录和普通用户登录2种登陆方式,两者权限描述如下:1、抄表员: 用户名密码登陆后,修改自己密码,记录家庭用电度数。2、系统管理员:通过用户名和密码登录,登录后可进行家庭客户信息、用电度数、费用等详细信息的查询、添加、修改、删除操作。可进行注册、删除、查询和修改不同的用户为其分配不同的权限,可以查询自己的详细信息。用电管理系统是基于电力局,并对电力局的各项综合信息进行有效的管理的一个信息管理系统。3、收银员:通过用户名密码登录后可以进行收取用电费用、修改自身密码和进行市场调查等操作。4、公共操作无论何种用户类别登录均可以进行调查结果的查询和系统的设置(包括背景音乐的停止和播放、皮肤的选择等)。(2)登录界面:功能:登录用户分为管理员、抄表员、收银员登。用户名和密码输入有误或者用户类别选择不符合时无法登录,并伴有“登录失败,请检查您的用户名或密码!”的提示跳出。登录状态会在底边栏显示。(3)主界面设置:不同的用户类别有不同的操作权限,登录成功后无权操作的菜单被置灰。三种皮肤的主界面:管理员操作家庭客户档案资料界面:管理员注册新用户、删除用户和查询用户信息界面收银员相关界面:缴费及电费查询,收取费用后可对用户对当前的电费价格和收银员的服务态度进行调查,并查看相关结果。抄表员界面:主要只负责进行抄员公共界面包括修改密码和更换用户:三、程序设计:用户登录部分代码:void CLogInDlg:OnOK() CElectroSystemDoc* pDoc=(CElectroSystemDoc*)(CMainFrame*)AfxGetMainWnd()-GetActiveDocument();UpdateData(TRUE);pDoc-theManager.SetAllMember(m_userAccount,m_userPassword,m_userType,);CManagerSet* theUserSet=&pDoc-theManagerSet;BOOL flag=pDoc-theManager.LogIn(theUserSet); :WritePrivateProfileString(Account,Account,m_userAccount,.setting.ini); :WritePrivateProfileString(userType,userType,m_userType,.setting.ini);if(flag)CDialog:OnOK();elseAfxMessageBox(您无权进入该系统);客户档案部分代码:void CUserRecordDlg:OnButtonAdd() / TODO: Add your control notification handler code hereCTime zctime=CTime:GetCurrentTime();CTime crtm(zctime.GetYear(),zctime.GetMonth(),1,0,0,0);UpdateData();if (m_strUserName=|m_strUserDistrict=|m_strUserID=|m_strUserVillage=)AfxMessageBox(请输入完整信息!);return;CUserSet sSet;sSet.Open();sSet.m_strFilter=UersName=+m_strUserName+ and UersDistrict=+m_strUserDistrict+ and UersVillage=+m_strUserVillage+ and UsersID=+m_strUserID+;sSet.Requery();if(sSet.GetRecordCount()AfxMessageBox(该账号已经存在!);return ;sSet.AddNew();sSet.m_UersName=m_strUserName;sSet.m_UersVillage=m_strUserVillage;sSet.m_UsersID=m_strUserID;sSet.m_UersDistrict=m_strUserDistrict;if(sSet.CanUpdate()sSet.Update();if(!sSet.IsEOF()sSet.MoveLast();sSet.m_strFilter=UersName=+m_strUserName+ and UersDistrict=+m_strUserDistrict+ and UersVillage=+m_strUserVillage+ and UsersID=+m_strUserID+;sSet.Requery();int m=sSet.m_ID;sSet.Requery();sSet.m_strFilter=;sSet.Requery();m_ListCtrl.DeleteAllItems();int nItem=0;CString str;while(!sSet.IsEOF()str.Format(%d,sSet.m_ID);m_ListCtrl.InsertItem(nItem,str);m_ListCtrl.SetItemText(nItem,1,sSet.m_UersName);m_ListCtrl.SetItemText(nItem,2,sSet.m_UersDistrict);m_ListCtrl.SetItemText(nItem,3,sSet.m_UersVillage);m_ListCtrl.SetItemText(nItem,4,sSet.m_UsersID);sSet.MoveNext();nItem+;if (sSet.IsOpen() sSet.Close();CElectroInfoSet esSet;esSet.Open();esSet.AddNew();esSet.m_Date=crtm;esSet.m_UersName=m_strUserName;esSet.m_UersVillage=m_strUserVillage;esSet.m_UsersID=m_strUserID;esSet.m_UersDistrict=m_strUserDistrict;esSet.m_ID=m;if(esSet.CanUpdate()esSet.Update();if(!esSet.IsEOF()esSet.MoveLast();if(esSet.IsOpen() esSet.Close();CChaobiaoSet ssSet;ssSet.Open();ssSet.AddNew();ssSet.m_Date=crtm;ssSet.m_UersName=m_strUserName;ssSet.m_UersVillage=m_strUserVillage;ssSet.m_UsersID=m_strUserID;ssSet.m_UersDistrict=m_strUserDistrict;ssSet.m_ID=m;if(ssSet.CanUpdate()ssSet.Update();if(!ssSet.IsEOF()ssSet.MoveLast(); if(ssSet.IsOpen()ssSet.Close();m_strUserID = _T();m_strUserName = _T();m_strUserVillage = _T();m_strUserDistrict = _T();UpdateData(FALSE);void CUserRecordDlg:OnClose() CDialog:OnClose();/CDialog:OnOK();void CUserRecordDlg:OnButtonDel() / TODO: Add your control notification handler code hereUpdateData();CUserSet sSet;sSet.Open();if (m_strUserName=|m_strUserDistrict=|m_strUserID=|m_strUserVillage=)AfxMessageBox(请选择将要删除的用户!);elseint result=AfxMessageBox(确实要删除该用户吗?,MB_OKCANCEL);if(result=IDOK)sSet.m_strFilter=UersName=+m_strUserName+ and UersDistrict=+m_strUserDistrict+ and UersVillage=+m_strUserVillage+ and UsersID=+m_strUserID+;sSet.Requery();if(!sSet.GetRecordCount()AfxMessageBox(该账号不存在!);elsesSet.Delete();CElectroInfoSet ssSet;ssSet.Open();ssSet.m_strFilter=UersName=+m_strUserName+ and UersDistrict=+m_strUserDistrict+ and UersVillage=+m_strUserVillage+ and UsersID=+m_strUserID+;ssSet.Requery();if (ssSet.GetRecordCount()ssSet.Delete();CChaobiaoSet esSet;esSet.Open();esSet.m_strFilter=UersName=+m_strUserName+ and UersDistrict=+m_strUserDistrict+ and UersVillage=+m_strUserVillage+ and UsersID=+m_strUserID+;esSet.Requery();if (esSet.GetRecordCount()esSet.Delete();m_ListCtrl.DeleteAllItems();sSet.m_strFilter=;sSet.Requery();int nItem=0;CString str;while(!sSet.IsEOF()str.Format(%d,sSet.m_ID);m_ListCtrl.InsertItem(nItem,str);m_ListCtrl.SetItemText(nItem,1,sSet.m_UersName);m_ListCtrl.SetItemText(nItem,2,sSet.m_UersDistrict);m_ListCtrl.SetItemText(nItem,3,sSet.m_UersVillage);m_ListCtrl.SetItemText(nItem,4,sSet.m_UsersID);sSet.MoveNext();nItem+;m_strUserID = _T();m_strUserName = _T();m_strUserVillage = _T();m_strUserDistrict = _T();UpdateData(FALSE);void CUserRecordDlg:OnButtonSearch() / TODO: Add your control notification handler code hereUpdateData();if (m_strUserName=&m_strUserDistrict=&m_strUserID=&m_strUserVillage=)AfxMessageBox(请输入要查询的信息!);return;CUserSet sSet;CString str1,str2,str3,str4;sSet.m_strFilter=;sSet.Open();if (m_strUserName!=)str1=UersName=+m_strUserName+;sSet.m_strFilter+=str1;if (m_strUserDistrict!=)str2=UersDistrict=+m_strUserDistrict+;if (m_strUserName!=)sSet.m_strFilter+= and +str2;elsesSet.m_strFilter+=str2;if (m_strUserVillage!=) str3=UersVillage=+m_strUserVillage+; if (m_strUserName!=|m_strUserDistrict!=) sSet.m_strFilter+= and +str3; else sSet.m_strFilter+=str3;if (m_strUserID!=)str4=UsersID=+m_strUserID+;if (m_strUserName!=|m_strUserDistrict!=|m_strUserVillage!=)sSet.m_strFilter+= and +str4;else sSet.m_strFilter+=str4;sSet.Requery();if(!sSet.GetRecordCount()AfxMessageBox(该账号不存在!);return ;m_ListCtrl.DeleteAllItems();sSet.Requery();int nItem=0;CString str;while(!sSet.IsEOF()str.Format(%d,sSet.m_ID);m_ListCtrl.InsertItem(nItem,str);m_ListCtrl.SetItemText(nItem,1,sSet.m_UersName);m_ListCtrl.SetItemText(nItem,2,sSet.m_UersDistrict);m_ListCtrl.SetItemText(nItem,3,sSet.m_UersVillage);m_ListCtrl.SetItemText(nItem,4,sSet.m_UsersID);sSet.MoveNext();nItem+;void CUserRecordDlg:OnButtonModify() / TODO: Add your control notification handler code hereUpdateData();CUserSet sSet;sSet.Open();CElectroInfoSet esSet;esSet.Open();CChaobiaoSet ssSet;ssSet.Open();if (m_strUserName=|m_strUserDistrict=|m_strUserID=|m_strUserVillage=)AfxMessageBox(请选择将要修改的客户!);elsesSet.m_strFilter=UersName=+m_strUserName+ and UersDistrict=+m_strUserDistrict+ and UersVillage=+m_strUserVillage+ and UsersID=+m_strUserID+;sSet.Requery();int m=sSet.m_ID;if(!sSet.GetRecordCount()AfxMessageBox(该用户不存在!);esSet.m_strFilter=UersName=+m_strUserName+ and UersDistrict=+m_strUserDistrict+ and UersVillage=+m_strUserVillage+ and UsersID=+m_strUserID+;esSet.Requery();if (esSet.GetRecordCount()esSet.Delete();ssSet.m_strFilter=UersName=+m_strUserName+ and UersDistrict=+m_strUserDistrict+ and UersVillage=+m_strUserVillage+ and UsersID=+m_strUserID+;ssSet.Requery();if (ssSet.GetRecordCount()ssSet.Delete();CUserRecordModify dlg;dlg.m_modifyDistrict=m_strUserDistrict;dlg.m_modifyID=m_strUserID;dlg.m_modifyName=m_strUserName;dlg.m_modifyVillage=m_strUserVillage;if (IDOK!=dlg.DoModal()if (sSet.IsOpen() sSet.Close();return;sSet.Edit();sSet.m_UersDistrict=dlg.m_modifyDistrict;sSet.m_UersName=dlg.m_modifyName;sSet.m_UersVillage=dlg.m_modifyVillage;sSet.m_UsersID=dlg.m_modifyID;sSet.Update();sSet.Requery();if (sSet.IsOpen()sSet.Close();esSet.AddNew();CTime zctime=CTime:GetCurrentTime();esSet.m_Date=zctime;esSet.m_UersDistrict=dlg.m_modifyDistrict;esSet.m_UersName=dlg.m_modifyName;esSet.m_UersVillage=dlg.m_modifyVillage;esSet.m_UsersID=dlg.m_modifyID;esSet.m_ID=m;if(esSet.CanUpdate()esSet.Update();if(!esSet.IsEOF()esSet.MoveLast();esSet.Close();ssSet.AddNew();ssSet.m_UersDistrict=dlg.m_modifyDistrict;ssSet.m_UersName=dlg.m_modifyName;ssSet.m_UersVillage=dlg.m_modifyVillage;ssSet.m_UsersID=dlg.m_modifyID;ssSet.m_ID=m;if(ssSet.CanUpdate()ssSet.Update();if(!ssSet.IsEOF()ssSet.MoveLast();ssSet.Close();m_ListCtrl.DeleteAllItems();sSet.Open();/int nItem=0;sSet.m_strFilter=;sSet.Requery();int nItem=0;CString str;while(!sSet.IsEOF()str.Format(%d,sSet.m_ID);m_ListCtrl.InsertItem(nItem,str);m_ListCtrl.SetItemText(nItem,1,sSet.m_UersName);m_ListCtrl.SetItemText(nItem,2,sSet.m_UersDistrict);m_ListCtrl.SetItemText(nItem,3,sSet.m_UersVillage);m_ListCtrl.SetItemText(nItem,4,sSet.m_UsersID);sSet.MoveNext();nItem+;m_strUserID = _T();m_strUserName = _T();m_strUserVillage = _T();m_strUserDistrict = _T();UpdateData(FALSE);void CUserRecordDlg:DispInfo(CString strFilter)m_ListCtrl.DeleteAllItems();CUserSet sSet;sSet.m_strFilter=strFilter;sSet.Open();sSet.Requery();int nItem=0;CString str;while(!sSet.IsEOF()str.Format(%d,sSet.m_ID);m_ListCtrl.InsertItem(nItem,str);m_ListCtrl.SetItemText(nItem,1,sSet.m_UersName);m_ListCtrl.SetItemText(nItem,2,sSet.m_UersDistrict);m_ListCtrl.SetItemText(nItem,3,sSet.m_UersVillage);m_ListCtrl.SetItemText(nItem,4,sSet.m_UsersID);sSet.MoveNext();nItem+;抄表部分代码:void CChaobiaoDlg:OnButtonOk() / TODO: Add your control notification handler code hereUpdateData();CTime endtime = CTime:GetCurrentTime(); CString m_endtm = endtime.Format( %Y-%m-%d);CTime statime(endtime.GetYear(),endtime.GetMonth(),1,0,0,0);CString m_statm = statime.Format(%Y-%m-%d);CString strFilter;strFilter.Format(Date = CDate(%s) and Date = CDate(%s),nxmouth);sSet.m_strFilter=nstrFilter;sSet.Open();sSet.Requery();if (sSet.GetRecordCount()sSet.Edit();sSet.m_ShangyueChaoshu=(float)atof(m_strChaoshu);sSet.Update();sSet.Requery();sSet.Close();elsesSet.AddNew();sSet.m_ShangyueChaoshu=(float)atof(m_strChaoshu);sSet.m_ID=(int)atof(m_strID);sSet.m_Date=nextmouth;sSet.m_UersDistrict=m_strQu;sSet.m_UersName=m_strName;sSet.m_UersVillage=m_strUserVillage;sSet.m_UsersID=m_strUserID;sSet.Update();sSet.Requery();sSet.Close();elseAfxMessageBox(请选择正确的用户信息!);CElectroInfoSet eSet;eSet.m_strFilter=ID like +m_strID+ + and ; eSet.m_strFilter+=strFilter;eSet.Open();if (eSet.GetRecordCount()eSet.Edit();eSet.m_Yongdianlian=yongdianliang;if (yongdianliang*0.5-eSet.m_Keyongdianfei0)eSet.m_Xujiaodianfei=yongdianliang*0.5-eSet.m_Keyongdianfei;eSet.Update(); eSet.Requery();eSet.Close();m_ListCtrl.DeleteAllItems();sSet.Open();sSet.m_strFilter=strFilter;sSet.Requery();int nItem=0;CString str;while(!sSet.IsEOF()str.Format(%d,sSet.m_ID);m_ListCtrl.InsertItem(nItem,str);m_ListCtrl.SetItemText(nItem,1,sSet.m_UersName);m_ListCtrl.SetItemText(nItem,2,sSet.m_UersDistrict);m_ListCtrl.SetItemText(nItem,3,sSet.m_UersVillage);m_ListCtrl.SetItemText(nItem,4,sSet.m_UsersID);str.Format(%0.1f,sSet.m_BenyueChaoshu);m_ListCtrl.SetItemText(nItem,5,str);sSet.MoveNext();nItem+;缴费及查询部分代码:void CJiaofeiDlg:OnButtonSearch() / TODO: Add your control notification handler code hereUpdateData();CTime endtime = CTime:GetCurrentTime(); CString m_endtm = endtime.Format( %Y-%m-%d);CTime statime(endtime.GetYear(),endtime.GetMonth(),1,0,0,0);CString m_statm = statime.Format(%Y-%m-%d);CString strFilter;strFilter.Format(Da

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论