教师工资管理系统软件工程.docx
《教师工资管理系统软件工程.docx》由会员分享,可在线阅读,更多相关《教师工资管理系统软件工程.docx(25页珍藏版)》请在冰豆网上搜索。
教师工资管理系统软件工程
课程设计概述
第一节背景
本文根据钱乐秋等教授编著的《软件工程》课程要求而做。
作业要求如下:
构思一个软件,采用软件工程方法对其进行设计(包括系统分析,需求分析,概要设计,详细设计)
第二节选题说明
我们小组经过讨论选择了“学校内部工资管理系统”。
我们对这个系统进行系统分析、需求分析、概要设计、详细设计,借此加深对《软件工程》这门课的了解。
根据老师要求,我们认为课程设计应完成以下目标:
1、以软件的生命周期为线索,完成软件的定义及软件的部分开发工作,能够初步应用课程中介绍的开发技术和部分工具。
2、能够编写较完整的和标准的软件文档,用来记录软件的开发活动和阶段性成果,有助于理解软件所必须的阐述性资料。
3、综合本学期学习的知识运用到本系统中,以此来检验学习成果。
从中发现我们知识上缺漏,加以改善。
第三节课程题目
1、课程题目:
《学校内部工资管理系统》
2、编写目的:
使各教职工能方便快捷地查询到自己工资并让各部门清楚了解部门财务状况,人事处、财务处能利用该系统更方便完成份内工作.
3、系统简介:
每个月各个部门(包括系和行政部门)将本部门各个教职工出勤情况(缺勤原因、日期、缺勤天数(课时)、每月缺勤统计)和本月的业绩考核上报人事处,人事处根据奖惩实施细则统计出各个教职工的可变工资(包括出勤工资、奖金及扣款金额),系统根据各岗位基本工资表自动统计出总工资表,总工资表送往财务处,若审核通过之后即得到正确的工资表,最后由系统加工输出工资表、部门汇总表、扣税款表、银行发放表并输出和保存留底.
第一章系统分析
第一节项目的范围和目标
1、架B/S结构,实现各部门对工资生成情况进行了解.
2、所有有效数据存入系统中,通过大型数据库管理系统进行管理.
3、对使用本系统的用户设计合理的使用权限,促进各教职工工资管理的顺利进行.
4、系统接收各用户提供的信息,生成工资表.
5、对所有教职工提供方便的工资查询功能.
第二节项目可行性分析
一、经济可行性:
本系统开发投资约为5万左右,工资管理是学校管理的重要组成部分,它与学校的人事管理、财务管理有着密切的联系.对于劳资关系相对复杂的学校,手工进行工资的发放工作往往需要耗费大量的人力与时间。
由于工资发放在时间和操作上存在着一定的重复性、规律性,这使得工资管理的计算机化成为可能,该项目的提出正是为了在此基础上进一步实现学校员工工资管理的规范化和自动化本系统定会受到各学校的欢迎,拥有一定的市场,可在短时间内收回成本,并有可观的经济效益。
二、技术可行性:
根据客户提出的系统功能、性能及实现系统的各项条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发
三、法律可行性:
研究开发此系统的过程并未涉及到合同侵权责任以及各种与法律相抵触的问题.
四、社会可行性:
本系统定位于各高校,也可以适用于各中小型企业。
运用此系统进行工资管理,给各院校教职工带来极大的方便.
第三节项目进度计划
序号
项目
天数
主要工作
1
系统分析
0.5
初步设定项目的范围和目标;
进行可行性分析;
确定项目进度计划;
2
需求分析
1
确定系统的要求:
功能、性能、运行及补充;
分析数据:
系统的概念模型、逻辑模型;
修正项目计划,给出原型;
3
概要设计
0.5
确定最佳方案,结构设计,数据库设计;
4
详细设计
1
分别用顺序图类图结构视图描述系统外观;
5
编写代码
5
分工进行各个代码模块编写;
5
测试运行
0.5
设计测试用例,进行测试运行;
6
移交系统
0.5
编写心得体会,递交报告;
第二章需求分析
第一节基本需求规格说明
一、系统概貌
本系统是一个学校内部工资管理系统。
对教职员工的基本信息和工资信息进行添加和修改,能够调整工资项目,根据需要对教职员工基本信息和工资信息的查询,本系统能够生成各个月的工资表,能够打印报表方便保存和管理,还包括对系统的一些基本操作功能,比如为完善系统管理功能,增加工资系统用户管理功能,系统应该包括系统用户数据的添加,修改和删除.教职员工为系统普通用户,只能运行系统个人工资查询功能;系统管理员则能运行系统所有功能,从而有效保证系统数据的安全性,系统应该具有简单,易用,小巧,经典的特色,应该能够对高校工资管理进行优化,使其系统化,高效化,智能化。
并保证工资管理的准确性,简易性,为学校财务人员提供便利.
二、功能要求
1。
学校教职工可以通过互联网查询个人工资详情
2.学校人事处可以通过互联网将出勤工资、奖金及扣款清单送到财务处,以及将人事变动情况送往财务处和各部门.
3.学校财务处可以通过互联网将教职工的工资表做好并将数据送银行,将工资条发给各部门.
4。
学校各部门可以通过互联网将各教职工出勤情况上报人事处
5。
必要时可以进行手动调整。
功能细项:
教职工基本信息管理(添加,修改,删除信息),教职工出勤信息管理(统计,修改出勤情况),可变工资管理(统计出勤工资、奖金及扣款项目),总工资汇总,输出部门汇总表、银行发放表、工资条.
三、性能要求
稳定性:
系统需一天24小时进行工作。
并将所有数据进行备份处理;
友好性:
系统具有好的图形用户界面;
安全性:
系统对要提供与读取信息的用户进行身份验证,登录后各员工只能可以看到各自工资详情;
系统容量:
系统可以同时提供500人在线服务;
系统响应:
系统能设置登录等级,对于使用服务器端工作者可以先行响应;
四、运行要求
1、运行环境:
系统能运行于通用的技术环境(UNIX、WINDOWS等)中,并
能够通过互联网和局域网支持内部工资管理工作。
2、软件配置:
只要在装有IIS和MSSQL的服务器上就可以完成服务端的配置工
作,把网页文件放入网页跟目录下,进行相应的IIS配置。
把数据库文件导
入到MSSQL中,接上网络就可以进行工作.客户端只要有web浏览器就可
以进行浏览工资详情。
第二节用例分析
一、系统基本用例
系统参与者:
教职工:
提交各人信息和查询总工资表;
财务处:
查询总工资表,生成正确的工作表,生成各教职工工资条;
人事处:
提交人员变动情况,制定奖惩实施细则,生成可变工资;
学校各部门:
提交出勤情况,提交业绩情况,读取工资条。
系统各参与者通过系统可以实现的功能:
1.学校教职工通过系统可以实现以下使用需求:
※提交个人信息
※登陆修改个人信息
※查询个人工资各项详情
2.学校人事处可以通过系统实现以下使用需求:
※输入教职工调动信息
※读取教职工出勤及业绩情况
※制定奖惩实施细则
※生成教职工出勤工资、奖金及扣款清单
3.学校各部门可以通过系统实现以下使用需求:
※给出教职工出勤情况
※给出教职工业绩考核情况
※读取各部门汇总表
※得到工资条
4.学校财务处可以通过系统实现以下需求:
※读取工资表
※生成正确工资表及查询工资情况
人事处
二、系统业务逻辑描述
本系统的业务逻辑描述:
系和各部门将各教职工的出勤情况上报人事处;人事处将出勤工资,奖金及扣款清单送到财务处;人事处将人员变化情况通知各部门和财务处,财务处通过收集到的的出勤工资,奖金和扣款清单经过计算生成工资表并将数据送往银行,
第三节数据流图分析
一、数据流图
2.1
工资汇总
统计
2.2
各种款项
统计
可变
工资
各岗位基本工资表
1层图-2
2.3
数据整合
总工资表
工
资
条
总工资表
扣税款表
部门汇总表
三、操作流程图
此系统基于B/S的运行方式,可同时允许多个用户访问.用户通过登入界面进入系统,进行相应权限的操作.
第三章概要设计
第一节系统结构设计
本系统主要包括:
用户接口包、数据库包、自动统计包、工资表生成包;
一、用户接口包:
在用户接口包中,主要包括以下几个类:
1.用户接口类:
为用户提供注册和相应权限登入接口;
2.插入数据类:
用户登入后可以向系统提供本人相应权限的数据信息;
3.查询数据类:
用户登入后可以查询本人相应权限的数据信息;
二、数据库包:
在数据库包中,主要包括以下几个类:
1.查询类:
主要提供查询数据库中的相关数据。
如教职工的工资等;
2.增删类:
主要是指可在已有的数据库中增删数据;
3.更新类:
主要完成数据库的更新的类。
4.存储备份类:
主要完成数据的存储转换和备份的类;
三、自动统计包:
在自动统计包中,主要包括以下几个类:
1.读取数据类:
完成从数据库中读取工资统计数据的类;
2.自动统计类:
完成自动统计过程的相关类;
四、工资表生成包:
提供生成工资表的类,主要包括以下几个类:
1.总工资表生成类:
完成生成各教职工工资各项情况的相关类;
2.部门汇总表生成类:
完成各个部门的工资汇总表生成的相关类;
3.银行发放表生成类:
完成银行发放表生成的相关类;
4.工资条生成类:
完成工资条生成的相关类;
第二节子系统划分
总划分如下图:
第四章详细设计
第一节系统面向对象分析
一、顺序图分析
第一、人事管理员登录;
第二、在人事管理的界面选择月绩考核操作;
第三、录入对应教职工的月绩;
第四、系统根据标准统计出教职工的奖金后,存入数据库文件;
二、类图分析
第二节子系统分析
一、用户管理子系统
该系统主要负责普通用户和管理员登陆;
系统描述:
普通用户和系统管理员都可以根据自己的权限进行相应操作;
流程图说明:
第一、读取登陆者信息,判断登陆者身份;若登陆者为普通用户,则只能进行修改口令的操作;
第二、为系统管理员则可以进行增加及查询操作员信息并对其设置权限,删除操作员信息和修改登陆口令的操作;
实现该系统的流程图:
二、人事管理子系统
该系统主要负责人事调动信息的修改;
系统描述:
初步确定需调动教职工,上报人事主管,根据人事主管意见进行人员调动,确定确定人员调动后根据其调动原因进行相应的操作并将调动信息存入档案,人员调动后对其现在所处职位进行可变工资调整;
流程图说明:
第一、根据教职工信息判断该教职工是否调动,若不调动则重新输入需调动人员;
第二、根据需调动人员的调动类别进行相应操作,若需调动人员为退休辞退教职工则删除其信息若为职位调动员工则修改其信息,若为新加入教职工则录入其信息,并将所有操作过后的信息存入人事档案;
第三、根据变动过后的人事档案和调动的教职工正确的出勤和业绩确定其可变工资;
实现该系统的流程图:
三、工资管理子系统:
该系统主要负责各教职工工资管理;
系统描述:
统计出教职工总工资表,输出审核过后工资表,并根据输出工资表确定部门总汇表、输出工资条和银行发放表;
流程图分析:
第一、判断教职工可变工资信息是否属实,若不属实则进行相应修改若属实则结合岗位基本信息表统计出总工资表;
第二、审核工资表若审核通过则输出工资表;
第三、结合部门信息和个人信息确定部门汇总表、输出工资条和银行发放表;
实现该系统的流程图:
四、系统管理子系统
该系统主要负责整个系统的管理工作;
系统描述:
部门管理主要用来规范化各系各部门,数据备份主要用来对系统各项数据实行备份,以防数据丢失等;
第三节系统集成
系统组装:
把各个模块通过一定关系组装在一起,只有登陆页面是共同的接口,各个模块的更改对于其他模块不会有影响。
第六章结语
第一节各人完成的任务
课程初期阶段:
大家一起积极参与讨论整个系统的分析设计,发表自己的想法;
中后期阶段:
付希善:
主要负责需求分析阶段的用例分析及数据流图的设计,详细设计阶段面向对象分析,及部分代码编写;
吉薪乐:
主要负责详细设计阶段的子系统分析设计及各子系统流程图的设计及部分代码编写;
侯亮昌:
主要负责需求分析阶段的数据流分析的编写,部分数据流图设计,部分代码编写,测试用例设计与编写;
张冠雄:
主要负责设计封面和详细设计中的界面设计,系统分析阶段的内容编写及部分代码编写;
刘兴荣:
主要负责整篇论文电子版图的绘制,概要设计阶段的编写及部分代码编写;
蒋挺:
主要负责前言,需求分析阶段基本需求规格的编写,操作流程图的设计,论文的整理及部分代码编写;
第二节个人遇到的困难与获得的主要成果
付希善:
困难:
1、各个角色需要什么样的功能;
2、各个角色之间有什么样的联系;
3、有哪几个子系统,子系统间有什么样的数据流关系;
4、系统有哪些类;
5、类的具体属性和操作有哪些;
成果:
1、数据流图有了更深的认识;
2、学会更好和组员之间的协作;
3、对面向对象与结构之间的区别更加的了解;
4、体会到系统的功能,分块的重要性;
吉薪乐:
困难:
1、用户管理子系统中管理员和用户能进行什么操作;
2、各个用户的权限该如何管理;
3、教职工的调动情况的分类情况;
4、可变工资根据什么确定;
5、总工资表信息由哪些数据确定;
6、工资信息在哪阶段审核;
7、各个需存储文件表如何得出;
8、如何整合各个系统,如何共用相同模块;
成果:
解决了详细设计阶段四个子系统功能如何实现的问题;
侯亮昌:
困难:
1、如何站在客户的角度上把功能想得尽量完全;
2、怎样更好的表达自己的想法,聆听理解别人的思想,以便达成共识,使不同的想法更好的结合;
3、测试用例需要设计哪些数据才能全面;
4、每个阶段要涉及到哪些用例;
成果:
1、详细的编写了数据流的分析;
2、详细地设计了三个测试用例,分别是个人信息录入用例,调动情况用例和工资查询用例;
张冠雄:
困难:
1、在可行性分析中,如何全面考虑到每个方面的内容;
包括经济、技术、法律、社会四个方面的具体分析;
2、怎样设计出满足客户需求的人机界面;
成果:
了解了界面设计原则和人机界面特征
界面设计原则:
1。
在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应保持风格的一致性;2。
对所有可能造成损害的动作,坚持要求用户确认,例如提问“你肯定……?
”等,对大多数动作应允许恢复(UNDO),对用户出错采取宽容的态度;3。
用户界面应能对用户的决定做出及时的响应,提高对话、移动和思考的效率,最大可能的减少击键次数,缩短鼠标移动距离,避免使用户产生无所适从的感觉;4。
保证信息显示方式与数据输入方式的协调一致,尽量减少用户输入的动作,隐藏当前状态下不可选用的命令,允许用户自选输入方式,能够删除无现实意义的输入,允许用户控制交互过程;5.除此之外,正确的使用颜色也很重要;
人机界面特征:
1。
操作简单,易学,易掌握;2。
界面美观,操作舒适;3。
快速反应,响应合理;4。
用语通俗,语义一致;
刘兴荣:
困难:
1、系统结构中主要包括哪些部分、有哪些包;
2、用户接口包中包括哪几个类;
3、数据库包中包括那几个类;
4、自动统计包中包括那几个类;
5、工资表生成包中包括那几个类;
6、系统应如何划分出子系统;
7、如何将各个阶段所用到的图更加完善地绘制成电子版图;
成果:
设计出了系统概要;
蒋挺:
困难:
写论文过程中,关于子系统描述,流程图表示等有些字词表达斟酌了很久,有时甚至不知道怎么表达;
成果:
通过这次论文写作,使我更深理解了论文格式以及如何进行论文编写;
第三节心得体会
这次课程设计历时一周左右,通过这一个星期的设计,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。
同时这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。
刚开始的时候,大家一片茫然,都各自忙着网上找资料,后面我把大家集合在一起讨论各个方案的可行性。
在课程设计中只有一个人知道如何设计是远远不够的,必须让每个人都知道,毕竟一个人所能考虑到的东西是有限的,稍有不慎就有可能全部重新来过。
团结协作是我们成功的一项非常重要的保证。
这次设计正好锻炼我们这一点,这是非常宝贵的.
———-—---——-—-——-—————--—-—付希善
五天来的课程设计,几乎可以说是“吵”着过来的,我们为了如何实现需求分析中各个流程图的设计而“争吵”,为了如何使详细设计更完整而“争吵",从需求分析到概要设计再到详细设计,我们的所有流程图类图甚至整篇论文都是队友就这样“争吵"而得出来的。
这次课程设计的内容几乎涵盖了《软件工程》这本书的所有内容,通过它,我不仅重新复习了这门课程,还对这门课程有了更深刻的理解。
当然除了课本知识上的收获,也有很多学习之外的收获;一连串的分析设计锻炼了我抗挫能力,让我深刻体会到每件事情都得全面考虑,稍有欠缺,有时候就得重头来过;并且深刻得体会到团队合作的重要性,要懂得如何“吵”,如何“吵”出水平,“吵”出成绩。
———-—-——————-—--————-—---—吉薪乐
不论在哪里,团队精神永远都是很重要的.这次的课程设计让我更深刻的体会了团队精神。
6个人在一起思考交流,过程很热闹,每个人对这个题目都有自己的看法,经过一番唇枪舌战之后终于达成共识。
然后分工,完成自己的任务,当遇到问题的时候又一起解决,一切都有条不紊的进行着.一个人的思维是局限的,聚集6个人的智慧和长处才能使这个系统更加完善和完美。
这次的课程设计也使我对软件工程有了更感性的认识,虽然没有参与软件生命周期的每个阶段,但是经过动手操作,我对《软件工程》有更高层次的了解。
一个星期的课程设计忙碌但充实,不仅学到了很多课本上没办法学到的知识,如何表达自己的想法以及肯定别人的好点子,也通过合作更了解队友,增进友情。
———————-————--————-—-——-——侯亮昌
通过这些天的课程设计,我认识到这样的团队才是高效率的以及优秀的:
1、团队必须要有开放性的广泛沟通与交流及相互支持,队员与队员之间彼此信任,相互支持,配合默契,而良好的合作是以沟通、协调为前提的。
2、每个对员所担负的角色要分工合理,明确定位,互相依存,形成合力。
3、团队要有明确的奋斗目标。
每个团队的对员都要目标清楚明确,愿意为实现这个奋斗目标做出不懈的努力.4、对于团队取得的成绩大家共同分享,激励大家共同赢得团队整体的成绩,追求团队整体业绩,分享每一项成果与每一份快乐.
————————--—--—————————-—-—张冠雄
四天三夜的课程设计生活终于有了结果,回头想想,收获颇多。
组员们一起讨论、策划、分工,各挥所长.来回奔波于宿舍和机房之间,阶段中修修改改,一个微小细节的变动常常牵动着几乎所有模块结构的变动,借用胡老师在考试前给我们的一句话就是“要随时做好重新多做几遍的准备",我想这句话可以用在很多方面,无论做什么样的事,我们都要力求把它做好,不停的完善。
通过这次课程设计,我了解到自己在软件工程方面还有很多不足,在实践过程中老师和组员们给了我很大的帮助和鼓励。
对我自己来说,重要的不是做出一个多伟大的设计,而是从中学到很多平时不能学到的,在这之中团队的友情是我最看重的,谢谢队友们,还真是有点不舍。
——————---—-—-——--———————-—刘兴荣
软件设计没什么太神秘有东西,只要用心体会,其实一切都很自然.软件的设计之“道”,也不在于设计有多么的华丽、精巧,而在于其朴实、自然,最终达到“以无招胜有招",进入一个全新的境界。
以我的拙见,软件设计领域中的各种概念有以下几种理解,首先软件设计的目的是它的重用性和扩展性,这是设计的最高层次,也是应对软件危机的需要。
其次设计原则是低耦合高聚合,它是运用设计模式封装变化和降低耦合度来实现,设计模式只是用来“封装变化、降低耦合”的工具而已.它是面向对象设计时代的产物,其本质就是充分运用面向对象的三个特性,即:
封装、继承和多态,进行灵活的组合运用。
最后我认为接口存在的理由就是它更加灵活,关系简单,易于理解。
这就是接口存在的最重要的原因。
—-—————————-——-—---——-————蒋挺
第四节参考文献
1、教材:
《软件工程》钱乐秋赵文坛牛军钰清华大学出版社2007—3
2、《软件工程概论》课程设计作业——PatientObservationV2。
00赵卓宁