收藏 分销(赏)

软件工程综合课程设计论文.doc

上传人:胜**** 文档编号:691975 上传时间:2024-02-02 格式:DOC 页数:15 大小:298KB
下载 相关 举报
软件工程综合课程设计论文.doc_第1页
第1页 / 共15页
软件工程综合课程设计论文.doc_第2页
第2页 / 共15页
软件工程综合课程设计论文.doc_第3页
第3页 / 共15页
软件工程综合课程设计论文.doc_第4页
第4页 / 共15页
软件工程综合课程设计论文.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、软件工程综合课程设计题目: 企业员工信息管理系统 院 系: 计算机学院 专业班级: 08软件三班 学 号: 0810321306 学生姓名: 陈 鹏 指导教师: 刘 兴 2010年 12 月 10 日软件工程综合课程设计企业员工信息管理系统第一章 可行性分析在当今社会,互联网的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。当前大量企业的员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率的目的。员工信息管理系

2、统主要对企业员工的信息进行集中管理,方便企业建立一个完善的、强大的员工信息数据库,它是以SQL 2000数据库作为开发平台。使用jsp编写程序,完成数据输入、修改、存储、调用查询等功能;并使用SQL 2000数据库形成数据,进行数据存储。 1.1 技术可行性1.1.1 Jsp的介绍JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用

3、,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。Jsp技术的优势:(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本可以在所有平台上的任意环境中开发,在任意环境中部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与ASP很

4、像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。1.1.2 SQL Server简介SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server

5、7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的笔记本电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,

6、使得它成为至今为止的最强大和最全面的SQL Server版本。1.2操作可行性由系统分系可以看出本系统的开发在技术上具有可行性。首先系统对于服务器端和客户端所要求的软、硬件的最低配置现在大多数的用户用机都能达到。现有的开发工具和技术(JSP、SQL SERVER2000)完全能够实现。本系统对管理人员和用户没有任何的特殊要求,实际操作基本上以鼠标操作为主并辅以少量的键盘操作,操作方式很方便。因此该项目具有良好的易用性。第二章 需求分析当前大量企业的员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动

7、化、节约管理成本、提高企业工作效率的目的。近年来,随着我国互联网应用的迅速普及和企业管理电子化的普遍开展,人们开始意识到员工系统管理的巨大威力,成为各个企业未来发展的必然趋势。在国内,各个企业原有的手工管理方式已不适应形势的新发展,为实现从静态管理到动态管理的转变,树立企业形象,必须应用计算机辅助管理,全面实行信息化管理,对员工信息实行动态监控,实现企业管理上档次、上水平。员工信息管理系统建设是企业适应市场形势,与时俱进、谋求发展的必由之路。2.1 功能需求2.1.1系统目标本系统实现了员工、部门、职位等信息的管理、查询、增加及删除,员工签到信息的管理等功能。本系统是企业对自己公司内部员工管理

8、的网站,主要实现如下目标:管理员的管理功能。对员工信息的查询、更改、删除、增加等功能。对部门信息的查询、更改、删除、增加等功能。对职位信息的查询、更改、删除、增加等功能。对员工签到信息的管理等功能。2.1.2功能分析开发软件首先做的是开发过程中最主要的就是系统的需求分析,需求分析同时也是软件生存周期中关键的一步。根据软件工程学中开发软件的要求,对系统全部功能和相关的技术进行具体的分析,分析时采用结构化的分析方法,自顶向下、逐层分解问题。结合企业要求以及实际的具体分析,要求本系统具有以下功能:l 管理页面要求美观大方、个性化。网站操作流程简单方便,能够提高工作效率。l 各类信息(包括员工、部门、

9、职位)的增加、删除、改动和查询功能。l 员工签到信息的处理功能。2.1.3系统层次模块图总的系统模块主要包括:管理员的登陆;员工信息查看、修改、删除、增加;职位信息修改、删除、增加;部门信息修改、删除、增加;签到信息管理等功能模块。总的系统功能结构图,如图2-1所示:图2-1 总的系统层次模块图2.2 系统性能要求安全性:系统应该有较强的安全性,对数据和相关信息有较强的保护性。稳定性:系统应该在一定情况下稳定运行。兼容性:能够与其它软硬件有良好的兼容性。2.3 运行环境l 操作系统:Windows XP Professional SP3l 数据库:SQL server 2000l 浏览器:Mi

10、crosoft Internet Explorerl 相关应用软件: Tomcat 6.0,DreamWeaver82.4 数据流图系统数据流图如2-2图所示:图2-2 系统数据流程图管理员向员工信息表,部门信息表,职位信息表,签到信息表发送查询请求。进而获得员工信息,部门信息,职位信息,签到信息等内容。系统设计流程图如2-3图所示:图2-3 系统设计流程图系统管理模块IPO图:输入:登录管理并输入用户名和密码,调用用户登录下的各功能处理:1)判断用户名与密码是否匹配2)调用各功能模块时判断用户是否已登录输出:1)登录成功或失败第三章 总体设计基于JSP的员工信息管理系统,采用面向对象设计方法

