VC开发实例.ppt
- 文档编号:18696838
- 上传时间:2023-09-19
- 格式:PPT
- 页数:60
- 大小:1.08MB
VC开发实例.ppt
《VC开发实例.ppt》由会员分享,可在线阅读,更多相关《VC开发实例.ppt(60页珍藏版)》请在冰点文库上搜索。
VC+开发实例,莫宛群2014年4月,软件开发,软件开发概述软件产品产生过程软件产品团队的组成预备知识VC+编程概述开发实例课程设计及其答辩,软件开发概述,软件项目的开发方法(软件工程中的软件开发模型)软件产品的开发方法传统软件开发与现代软件开发现代软件开发对人才的要求软件开发人员具备的能力,软件分为两类:
软件产品和软件项目.软件产品指的是不局限于特定领域的可被广大用户直接使用的软件系统,如微软的Windows,Office等等.这类系统的特点是技术含量高,开发时要考虑到各种不同的用户需求.软件项目指的是针对特定领域提供优化业务流程的软件系统,如我们常说的管理信息系统和电子商务系统.这类软件的特点是领域知识所占的比重较大,相对技术性而言,工程性更强.,软件开发的周期,根据软件工程的思想,软件开发的周期可以划分为六个阶段:
(1)规划阶段确定开发的总目标,给出计划开发的软件系统的功能、性能、可靠性以及接口等方面的设想。
(2)需求分析阶段认真细致地了解用户对数据的加工要求,确定系统的功能与边界。
本阶段的最终结果,提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。
(3)设计阶段把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。
(4)程序编制阶段以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。
程序编制时应遵循结构化程序设计方法。
(5)调试阶段对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。
(6)运行和维护阶段这是整个设计周期最长的阶段,其工作重点是收集和记录系统实际运行的数据。
在运行中,必须保持数据库的完整性,必须有效的处理数据故障和进行数据库恢复。
同时解决开发过程的遗留问题,改正错误进行功能完善。
软件产品的产生过程,新产品项目的提议市场分析预测技术可行性分析制定产品研发实施步骤(功能规范/总体计划/总体进度表)高层论证和审批项目确立和执行产品开发(概念设计/逻辑设计/物理设计/开发计划/编码/测试/文档整理),传统软件开发与现代软件开发,软件开发包括计划、设计、实施、测试以及市场运作。
传统软件开发即作坊式的软件生产。
开发工作主要依赖于开发人员的个人素质与程序设计技巧。
特点是,缺少与程序有关的文档,软件开发的实际成本和进度与预计的相差太远。
没有团队,项目管理松散,程序的可重用的成都差。
可维护性差。
生产率低,跟不上应用需求的增长速度。
现代软件开发强调采用分工与协作,重视项目管理和软件质量,采用工程化的方法进行文档的控制与代码的管理。
现代软件开发对人才的要求,扎实的基础创新、独立的工作能力主人翁精神(Ownership)和团队精神(Teamwork)沟通与协调能力成就感强,有激情自觉地干好工作锲而不舍,从错误中学习,产品的团队,互相沟通,沟通,产品团队的组成,高级的产品管理团队的组成,团队角色与主要目标,产品管理团队的主要组成,产品的管理部门,管理部门的负责人即为产品总经理,同时包括产品计划、市场分析与研究、产品推销、市场、公共关系的负责人。
产品团队承担的角色
(1)了解用户的想法;
(2)确定项目的发展前景,项目管理团队,任务是控制决策的各种因素,以保证在合适的时间推出合适的产品,同时负责创建功能规定文档,并将它作为如何实施产品或服务的一种决策工具,以及日常协调工作。
操纵产品的开发过程管理产品的细节促进团队内部交流和商议保证产品的开发进度控制全局,并做出一些折中决定,项目团队管理,产品按时发布,项目协调,产品结构设计,项目管理团队所承担的角色,软件开发团队,任务负责代码的设计和程序的实现。
角色是具体说明物理设计功能估计完成每一个功能所需要的时间和人力建立数据库编码实现功能配置并准备产品,软件开发团队所承担的角色,软件测试团队,站在使用者和攻击者的角度,通过不断地使用刚开发出的软件产品,尽量多地找出产品中存在的问题。
角色是尽量找出所有的Bug写出测试规范和测试计划,软件测试团队所承担的角色,参考书,软件开发的科学与艺术陈宏刚等电子工业出版社(微软公司),预备知识,对话框及其控件ADO技术ODBC技术软件工程开发系统的步骤,教职工信息管理系统ADO数据库应用系统,概述-系统开发的背景与意义功能需求分析系统概要设计数据库设计系统详细设计与实现系统测试结论,概述,随着计算机及网络技术的飞速发展,Internet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。
学校教职工管理是学校管理中需要经常处理的一项工作,手工记录与查询相关信息既浪费时间又浪费人力和物力。
采用计算机对教职工管理工作进行管理,可提高教职工管理的统一管理,实现高校教职工管理工作的系统化、规范化和自动化。
因此,制作一个教职工管理管理系统有十分重要的意义。
本系统采用ADO技术,用VC+设计开发一个MIS系统,功能需求分析,本系统是为了解决学校管理中有关教职工信息和工资的管理,在教职工信息管理系统开发时应该满足以下几个方面的需求:
1.教职工的基本信息管理,对教职工的信息进行录入,删除、修改以及对教职工信息的查询,应能根据不同的查询条件对教职工的信息进行查询操作。
2.教职工的工资信息管理,对教职工工资信息进行录入,删除,修改以及对教职工工资信息的查询,应能根据不同的查询条件对教职工工资信息进行查询操3.用户权限管理。
用户权限的设置,有授权的用户才可以查询、对有关信息进行录入,删除和修改。
系统概要设计,教职工信息管理系统功能图,1.教职工基本信息管理:
包括添加、删除和查询。
查询信息:
用户可以选择不同的查询条件来对数据库进行操作,如可以按所在部门来查询每个学院有多少名教职工工,按职称来查询有多少教授,助教等,按编号可唯一查询一名教职工的基本信息。
2.教职工工资信息管理:
包括添加、删除和查询。
查询信息:
用户可以选择不同的查询条件来对数据库进行操作,如可以按姓名、编号、基本工资查询一名教职工工资信息。
3.为用户设置功能权限,只有admin授权的用户才可以对有关信息进行入录,删除和查询操作,普通用户是没有权限来为本系统受权的。
数据库设计workermanage.mdb,职工信息:
用于记录教职工的基本情况职工工资信息:
用于记录教职工工资的基本情况系统用户信息:
用于该系统管理员admin为用户授权的信息,职工信息表workerinfo,职工工资信息表,系统用户信息表,用Access创建数据库.mdb,以及3张表,系统详细设计与实现,界面设计登录界面主界面职工基本信息录入界面职工基本信息查询界面职工工资录入界面职工工资查询界面用户管理界面代码实现,登录界面与主界面,职工基本信息操作界面,工资操作界面,用户管理界面,ADO环境的设置与数据库的连接,ADO环境的设置在StdAfx.h文件中,加入如下语句:
#import“msado15.dll”no_namespacerename(“EOF”,“adoEOF”)注意:
将msado.dll复制到当前文件夹下数据库的连接在项目的App程序类中,加入成员变量public:
_ConnectionPtrm_pConnection;,数据库的连接在项目的程序类的初始化例程函数中,添加连接数据库的代码:
BOOLCMyApp:
InitInstance()。
:
CoInitialize(NULL);trym_pConnection.CreateInstance(ADODB.Connection);/创建Connection对象m_pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;DataSource=workermanage.mdb,adModeUnknown);/连接数据库catch(_com_errore)AfxMessageBox(数据库连接失败,确认数据库workermanage.mdb是否在当前路径下!
);returnFALSE;,登陆界面的详细设计IDD_LOGINCLOGIN,工作流程:
用户输入用户名和密码,单击“确定”按钮,在密码数据库中查找是否有这样的用户,如有则打开主界面,否则,重新输入用户名和密码。
登录界面的代码实现,voidCLOGIN:
OnQueding()UpdateData(true);if(m_password=|m_username=)MessageBox(用户名和密码不能为空,请输入完整!
);elseCStringsql=select*fromusermanagewherename=+m_username+“andpassword=+m_password+;_RecordsetPtrm_pRecordset;trym_pRecordset.CreateInstance(ADODB.Recordset);m_pRecordset-Open(_variant_t)sql,_variant_t(IDispatch*)(CMyApp*)AfxGetApp()-m_pConnection),true),adOpenStatic,adLockOptimistic,adCmdText);,CStringm_passwordCStringm_username,catch(_com_errore)CATCH_ERROR;return;if(!
m_pRecordset-adoEOF)CMyDlgdlg;/主界面dlg.DoModal();elseMessageBox(用户名或密码不对,请重新登录!
);m_password=;m_username=;m_name.SetFocus();UpdateData(false);return;CDialog:
OnOK();,试一试,修改程序,使用户登录时,有三次输入密码的机会,有三次输入密码的机会,voidCLOGIN:
OnQueding()UpdateData(true);CStringsql=select*fromusermanagewherename=+m_username+andpassword=+m_password+;_RecordsetPtrm_pRecordset;trym_pRecordset.CreateInstance(ADODB.Recordset);m_pRecordset-Open(_variant_t)sql,_variant_t(IDispatch*)(CMyApp*)AfxGetApp()-m_pConnection),true),adOpenStatic,adLockOptimistic,adCmdText);catch(_com_errore)CATCH_ERROR;return;,if(!
m_pRecordset-adoEOF)/如果存在这样的用户EndDialog(IDOK);/结束登录对话框CMyDlgdlg;/模式打开主对话框dlg.DoModal();elsem_iLogOnCount+;/登录次数加1,成员变量if(m_iLogOnCount=3)/如果超过3次,则结束对话框,程序结束MessageBox(对不起!
你不是该系统的用户,请与管理员联系!
);this-EndDialog(0);elseMessageBox(用户名或密码不对,请重新登录!
);m_password=;m_username=;m_name.SetFocus();UpdateData(false);return;CDialog:
OnOK();,登陆界面的启动,BOOLCMyApp:
InitInstance()。
HRESULThr;tryhr=m_pConnection.CreateInstance(ADODB.Connection);/创建Connection对象if(SUCCEEDED(hr)hr=m_pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;DataSource=workermanage.mdb,adModeUnknown);/连接数据库catch(_com_errore)AfxMessageBox(数据库连接失败,确认数据库workermanage.mdb是否在当前路径下!
);returnFALSE;CLOGINdlg;m_pMainWnd=,MFC创建的应用程序框架默认的是主界面CMuDlg,为了在程序启动后首先出现登陆界面,需要修改原来的代码为CLOGIN,Pulic:
_C_ConnectionPtrm_pConnection;,主界面的详细设计IDD_MY_DIALOG,工作流程:
在主界面中,选择某一按钮,弹出相应的操作界面。
主界面的代码实现,voidCMyDlg:
OnPaint()/显示背景图片CPaintDCdc(this);CRectrect;GetClientRect(rect);CBitmap*bitmap=newCBitmap;bitmap-LoadBitmap(IDB_BITMAP1);CDC*m_dc=newCDC;m_dc-CreateCompatibleDC(,背景图片为一事先用PHOTSHOP制作好的位图。
首先将该图片插入到项目中,然后在对话框的OnPaint()中,用代码将其显示。
也可在对话框中插入图片框来显示。
voidCMyDlg:
OnButtonInfomation()/基本信息操作CINFOMATIONdlg;dlg.DoModal();voidCMyDlg:
OnButtonWage()CWAGEdlg;dlg.DoModal();voidCMyDlg:
OnButtonInS()/查询CinfoSearchdlg;dlg.DoModal();voidCMyDlg:
OnButtonWaS()CwageSearchdlg;dlg.DoModal();,voidCMyDlg:
OnButtonUesr()/用户管理CLOGIN*passwordDlg=(CLOGIN*)(AfxGetApp()-m_pMainWnd);if(passwordDlg-m_username=admin)CUSERdlg;dlg.DoModal();elseMessageBox(你没有权限进行该操作,请以管理员身份登陆此系统,警告,MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2);,职工基本信息界面设计IDD_INFORMATION,单击“增加”按钮,会将输入的信息添加到相应的数据库表中;单击“浏览”按钮,弹出浏览窗口。
voidCINFOMATION:
OnButtonAdd()CStringsex,grade,sql;UpdateData(true);m_sex.GetWindowText(sex);m_grade.GetWindowText(grade);if(m_id=|m_dep=|m_workdate=|m_title=|m_name=|m_history=|m_age=)MessageBox(参数不能为空,请输入完整!
);sql=select*fromworkerinfowhereid=+m_id+;_RecordsetPtrm_pRecordset;trym_pRecordset.CreateInstance(ADODB.Recordset);m_pRecordset-Open(_variant_t)sql,_variant_t(IDispatch*)(CMyApp*)AfxGetApp()-m_pConnection),true),adOpenStatic,adLockOptimistic,adCmdText);catch(_com_errore)CATCH_ERROR;return;,基本信息界面的代码实现,if(!
m_pRecordset-adoEOF)MessageBox(所添加的记录已经存在!
);else_RecordsetPtrm_pRecordset;sql=insertintoworkerinfovalues(+m_id+,+m_name+,+sex+,+m_age+,+m_title+,+m_workdate+,+m_dep+,+grade+,+m_history+);trym_pRecordset.CreateInstance(ADODB.Recordset);m_pRecordset-Open(_variant_t)sql,_variant_t(IDispatch*)(CMyApp*)AfxGetApp()-m_pConnection),true),adOpenStatic,adLockOptimistic,adCmdText);catch(_com_errore)CATCH_ERROR;MessageBox(添加成功);m_work=;m_time=;m_segment=;m_name=;m_history=;m_age=;UpdateData(false);,如果m_age是整型的,则sql应采用Format()函数来写Sql.Format(“%s%s%s%d”,m_id,m_name,sex,m_age,),也可采用命令指针实现,浏览界面的详细设计与实现IDD_INFORSEARCH,对话框初始化,BOOLCinfoSearch:
OnInitDialog()CDialog:
OnInitDialog();/初始化列表控件CStringstrListHead9;intwidth9;strListHead0=职工编号;strListHead1=姓名;strListHead2=性别;strListHead3=年龄;strListHead4=所在部门;strListHead5=工作时间;strListHead6=职务;strListHead7=职称;strListHead8=简历;width0=80;width1=60;width2=60;width3=100;width4=100;width5=80;width6=80;width7=100;width8=100;m_listis.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);for(inti=0;i9;i+)m_listis.InsertColumn(i,strListHeadi,LVCFMT_CENTER,widthi);m_combotype.SetCurSel
(1);/初始化数据信息InitListData();,voidCinfoSearch:
InitListData()_RecordsetPtrm_pRecordset;CStringsql=select*fromworkerinfo;trym_pRecordset.CreateInstance(ADODB.Recordset);m_pRecordset-Open(_variant_t)sql,_variant_t(IDispatch*)(CMyApp*)AfxGetApp()-m_pConnection),true),adOpenStatic,adLockOptimistic,adCmdText);catch(_com_errore)CATCH_ERROR;,m_listis.DeleteAllItems();CStringstrText;_variant_tvar;intnItem=0;tryif(!
m_pRecordset-BOF)m_pRecordset-MoveFirst();while(!
m_pRecordset-adoEOF)var=m_pRecordset-GetCollect(id);if(var.vt!
=VT_NULL)strText=(LPCSTR)_bstr_t(var);m_listis.InsertItem(nItem,strText);。
nItem+;m_pRecordset-MoveNext();catch(_com_errore)CATCH_ERROR;return;,查询,voidCinfoSearch:
OnButtonS()CStringcombotype,edittype,sql;intItem;m_combotype.GetWindowText(combotype);if(combotype=姓名)m_edittype.GetWindowText(edittype);sql=select*fromworkerinfowherename=+edittype+;if(combotype=年龄)m_edittype.GetWindowText(edittype);sql=select*fromworkerinfowhereage=+edittype+;if(combotype=性别)m_edittype.GetWindowText(edittype);sql=select*fromworkerinfowheresex=+edittype+;if(combotype=所在部门)m_edittype.GetWindowText(edittype);sql=select*fromworkerinfowheresegment=+edittype+;if(combotype=职称)m_edittype.GetWindowText(edittype);sql=select*fromworkerinfowheregrade=+edittype+;,if(edittype=)MessageBox(请输入要查询的参数!
);elsem_listis.DeleteAllItems();_RecordsetPtrm_pRecordset;trym_pRecordset.CreateInstance(ADODB.Recordset);m_pRecordset-Open(_variant_t)sql,_variant_t(IDispatch*)(CMyApp*)AfxGetApp()-m_pConnection),true),adOpenStatic,adLockOptimistic,adCmdText);catch(_com_errore)CATCH_ERROR;CStringstrText;_variant_tvar;intnItem=0;,tryif(!
m_pRecordset-BOF)m_pRecordset-MoveFirst();while(!
m_pRecordset-adoEOF)var=m_pRecordset-GetCollect(id);if(var.vt!
=VT_NULL)strText=(LPCSTR)_bstr_t(var);m_listis.InsertItem(nItem,strText);var=m_pRecordset-GetCollect(name);if(var.vt!
=VT_NULL)strText=(LPCSTR)_bstr_t(var);m_listis.SetItemText(nItem,1,strText);var=m_pRecordset-GetCollect(sex);if(var.vt!
=VT_NULL)strText=(LPCSTR)_bstr_t(var);m_listis.SetItemText(nItem,2,strText);。
nItem+;m_pRecordset-MoveNext();,catch(_com_errore)CATCH_ERROR;return;Item=m_listis.GetItemCount();m_number=Item;UpdateData(false);if(Item=0)MessageBox(所查找的记录不存在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 开发 实例
![提示](https://static.bingdoc.com/images/bang_tan.gif)