软件开发生产实习报告

  • 格式:doc
  • 大小:647.50 KB
  • 文档页数:30

软件开发生产实习报告姓名王成成学号201201050930 班级软件工程2012-2 项目名称学生通讯录管理实习地点青岛光谷软件园东软睿道公司实习时间2015.7.13~2015.7.24实习成绩指导教师签字信息科学与工程学院2015年7 月24 日目录软件开发生产................................................................................................... 错误!未定义书签。

实习报告........................................................................................................... 错误!未定义书签。

软件开发生产实习报告................................................................................... 错误!未定义书签。

1.ﻩ实习目的ﻩ错误!未定义书签。

2. 实习计划ﻩ错误!未定义书签。

3.实习过程ﻩ错误!未定义书签。

3.1 技术准备ﻩ错误!未定义书签。

3.2项目实施ﻩ错误!未定义书签。

3.2.1功能需求ﻩ错误!未定义书签。

3.2.2 总体设计.............................................................................. 错误!未定义书签。

3.2.3详细设计与编码ﻩ错误!未定义书签。

1.网页初始设计ﻩ52.数据库详细设计ﻩ错误!未定义书签。

3.页面展示ﻩ错误!未定义书签。

4.源代码................................................................................... 错误!未定义书签。

3.2.4测试ﻩ错误!未定义书签。

1.测试用例详细说明............................................................. 错误!未定义书签。

2.测试结果说明..................................................................... 错误!未定义书签。

4.总结与建议ﻩ错误!未定义书签。

软件开发生产实习报告1.实习目的1.1使学生全面了解软件项目实施的过程,理解软件企业对于程序员的基本素质和技术能力要求。

1.2重点培养学生的团队精神和协作意识,提高其口头和书面的沟通能力。

1.3使学生掌握快速学习新知识、新技术方法,培养良好的分析问题和解决问题的能力1.4重点提高学生的编程能力,使学生建立正确的编程理念,养成规范的编程习惯。

2. 实习计划本次实习主要分两部分:第一周由老师讲解本次实习项目的主要内容,包括Java,JSP,Servle t,Oracle数据库的基础知识。

并由老师利用实例讲解相关技术的实践应用。

第二周根据老师讲解的基础知识以及实践应用完成一个学生信息的管理,包括信息的增删改查,以及使用JSP与Servlet技术对页面进行其他相关的实现。

本项目的全部内容均由本人完成。

其中主要任务包括:1)对学生信息进行建模,利用逻辑模型完成数据库的设计,保证学生表的字段不少于20个,由于本次实习的主要内容是JavaWeb方向,所以对数据库设计不做严格要求,只要满足JavaWeb的功能点需求即可;2)利用JSP和Servlet技术完成对数据表(学生表)的增删改查操作;3)利用JSP和Servlet技术实现页面跳转之间的状态维持(如A页面跳转到B页面,再由B页面返回到A页面时,A页面中仍然保留着客户跳转到B页面之前输入的信息);4)在删除功能点上实现“全选”的子功能点。

3.实习过程3.1 技术准备1)回顾Java语言的语法;2)学习HTML5的相关知识,并能基本熟悉其用法;3)学习JavaScript脚本语言,并能较熟练应用其完成对网页一定的操作与控制;4)学习JSP相关的技术(包括JSP,Servlet),同时了解EL表达式,JSTL的相关知识与基本用法;5)针对Oracle数据库,学习相关的SQL语句;6)Oracle数据库的安装与配置,以及使用PLSQL Developer完成对Oracle数据库的基本操作;7)学习JDBC相关技术,并通过Java语言正确地连接Oracle数据库。

8)HTML,JSP,Java的编码规范。

3.2项目实施3.2.1 功能需求1)实现对学生信息的无条件查询和条件查询(包括模糊查询);2)实现对学生信息的录入;3)实现对学生信息的修改;4)实现对选定的记录进行删除(包括在页面中实现“全选”功能)5)实现页面跳转之间的状态维持(如A页面跳转到B页面,再由B页面返回到A页面时,A页面中仍然保留着客户跳转到B页面之前输入的信息);6)完成相应的操作给出相应的提示。

3.2.2 总体设计该信息管理系统主要完成学生通讯录的管理,对学生信息能够进行增删改查,并完成功能需求中的一些相关细节。

系统的功能模块图如下图所示。

此外,网站的总体设计如下图所示:网站总设计该系统的主要目标是建立学生信息的增删改查四种基本操作,并对网页中的各种细节进行优化。

主页面为查询页面,分为条件查询和非条件查询,并在查询到记录的基础上进行删除操作和修改操作,添加操作作为独立的一部分,系统总体设计的流程图如下图所示。