11、,对该系统分模块进行设计,该系统的模块主要有用户登陆模块,员工信息管理模块(实现员工信息的增加、删除、改动、查寻),部门信息管理模块(实现部门信息的增加、删除、改动),职位信息管理模块(实现职位信息的增加、删除、改动),签到信息管理模块(包括对员工签到信息进行清零和加一两个操作)这五个模块。3.1 系统代码架构完成了系统的需求分析之后,就进入了系统的设计阶段,在整个系统的开发时期中,设计阶段是最主要的阶段。按软件生存周期的划分,设计任务通常分两个阶段来完成。第一个阶段是概要设计,它的任务是建立软件的总体结构,即软件的组成,以及各组成成分(子系统或模块)之间的相互联系。第二个阶段是详细设计,其任

12、务是确定模块的内部算法和数据结构,产生描述各个模块程序过程的详细设计文档。本系统采取了原型法,先根据需求分析设计出原型,然后在原型的基础上进行不断的测试和改进。在本系统的设计过程中采取了模块化的设计方法,化繁为简。3.2 数据库结构设计数据库的设计实际上是对项目设计的一个整体规划,因为数据库的设计要从全局的角度考虑,而且数据库的设计要从全局的角度考虑,而且数据库中表的结构都是与程序紧密相关的,如果数据库设计如果没有到位,设计也会受到一定的影响。本系统采用SQL Server 2000 数据库,系统数据库名为mydb,数据库mydb中包括5个数据表。数据库的设计的E-R图是一个数据库的重要部分,

13、现将数据库中部分重要表格的关系反应如下几个E-R图所示。管理员能对员工的信息进行增加、删除、查询和修改,E-R图如图3-1所示:图3-1 管理员与员工E-R图管理员能对部门的信息进行增加、删除和修改,具体E-R图如下图3-2所示:图3-2 管理员与部门E-R图管理员能对职位的信息进行增加、删除和修改,具体E-R图如下图3-3所示:图3-3 管理员与职位E-R图管理员能对员工的签到信息进行修改,具体E-R图如下图3-4所示:图3-4 管理员与员工签到信息E-R图一个员工对应一个职位,一个员工对应一个部门,一个员工对应一个签到信息。员工与相关信息表的E-R图如图3-5所示:图3-5 员工与相关信息

14、对应的E-R图第四章 详细设计与实现4.1管理员登陆模块功能介绍管理员主要包括以下功能:l 为管理员进入后台提供一个入口。l 当管理员输入正确用户名和密码时,进入员工管理系统。l 当管理员输入错误的用户名和密码时,仍定位到登陆页面。4.2员工管理模块的设计与实现此页面负责显示员工的全部信息,同时提供增加、删除、改动、查询的超链接。在该页面上方,提供员工管理、部门管理、职位管理、员工签到管理的超链接。管理员在该页面可以通过输入员工姓名来查询指定员工的信息。也可以点击更新或删除超链接对员工信息进行改动或删除操作。管理员在录入界面可以输入要增添的员工的各类信息如:员工姓名、年龄、性别、住址、编号、备

