面向对象程序设计
企业工资管理系统项目报告
班 级:141042Y1
班
姓 名:高帅(组长)张博贇 彭天 学号:1410400522 1410400203 1410400517 指导教师:曹国刚
时 间:2015.7.6 -2015.7.17
面向对象实训报告
目录
第一章 需求分析 ........................................................ - 1 - 1.1 项目描述 ........................................................... - 1 - 1.2 需求分析 ........................................................... - 1 - 1.2.1 业务流程 ......................................................... - 1 - 1.2.2 系统功能需求 ..................................................... - 1 - 第二章 开发工具与开发环境 .............................................. - 1 - 2.1 C++开发平台 ...................................................... - 1 - 2.2 Visual studio 2013控制台应用程序开发环境.........................- 2 - 2.2.1 Visual studio 2013开发环境 ...................................... - 2 - 2.2.2 控制台应用程序开发环境 ........................................... - 2 - 第三章 系统设计 ........................................................ - 3 - 3.1 主要类设计 ......................................................... - 3 - 3.2 操作界面 ........................................................... - 5 - 第四章 程序安装运行与使用 .............................................. - 7 - 4.1 测试方法与测试过程 ................................................. - 7 - 第五章 存在问题与体会 .................................................. - 8 - 5.1 存在问题 ........................................................... - 8 - 5.2 心得体会 ........................................................... - 8 - 第六章 致谢 .............................................. 错误!未定义书签。 参 考 文 献 ........................................................... - 11 -
2
面向对象实训报告
第一章 需求分析
1.1 项目描述
企业的财务管理是企业运用现代化技术创造更多更高的经济效益。工资管理作为企业内部的一种财务管理也是如此,本系统就可以满足企业对员工的工资进行基本的管理。本系统可以录入,删除,查找以及可以对录入的员工工资进行基本的分析,了解其奖金、税金的发放情况,使企业通过这个系统对企业内的员工工资情况有一个较全面的了解。
1.2 需求分析
1.2.1 业务流程 系统的业务流程概括如下图(图1-1): 菜单条 录入 删除 查找 统计 退出 姓名工号部门单位 图1-1 收入、工资、税收 1.2.2 系统功能需求 员工需将自己的工号,部门,姓名,以及工资,税金的情况输入,系统可以自动对录入的员工工资进行分析
第二章 开发工具与开发环境
本项目的运行与开发环境如下:
1、操作系统:windows7 旗舰版或xp或其它版本 2、visual studio 2013版控制台应用程序 3、C-free 5
2.1 C++开发平台
C++是在C语言的基础上开发的一种通用编程语言,应用广泛。C++支持多种编程范
- 1 -
面向对象实训报告
式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++14于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大受用的最强大编程语言之一,支持类:类、封装、重载等。
2.2 Visual studio 2013 控制台应用程序开发环境
2.2.1 Visual studio 2013开发环境
Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。 Visual Studio 2013 预览版进行了大量改进,可帮助您在编码时提高工作效率并集中精力。某些功能首先在 Visual Studio Power Tools 扩展中以试验性质出现,经过改进后才纳入到 Visual Studio 中。新版本中内置了多种提高工作效率的功能,如自动补全方括号、使用快捷键移动整行或整块的代码以及行内导航。此外,Visual Studio 2013 预览版的团队资源管理器增强了主页设计,可以更简便地导航到团队协作功能,并可取消停靠“挂起更改”和“生成”,使其显示在一个单独的窗口中。
在处理大型代码文件时,可能难以了解当前所处的位置。在 Visual Studio 2013 预览版中,可轻松地在两种模式之间切换滚动条的行为。在栏模式中,可更直接地查看脱字号位置等注释、更改所在位置和跟踪错误。在图模式下,滚动条显示源代码的实时预览,而将鼠标悬停在代码上即可在工具提示中更详细地预览这段代码。然后单击代码所在位置即可导航到该位置。
了解某行代码的作用只是作为开发人员遇到的一部分难题。还必须了解其历史记录、谁处理过这行代码、哪些代码引用它,等等。在面向团队的项目中,这一点变得尤其困难。Visual Studio 2013 预览版中的 CodeLens(代码信息指示器)使用来自项目元数据和 Team Foundation Server 2013 预览版的信息,在代码中的每个方法上放置修饰符,其中显示哪些变更集导致创建该方法或做出最近的更改、谁是最后一个处理该代码的人、哪些单元测试涵盖该方法(包括最新的通过/未通过状态)以及存在哪些代码引用等信息。另外,单击一下即可迅速跳入该数据,如关联的变更集或引用的代码文件。
Visual Studio 2013 预览版引入了一种联网IDE 体验,使您可更加迅速地开始使用 Visual Studio 2013 预览版。当您首次启动 Visual Studio 2013 预览版时,将要求您使用 Microsoft 帐户(您可能已在 MSDN 或 Team Foundation Service 订阅中用到它)进行登录。登录后,即注册您的 Visual Studio 2013 预览版副本供您使用,无需任何额外步骤。Visual Studio 2013 预览版还将自动在采用联网 IDE 体验的设备上同步设置。同步的设置包括快捷键、Visual Studio 外观(主题、字体等)各种类别,同时使您保持对“同步设置”选项的完全控制。
- 2 -
面向对象实训报告
2.2.2 控制台应用程序开发环境
控制台程序是为了兼容DOS程序而设立的,这种程序的执行就好像在一个DOS窗口中执行一样,没有自己的界面。
所谓的控制台应用程序,就是能够运行在MS-DOS环境中的程序。控制台应用程序通常没有可视化的界面,只是通过字符串来显示或者监控程序。控制台程序常常被应用在测试、监控等用途,用户往往只关心数据,不在乎界面。
控制台程序是为了兼容DOS程序而设立的,这种程序的执行就好像在一个DOS窗口中执行一样,没有自己的界面。
INTEL的CPU有三种工作模式,实模式,保护模式,虚拟模式。实模式是16位的,在这种模式下可工作纯DOS。保护模式是32位的,WINDOWS就工作在这种模式下,为了使在32位保护模式下工作的WINDOWS可兼容16位实模式下的DOS程序,又设立了虚拟模式,就是控制台程序。
第三章 系统设计
3.1 主要类设计
1.Message 类
Message 类主要是实现录入功能。
方法 signin(int x) Put() Close() 功能 工资信息录入 定义put函数,以便于其他函数的调用,输入前缀的功能 点击关闭窗口程序退出 主要源代码:
void message::put()//定义put函数,以便于其他函数的调用 { cout< 面向对象实训报告 a_number, a_sj, a_jiangjin; fstream f(\"wenjian.txt\打开文件 if (!f) { cout << \"Can not open file\\n.\"; } for (j = 0; j < x; j++) { cout << \"姓名:\" << endl; cin >> a_name; cout << \"部门:\" << endl; cin >> a_bumen; cout << \"职务:\" << endl; cin >> a_duty; cout << \"身份证号:\" << endl; cin >> a_ID; cout << \"工资:\" << endl; cin >> a_salary; cout << \"工号:\" << endl; cin >> a_number; cout << \"税金:\" << endl; cin >> a_sj; cout << \"奖金:\" << endl; cin >> a_jiangjin; cout << endl; a[j].xinxi(a_name, a_bumen, a_duty, a_ID, a_salary, a_number, a_sj, a_jiangjin); f.write((char*)&a[j], sizeof(a[j]));//保存录入信息 } f.close();//关闭文件 cout << endl; ifstream in(\"wenjian.txt\ message b[10]; for (j = 0; j < x; j++) { if (!in.eof()) { in.read((char*)&b[j], sizeof(a[j])); b[j].put(); } else exit(0); } in.close(); } - 4 - 面向对象实训报告 3.2 操作界面 1、登陆界面 2. 录入功能 3.查询功能 - 5 - 面向对象实训报告 (1)按姓名查询 (2)按工号查询 4.统计功能 (1)按部门统计 - 6 - 面向对象实训报告 (2)按单位统计 第四章 程序安装运行与使用 4.1 测试方法与测试过程 - 7 - 面向对象实训报告 测试方法 主要采取visual studio测试法,对软件从功能方面进行测试,检测系统功能的运行情况。 (二)测试过程 1.窗口整体布局设计:各组件排列有序 2.录入功能:已实现(当输入为空自动进入主菜单,根据输入的人数的个数,显示相应对话框) 3.按姓名查找功能:已实现(当输入为空时能提示不能为空,当输入不存在汉语时能提示没有该单词,确定按钮能发生响应) 4.按工号查找功能:已实现(输入工号查找相应的信息) 5. 按部门统计功能:已实现(输入部门可以得到最大工资和最小工资,平均工资和方均差) 6.按单位统计功能: 已实现(输入单位可以得到最大工资和最小工资,平均工资和方均差) 7.退出功能:已实现 第五章 存在问题与体会 5.1 存在问题 软件功能还是比较简单,数据还是要靠手工输入,统计运算比较复杂,浪费较大的人力,软件的实用性还有待完善,毕竟功能不是很多。 5.2 心得体会 通过本次的面向对象程序设计实训课我们对软件工程的编程方面有一个基本的了解。这次设计的企业工资管理系统让我们对面向对象语言有一个全面的了解,不仅是对程序编译上有一个熟悉的过程,也意识到一个系统能和谐运作的重要性。所以我们各取所长,发挥每个人的优势,尽可能的负责自己擅长的板块,编译完以后再进行整体的整合,并对一些编译方式的合理性进行讨论,取长补短并最终编译出了一个比较完善的软件。 本次我负责录入的功能,就是将信息存储进入系统并将其用于后面的查找和统计功能,起初我认为这个功能并不是十分复杂,但是在编译过程中我发现程序的数据量众多,编译出来十分复杂,我通过上网查询资料并请教老师从中找到了了一些便利的途径,最后也成功完成了我的这一部分编写。 这次的程序设计课也让我更喜欢用面向对象的思想去编译软件也体会到了这个方法的优越性基于面向对象方法开发的系统适应性较强,并且它的概念和观点更接近于人类的思维方式,面向对象方法所提供的概念和技术显得更自然、更合理,它的抽象性、封装性、继承性、多态性比结构化方法更优越。 作为本人的第一次编写这样的系统,对我来说是一个较大的挑战也从中学到了很多,当然也会有不足,希望通过后面的学习中有所改变。但通过实际的一个程序让我锻炼面向对象的编程问题比以前上课只是单一就题目来编提高跟多,也锻炼了我对实际问题的解决能力。这个编写的企业工资管理系统只是我编程的开始,今后相信随着编程能力的提高,能编写出更多功能更加强大的程序,解决实际问题。 - 8 - 面向对象实训报告 - 9 - 面向对象实训报告 第六章 致谢 经过这两周的软件实训以及实验报告的完成过程中,我得到了老师和身边同学的帮助。对于在此过程中帮助我的人表示由衷的感谢。 在整个完成过程中,对于面向对象的编译语言有一个更加全面的了解,并使自己的编译能力有一个比较大的提高,导师也在我遇到编译问题是提供了宝贵的建议,使我受益匪浅。他的认真负责对我的编写能力有了一个极大的提高。 开发这个系统不仅是我自己也是整个小组的心血,感谢一起陪伴两周的组员一起努力奋斗才有了今天的硕果。 - 10 - 面向对象实训报告 参 考 文 献 [1] 杜茂康 《c++.net 程序设计》 清华大学出版社 2009年5月 [2] Stephen Prata 《C++ Primer Plus》 人民邮电出版社 2005年5月 - 11 - 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务