软件工程课程设计报告(最新3篇)
软件工程课程设计报告 篇一
在这个信息化时代,软件工程的重要性不言而喻。随着科技的发展,软件工程师的需求也越来越大。因此,软件工程课程设计成为了培养软件工程师的核心课程之一。本文将介绍软件工程课程设计的重要性以及设计过程的主要步骤。
首先,软件工程课程设计的重要性体现在其能够帮助学生理解和掌握软件开发的整个过程。通过课程设计,学生可以学到软件需求分析、系统设计、编码和测试等一系列软件开发的基本知识和技能。这些知识和技能对于学生以后的工作和学习都具有重要的意义。
其次,软件工程课程设计还能够帮助学生培养解决问题的能力。在课程设计过程中,学生需要面临各种各样的问题,例如如何合理分析需求、如何设计合理的系统架构等。通过解决这些问题,学生可以锻炼自己的分析和解决问题的能力。
接下来,我们将介绍软件工程课程设计的主要步骤。首先是需求分析阶段。在这个阶段,学生需要与用户进行沟通,了解用户的需求,并将需求转化为可行的软件系统。其次是系统设计阶段。在这个阶段,学生需要设计软件系统的整体架构,包括模块划分和模块之间的接口设计等。然后是编码阶段。在这个阶段,学生需要将系统设计转化为具体的代码实现。最后是测试阶段。在这个阶段,学生需要对软件系统进行各种测试,确保软件系统的功能和性能符合要求。
综上所述,软件工程课程设计在培养软件工程师方面具有重要的意义。通过课程设计,学生可以掌握软件开发的整个过程,并培养解决问题的能力。因此,软件工程课程设计应该得到足够的重视和关注。
软件工程课程设计报告 篇二
随着信息技术的不断发展,软件工程的重要性在各个行业中得到了广泛的认可。作为培养软件工程师的重要课程,软件工程课程设计在学生的软件开发能力和综合素质培养方面具有重要的意义。本文将介绍软件工程课程设计的目标和实践经验。
首先,软件工程课程设计的目标是培养学生的软件开发能力。通过课程设计,学生可以学到软件开发的基本知识和技能,例如需求分析、系统设计、编码和测试等。同时,课程设计还可以帮助学生了解软件开发的整个过程,从而提高他们的软件开发能力。
其次,软件工程课程设计的目标是培养学生的综合素质。在课程设计过程中,学生需要面临各种各样的问题,例如如何合理分析需求、如何设计合理的系统架构等。通过解决这些问题,学生可以锻炼自己的分析和解决问题的能力,同时也可以培养他们的团队合作和沟通能力。
接下来,我们将介绍软件工程课程设计的实践经验。首先是项目选择的重要性。学生在选择项目时应该考虑项目的实际意义和难度,以及自己的兴趣和能力。其次是团队合作的重要性。在课程设计过程中,学生需要组成团队,共同完成项目。因此,良好的团队合作能力是非常重要的。最后是持续学习的重要性。软件工程是一个不断进步的领域,学生应该保持对新技术和新方法的学习和探索。
综上所述,软件工程课程设计在培养软件工程师方面具有重要的意义。通过课程设计,学生可以提高软件开发能力和综合素质。因此,软件工程课程设计应该得到充分的重视和支持。
软件工程课程设计报告 篇三
课题名称:员工工资管理系统的设计与实践研究
姓 名:学 号:班 级:指导教师:
目 录
1.概述.............................................................. 4
1.1问题的提出................................................... 4
1.1.1 选题背景与意义........................................ 4
1.1.2 开发工具简介........................................... 5
2.可行性分析........................................................ 5
2.1社会可行性................................................... 5
2.2技术可行性................................................... 5
2.3经济可行性................................................... 6
3.需求分析.......................................................... 6
3.1系统业务流程图............................................... 7
3.2 系统的功能划分 .............................................. 7
3.3 系统的功能要求 .............................................. 7
3.4 用户的功能需求: ............................................ 7
3.4.1登陆功能 ............................................... 7
3.4.2 员工信息维护功能....................................... 8
3.4.3 工资信息维护功能....................................... 8
3.4.4查询功能 ............................................... 8
3.4.5计算功能 ............................................... 9
3.4.6打印功能 ............................................... 9
3.4.7退出功能 ............................................... 9
3.5系统的数据需求.............................................. 10
3.5.1 总结出数据信息........................................ 10
3.5.2数据流程图如下 ........................................ 10
3.5.3 数据流图的数据字典.................................... 12
3.6 系统的性能需求 ............................................. 13
4.总体设计......................................................... 13
4.1系统结构的总体设计.......................................... 14
4.2 各个模块的功能描述如下 ..................................... 14
4.2.1 员工基本信息维护模块.................................. 14
4.2.2 工资信息维护模块...................................... 15
4.2.3 查询信息模块.......................................... 15
4.2.4 计算工资模块.......................................... 15
4.2.5 打印模块.............................................. 15
4.2.6 登陆模块.............................................. 15
4.2.7退出模块 .............................................. 16
5.详细设计......................................................... 16
5.1 生成报表 ................................................... 16
5.2 查询模块的详细设计 ......................................... 17
6.测试............................................................. 18
6.1 黑盒测试 ................................................... 18
6.2 白盒测试 ................................................... 18
7. 调试............................................................ 19
8.结 论............................................................ 19
9.参考文献......................................................... 21
1.概述
1.1问题的提出
工资管理系统是一个数据库管理系统,是针对企业的工资管理业务进行计算机处理而开发的应用软件。它提供关于公司老员工及新员工信息和工资有效管理等事务的信息,由于需要添加和修改员工的信息和工资信息、删除离职员工信息和在职员工信息修改以及修改其他一些数据,工资管理系统由系统维护、输入、查询、修改、输出、统计等子模块组成,功能基本涵盖普通企业的工资管理业务范围。企业应用本系统后,可以有效的提高工资管理水平。
1.1.1 选题背景与意义
现代科学的发展,使计算机进入了几乎一切领域,计算机已经是家喻户晓、无人不知了。从科学研究到工农业生产,从企业生产管理到家庭生活,各行各业都广泛地使用着计算机,可以说没有计算机,就没有现代化,计算机知识已经成为当代知识分子结构中不可缺少的一个重要组成部分。随着经济的发展,企业正面向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。
在这种情况下,我们建立一个工资管理系统是必要的,该整个系统操作简便、界面友好、灵活、实用、安全的要求出发,完成人事、工资管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的变动引起职工信息的修改、员工信息查询、统计等人事管理工作以及新进员工工资的新增、老员工工资修改等工资管理工作。经过实际使用证明,本文所设计的人事工资管理系统可以满足本单位人事、工资管理方面的需要。
该设计主要介绍了本课题的开发背景,需求分析和功能设计等过程。
1.1.2 开发工具简介
1)pd:PowerDesigner,就是一个容易画出数据流图和生成数据库的逻辑模型和物理模型。该软件很容易实现把数据流图转化成相应的数据库的逻辑模型和物理模型。
2)SOL Server:它是一种关系数据库管理系统,能处理大量的数据和管理众多的并发用户,保证了数据的完整性,并提供许多高级管理和数据分布能力。
3) Visual Studio .NET: 向开发人员提供了用于在操作系统之间和语言之间集成解决方案
的工具。开发人员可将现有的业务逻辑方便地转换为可重复使用的 XML Web 服务、封装进程并使它们能够用于任何平台上的应用程序。
2.可行性分析
2.1社会可行性
C/S模式系统以服务器作为数据处理和存储平台,在终端设计有专门的应用程序进行数据的采集和初次处理,再将数据传递到服务器端,用户必须使用客户端应用程序才能对数据进行操作。C/S模式具有专业化程度高、开发手段灵活、运行速度快等特点,但受到维护成本大、适应性弱等问题的影响。本系统利用了C/S模式,符合企事业单位的管理要求,为其实现较为先进的工资管理提供了有利的支持。
2.2技术可行性
使用PowerBuilder开发传统意义上的C/S模式结构的数据库系统,可以利用其提供的许多对于数据库访问与控制的有效机制,开发过程并不是很长且难度适中。我们曾学习了《数据库原理及应用》,掌握了数据库的基本原理及数据库的设计方法,在此基础上我们又深入学习了PowerBuilder的数据库系统开发。
2.3经济可行性
成本:本系统要求的计算机配置不是很高,需要设备购置费用较低,其他设备的购置成本也在承担能力之中。本系统运行费用较低,系统使用方便简洁。
收益:应用本系统能在一定时期内产生明显的收益,此外应用本系统提高了工作效率从而提高了管理水平;节省了人力,减轻了有关人员手工处理的工作负担;即使给管理者提供相应的辅助决策信息。
3.需求分析
需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对 现实问题的.理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。通常需求分为两种类型:一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识。功能性需求是指需要计算机系统解决的问题,也就是对数据的处理要求,这是一类最主要的需求。非功能性需求是指实际使用环境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,安全保密要求,等等。 软件需求一般包含三个层次—业务需求、用户需求和功能需求,还包括非功能需求。业务需求:反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求:描述了用户使用产品必须要完成的任务和具备的功能,这在使用实例文档或方案脚本说明中予以说明。功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足其业务需求。 系统目的是能够用计算机实现对各种工资进行日常管理,如添加、删除、修改员工信息,能够根据员工的等级、职位以及出勤情况、奖金、津贴情况等进行工资的计算,能够使员工、部门方便地查询和统计各种信息,最后能生成报表反馈给员工等。
3.1系统业务流程图
通过对企业原先手工进行员工工资管理业务的情况,可以设计出它的业务流程图,如图4-1所示。
用户登录数据输入工资计算存储数据
工资查询 报表汇总
图3-1
3.2 系统的功能划分
1. 工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如奖金等。
并且负责设置员工工资的计算公式。
2. 工资信息管理部分:包括统计出勤、计算工资、查询工资和导出工资表。
3. 系统部分:包括添加用户和修改密码。
3.3 系统的功能要求
1. 整体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作简便。
2. 开发方法,文档规范化,便于管理,可扩充。
3. 完善的数据输入,维护,输出。
4. 自检性能高,用户误输、错输均有提示。
5. 容错性能高,某个用户的操作错误不会引起整个系统的瘫痪,每一功能的操
作都有信息提示以免重复操作,错误操作有警告,以便用户及时改正。
3.4 用户的功能需求:
3.4.1登陆功能
该系统要有登陆功能。管理员要进行员工信息维护或者进行计算员工工资
时,必须首先进行登陆。同理,员工也要先进行登陆才能进行各种查询等操作。
1. 用户权限设置,修改密码。
2. 综合初始系统设置。
3.4.2 员工信息维护功能
该系统要能够添加员工信息、删除员工信息和修改员工信息等功能。 一个单位的员工不是一成不变的,总是在不断地变化,如有的员工被招聘进入公司,这时就要添加员工的基本信息;当员工辞职或者由于其它原因离开公司,这时就要删除员工的基本信息;当员工进行调动时,就要修改员工的基本信息了。
1. 追加员工信息。
2. 删除员工信息。
3. 修改员工信息。
4. 自动更新数据库。
3.4.3 工资信息维护功能
1. 该系统要能够输入员工基本工资:为了方便系统的计算员工的工资,系统应
该能够输入员工基本工资、奖金、津贴等一些工资数据,以计算员工的月工资或者年工资等。
2. 该系统要能够修改员工基本工资:员工的工资不是一成不变的,它会发生变
化,这时就要求能够修改员工的工资等。
3. 该系统要能够删除员工基本工资:当员工由于某种原因离开公司后,由于员
工的基本信息已经删除了,所以也要删除员工的基本工资等信息。
3.4.4查询功能
一个员工或者部门要更好了解自己工资、出勤情况、奖金、津贴等情况,可以进行相关的查询,为了有更好地适应性,查询应该可以根据各种情况进行查询,能够进行单项查询或者按一定的条件范围进行查询,如能够查询单个员工的工资情况,能够查询每个部门的工资情况和月工资的统计情况。
1. 根据员工姓名查询员工的工资情况。
2. 根据员工编号等查询员工的工资情况。
3. 根据员工学历等各种条件组合查询员工的工资情况。
3.4.5计算功能
1. 系统应该能够根据员工的基本工资、员工的出勤情况、资金和津贴情况进行
工资的计算。
2. 系统应该根据能够根据加班的时间、加班的类别等计算出员工所得的津贴工
资。
3. 系统应该能够根据各种员工在公司的工作表现、,计算出给员工的奖金。
4. 系统应该能够计算各个部门的工资情况。
5. 统计功能:为了更好地了解员工的人数情况、员工的工资情况、部门的工资
情况或者发放工资,系统应该能够对各个部门的总工资进行统计。
3.4.6打印功能
每月发放工资时,要求能够打印本月的工资表、随工资发给每个员工的工资条以及一些统计表等,如工资统计表。
1. 打印工资信息。
2. 打印工资条。
3. 打印各种图表。
3.4.7退出功能
员工或管理员可利用退出功能退出系统。
3.5系统的数据需求
3.5.1 总结出数据信息
对上述系统功能需求,可心分析、归纳出其相应必须管理的信息包括员工基本信息、员工的等级信息、员工出勤情况信息、员工津贴信息等,其数据及其属性需求分析如下:
1. 员工基本信息:员工号、员工姓名、性别、工资等级、职称、所在部门、住
址、电话等;
2. 部门信息:部门号,部门名称;
3. 员工考勤信息:员工号、日期、上午、下午、迟到、早退等。
4. 工资等级信息:等级号、等级名称、职位、基本工资;
5. 员工津贴信息:员工号、加班时间、加班类别等。
3.5.2数据流程图如下
0层图如下所示:
3.5.3 数据流图的数据字典
下面介绍一下一些主要的数据流的数据词典。 一、
系统管理数据流数据词典
1. 数据流名称:管理员登陆信息
说明:它的作用是将管理员的ID、密码等让工资管理系统检查,看是否允
许登陆。
数据流来源:管理员 数据流去向:工资管理系统 2. 数据流名称:非法登陆信息
说明:它的作用是把用户的错误登陆信息反馈给用户。 数据流来源:工资管理系统 数据流去向:管理员 3. 数据流名称:查询请求信息
说明:它的作用是把用户要查询的信息提交给工资管理系统,让其显示查询
的信息。
数据流来源:管理员 数据流去向:工资管理系统 4. 数据流名称:添加员工信息
说明:它的作用是把要添加的员工信息提交给工资管理系统,让其处理该信
息。
数据流来源:管理员 数据流去向:工资管理系统 5. 数据流名称:更新员工信息
说明:它的作用是把要更新的员工信息提交给工资管理系统,让其处理该信
息。
数据流来源:管理员 数据流去向:工资管理系统 6. 数据流名称:打印信息
说明:它的作用是让工资管理系统反馈一些打印信息,如工资条、报表等,
以便用户更好地了解相关信息。
数据流来源:工资管理系统 数据流去向:管理员 二、
在用户数据流数据词典
1. 数据流名称: 业绩记录表
说明: 每月执行一次,由各部门主管填写本部门员工的业绩;部门主管和
公司高级管理人员则由总经理指定。
数据流来源:工资管理系统 数据流去向:管理员 2. 数据流名称: 工资标准表
说明:每个职工的各项工资标准,由人事部主管填写。 数据流来源:工资管理系统 数据流去向:管理员
包含结构:员工编号、姓名、基本工资、生活补贴、岗位补贴,还有一些其它的数据词典,在此不一一列出。
3.6 系统的性能需求
1.硬件要求。 设备名称说明:处理器奔腾III以上,256MB。内存256MB,内存越大,速度越快。硬盘40GB以上。
2.软件要求。(1)windows 2000以上操作系统,IIS服务,配置.net框架。
(2)需要有一个数据库服务器,提供数据库的连接,这里选用
Microsoft SQL Server2000来为数据库提供连接,当然要一台计算机来运行程序.这样就可以了。
4.总体设计
在系统的需求分析阶段,我们已经知道系统“做什么”的问题了,现在我们要进入软件设计的阶段,去解决“怎么做”的问题。在软件设计阶段,它分为根
要设计和详细设计。首先做概要设计,它是将软件的需求转化为数据结构和软件的系统结构。然后是详细设计,即过程设计,通过对结构表示进行细化,得到软件的详细的数据结构和算法。
4.1系统结构的总体设计
根据上面对需求的分析,我们可以得到系统的模块层次结构,层次结构如下所示:
4.2 各个模块的功能描述如下 4.2.1 员工基本信息维护模块
本模块的功能是能够完成对员工基本信息的添加、修改、删除操作等进行维护。它包括三个子模块,添加员工信息子模块、修改员工信息子模块和删除员工
信息子模块。
4.2.2 工资信息维护模块
本模块的功能是能够完成工资信息的输入、修改和删除等操作。它也包括两个子模块,输入工资信息子模块、修改工资信息子模块和删除工资信息子模块。
4.2.3 查询信息模块
本模块的功能是能够对单个员工工资信息、员工基本信息情况、部门工资情况、总工资情况等进行单项查询或者一定范围查询、多项查询等。
4.2.4 计算工资模块
本模块的功能是能够计算员工工资的奖金情况、计算员工的津贴情况、计算员工月工资、年工资及进行一些相应的统计计算等。它包括一些子模块,如计算津贴子模块、计算奖金子模块、统计工资子模块等。
4.2.5 打印模块
本模块的功能是能够打印工资条以及一些部门报表、工资报表等,以反馈一些信息给员工。
4.2.6 登陆模块
本模块的功能是:根据员工的登陆时的输入信息,看是否要让该员工登陆系统。
主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。
登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。
4.2.7退出模块
本模块的功能是可以让员工或管理员随时利用该模块退出系统。
5.详细设计
概要设计完成了软件系统的总体设计,规定了
各个模块的功能及模块之间的联系,进一步就要考虑实现各个模块规定的功能,这就是要进行详细设计。在详细设计阶段,要决定名个模块的实现算法,并精确地表达这些算法。下面主要实现一些重点模块的算法。
5.1 生成报表
用Jackson系统设计方法设计报表,如下所示:
5.2 查询模块的详细设计
在该模块中,要查询信息,首先要进行登陆,然后输入要查询的信息,如员工号,接着系统连接数据库,在数据库中查找是否有和输入信息相应的信息,如果有,则显示相应的查找结果;如果没有,则提示找不到相应的信息或者提示出错。流程图如下所示:
在完成了详细设计、编码之后,就要进入软件测试阶段了。软件测试是指根据软件开发各阶段的规格说明各程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用途去运行程序,以发现程序错误的过程。软件测试分为黑盒测试和白盒测试。黑盒测试主要看模块的功能是否实现;白盒测试主要对模块内部的检查。
6.1 黑盒测试
黑盒测试主要是为了发现以下几类错误: 1)是否有不正确或遗漏了的功能。
2)在接口上,输入能否正确地接受,能否输出正确的结果。 3)是否有数据结构错误或外部信息访问错误 4)性能上是否能够满足要求 5)是否有初始化或终止性错误
6.2 白盒测试
白盒测试是对软件的过程性细节做细致的检查。 白盒测试主要想对模块进行如下的检查:
1)对程序的模块的所有独立的执行路径至少测试一次
2)对所有的逻辑判定,取”真”与取”假”的两种情况都能至少测试一次; 3)在循环的边界和运行界限内执行循环体; 4)测试内部数据结构的有效性,等等。
因此在对程序进行白盒测试测试时,测试用例要有:条件组合覆盖测试用例和路径测试用例。
在测试完成之后,还要对程序进行调试。 可用下面的几种方法进行调试。
1)强行排错: 可以通过内存全部来排错,也可在程序特定部位设置打印语句来排错。
2)回溯法排错。这是在小程序中常用的一种有效的排错方法。 3)归纳法排错。 它是一种从特殊推断一般的系统化思考方法。 4)演绎法排错软件工程课程设计报告等。
8.结 论
员工工资管理系统是一个典型的信息管理系统,通过软件工程方面的选择课题、需求分析、概要设计、详细设计、程序模块、系统测试等几个步骤来实现。开发本系统的过程中,首先熟悉员工工资发放管理的流程、步骤;其次在系统需求分析过程中,要透过现象看本质,敏锐观察到员工工资管理中存在的各种问题,并在总体设计把握好对问题的分析、理解,进而解决问题。
在我们的共同努力下,我们基本完成了这个系统。由于时间、条件和个人水平的限制,软件相对较简单,如果要将该软件用于具体单位,还需针对单位的实际情况对软件进行进一步的完善。
本软件的特点和优点:
1. 本软件可以工资核算正确无误、快速输出,提高企业的管理水平和管理效率。 2. 可以对工资的各个项目随时作增加和删除。
3. 可以分别查询单个工人每个月的工资,包括工资的各个细节项目。 4. 可以查询各部门以及全公司的员工的工资报表。
本软件需要改进的地方有:
1. 基本工资的设定太笼统,不能满足有些单位的需要。 2. 员工管理部分比较少需要结合人事管理软件使用。
4. 软件的界面美观性方面需要很大的改进。 5. 帮助文档比较简单。
课程设计对一个学生来说是一个非常的重要的学习过程。从对PowerDesigner,软件开发过程的一知半解,到完成这个系统的基本设计,虽然这个系统还存在这样那样的缺点,但是我在专业知识方面学到的东西是非常多的。而设计过程中也遇到了很多的困难,在老师和同学的帮助之下最终我还是克服了困难完成了设计。这个过程更使我学到了面对困难应该持有的积极态度。
总的来说,这次的课程设计是非常有意义的,在我的人生学习的路上起到了一个里程碑的作用,让我有一个质的飞跃!
衷心感谢何老师给予我们这次机会,让我们对软件的开发过程还是对程序的编写步骤都有了更加深刻的认识。
9.参考文献
[1] 杨文龙 《软件工程》,电子工业出版社,2003
[2] 张国藩,《软件工程》。北京:清华大学出版社,2001
[3] 郑人杰 殷人昆 陶永雷, 《实用软件件工程》. 清华大学出版社,2001
[4] 萨师煊 王珊,《数据库系统概论》,高等教育出版社2003
[5] 丁宝康,《数据库原理》,经济科学出版社,2000
[6] 林福泉,《SQL Server 2002中小企业实务应用》,中国铁道出版社,2002
[7] 杨昭,《PowerDesigner对象与控件技术详解》,中国水利水电出版社,2003
[8] 周红芳,《PowerDesigner基础应用与系统开发》,电子工业出版社,2004
[9] 刘斌 卞慧,《PowerDesigner入门与提高》,中国铁道出版社,2003
[10] 薛华成,《管理信息系统》,清华大学出版社,2002
[11] 汤庸 叶小平 汤娜,《数据库理论及应用基础》,清华大学出版社,2004
[12] MSDN - Microstft Developers'NetWork Microstft 1998
Microstft 编著
[13] 谭桂华 魏亮,《Visual C# 高级编程范例》,清华大学出版社
[14] 章立民,《用实例学ASP.NET》,电子工业出版社