15、注、选择所属部门、所属职位及历史的签到次数进行员工的增加操作。同时该模块的两个主要功能即管理员可以点击更新或删除超链接对员工信息进行改动或删除操作。4.3部门管理模块的设计与实现此页面负责显示部门的全部信息,同时提供增加、删除、改动的超链接。在该页面上方,提供员工管理、部门管理、职位管理、员工签到管理的超链接。管理员在该页面可以通过点击更新或删除超链接对部门信息进行改动或删除操作。管理员在录入界面可以输入要增添的部门的各类信息如:部门名称、部门描述进行对部门的增加操作。同时该模块的两个主要功能即管理员可以点击更新或删除超链接对员工信息进行改动或删除操作。4.4职位管理模块的设计与实现此页面负责

16、显示所有职位的全部信息,同时提供增加、删除、改动的超链接。在该页面上方,提供员工管理、部门管理、职位管理、员工签到管理的超链接。管理员在该页面可以通过点击更新或删除超链接对职位信息进行改动或删除操作。管理员在录入界面可以输入要增添的职位的各类信息如:职位名称、职位工资、职位描述进行对职位的增加操作。同时该模块的两外两个主要功能即管理员可以点击更新或删除超链接对职位信息进行改动或删除操作。4.5员工签到管理模块的设计与实现此页面负责显示所有员工的签到信息,同时提供签到次数加1、签到次数清零两个主要功能。在该页面上方,提供员工管理、部门管理、职位管理、员工签到管理的超链接。管理员可通过点击签到清零

17、按钮或签到加一按钮对每个员工的签到信息进行修改,改动通过调用对updateqd.jsp页面的操作得以实现。修改后在本页面显示改动后的信息。第五章 系统测试及方法5.1软件测试基础理论5.1.1 软件测试定义软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。5.1.2 软件测试基本概念1、测试的含义所谓测试,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并

18、对系统或组成部分进行评价。测试活动有两种结果:找出缺陷和故障,或显示软件执行正确。测试是一个或多个测试用例的集合。测试用例:所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。2、测试的步骤测试步骤详细规定了如何设置、执行、评估特定的测试用例。软件生命周期:一个软件生命周期包括制定计划、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等8个阶段。软件测试在软件生命周期中横跨两个阶段:单元测试阶段:即在每个模块编写出以后所做的必要测试。综合测试阶段:即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试。3、测试的意义

19、系统测试是管理信息系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。系统测试占用的时间、花费的人力和成本占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的4050。而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍。5.2软件测试方法分类软件测试技术按照不同的划分方法,有不同的分类:静态测试、动态测试;黑盒测试、白盒测试;单元测试、集成测试

20、、回归测试、系统测试、验证测试以及确认测试。5.2.1 静态测试与动态测试按照软件测试分析与非分析方法而论,软件测试可以分静态测试和动态测试。1、静态测试指不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。静态测试包括:代码检查 、静态结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行。2、动态测试动态测试方法是指计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。动态测试包括:功能确认与接口测试 ,覆盖率分析,性能分析,内存分析。5.2.2 黑盒与白盒测试1、黑盒测试按照软件测试用例的设计方法而论,软件

21、测试可以分为白盒测试法和黑盒测试法。若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试(Black-box Testing)方法。 黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。3、白盒测试白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。白盒测试要求是对某些程序的结构特性做到一定程度的覆

22、盖,或者说这种测试是“基于覆盖率的测试”。通常的程序结构覆盖有:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,路径覆盖。5.2.3 单元测试、集成测试、系统测试、验证测试和确认测试按照软件测试的策略和过程来分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测试。测试中的错误分类:A类错误:致命错误引起程序异常中断或死机的错误等。B类错误:功能错误业务功能实现错误、程序执行结果错误等。C类错误:功能缺陷功能操作不方便、缺少操作提示等。D类错误:界面缺陷界面设计不符合本系统的界面设计规范等。E类错误:测试正确正确的测试项、测试结果与预期的一致等。5.3系统测试本系统各部分模块,采黑白

