wang软件综合课程设计报告

时间:2024.3.31

软件综合课程设计报告

题目名称:                         

    级:                         

学生学号:                         

学生姓名:                         

指导老师:                         

绩:优    良    中    及格   不及格

                                 XXXX/XX/XX

1 前言

   职工信息管理作为企业管理的一个重要方面,起可变因素多,管理方面繁琐复杂,时间跨度大。而人工管理方式处理这样大量的信息数据,不可避免的增加管理的工作量和复杂程度,是管理人员工作繁杂,负担重,压力大。

1.1项目描述:

     该项目流程按系统架构、需求分析、数据库设计、编码、测试的流程进行,该项目主要实现了对员工的管理以及员工信息的查询管理,用servlet控制整个系统的转向。支持员工及其相关信息的录入、增添、删除、查看。能实时的管理和查询员工所关心的内容,方便管理和查询。

1.2开发工具:

      windows7  +  myeclips8.5.01  + mysql5.5 +  tomcat-6.0.35

1.3开发语言:

     该项目的开发利用了java语言。

   Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。

Java技术

     Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的web,internate计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。
  Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.6。
 

     Java分为三个体系JavaSE,JavaEE,JavaME。

2 需求分析

       一个正规的公司会很关注员工的信息管理,这对公司来说能有条不紊的运行,对员工来说能让员工及时准确的了解自己的情况是很重要的。同时,面对各种不同的信息,需要合理的数据库结构来保存数据信息以及有序合理的程序结构来支持各种数据的执行,使得程序趋近于完美。

3 系统分析与设计

  

   3.1.1功能描述

  

   系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本例中的在线员工管理系统需要完成的功能主要是:

管理员:

       1.  员工信息的添加

       2.  员工信息的查看

       3.  员工信息的删除

       4.  员工信息的修改

普通员工:

       1. 员工信息的查看

       2. 自己的领导

领导:

       1. 经理的管理人员数

       2. 经理的信息的查看

 数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的    不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。

  3.1.2数据的完整性与实时性

    

 由于保证程序的正常执行,所以要对数据输入时,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。从而避免系统输入的不规范。

 同时对于管理者,能及时的修改员工的信息与录入。对于员工,当自己的信息被修改的时候能及时的了解,并予以反馈。从而能快速而有效的进行管理。

    数据的共享与独立性

 从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。

3.2系统流程图

    

     用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

仔细分析调查有关在线员工管理信息需求的基础上,将得到如下图所示的本系统所处理的数据流程。

                              N

              Y

                         图1 系统流程图

      

3.3数据库设计

    

    3.3.1   E-R图设计

        一个好的的E-R图设计对数据结构的设计很重要,ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。此系统的E-R图如下所示:                   

 

椭圆: 编号菱形: 属于

                                          椭圆: 权限          

椭圆:    工资,椭圆:   年龄,菱形: 管理 


                   图1员工信息E-R图

3.1.1.2逻辑设计

根据E-R图和相关要求,把ER模型图转换为关系表,进行数据模型转换,得到的一下表:

用户:姓名(name),编号(id),权限(limit)

员工表:编号(id),姓名(name),年龄(age),工龄(workage);

工资表:本月工资(nowsalary) 上月工资(lastsalary) 编号(id)

 

3.3.2 数据库结构描述

良好的数据库结构,能够方面程序的设计,根据将E-R图进行模型转换后得到的结果,进行数据库结构的设计,如下表:

员工信息表:

员工工资表:

用户表:

3.3.3设计与实现

  

     ⑴表的设计:

    用户(编号+姓名+权限)

员工(编号+姓名+年龄+工龄)

工资(id+上月工资+本月工资)

    

     ⑵  存储过程设计:

根据员工的编号id来进行管理。管理员对员工的增添、删除、查看、修改,进行各种操作,使得更方面的管理数据,同时增加程序的可读性。

员工可以查看自己的信息,如果出错并能反馈给管理员。

4 系统实现

  4.1 模块实现

        该系统共分为3大模块:数据库的创建于连接、页面的制作以及内部实现方法。这3大模块之间相互关联,一次在编写的时候一定要注意格式的规范化以及相互之间数据的共享的交流。

数据库的创建与连接模块:

员工信息模块

此为在数据库中的员工信息的存储方式,

create table employee_c(

    id bigint primary key,

//员工的编号

    name varchar(15),

//员工的姓名

    salary double,

//员工的工资

    workage int(4)

//员工的年龄

)DEFAULT CHARSET='gbk';

//可以实现中文的输入

数据库连接模块:

当数据库创建成功之后,要实现与数据库之间的链接,这需要运用了java发射机中的forName()函数来加载jdbc驱动,同时在连接数据库的时候要检测连接是否成功,如果不成功要进行相应的异常捕获,并进行处理。