学生通讯录管理系统添加学生信息修改学生信息查询学生信息删除学生信息系统功能模块图系统总体流程图总体数据流图如下图所示。

添加页面添加并提交删除学生记录修改并提交查询修改页面查询学生信息学生信息学生信息学生信息学生信息学号查询条件学生信息系统总体数据流图3.2.3 详细设计与编码1.网页初始设计其中A002.JSP与A003.JSP类似。

2.数据库详细设计建表语句如下:/*==============================================================*//*Table:STUDENT*//*==============================================================*/create tableSTUDENT (AB001NUMBERnot null,AB002 NVARCHAR2(10)not null,AB003 NVARCHAR2(4)not null,AB004NVARCHAR2(2)not null,AB005 NVARCHAR2(20) notnull,AB006NVARCHAR2(20)not null,AB007 NVARCHAR2(11) notnull,AB008 NVARCHAR2(50)notnull,AB009 DATEnot null,AB010NVARCHAR2(18)not null,AB011 NVARCHAR2(50)not null,AB012 NVARCHAR2(50)not null,AB013 NVARCHAR2(10)not null,AB014 NVARCHAR2(20) not null,AB015NVARCHAR2(7) not null,AB016NVARCHAR2(10)not null,AB017 NVARCHAR2(20),AB018 NVARCHAR2(20),AB019 NVARCHAR2(20),AB020 NVARCHAR2(20),AB021NVARCHAR2(3) notnull,AB022 NVARCHAR2(2)not null,constraint PK_STUDENT primary key (AB002));3.页面展示下图是无条件查询的结果(即查询全部记录)。

下图是条件查询的结果(其中四项均为模糊查询)。

下图是选定后进行删除的页面效果(请结合上图查询页面和下图选定记录将要删除的页面,观察“删除按钮的”状态变化)。

下图是修改页面(添加页面基本相同,不再列举)。

4.源代码ﻩa.连接数据库public class DBUtils{ﻩprivate staticfinal String driver="oracle.jdbc.driver.OracleDriver";privatestatic finalString url="jdbc:oracle:t hin:@localhost:1521:orcl";//静态块ﻩstaticﻩ{ﻩtryﻩ{ﻩﻩClass.forName(driver);ﻩﻩ}ﻩcatch(Exceptione){e.printStackTrace();ﻩ}}ﻩ//建立与数据库连接ﻩpublicstaticfinal ConnectiongetConnection()throwsException{ﻩﻩreturn DriverManager.getConnection(url,"admin", "admin1234");}//关闭结果集ﻩpublic static void close(ResultSet rs)ﻩ{ﻩtryﻩﻩ{ﻩif(rs!=null){ﻩﻩ rs.close();ﻩ}ﻩﻩ}catch(SQLException e)ﻩﻩ{ﻩﻩﻩe.printStackTrace();}ﻩ}ﻩ//关闭SQL语句ﻩpublicstatic void close(PreparedStatement pstm)ﻩ{ﻩﻩtryﻩ{ﻩﻩﻩif(pstm!=null)ﻩ{ﻩﻩﻩpstm.close();}ﻩ}ﻩcatch(SQLException e)ﻩ{ﻩﻩe.printStackTrace();}ﻩ}//关闭与数据库的连接publicstaticvoidclose(Connection conn){ﻩtryﻩ{ﻩif(conn!=null&& !conn.isClosed())ﻩ{ﻩﻩconn.close();ﻩﻩ}ﻩﻩ}ﻩcatch(SQLException e)ﻩ{ﻩe.printStackTrace();}ﻩ}}b.从JSP页面获取数据Tools类主要是作为一个工具类,其中的createDto()函数功能为从页面获取数据并交给Servlet进行处理(Dto表示数据传输对象)。

public class Tools{ﻩpublicstaticMap<String, Object>createDto(HttpServletRequest request){Map<String,Object> dto =newHashMap<String, Object>();Map<String, String[]> temp =request.getParameterMap();ﻩSet<Map.Entry<String,String[]>> entrySet = temp.entrySet();ﻩﻩStringval[] =null;for(Map.Entry<String,String[]> entry:entrySet)ﻩ{val = entry.getValue();ﻩﻩif(val.length== 1)ﻩﻩdto.put(entry.getKey(),val[0]);ﻩﻩelseﻩﻩdto.put(entry.getKey(), val);ﻩ}returndto;ﻩ}}c.对数据库进行查询和更新JdbcSupport为一个抽象类,由A001Service继承来完成具体的操作。