23、盒测试。5.3.1 测试用例设计要求一个好的测试用例,应该包含以下信息: 1、软件或项目的名称2、软件或项目的版本(内部版本号)3、功能模块名4、测试用例的简单描述,即该用例执行的目的或方法5、测试用例的参考信息(便于跟踪和参考)6、本测试用例与其他测试用例间的依赖关系7、本用例的前置条件,即执行本用例必须要满足的条件,如对数据库的访问权限8、用例的编号(ID),如可以是:软件名称简写-功能块简写-NO.9、步骤号、操作步骤描述、测试数据描述10、预期结果(这是最重要的)和实际结果(如果有BUG管理工具,这条可以省略)11、开发人员(必须有)和测试人员(可有可无)12、测试执行日期5.4测试报

24、告本系统经过测试,各部分的功能基本正常,达到了预期的目的。通过对系统的全面测试,我学到了许多测试方面的知识,了解到测试方法、测试经验。通过本次设计,使我了解到测试的重要性。通过测试,可以使软件更适合用户的需求,更加稳定、可靠地运行,并能适应市场竞争,应用前景广泛。第六章 经验与教训本次课程设计到此已经顺利结束,通过这次的课程设计,我学到了很多。在以前的近4年时间内我学习了很多的课程及编程语言,虽然通过学习对这些课程有所了解和掌握,但是始终处于理论知识的掌握阶段,并没有真正应用于实践设计开发,所以对知识的掌握还不够全面和熟练。而且并不能真正独立的开发出一个完整的应用于实际的系统。通过这次的课程设

25、计,我已经可以完成这一任务,对自身的编程能力也有了很大的提高。这次开发的系统是一个动态网页,而不是简单的静态网页,因此采用了在开发动态网页方面比较先进的JSP作为开发语言。JSP是一种WEB编程脚本语言。当然在学习的过程中曾经碰到过一些让人头痛的问题,比如JSP页面的出现的乱码问题,编码方式的转换等等,我都上网查找一一解决了,直到系统全部完成,也让我在解决问题方面的能力得到了提高。整个开发的过程对我来说是一次能力的真正提高的过程;是一次将理论应用于实践的过程;是将以前所学知识充分利用的过程,比如管理信息系统,数据库概论等等;是一次真正的实践过程。在测试和调试方面,曾经天真地以为编程才是最费时间

26、的,在这次实践中,让我更加清楚的认识到,软件测试和调试在整个工作量比例。也让我更加相信调试是软件开发过程中最艰巨的脑力劳动。在上面第五部分已经详细说明了本次程序设计用到的测试方法。设计中出现了许多隐藏的错误,令我们收获不少。但我相信也一定很多未发现的错误,特别是在以后程序的扩展中,这种问题将会更明显。对于一个数据库设计人员来说,一个系统的实现,首先要能熟悉数据库系统原理和面向对象的分析方法。并且要严格按照需求规格说明书将系统划分为哪几个对象、哪几个类,每个类有哪些属性,而且这个数据库一旦设计出来了,就不能进行大的改动了,否则到后来受影响的不仅仅是数据库了,而且还有程序的一些内部代码的设计。但不

27、管是什么类,都有一个ID号,一个NAME,是属于人的类,就要有权限Privity,是属于东西的类,就要有状态STATUS,每个类将来就对应了一张基本表。然后再根据系统的功能的要求,建立若干个查询。最后还得将该数据库与一个数据访问对象(例如ODBC),再将ODBC与JAVA数据环境或DAO控件相连,就可在JAVA环境下操纵数据库中的数据。对于一个系统测试人员来说,一个系统的最终实现,最后就要靠系统测试人员来完成代码的最后审核工作。一个系统的最后是交付给用户的。所以对一个系统的最后审核工作,一定要慎之又慎。一定要几乎查出系统的所有毛病、弱点。只有这样做了,才会真正对用户负责。总体说来,在这次课程设计中,我真正学到了很多有用的东西,是一些在课堂内所学不到的知识,收获很大。深深认识到自己的不足:项目做的太少,经验不足,遇到问题不能及时发现并有效解决,对于可能出现的风险也不能做出正确的预测。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服