数据库的连接:

      Connection conn=null;

      //定义一个Connection型的对象,用来判断加载是否jdbc是否成功

       try {

           Class.forName("com.mysql.jdbc.Driver");

    //加载jdbc驱动,利用java发射机中的方法forName()进行加载

           conn=DriverManager.getConnection          ("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8","root","mysql");

    //连接数据库

       } catch (Exception e) {

           e.printStackTrace();

     }

//如果连接不成功,要捕获异常,同时打印出异常。

等,具体情况请看源码。

5总结与感想

刚开始做课程时,在外全天学习日语,只能晚上回到宿舍之后自己看书、问同学来做,因为没网所以只能自己琢磨的做。刚开始很辛苦,不过苦中有乐,慢慢的有了思路和想法,虽然这个系统简单,但是能做出来心里还是挺高兴的。在开发这套系统时,java web并不是很熟练,只能照着书上的例子慢慢的练习,在有不懂的问题就上网去查找,通过不断的练习终于掌握了,就开始开发这套系统,其中碰到了许多问题,也询问别的同学或老师,掌握了许多窍门。

     数据库那部分,又重新看了遍数据库,又复习并学到了很多有用的东西。刚开始配置tomcat的时候看书按着做,自己配置出现了错误,只能问同学,慢慢的终于做好了。本来软件工程这可一知半解,在这次的课程设计对很多苦涩的东西有了深层次了理解,感谢老师,感谢这次课程设计。我采用的时页面传递pageId和ActionId的方式在Servlet中进行控制(读取xml的配置文件)调用哪一个action.java类,action调用logic类中的业务逻辑类,业务逻辑类通过类似spring的技术,即实现一个DatabaseFactory的类,根据不同的业务逻辑,调用相对应的数据库接口.经过编写航空订票系统发现如此庞大的系统只靠我们现在所拥有的知识是很难完成的,在编写的过程中发现自己的有很多,在SQL语句的使用方法中有很多的不足,但是在老师和同学的帮助下慢慢的填补自己在知识上的漏洞,在数学算法上了解了一些算法,在编写的过程中了解到不能按照自己的算法来实现所有的存储过程,因为电脑的资源是有限的,意识道自己的想法是有一定的局限性的,通过这次试验学到了团队合作的重要性以及SQL语言的知识。

 经过这次课设,我总结如下

1、  注重理论知识和动手能力的相辅相成。平时要多动脑和多动手,多上机操作实践。

2、  平时多浏览资料。我们所学的专业知识更新很快,这就要求我们能与时俱进,图书馆里有大量的参考书,另外网上有着更多、更新的知识宝库。如果能很好的利用这两点,对自己的进步会有很大的帮助

3、  虚心请教,当遇到不懂的问题自己想了很多办法却无法解决时,可以请教一些其他的同学或老师,这可以很快的解决问题。

在这次课设中,提高和完善所学知识的同时也体会到了团队精神的力量,收获丰富,受益良多;从中学到的知识和吸取的经验教训将会使我的知识很好的加深。没有课设,我们就不可能真正的学好、掌握知识。语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!以后我将更加努力争取取得更好的成绩。

我很庆幸在老师和同学的帮助下我顺利地完成了这次数据库课程设计。在这里,我向给予我许多帮助的老师、同学真诚的说声:“谢谢你们!”。

参考文献

[1] 沈应奎 曾玲.java web 数据库系统应用开发与实例:北京.人民邮电出版社 2008.2

[2] 王珊等.数据库系统概论(第四版).北京:高等教育出版社,2006.6

部分代码和样式:

