专业:
学号:
姓名:
指导教师:
目录
1. 摘要.......................................................................................................................... 2
2. 背景介绍.................................................................................................................. 2
2.1货物配送流程.................................................................................................. 2
2.2车辆管理.......................................................................................................... 3
2.3路线管理.......................................................................................................... 3
2.4配送点管理...................................................................................................... 3
2.5配送价格管理.................................................................................................. 3
2.6订单管理.......................................................................................................... 3
2.7交接单管理...................................................................................................... 3
2,8货物状态维护.................................................................................................. 4
2,9报表管理.......................................................................................................... 4
2.10权限管理........................................................................................................ 4
2.11用户管理......................................................................................................... 4
3. 项目简介.................................................................................................................. 5
3.1 系统功能层次说明......................................................................................... 5
3.3 关键算法......................................................................................................... 7
3.3.1 车辆选择............................................................................................... 7
3.3.2 路线选择............................................................................................... 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 订单分发........................................................................................... 10
3.4.8 生成交接单....................................................................................... 10
3.4.9 路线生成........................................................................................... 11
3.4.10 车辆管理......................................................................................... 11
3.4.11 收入管理.......................................................................................... 12
3.4.12 用户管理......................................................................................... 12
3.4.13 用户管理......................................................................................... 13
3.4.14 价格管理......................................................................................... 13
4. 项目实现过程........................................................................................................ 14
4.1 界面设计....................................................................................................... 14
4.1.1 任务表述............................................................................................. 14
4.1.2 客户端界面......................................................................................... 14
4.1.3 省公司管理员界面............................................................................. 16
4.1.4 省公司管理界面................................................................................. 18
4.2 表现层架构设计........................................................................................... 18
4.2.1 任务表述............................................................................................. 18
4.2.2 网页架构设计..................................................................................... 18
5. 总结和展望............................................................................................................ 21
6. 对实训过程的改进意见........................................................................................ 22
7. 参考文献................................................................................................................ 22
1. 摘要
本说明书目的在于明确说明系统需求,界定系统实现功能的范围,指导系统设计以及编码。
本说明书的预期读者为:客户、评审人员、项目开发人员、项目经理。
本系统为物流配送公司在配送过程中提供直观 可视化的信息管理平台,并为其用户提供网络订单预订,查询订单等相关人性化服务,作用范围覆盖公司所有提供业务范围。本软件产品是一项独立的软件,而且全部内容自含。
2. 背景介绍
物流配送公司需要一个物流管理系统来管理其基本业务和信息。该物流配送公司的主要业务是为用户配送货物,组织结构分为省公司和配送点。省公司主要负责车辆的维护、配送点、配送线路、配送价格的维护;配送点主要是接收客户订单,并联系省公司车队将货物运送到目的地,同时还负责货物的配送工作。
对于一个货物的费用应包含如下两部分费用:运输费用和配送费用,运输费用是指由配送地到目的地配送点的费用,而配送费用是指由目的地配送点到客户指定地址的配送费用。
价格由省公司统一维护,配送点无权修改。
2.1货物配送流程
用户有货物需要配送
用户网上下订单或通知本地配送点下订单
用户运送货物到本地配送点
配送点进行货物清点并填写货物配送交接单
配送车辆进行装车
配送货物途中状态更新
货物到达目的配送点,目的配送点检查货物并修改货物状态
目的配送点进行货物配送
客户接收货物
配送点修改货物状态
2.2车辆管理
车辆管理是由省公司负责的,省公司负责购买车辆,以及车辆的维护,运力调配等。该物流管理系统中需要实现车辆的增加、查询、删除和信息修改功能。对于货物,如果体积超过一辆车的总体积,重量超过一辆车的载重,可以使用多辆车。每辆车都要有状态表示,只有空闲时才可以安排。
2.3路线管理
路线管理中要实现路线的查询、增加、修改和删除。
2.4配送点管理
配送点管理是由省公司完成的,有配送点的查询、增加加、修改、删除、查看配送范围、查看配送价格等。各个配送点可以维护本地配送范围和配送时间,配送范围隶属于配送点,配送点不存在,配送范围也不存在。
2.5配送价格管理
配送价格包括配送点之间的运输价格和配送范围的配送价格;配送点间的运输价格由配送点来维护,总公司审核;配送范围的价格由配送点维护,同时提供查询功能供其它人进行查询。
配送点间价格:包括增加、删除、修改、查询;内容包括:发货配送点、收货配送点、首公斤、次公斤、首立方、次立方价格、备注。
配送范围价格:包括增加、删除、修改、查询;内容包括配送点名称、配送范围名称首公斤、次公斤、首立方、次立方价格、备注。
价格隶属于配送点,只要有一个配送点不存在,整个价格就不再存在。
2.6订单管理
订单管理是包括下订单、订单的修改、删除;其中订单只有在收货物之前的可以修改;下单的过程一般由用户或者配送点管理员来完成。
2.7交接单管理
装货完成后,配送点管理员(业务员)需要生成交接单,根据目的配送点的数量生成相应的交接单;比如该车货物需要去五个配送点,则需要产生五个交接单。根据订单的具体情况由配送点每天生成交接单,并进行打印。交接单一式三份,每个交接地一张交接单。
2,8货物状态维护
货物状态维护主要是接口,由司机动态修改。内容如下:封装袋号、订单号、当前地点、下一目的地、当前时间。
2,9报表管理
报表管理主要是按省公司和配送点分别出报表;报表分为月报表、季度报表、年报表;目前只做收入报表。
省公司只有收入报表,生成年季月三个报表分别选择要生成报表的年、季、月,然后点击生成报表,系统自动生成报表,并呈现在页面上;点击导出到Excel可以把报表导出。报表内容如下:报表时间、报表生成时间、配送点名称、配送货物总重量、总体积、配送收入
配送点有收货报表、发货报表、收发总表,生成年季月三个报表分别选择要生成报表的年、季、月,然后点击生成报表,系统自动生成报表,并呈现在页面上;点击导出到Excel可以把报表导出。收货报表的内容如下:配送点名称、报表时间、报表生成时间、发货配送点、配送货物总重量、总体积、配送收入;发货报表的内容如下:配送点名称、报表时间、报表生成时间、收货配送点、配送货物总重量、总体积、运送收入;收发总表的内容如下:配送点名称、报表时间、报表生成时间、收发类型、对端配送点、配送货物总重量、总体积、收入。
2.10权限管理
权限管理包括角色权限的增加、删除、修改。角色分为省公司管理员、配送点管理员、普通用户,不同的角色拥有不同的权限。
2.11用户管理
实现对用户的查询、增加、删除和修改。
3. 项目简介
3.1 系统功能层次说明
3.2 系统架构设计说明
1) 各层实现功能说明
视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。
模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。
控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。
2) 优势
首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。 其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。
再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。
控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。
最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。
3.3 关键算法
3.3.1 车辆选择
车辆可以使用条件说明(优先顺序依次下降,可以为每种情况设置优先级,根据城市距离变化)
车辆离开一个城市后,当前所在地更新为路线的下一城市。车辆到达调用地后,调用状态更新为未调用。
情况1、车辆使用状态为空闲,当前所在地与配送点所在地相同,调用状态为未调用
情况2、优先级由汽车所在地与配送点所在地的距离决定。车辆使用状态为使用中,装载状态为未载满。确定使用该车辆后修改调用状态为已调用。
2.1、调用状态为未调用,车辆路线依次包括配送点所在地和订单的目的地址
2.2、调用状态为未调用,车辆目的地为配送点所在地
2.3、调用状态为已调用,车辆路线依次包括调用点、配送点所在地和订单的目的地址
情况3、从所有路线中相邻的城市选择使用状态为空闲、调用状态为未调用的车辆。确定使用该车辆后修改调用状态为已调用,修改调用地为配送点所在地
3.3.2 路线选择
情况1、如果车辆采用的是情况1,2.2,3,就选择成本最低的路线
情况2、如果车辆采用的是情况2.1,就原路线继续走
3.4 系统功能设计
3.4.1 用户注册
3.4.1.1 功能描述
用户只有通过注册才能进行其他操作,用户的登陆也只能在已经注册之后才能实现。
3.4.1.2 接口设计
输入操作: 输入用户信息
输出效果: 是否注册成功
输入操作通过界面进行,注册成功弹出对话框
3.4.2 用户登录
3.4.2.1 功能描述
用户登录功能是实现所有功能的开始。用户想要使用系统功能就得先填入登录信息,然后点击登录按钮,系统就会来判断登录信息是否合法,如果合法系统就会根据用户角色来显示管理界面;如果不合法则返回用户登陆界面。
3.4.2.2 接口设计
输入操作:输入用户账号和密码
输出效果:是否登录成功
输入操作通过界面进行,登陆成功进入系统页面
3.4.3 修改个人信息
3.4.3.1 功能描述
修改变动的个人信息,用于信息的及时更新
3.4.3.2 接口设计
输入操作: 输入需要修改的个人信息
输出效果: 是否修改成功
输入操作通过界面进行,修改成功弹出对话框
3.4.4 订单管理
3.4.4.1 功能描述
本功能是对订单的操作,用于对订单进行增加、查询、修改,删除操作。
3.4.4.2 接口设计
输入操作: 填写订单信息
输出效果: 是否增加成功
输入操作通过界面进行,增加成功弹出对话框
输入操作: 输入订单号
输出效果: 是否删除成功
输入操作通过界面进行,删除成功弹出对话框
输入操作: 输入订单号
输出效果: 是否修改成功
输入操作通过界面进行,修改成功弹出对话框,并保存修改信息
输入操作: 输入订单号
输出效果: 是否返回订单信息
输入操作通过界面进行,查询成功在页面中显示订单信息
3.4.5 报表管理
3.4.5.1 功能描述
此功能用户管理公司的收入报表,分为公司报表和配送点报表。报表是系统自动生成的,管理员点击进入报表管理界面,选择要查看的报表,系统则为之显示详细报表,管理员根据选择导出报表或者不导出报表。
3.4.5.2 接口设计
输入操作: 选择报表类型
输出效果: 是否返回报表信息
输入操作通过界面进行,查询成功在页面中显示报表信息
输入操作: 选择报表类型
输出效果: 是否成功导出报表信息
输入操作通过界面进行
3.4.6 路线管理
3.4.6.1 功能描述
此功能用于管理车辆配送货物的路线情况,拥有权限的管理员进入管理界面然后进行添加、查询、修改、删除路线操作。
3.4.6.2 接口设计
输入操作: 填写路线信息
输出效果: 是否增加成功
输入操作通过界面进行,增加成功弹出对话框
输入操作: 输入线路ID
输出效果: 是否删除成功
输入操作通过界面进行,删除成功弹出对话框
输入操作: 填写路线信息
输出效果: 是否修改成功
输入操作通过界面进行,修改成功弹出对话框,并保存修改信息
输入操作: 输入路线ID
输出效果: 是否返回路线信息
输入操作通过界面进行,查询成功在页面中显示路线信息
3.4.7 订单分发
3.4.7.1 功能描述
根据订单和车辆情况进行订单的分发
3.4.7.2 接口设计
输入操作: 查询满足运送条件的车辆
输出效果: 是否返回订单分发结果
输入操作通过界面进行,分发成功在页面中显示订单分发结果
3.4.8 生成交接单
3.4.8.1 功能描述
此功能用于管理两个相邻配送点进行货物交接时生成的交接单
3.4.8.2 接口设计
输入操作: 查看车辆上的订单
输出效果: 是否返回交接单信息
输入操作通过界面进行,生成成功在页面显示交接单信息
3.4.9 路线生成
3.4.9.1 功能描述
根据车辆上的订单生成车辆的运送路线
3.4.9.2 接口设计
输入操作: 查看车辆上的订单
输出效果: 返回生成的路线
输入操作通过界面进行,生成成功在页面显示行车路线
3.4.10 车辆管理
3.4. 10.1 功能描述
此功能用于管理车辆的状态、调度以及对车辆进行添加、删除、修改、查询操作。
3.4. 10.2 接口设计
输入操作:输入车辆信息,包括车辆状态、车辆编号、车牌号、车辆类型、所属地点、当前地点等
输出效果:是否添加成功
输入操作通过界面进行
输入操作:输入车辆编号
输出效果:是否删除成功
输入操作通过界面进行,
输入操作:输入修改信息,包括车辆状态、车辆编号、车牌号、车辆类型、所属地点、当前地点等
输出效果:是否修改成功
输入操作通过界面进行
输入操作:输入查询信息:车辆编号
输出效果:输出车辆信息,包括车辆状态、车辆编号、车牌号、车辆类型、所属地点、当前地点等
输出以表格形式列出
3.4.11 收入管理
3.4. 11.1 功能描述
根据收入情况自动生成收入情况
3.4. 11.2 接口设计
输入操作:输入报表时间段,包括按年、按季或者按月
输出效果:输出报表,包括报表时间、报表类型、报表生成时间等
输出以列表形式给出
输入操作:导出报表
输出效果:导出报表文件
3.4.12 用户管理
3.4. 12.1 功能描述
对于用户进行增加、修改等操作,并设置权限
3.4. 12.2 接口设计
输入操作:输入用户信息,包括用户名、性别、政治面貌、密码、权限、电话、传真、Email、工作地点、家庭住址(省、市、县、区、街道、邮编)
输出效果:是否增加成功
输入操作通过界面进行
输入操作:删除操作
输出效果:是否删除成功
输入操作通过界面进行
输入操作:输入修改信息,包括用户名、性别、政治面貌、密码、权限、电话、传真、Email、工作地点、家庭住址(省、市、县、区、街道、邮编)
输出效果:是否修改成功
输入操作通过界面进行
输入操作:输入查询信息,包括用户名/用户ID号
输出效果:输出用户信息,包括用户名、性别、政治面貌、密码、权限、电话、传真、Email、工作地点、家庭住址(省、市、县、区、街道、邮编)
输出以表格形式列出
输入操作:输入 用户权限
输出效果:是否设置成功
输入操作通过界面进行
3.4.13 用户管理
3.4. 13.1 功能描述
此功能用于总公司对各配送点进行管理。管理员进入管理界面然后可以对配送点信息进行详细的查询、编辑、删除操作。
3.4. 13.2 接口设计
输入操作:输入配送点信息,包括配送点编码、配送点名称、上行站点、下行站点、配送范围(范围名称、配送时间、备注)、配送点价格
输出效果:是否增加成功
输入操作通过界面进行
输入操作:删除操作
输出效果:是否删除成功
输入操作通过界面进行
输入操作:输入修改信息,包括配送点编码、配送点名称、上行站点、下行站点、配送范围(范围名称、配送时间、备注)、配送点价格
输出效果:是否修改成功
输入操作通过界面进行
输入操作:输入查询信息,包括配送点编码
输出效果:输出配送点信息,包括配送点编码、配送点名称、上行站点、下行站点、配送范围(范围名称、配送时间、备注)、配送点价格
输出以表格形式列出
3.4.14 价格管理
3.4. 14.1 功能描述
用于对于价格查询,管理员对价格进行修改和审批
3.4. 14.2 接口设计
输入操作:输入查询信息,包括起始站点、终止站点、历经分站点、配送点名称(省、市、县、区、街道、邮编)
输出效果:输出价格信息,包括路线价格和配送点范围价格
输入操作通过界面进行
输入操作:输入价格,路线或配送点范围价格
输出效果:是否修改成功
输入操作通过界面进行
输入操作:设和价格,通过或驳回
输出效果:是否修改成功
输入操作通过界面进行
4. 项目实现过程
4.1 界面设计
4.1.1 任务表述
在小组的讨论下,本系统有三个独立的界面:客户端界面、省公司管理员界面、配送点管理员界面。
4.1.2 客户端界面
1) 界面原型
2) 客户端界面
3) 评述
(1)问题
我们在讨论怎么样设计一个前台界面时候,我不知道大伙的情况是怎么样,即便在我们六个人当中,几乎没有一个人对于web页面的开发非常熟悉,我脑海里想到的是,既然要专业就不能随随便便,一定要“酷炫”!不管最终效果怎么样,先要解决的问题是前台需要有什么?如何安排各种成分的布局?然后才是页面的配色美化?
(2)方法
在需求分析的基础上,我们参考了几个物流配送网站(顺丰快递,中通快递)。参考了顺丰网站的布局和其中的Highlight、快捷操作设计方式;参考了中通快递的客户、管理员分区登录方式;参考了华中科技大学中文版主页的新闻、快捷链接设计方式。对于配色,我们参考了华中科技大学主页中文版、英文版的各种元素,最后确定了以蓝绿色为基调的配色方案。而美化,我们想到了能否为网页添加部分动态效果,如动态导航,淡褪Highlight,动态Tab的快捷操作
(3)研究工作
在0基础上,我们先要系统化一下原有的网页开发知识体系。复习HTML,学习CSS设计、JavaScript的编写。并且要熟悉HTML、CSS、JavaScript是如何相互联系,相互作用于一个网页的开发,进而了解如何才能构建一个拥有条理性的文件系统的网站。网页的开发最快、最直接的方式是通过阅读其它符合要求的网站的规范源码,加上自己的动手实践,将知识学到手,同时也作出了符合要求的网页元素。华中科技大学中文版主页的网页是非常好的学习资料。
4.1.3 省公司管理员界面
1) 界面原型
2) 省公司管理界面
3) 评述
(1)问题
类似于客户端界面,我们事先考虑的问题是省公司管理界面应该有什么内容,如何进行布局,后才是配色和美化。在客户端界面的研究工作下,我们碰到了新的技术问题:列表及其列表子项的展现和网页的局部替换。
(2)方法
内容的安排是基于两种权限的管理员的不同操作,将管理内容分派到了两个独立的管理页面上(省公司管理页面、配送点管理页面)。左侧操作导航布局和操作、显示方式则采用了华中科技大学资助网左侧导航栏。右侧则具体显示某个操作匹配的操作页面。配色方案,为了和客户端页面风格一致,我们也以蓝绿色为基调,也参考了苹果官网的代码,形成右侧的背景着色方案。除此之外,其余设计均为自主的设计方案。而技术上的列表和局部替换,我们接触到了Jquery(一个JavaScript库),他能解决我们的问题,接下来就是研究工作了。
(3)研究工作
为了解决技术上的问题,在学习基本知识点以外,我们要了解一下Jquery的使用:如何将其使用在页面中以完成我们需要的效果,能否进行自定义的风格设计?还有就是局部网页的更换(右侧操作界面的更新),如何在不刷新整个页面的情况下,只动态的更新右侧的内容?我们找到了HTML的一个标签<iframe>,借助JavaScript,它可以帮助解决我们的问题。
4.1.4 省公司管理界面
1) 界面原型
同 4.1.3
2) 省公司管理界面
3) 评述
同 4.1.3
4.2 表现层架构设计
4.2.1 任务表述
考虑到建设该网站网页数目的繁多,需要一个简单清晰的结构,便于组织网站,同时也影响到底层代码的开发和结构。简单明晰的结构能提高开发效率,方便编程人员整合逻辑层和表现层。
4.2.2 网页架构设计
1) 设计
2) 网页架构
(1)点击生成收入报表
(2)点击增加配送点
3) 评述
(1)问题
对于一个管理页面,如果让管理员频烦地在各页面之前切换,会使管理体验下降,通常情况下,管理者希望在同一界面中对所授权的操作一览无余,而且可以在任意两操作界面中调换,采取何种网页架构更能迎合这种需要?如果要满足这种需要,不可能将所有的子操作页面信息都写在同一个页面下(那样会使该页面非常庞大,不便于维护),那么用一种什么样的机制?在这种机制下,如何去实现数据的更新和获取?
(2)方法
采用桌面软件常用的架构,tab命令栏(见“设计”中的“操作1”“操作2”“操作x”)和一个切换窗口(见“设计”中的虚线框)。当敲击命令栏中的某一命令时,界面只在指定的区域(见“设计”中的虚线框)更新相对应的操作界面(将原有界面移走,新的界面调出)。如果将这种设计实现在网页上,需要HTML的一个标签<iframe>,通过javascript设定其src的值,经过刷新可以掉进新的页面。
所有子页面和主页面是独立的,除了在css样式上有些约束以外。功能模板的负责人只需在各自负责的子页面上进行编写,而不用管其如何能正确调入主页面中得指定区域。这种设计加强了表现层和逻辑层的独立,也使管理者的用户体验良好,像使用桌面管理软件般的使用网页管理界面。对于数据的更新和获取,我们可以使用两种方式,一种是同步(刷新整个子页面),一种是异步(不刷新子页面而只调入数据)
(3)研究工作
对于<iframe>的使用,在主页面中加入
<iframe class="contentItem" id="manageRoadPrice" style="display:none;" name="manageRoadPriceWindow" src=”1.html”></iframe>
通过javascript语句
contentItem.contentDocument.location.replace(“2.html");
即可完成移走1.html,调入2.html的工作。其中contentItem指代的是id为manageRoadPrice的iframe对象。
对于数据的更新和获取,我发现,如果使用iframe进行设计时,iframe中的子页面与其对应的jsp或者servlet进行交互获取数据时,选择使用同步或异步数据传送已经没有多大的意义。因为iframe就是相当于一个网页的局部,如果同步调入而刷新整个iframe中得子页面,对于主页面来说这可以相当于一个异步的数据传送了。而且如果使用ajax或jason异步传送机制,对于带有Vector的数据结构,你需要用额外的代码将Vector中的数据一一写成带有<xml>标签ajax形式或者附上name的jason形式,这将影响用户的实时效果。最后我得出的结论是,对于网页上的数据处理,如果需要交互大的数据量(有对象数组,图片等大型数据),想使用局部刷新架构时,则使用<iframe>+同步数据传送效率高,如果只是小数据量的传送,则可以使用异步的数据传送(ajax或者jason),这种情况下,一般可以方便编写人员对数据进行检验,进而采取相应的操作。
5. 总结和展望
此次实习,我没有料想自己又充当了一名美工角色,接触通过团队了解一些但动手实践甚少的web页面编程。在项目实现的过程中,我全权负责所有表现层布局、架构的设计、美化工作,后期还负责了逻辑层的配送点管理、订单管理的编写工作。总的来说,我是页面工程师吧。很感谢之前的软酷实训,那时我兼任队长,架构设计和美工三重职责,因为要担任美工,所以学习和摸索了一堆p图技巧和灵感。我一度认为我缺乏美学细胞,到现在也是如此。然而组建好团队分配任务做这个项目时,我们组极度缺乏网页设计和美工的情况下,我又毛遂自荐式地包揽这两个棘手的任务,为了这个队能充分发挥自己组员的能力,我只能从喜欢的逻辑层编程退到了第一线。看来,一个团队若要是一个完整的团队,美工真是缺一不可的,当然也要有充足的逻辑层、持久层编写人员。还需要每一个成员有一种牺牲的精神,放弃自己喜欢的部分而去追求团队力量的最大化,这需要一个前提,团队成员所知道的技术不能是完全孤立的,要多多去接触与自己所深究的相关联的方面,积累一些经验,既能扩展自己系统化的知识,又能在关键时刻发挥出“雪中送炭”的效用。
对于网页的编写,我想说的是,最好的学习方式是,浏览各种网页,吸收其中对你的目标网页有价值的部分,然后通过强大的浏览器工具(如firefox+firebug,chrome的开发人员工具等)通过阅读其源码,将其学到手,弄懂然后将其实践在当前的项目上。这种方法是我在此次实训过程中领悟到的。但有一个前提,如果碰到网页中你不是很熟悉的技术,你需要通过视频学习、求教高人、或者ppt学习以了解一些基本的知识,并且要知道这些技术之间是怎么联系起来的,怎么样共同服务于网页的编写、网站的构建的。这样你的知识虽然零散,但有一个比较好的基础,想要往上边建高一点,相对来说,建成的知识体系会比较稳固。而图片的处理,则是通过搜索引擎找图片,找教程,通过photoshop进行实践才能逐渐形成一种感觉。
实训结束,我对自己所设计出的网页感到满意。所形成的知识系统虽然薄,但我觉得对于我以后的事业应该够用了,毕竟我不会从事网站工作。虽然如此,当网页中还是有一些瑕疵,如一个页面中有12个<iframe>标签,甚至到了14个,这个似乎有点多,会影响网页的渲染速度的。理论上只需要用一个就可以达到自己的效果,我考虑了用两个<iframe>可以实现(一个存放当前的,一个存放下一个将要显示的),但用一个来实现的话,鉴于自己对javascript或者jquery的了解程度并不是很深刻,也不是很本质,我觉得还是有一点难度的。还有就是那个Highlight部分,我想做出一个类似于很多网站都有的图片浏览式选择链接,可惜最后也没有时间去参考,去动手实践。以后,我想用自己已经积累的网页技术,不断去建立自己的网页知识体系,帮助我实现computer vision的网络化,或者说的更长远一点,更宽泛一点,帮助我了解和推进智能网络时代的到来吧。
6. 对实训过程的改进意见
实训虽然是圆满成功了,但似乎只是看上去的。项目比较大,28天的时间要把一个软件开发流程都走下来,有点短。于是,这个实训就不那么如我们期待的那样了。仍然是一个实验性的项目缺乏实际感;在一个机房一样的开发环境下,完全没有企业的感觉像是在学校五楼机房差不多,我们感觉是在做实验而不是在做一个真正的项目;过程中不乏有耍小聪明之举(反正错了责任也不大);文档没有很好的规范,评审过程粗糙;在这个过程当中,我们并没有学到什么实际的东西,除了学到了一些技术以外,没别的了。
想到能去一个公司实训,我当初是这么想的:
我们回去那个公司本部——有各种隔间的地方。那个公司现在来了一个实际项目,会让我们去实际经手。虽然不见得是整个项目,至少在我们呆在那里的期间,我们不同的小组能被分派到去研究这个项目不同的某个模块,然后小组将他们所负责的部分进行实训。不管是文档还是项目开发,能和公司指定的开发人员一起沟通,参与评审。但是,我们做的仅仅是辅助性的工作(相当于公司开发小组的一个附属小组),当我们最后开发出来时,我们所依附的开发小组看了我们的成果以后,他们可以吸收一些方法,同时指导一下我们。
说实话,公司的规章制度我们没有顾虑,只要我们能真正实战的企业化开发一回,即便最后的成果没有采用或者没有收到任何,我想我们学到的东西会更多,不管是沟通交流,企业化开发,实际的风险承担还是技术,这比起开发一个整的“试验”项目获得的要多得多,也真实的多。
希望实训时间长一点,也希望实训能如我(们)所想的那样真实一点吧。
7. 参考文献
[1]. 《Java Web 开发实战经验-基础篇》—清华大学出版社.20##年
[2]. 《JAVA语言程序设计基础篇》—机械工业出版社.20##年
[3]. 《HTML和XHTML权威指南(第五版)》--- 清华大学出版社.20##年
[4]. 《深入浅出Ajax(中文版)》---东南大学出版社 20##年
[5]. 《CSS权威指南(第三版)》---中国电力出版社20##年