软件工程专业大型软件项目实训报告Word文档格式.docx
《软件工程专业大型软件项目实训报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程专业大型软件项目实训报告Word文档格式.docx(29页珍藏版)》请在冰点文库上搜索。
华信IT培训凭借雄厚的IT产业实战经验、吸纳先进的培训体系,以非凡的实力、踏实的作风构建起大连对日IT技术的人才培养的“后方基地”,通过向个人、团体客户提供多领域、多层次的培训课程,成为了IT技术特别是对日软件开发技术、软件工程、项目管理等领域的优秀培训服务提供商。
五年来,近万名高校毕业生通过华信IT培训的“人才绿色通道”成功步入IT行业,在软件开发领域体现着自身的价值。
四、实训内容
实训期间完成的学习任务
Java是一种可以撰写跨平台的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、、游戏控制台、科学、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球和移动互联网的产业环境下,Java更具备了显着优势和广阔前景。
后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。
Java是一种软件技术是一种由美国SUN计算机公司所研究而成的语言是一种为Internet发展的计算机语言是一种使网页产生生动活泼画面的语言是一种使网页由静态(Static)转变为动态(Dynamic)的语言是一种语言,用以产生「小应用程序」是一种简化的C++语言是一种安全的语言,具有阻绝计算机病毒传输的功能是一种将安全性列为第一优先考虑的语言是一种使用者不需花费很多时间学习的语言是一种突破用户端机器环境和CPU结构的语言是一种写一次,即可在任何机器上执行的语言是有史以来,第一套允使用者将应用程序通过Internet从远端的服务器传输到本地端的机器上并执行。
ORACLE是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
比如SilverStream就是基于数据库的一种中间件。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;
作为一个关系数据库,它是一个完备关系的产品;
作为分布式数据库它实现了分布式处理功能。
但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
主要功能特点首先完整的数据管理功能:
数据的大量性、数据的保存的持久性、数据的共享性、数据的可靠性。
完备关系的产品:
信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
保证访问的准则;
视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化;
数据物理性和逻辑性独立准则。
分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
JavaWeb,是用Java技术来解决相关web领域的技术总和。
web包括:
web和web两部分。
Java在客户端的应用有javaapplet不过现在使用的很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。
Java技术对Web领域的发展注入了强大的动力。
JavaEE标准,这意味着有很大的市场需求和更多的工作机会,上手快速并且相对容易,有大量可用的组件库。
对覆盖绑定(overridingbinding)、验证(validation)等提供生命周期管理。
与许多表示层技术/框架无缝集成:
JSP/JSTL、Tiles、Velocity、FreeMarker、Excel、XSL、PDF等。
便于测试归功于IoC不需要书写XML配置文件,良好的学习文档。
架构简单易于扩展,标记库很容易利用FreeMarker或者Velocity来定制,基于控制器或者基于页面的导航。
一旦学会它,将极大地提高生产率。
HTML模板对页面设计师非常有利每出一个新版本,都会有大量的创新。
对Java开发者有利,页面和显示绑定紧密。
JavaWeb其实就是一个技术的总和,把Web看成一个容器而已主要使用JavaEE技术来实现.在加上各种中间件(SSH等)JavaWeb其实做什么都可以,你可以通过JavaWeb制作一个软件,一个ERP,一个网页,甚至是一个网络游戏都可以。
没有特定的范畴。
在加上Java的可移植性,现在普遍用于各种ERP,大型交互式网站的开发。
说白了跟JavaSE中的GUI原理上是一样的,只不过JavaSEGUI是以桌面的形式展现的,就好像普通版QQ,JavaWeb是以网页的形式展现的.就好像网页版QQ。
Struts是Apache软件基金会(ASF)赞助的一个开源项目。
它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。
它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的Model-View-Controller〔MVC〕的应用框架〔WebFramework〕,是MVC经典设计模式中的一个经典产品。
服务器启动后,根据加载ActionServlet读取文件内容到内存。
Struts的工作过程以登录为例:
第一次进会先实例化Form、把默认值(String默认为空,整型默认为0)赋给表单元素。
输入用户名密码提交表单、提交到action属性的,通过文件找到action下的path属性找到.action,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的execute方法。
Model部分由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。
JavaBean则封装了底层的业务逻辑,包括访问等。
View部分采用JSP实现。
Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。
对应上图的JSP部分。
Controller组件Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。
系统核心控制器,对应上图的ActionServlet。
该控制器由Struts提供,继承HttpServlet类,因此可以配置成标注的Servlet。
该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。
业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。
对应Action部分。
struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用的开发。
struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。
struts提供的类使得开发工作更加简单,这些类包括:
控制程序流程的类、实现和执行程序事务逻辑的类、自定义的标记库使得创建和验证HTML表单更加容易。
软件测试是指理解产品的功能要求,并对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,写出相应的测试规范和测试用例。
简而言之,软件测试在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。
发现一些可以通过测试避免的开发风险、实施测试来降低所发现的风险、确定测试何时可以结束、在开发项目的过程中将测试看作是一个标准项目。
测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。
程序员应该避免检查自己的程序,软件测试应该由第三方来负责。
设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下不要制造极端状态和意外状态。
应该充分注意测试中的群集现象。
对策就错误结果进行地一个确认过程。
一般由A测试出来的错误,一定要由B来确认。
严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格的确认,是否真的存在这个问题以及严重程度等。
制定严格的测试计划。
一定要制定测试计划,并且要有指导性。
测试时间安排尽量宽松,不要希望在极短的时间内完成也有一个高水平的测试。
妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
IT日语是以大学“日语专业+软件专业”的高年级学生为对象,吸取了日语专业的句型法、功能法以及软件专业教材的长处而编写的。
IT日语分别由课文、注释、单词表、练习以及阅读课文组成。
课文提供了专业知识;
注释部分通过提示和注释基本句型、语法,使学生能够准确掌握日语语言规律;
练习部分使学生更好地掌握学习重点,阅读课文部分与课文内容紧密相关,是课文的延伸和知识的扩充在全日文系统case学习中起到很大作用。
CaseStudy做的系统是物流出货管理系统。
此系统主要包括登陆、订单管理、配车管理、出货管理四个模块。
订单负责人通过订单管理模块进行订单的查询、订单的添加、订单的删除,进而形成“订单一览表”。
然后配车负责人根据“订单一览表”通过配车模块,形成“配车记录”。
配车负责人通知配送者根据货主提供的“装货指示书”进行装货。
配送者装完货将预计的装货信息和实际的装货信息发送给XX物流公司。
出货负责人根据“配货指示书”和“出货实际一览表”确认当天的出货情况,通过配货模块形成“出货实际一览表”和“配车一览表”。
CaseStudy的学习让我们比同起跑线的人多了些项目经验,虽然大型企业对工作经验的要求更不严格,因为大型企业有能力对没有工作经验的员工进行在岗培训,但是中小企业则偏好那些具有一定相关经验的员工,这类员工一进入公司就能很快投入到工作当中。
现在求职的人比较多,给需要用人的单位有很大的挑选余地。
在这种情况下需要用人的单位当然喜欢用有工作经验的人,因为这样的人工作上手快,可以减少培训成本。
现在大多考虑成本的问题,为了降低成本,减少培训投入,所以都要有经验的。
然而有项目经验就是我们最大的优势。
更有利于我们找工作。
实训期间完成的实践项目
4.2.1需求分析
通过市场调查,物流的市场份额越来越大。
随着科技的发展一些古老的方式逐渐被淘汰,网络的发达取代了写信。
邮递员被快递员取代,所以物流出货系统的出现大大的减少人力,提高效率。
由于传统的物流行业操作过程复杂,手续繁多,业务信息多,围绕这些信息的处理也很纷杂。
而且,物流行业竞争激烈,这种竞争,一方面表现在发展客户的时常开拓上,另一方面也存在与收集处理信息的速度、广度和深度,以及在业务操作中对业务数据处理的准确性和严密性,而更高层次上,还涉及公司决策层对整体业务的控制和协调。
物流配送管理系统从物流行业的实际需求出发,参照先进的物流理念和多家领先的物流公司实际运营流程开发而成,系统从完善的基础信息设置到货物的托运管理、在途跟踪,信息查询,到达地地址到最后的各种报表的生成,清晰的业务流程,使操作人员能够按照流程清晰的流程进行实际的操作,保证物流运作有序而高效的进行。
处理订单编号。
记录对应货主发货地点等的信息。
记录发货日、交货日等信息。
关于送货地点,记录邮政编码、省市区县、村街巷路、所在地等信息。
关于货物,有每1包装的质量、包装箱的宽度、长度、高度的信息。
根据计算质量合计和容积合计来决定打包数。
记录订单编号、发货日、货主、发货地点、送货地点、送货地点住所、货物名称、交货日、打包数、质量合计、容积合计、发货状况分类等的信息。
更改订单信息对照“订单一览表”检索对象信息,进行修改。
删除订单信息对照“订单一览表”检索对象信息,进行删除。
目前大部分的物流配送公司的业务流程是从客户服务中心开始,然后录入运输单并确认;
配车部门针对已确认的运输单进行配车派车、打印派车单;
接着,司机上门装货,并确认装车确认地址、签订运输合同、打印装车单;
确认在途后,进行行车在途跟踪,随时向客户提供车辆的运行情况;
运输完成后,进行回单确认。
物流配送管理系统是一个典型的数据库管理系统。
本系统具有以下功能:
安排配车作为处理对象的发货日(处理日的第二天),从“订单一览表”检索未配车的订单信息,在“车辆记录”中选择车辆装货。
这个工作是由配车负责人完成的。
增加车辆有必要分配新的车辆的时候,从“车辆记录”中检索当天没有被配车的车辆,选择要追加的车辆。
在追加车辆处理配车编号,在“配车一览表”中记录该车辆的信息(车辆编号、车辆种类、司机、最大质量、最大容积等)。
配车一览表的式样:
记录配车编号、发货日、车辆编号、车辆种类、司机、最大质量、最大容积、质量率、容积率、订单件数、去向、发货状态分类、此外还有装货的装货信息等。
装货从“配车一览表”中的配车后的车辆信息中选择装货后的配车。
此外,从“订单一览表”中的未配车的订单信息中选择要装货的订单信息(多项选择)。
在选择的配车中,确认选择订单的货物是否能装货(货物的质量·
容积的合计不能超过该车辆的最大质量·
最大容积),不能装货的车辆需要重做。
可以装货的时候,根据被累计追加的订单的装货信息,算出“配车一览表”中的质量率、容积率、订单件数,记录装货后的订单信息。
记录后,把“订单一览表”中的发货状况分类更新为“配车后”状态。
去向,是指同一车辆中最小的订单编号的送货地点住所(省市区县+村街巷路)。
取消装货(卸货)从“配车一览表”中选择车辆对象。
从被选择配车编号的车辆中,取消指定的装货信息,在“订单一览表”中作为未配车的订单信息返回。
(把“订单一览表”中的发货状态分类更新为“未配车”状态。
)再计算该配车信息中的质量率、容积率、订单件数。
删除配车从“配车一览表”中选择车辆对象。
从被选择配车编号的车辆中,取消所有的装货信息,在“订单一览表”中作为未配车的订单信息返回。
)再有,从“配车一览表”中删除该车辆。
登记实际发货内容根据被每个运输人员送来的“装货指示书”作成“实际发货内容一览表”,和“配车一览表”核对。
把“配车一览表”中的该配车信息的发货状态分类,以及“订单一览表”中的该订单信息的发货状态分类更新为“发货后”。
这个工作由管理发货负责人完成的。
实际发货内容一览表的式样:
记录配车编号、发货日、车辆编号、车辆种类、司机、订单件数、去向、发货状态分类、以及装货后的装货信息等。
取消发货从“实际发货内容一览表”中检索信息对象(配车信息)。
在“配车一览表”中把该配车信息的发货取消(与删除配车处理相同)
4.2.2数据需求分析
通过对物流配送管理系统整个业务流程的分析,从而得出本系统的实体属性图以及E-R图如下。
图用户属性图
图货物属性图
图车辆装货属性图
图出货车辆属性图
图车辆属性图
图交付地址属性图
图订单需求属性图
图物流出货总体图
总体设计
4.3.1功能模块图
物流管理系统是一个典型的数据库管理系统,系统由基本受注管理、配车管理、出货管理四模块组成,规划系统功能模块如下:
登录管理模块需要使用者正确输入用户名、密码才能进入物流出货管理系统。
受注管理模块订单负责人通过订单管理模块进行订单的查询、订单的添加、订单的删除,进而形成“订单一览表”
配车管理模块配车负责人根据“订单一览表”通过配车模块,形成“配车记录”。
配车负责人通知配送者根据货主提供的“装货指示书”进行装货。
该模块由货物申请单查询、车辆配车信息查询、货物托运信息查询、货物托运验收查询和车辆在途跟踪查询几部分组成。
出货管理模块配送者装完货将预计的装货信息和实际的装货信息发送给XX物流公司。
图主要功能模块图
4.3.2数据库的设计
系统数据库名称为team5数据库中包含:
运输需求表(TRANSPORTATION_REQUEST)、装货情况表(ITEM)、商品表(SHIPPER)、出货车辆表(ALLOCATE_CAR)、车辆信息表(CAR)、用户管理表(USER)6个表。
TRANSPORTATION_REQUEST表
表运输需求表
名称
是否为空?
类型
ORDER_NUMBER
NOTNULL
CHAR(10)
SHIPPER_CODE
CHAR(8)
SHIPPER_ORDER_NUMBER
CHAR(20)
SHIPMENT_DAY
DELIVERY_DAY
DELIVERY_EARLY_TIME
VARCHAR2(4)
DELIVERY_SLOW_TIME
SHIPMENT_PLACE_CODE
SHIPMENT_PERSON
NVARCHAR2(20)
DELIVERY_PLACE_CODE
DELIVERY_PLACE
NVARCHAR2(25)
CONSIGNEE
ITEM_CODE
CHAR(4)
AMOUNT
NUMBER(3)
SHIPMENT_SITUATION
CHAR
(1)
ALLOCATE_CAR_NUMBER
UPDATE_DATE
DATE
ITEM表
表装货情况表
ITEM_NAME
NVARCHAR2(15)
WEIGHT
NUMBER(8,3)
WIDTH
NUMBER(5)
LENGTH
HEIGHT
SHIPPER表
表商品表
SHIPPER_NAME
VARCHAR2(20)
表商品数据表
00000004
SAS岺娆
23-12月-13
00000001
SAS怘昳
00000002
SAS堸桠
00000003
SAS惢壻
ALLOCATE_CAR表
表出货车辆表
CAR_CODE
CHAR(6)
CAR表
表车辆信息表
CAR_TYPE_NAME
NVARCHAR2(5)
DRIVER_NAME
MAXIMUM_LOADING_MASS
MAXIMUM_LOADING_CAPACITY