主页:

    <body>

       <div id="wrap">

           <div id="top_content">

              <%@ include file="header.jsp"%>

              <div id="content">

                  <p id="whereami">

                  </p>

                  <h1>

                     欢迎!

                  </h1>

                  <table class="table" width="770" height="62">

                     <tr class="table_header">

                         <td>

                            编号

                         </td>

                         <td>

                            姓名

                         </td>

                         <td>

                            薪水

                         </td>

                         <td>

                            年龄

                         </td>

                         <td>

                            操作

                         </td>

                     </tr>

                     <%--

                     List<Employee> employees = (List<Employee>)request.getAttribute("employees");

                         for(int i=0;i<employees.size();i++){

                            Employee e = employees.get(i);

                            --%>

                     <c:forEach var="e" items="${employees}" varStatus="status">

                         <tr class="row${status.index%2 + 1} <%--=(i%2 + 1)--%>">

                            <td>

                                ${e.id} <%--= e.getId() --%>

                            </td>

                            <td>

                               <a href="view.do?id=${e.id} <%--= e.getId() --%>">${e.name} <%--= e.getName() --%></a>

                            </td>

                            <td>

                                ${e.salary} <%--= e.getSalary() --%>

                            </td>

                            <td>

                                ${e.age} <%--= e.getAge() --%>

                            </td>

                            <td>

                                <a href="view.do?id=${e.id} <%--= e.getId() --%>">查看</a>&nbsp;

                                <a href="del.do?id=${e.id} <%--= e.getId() --%>" onclick="return confirm('确定删除吗?');">删除</a>&nbsp;

                                <a href="load.do?id=${e.id} <%--= e.getId() --%>">修改</a>

                            </td>

                         </tr>

                     </c:forEach>

                     <%--

                     }

                      --%>

                  </table>

                  <p>

                     <input type="button" class="button" value="添加成员 "

                         onclick="location='addEmp.jsp'" />

                  </p>

              </div>

           </div>

           <%@ include file="footer.jsp"%>

       </div>

    </body>

</html>

界面如图:

                     图1  员工显示图


第二篇:软件综合设计课程设计报告


《软件综合设计》课程设计报告

文件处理系统设计

软件综合设计课程设计报告

内容

一、程序功能模块划分

系统功能模块框图

各系统的具体实现内容

A文件

“地面气象观测数据文件”(简称A文件)为文本文件,文件名由17位字母、数字、符号组成,其结构为“AIIiii-YYYYMM.TXT”。

其中“A”为文件类别标识符(保留字);“IIiii”为区站号;“YYYY”为资料年份;“MM”为资料月份,位数不足,高位补“0”;“TXT“为文件扩展名。

比如在文件自动气象站里的一个A文本文件A58265-201001.TXT。

A表示A文件,58265为区站号,2010为这个资料的年份,01代表这个资料的月份,TXT是它的文件扩展名。

打开此文本文件,我们发现它的第一行为58265 3204N 12136E 000055 000065 105 000 S11 11111999119199111911 0 2010 01

58265表示它的区站号,58表示其区号,265表示其站号。

3204N表示它的纬度,前两位表示度,即为32度,后两位表示分,即为04分,后面的N表示北纬,同理,S表示南纬。

12136E表示它的经度,前三位表示度,即为121度,后两位表示分,即为36分,后面的E表示东经,同理,W表示西经。

000055表示观测场拔海高度,第一位0为拔海高度参数,实测为“0”,约测为“1”。后5位00055为拔海高度,单位为“0.1m”,位数不足,高位补“0”。若测站位于海平面以下,第二位录入“-”号。

000065表示气压感应器拔海高度,第一位0为拔海高度参数,实测为“0”,约测为“1”。后5位00065为拔海高度,单位为“0.1m”,位数不足,高位补“0”。若测站位于海平面以下,第二位录入“-”号。

105表示风速感应器距地(平台)高度,单位为“0.1m”。

000表示观测平台距地高度,单位为“0.1m”。

S11表示观测方式和测站类别,“S”为测站类别标识符,第一个1表示观测方式,第二个1表示测站类别。用x1表示S后第一位,用x2表示S后第二位x1=0时器测项目为人工观

测,x1=1时,器测项目为自动站观测。x2=1为基准站,x2=2为基本站,x2=3为一般站(4次人工观测),x2=4为一般站(3次人工观测),x2=5为无人自动观测站。

11111999119199111911表示观测项目标识,分别表示这个文件20个要素全月数据状况。如果有0则表示人工观测,如果有1表示自动站观测(若由自动站观测和人工观测两段构成时,该月所有的数据统一视为自动站观测数据),如果有表示全月数据缺测。

0表示表示文件无质量控制部分,如果此项为1,则表示文件有质量控制部分。 2010表示年份,即为20xx年。

01表示月份,即为1月。

第二行是PC、P代表气压,C代表云状。

下面都是其观测数据。

本站气压(P)、海平面气压(P0)

气温(T)

水汽压(E)

云量(N)

云状(C)

降水量(R)

天气现象(W)

蒸发量(L)

电线积冰(G)

风(F)

Z文件

正点地面气象要素数据文件为ZIIiiiMM.YYY,简称Z文件,文件名中,Z为指示符;IIiii为区站号;MM为月份,不足两位时,前面补“0”;YYY为年份的后3位。

比如在Z文件里的第一个文件Z5826501.003。Z表示Z文件,58265表示区站号,01表示月份,即为1月,003表示年份的后三位,即为20xx年。

Z文件为随机文件,每月一个,记录采用定长类型,每一条记录218个字节,记录尾用回车换行结束,ASCII字符存盘,每个要素值高位不足补空格。

Z文件第一次生成时应进行初始化,初始化的过程是:首先检测Z文件是否存在,如无当月Z文件,则生成该文件,将全月逐日逐时各要素的位置一律存入相应字长的“-”字符(即减号)。

Z文件按北京时计时,以北京时的00分数据作为正点定时数据。

Z文件的第1条记录为本站当月基本参数,每项参数长为5个字节。

二、功能实现流程图

软件综合设计课程设计报告

三、数据结构定义

数据结构是只相互之间存在一种或多种特定关系的数据元素集合。我们先进行对A文件和Z文件进行分析。了解其中的数据表示什么意思,然后以时间为索引查找以上两个气象文件,即输入时间(年份/月份),打开相应的文件,再提取时间,气压、气温数据,查找当月最高气温、气压,最低气温、气压以及出现时间,计算月平均气温,读出年份月份,显示并写入一个新的文件中 四、算法设计

当我们在计算它的月平均温度,查找它的最大值或最小值时,需要用到很多算法。

五、设计经验总结

对程序功能模块划分合理性的体会

数据结构设计合理性和有效性的总结体会

算法的合理性、质量的总结和体会

代码实现和调试经验总结

更多相关推荐:
软件课程设计报告

编号:()字号《软件课程设计》报告班级:姓名学号:指导老师:中国矿业大学计算机科学与技术学院年月软件课程设计任务书专业年级:计算机科学与技术计科10-2班学生姓名:任务下达日期:200年月日课程设计日期:200…

软件课程设计报告模版

华中科技大学电子科学与技术系课程设计报告(20--xx年度第学期)名称:软件课程设计题目:院系:班级:学号:学生姓名:指导教师:设计周数:成绩:日期:年月日目录1.设计任务...................…

《软件工程》课程设计个人报告

软件工程课程设计报告海天一色网上书店软件工程课程设计个人报告题目网上书店学院名称信息科学与工程学院专业班级计算机092班报告人姓名梁宏报告人学号20xx01051413承担角色网页设计员同组组长安文龙同组其他成...

软件课程设计实验报告个人报告

软件课程设计实验报告个人报告课班成员学一需求分析1引言32预期功能33设计目标4二界面方案设计说明1拟选用的开发平台和工具介绍42系统框图53软件各功能模块划分64模块间的相互关系85开发计划8三详细设计说明1...

《软件开发课程设计》课程设计报告

软件开发课程设计报告题目职工信息管理系统设计院系专业班级学生姓名学号指导教师2013年9月2日至2013年9月15华中科技大学武昌分校制日软件开发课程设计任务书23目录1课程设计的目的22总体设计33详细设计5...

软件工程课程设计报告

福建农林大学金山学院课程设计报告课程名称:软件工程课程设计题目:旅游信息管理系统姓名:系:信息与机电工程系专业:计算机科学与技术专业承担角色:辅助程序员20##年12月9日课程设计结果评定目录1.课程设计概述.…

软件课程设计报告

中南民族大学软件课程设计报告电子信息工程09级题目学生吴雪学号指导教师王锦程电子工程0907100220xx年4月25日简易网络聊天系统摘要计算机网络通信技术已经深入我们的生活并给我们即使通信带来了很大的方随着...

软件课程设计报告-北京科技大学

北京科技大学课程设计软件设计报告班级姓名学号指导教师日期年月日北京科技大学自动化学院课程设计软件设计报告目录1设计内容12应用程序总体分析与设计13应用程序各功能模块分析与设计231连接服务器232加项333读...

应用软件综合课程设计报告

北京化工大学北方学院课程设计报告课程名称应用软件综合课程设计设计题目使用JavaScript实现菜单专业班级自控1202学号120xx0035姓名黄乾指导教师韩海花设计时间20xx92120xx101620xx...

《软件测试技术课程设计》课程设计报告

《软件测试技术课程设计》课程设计报告班级:姓名:学号:设计时间:20XX/6/24到20XX/6/28一、课程设计名称:图书管理系统的测试二、使用工具软件:MyEclipse,JProfilerwindows7…

模板-实用软件课程设计报告

实验报告实用软件课程设计实用软件课程设计报课程题目你的课程设计题目作者姓名指导教师学科专业所在学院信息工程学院提交日期告实验报告实用软件课程设计题目换成所选择的题目作者你的名字学号你的学号班级信息101联系方式...

软件工程课程设计实验报告

重庆邮电大学软件工程课程设计实验报告网上选课系统姓名雷雷学号08500329专业计算机科学与技术班级指导老师邹洋教室S331A时间20xx53020xx63一实验题目网上选课系统主要功能描述系统首先维护校内所有...

软件课程设计报告(27篇)