1、一、 需求分析4二、 项目设计5三、 项目实现9四、 项目测试12五、 项目总结14参考文献附件1:小组分组情况说明 附件2:每个成员的工作报告 1、 需求分析 1.1 环境分析 1)根据民院金石滩校区社团联合会工作现状,社团及其人员的管理工作基本完全依赖于人工处理,但由于数据量较大,人工处理导致操作复杂、人工需求大、效率低、易出错、信息不同步等缺点。 2)校区内所有社团与各种大学生活动缺乏能够展示与宣传的开放式自主平台。3)在校内所举办的各种活动中,线上活动基本依赖于外界平台,但由于外界平台很难满足民院个性化的功能需求,导致使用上的诸多不便。 1.2 设立目标结合校园实际情况,设计一款能够满
2、足在校学生需求的多功能平台。其初期功能包括:社联的相关人员管理功能、在校学生的社团申请与管理工作、各社团的自我展示平台、信息的发布与活动的宣传。 1.3 注意事项 1)由于其内含的管理模式为社团联合会所使用,因此要详细了解其人员管理模式与组织构造,根据其现有的活动与组织的运行模式,设计一套符合其原有业务模式的标准,并能够将其实现在用户对于网站的简易操作上,从而达到满足社联管理功能的基本需求,并使其原有工作变得更加简单、快捷、安全、方便。 2)社团联合会将于10月19日举行全校规模的社团纳新活动,届时将有上千人次使用该平台,因此需要在此之前完成该项目的主要功能部分,并通过相关测试确保其当天能正常
3、运行。3)该网站完成后将作为金石滩校区社团联合会的官方网站,届时将存储数千条社团人员的信息,与校区内全部社团的基本信息,同时由于其承担社联的管理工作,因此该平台的维护与修改工作将长期进行下去。 1.4 业务描述 通过与社团联合会指导教师和学生干部多次沟通后,将相关人员的社团管理与人员管理的主要工作描述如下: 1)设立社团及其负责人: 由社联管理在校全部社团,包括社团的申请与成立、社团负责人的设置与更改、活动的组织与安排,和对其参与人员的信息管理。 2)社团负责人管理社团: 各社团负责人有权管理所在社团,管理工作包括社团的基本信息(社团宗旨、活动目标、社团简介、社徽等),和社团内的人员。社团负责
4、人在实行其管理权限时,需在社联的监督和指导下进行。 3)在校学生申请社团: 申请社团时,首先需要向社联相关人员办理社团一卡通,以证明社团人员的身份,然后即可申报所有社团,具体的社团申报工作由该社团的负责人负责,但需在社联的监督和指导下进行。2、项目设计 2.1 功能设计 该网站所具备的主要功能描述如下: 1)学生申请社团: 用户注册后,即可进行申请社团操作。首先进入个人中心,点击“申请社团”,若该用户身份没有激活则会提示并进入激活页面。在激活页面填入社团一卡通卡号和学号进行验证,若信息匹配成功则进入下一页面,填入社团人员的详细信息,填完提交后,即可进行申请社团的操作。在“申请社团”页面下可选择
5、准备申请的社团,点击“申请”后,该申请请求会提交至后台,需由该社团的负责人或社联管理员对该条申请进行审核,确认无误后可通过该申请。申请被通过后,该社团申请者即成功加入了所申请社团,在个人中心“我的社团”页面下可看到该社团内全部人员的信息。若社团的申请未被管理员通过,则该申请无效。 2)办卡人员信息管理: 学生申请社团时需办理“社团一卡通”用于社团人员身份的验证与识别。办卡人员的信息(包括社团一卡通号和学号)需由“社联管理员”录入网站后台,该条信息作为用户激活自己身份时的验证标准。 3)管理社团: 社团负责人可对自己所管社团进行管理。进入“管理中心”,点击“社团管理”-“我的社团”,即可看到所管
6、理的社团信息。在此,可编辑社团简介,简介会在主页“指点社团”版块显示,可查看该社团的人员并对其进行管理,也可查看申报该社团的请求,并对请求给予“通过”或“删除”的处理。通过“请求”后 社联管理员可对所有社团进行管理,同时可以添加和删除社团。 2.2 用户权限设计 根据上述需求分析,该网站需要区分4种权限不同的用户,具体描述如下: 1)系统管理员: 网站的总管理员,拥有最高管理权限。可进行一切可行性操作,可为其他用户设置相应权限。 2)社联管理员: 社联管理工作的最高权限。可添加和修改社团信息,可为各社团设置负责人,可查看所有社团及其内部人员的基本信息,可进行社团负责人可做的所有管理操作。 3)
7、社团管理员: 各社团负责人所拥有的权限。可对自己所管社团的信息进行修改,可查看社团申请者申报该社团的请求,并对请求进行“通过”或“删除”的操作,通过请求后,该申请社团者将加入此社团的社团人员中,成为正式成员,社团管理员可为其设置职务,已标注身份。同时社团管理员可进行对于该社团内人员的管理操作。 4)注册用户: 普通注册用户。可浏览网站中该权限可见的内容,可申请社团,申请会提交到后台等待相关管理员确认,申请社团成功后,可查看所在社团内其他成员的基本信息。注册用户可由更高级权限的管理者为其设置更高的权限。 2.3 数据库设计 1)Model(实体)描述: 注册用户(ID,邮箱,用户名,密码,权限)
8、, 权限(ID,权限名), 操作(ID,操作名), 办卡人员(卡号,学号), 社团人员(ID,卡号,学号,姓名,学院,专业,班级,电话,注册用户), 社团(ID,社团名,社团简介), 社团内身份(ID,身份名)。 2)E-R图: 操作权限描述 权限用户权限描述 注册用户-社团人员关系办卡人员-社团人员关系 注册用户 办卡人员 社团人员 社团申请 社团身份身份描述 社团 3)数据表:(一)基本用户表US_User表列名数据类型完整性描述useridInteger(10)主键用户idusernameVarchar(20)唯一用户名passwordVarchar(20)用户密码rightidInte
9、ger(5)参照 Right(rightid)用户权限id说明:用户注册、登陆时使用,核实身份、区分不同用户的权限。(二)权限表US_Right表列名数据类型完整性描述rightidInteger(5)主键权限idrightnameVarchar(20)唯一权限名称说明:所有权限的列表。(三)操作表US_Operation表列名数据类型完整性描述operationidInteger(5)主键操作idoperationnameVarchar(20)唯一操作名称说明:所有操作的列表。(四)权限描述表US_RightDesc表列名数据类型完整性描述rightdescidInteger(5)主键权限描
10、述idrightidInteger(5) 参照Right(rightid)权限idoperationidInteger(5) 参照Operation(operationid)操作id说明:描述每个权限所拥有的操作。(五)办卡人员表CB_MemberList表列名数据类型完整性描述cardidInteger(5)主键卡号numberInteger(10)唯一学号说明:记录办理社团一卡通的学生。(六)社团表CB_Club表列名数据类型完整性描述clubidInteger(5)主键社团idclubnameVarchar(20)唯一社团名称clubintroductionVarchar(5000)社团
11、简介说明:所有社团的列表。(七)社团人员表CB_Member表列名数据类型完整性描述memberidInteger(5)主键社团人员idcardidInteger(5)参照MemberList(cardid)卡号useridInteger(10) 参照User(userid)用户idnumberInteger(5)参照MemberList(number)学号nameVarchar(20)姓名phoneInteger(11)电话SchoolVarchar(30)学院MajorVarchar(30)专业ClassNumIntsger(3)班级说明:记录所有社团成员(有社团一卡通者)。(八)社团身份
12、表CB_Identity表列名数据类型完整性描述identityidInteger(5)主键身份ididentitynameVarchar(20)唯一身份名称说明:描述社团中人员的身份。(九)社团人员身份表CB_MemberDesc表列名数据类型完整性描述memberdescidInteger(10)主键社团人员身份idcardidInteger(5)参照List(cardid)卡号useridInteger(10)参照User(userid)用户idclubidInteger(5)参照Club(clubid)社团ididentityidInteger(5)参照 Identity(identi
13、tyid)社团内身份说明:描述每个社团成员的社团身份。(九)社团人员申请表CB_MemberApp表列名数据类型完整性描述memberappidInteger(10)主键申请表idcardidInteger(5)参照List(cardid)卡号useridInteger(10)参照User(userid)用户idclubidInteger(5)参照Club(clubid)社团id说明:描述每个社团成员的社团身份。 2.4 项目架构设计 为了使该系统具有良好的健壮性、稳定性、安全性、可维护性,将该系统分为如下七层: 1)Dao层: 操作数据库的接口层。为了保证系统内数据的安全性,利用接口技术实现
14、面向对象程序设计的封装性与多态性,从而保证操作数据库代码的隐蔽性与安全性。 2)DaoImp层: 实现Dao层所对应的接口,将操作数据库的具体代码写在此层。操作数据库时利用面向对象程序设计的向上转型技术实现该层代码的封装。 3)Model层: 实体模型层。模型与数据库中的数据表一一对应,将数据表中的数据映射为系统内实体时所使用。 4)Service层: 提供各种功能性操作的服务层。该网站所具有的功能均由该层提供的操作处理完成,比如登陆、注册、浏览、管理等操作。 5)Action层: 业务逻辑处理层。与前端直接交互的功能层,负责与前端信息的交互,识别并区分请求,然后决定调用Service层合适的
15、功能, 6)前端: 与用户直接接触,负责接收用户发来的消息,并将反馈回的数据显示给用户,前端包括页面和安卓客户端。3、 项目实现 3.1 程序设计语言选择服务端:Java+ssh框架客户端:java、jsp、html、javascript原因:java+ssh框架实现网站服务器端,网站稳定性较好,平台不受限制,易于实现,易于扩展和维护,数据封装性好。 3.2 数据库服务:mysql 原因:适用于中小型项目的数据库系统,安全、稳定、易用、免费。 3.3 设计模式:MVC 原因: 1)低耦合性。视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者
16、业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。 2)高重用性和可适用性。随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的仅是改变视图层的实现
17、方式,而控制层和模型层无需做任何改变。 3)较低的生命周期成本。MVC模式开发可提高开发效率,降低开发成本,易于进行产品的维护。 4)快速的部署。使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中业务于表现形式上。 5)可维护性。分熟视图层和业务逻辑层也使得WEB应用更易于维护和修改。有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。 3.4 技术介绍: 1)表现层技术:jsp本系统用jsp作表现层,负责收集用户请求数据,以及数据的表示。 2)
18、 MVC框架本系统使用struts2作为MVC框架。系统中所有用户请求,包括系统超链接和数据提交等都不直接发送到处理层,而是发送给struts2的 action,struts2控制所有请求的处理与转发。 3) spring框架的作用Spring提供的Ioc容器是业务逻辑组合各dao组件的工厂,它负责生成并管理这些实例。借助于spring的依赖注入,各组件以松耦合方式组合在一起,组件之间的依赖通过spring的依赖管理。 4) hibernate的作用Hibernate框架简化了数据库的访问,以简单灵活的方法操作数据库,为底层的dao对象实现提供支持。 3.5具体实现1) 系统结构表现层:由js
19、p页面组成。MVC层:使用MVC框架技术。业务逻辑:主要由Spring Ioc容器管理的业务逻辑组件组成。DAO层:由16个DAO组件组成。在hibernate 管理下完成数据库操作。数据库服务层:mysql数据库存储持久化数据。2) 功能模块XXXDAO:提供XXX表的数据库操作。XXXService:提供XXX表的业务逻辑处理功能。XXXAction:提供XXX角色的请求处理。3) hibernate持久层持久化实体:User:注册用户信息,包括用户名,名户密码,用户权限等信息。MemberList: 社团卡与学号绑定信息,包括社团卡号与学生学号信息。Member:办卡人员详细信息,包括专
20、业、班级、真实姓名、联系方式等。MemberDesc:社团个员信息,包括所在社团,在社团中的身份等信息。MemberApp:申请社团人员的信息表,包括所申请的社团和申请人详细信息。Club:社团信息,包括社团名,社团号,社团简介等信息。Store: 赞助商信息,同Club表。Right: 用户权限表,包括权限名,权限id两个属性。Identity:加入社的用户在社团中的职位描述,包括职位名和职位id两个属性。其他: 还有一些持久化实体类,因为客观原因使与其相关的功能暂不能开放,在此不给予描述。我们使用annotation实现实体的映射,实现零配置。4) 实现DAO层每个DAO组件对应一个数据表
21、的操作。包括DAO接口和DAO实现类。基本组件:getById(long id): 根据主键取持久化实体。add(object entity);保存持久化实例。update(object entity): 更新持久化实例。Delete(long id):根据主键删除持久化实例。getAll():取出表中所有持久化实体。getXXByYYList(int first,int size,.): 根据数据表的某个属性列分页取出持久化实例。通过spring注入SessionFactory实现DAO层的部署。5) 实现Serivce层这一层我们做的很简单,只是在DAO层上加了一些简单的判断,大部分的业务
22、逻辑处理都被放到了action里。6) 实现web层Struts2与spring整合。在web.xml中配置struts2核心Filter与初始化spring容器,实现action的自动装配。业务控制器Action。主要是对用户请求做业务处理,并通过jsp把处理结果呈现给用户。主要有:UserAction:处理用户一般的操作,例如登录、注册、申请社团等。ManageAction: 处理管理角色用户操作请求,例如审核社团申请、设置权限等。PageAction:处理部分页面跳转请求。4、项目测试 4.1 分层测试:1) Model:建立持久化实体类,并在beans.xml中部署,运行测试,运行后数
23、库据中自动生成数据表,通过命令行查询,表和表之间的对应关系正确。2) DAO层:建立接口和实现类,在XXXText使用单元独立测试,针对数据库操作组件一一测试。添加、查找功能正常,删除、更新时出导常。审查代码,没有发现错误,通过命令查看数据,发现外键级联设置错误,经手动调节后再次运行测试代码,运行正确。3) Service层:这一层是基于Model层和DAO层建立的逻辑处理层,主要负责进行数据库操作之前的逻辑处理,主要是对DAO层的调用和数据流向的控制。我们采用各功能函数独立测试,主要是检查是否正常调用DAO层,问题主要是输入数据不能保存,查询时数据存有存在时出异常。解决办法是在保存数据时验证
24、数据是否正确,在取出时检查数据是否存在,不能取出的数据当作不存在处理。4)Action:这一层主要是处理请求返回结果到表现层,主要测试能否正确接收提交上来的数据,能否正确存储数据和提取数据,能否正确返回表现层。测试依赖表现层,异常不确定,主要表现在数据提取不正确,中文乱码等。解决办法:提取数据错误时返回错误提示,统一工程使用字符编码集。 4.2 功能模块测试:1. 注册 测试数据(1):邮箱:447100651用户名:fgj密码:123456确认密码:123456点击确定,提示注册成功,返回主页面 测试数据(2):邮箱:447100651用户名:fgj密码:123456确认密码:123456不
25、能点击确定,提示邮箱输入不正确。 测试数据(3): 邮箱:447100651用户名:fgj密码:12345确认密码:123456不能点击确定,提示密码确认不一致。结论:注册数据输入正确时可以提交,输入不正确时不能提交并提示正确输入格式。注册模块功能正常。 2.登录测试数据(1): 输入邮箱:447100651 输入密码:123456 点击确定,登录成功,返回主页。测试数据(2): 输入邮箱:1111xx.xx 输入密码:* 点击确定,提示没有该用户,返回注册页面。 结论:登录功能正常。3. 后台管理 后台管理各项操相同,以下只以用户管理为例。 测试操作(1):点击用户管理,页面显示所有注册用户
26、,分页正常。 测试操作(2):在用户列表选择其中一个数据,点修改,弹出修改编辑框,输入修改内容,提交后返回列表,修改成功。 测试操作(3):点击删除,点击确定,返回用户列表,删除成功,再点击删除,点取消,数据被删除。问题出在js函数上,修改js函数后重试,数据不删除。 测试操作(4):输入id/邮箱/用户名,点击查找,不能查找。原因:后台没相应处理action。解决:增加查找action函数。结论:后台管理出现很多小问题,经过测试和修改后能正常使用。 4.用户申请社团用户卡号绑定,信息录取、修改都正常。问题:用户没有绑定卡号时申社团出现错误。原因:申请数提交到后台的处理函数中没检验数据。解决:
27、增加检验代码。结果:没有绑定卡号的用户申请社团时提示先绑定卡号,运行正常。5. 社团审核在申请用户信息列表中点通过,申请用身份成为社团人员,在社团中身分为成员。在成员列表点修改,能正确修改信息。经过两周的测试试用,根据用户提出的问题进行经过修改更新,平台的注册、登录、卡号绑定、社团人员信息管理等功能已能使用正常。其中还有很多错漏的问题,由于时间有限,只能在日后再进行汇总和修改。5、 项目总结 5.1 项目完成情况 目前该网站所有与社团管理相关的功能基本完成,并全部进行了相关测试,运行结果正常,可以满足金石滩校区社团纳新工作的需要,作为社联信息化管理平台投入使用。 由于该网站使用校内网,手机所接
28、收的外网信号访问不到网站资源,因此安卓客户端暂时没有投入使用。 5.2 实际使用情况 通过团队近两个月的努力,项目于10月14号开始正式使用。作为社联的信息管理平台,承担2013届的社团纳新工作,截止到今日(11月6日),该平台注册用户数已超过1800人,保存全校70余个社团信息,记录办卡人员信息3900余条,保存1501条社团人员的信息,与2025条社团参与信息,总点击量达37336次。 5.3 成员工作情况 根据工作职责的不同,将团队成员分为3个小组,即前端组、安卓组、后台组。 1)前端组 负责人:丁心 成员:马慧,田原 任务描述:负责网站所有页面的设计与实现。 任务完成情况:丁心制作网站
29、首页、管理中心和通知版块的相关页面。马慧制作论坛相关页面。田原制作个人中心、指点社团、新闻版块的页面。 2)安卓组 负责人:伞银晨 成员:陶秭屹 任务描述:负责安卓客户端的设计与开发。 任务完成情况:伞银晨负责安卓客户端的总体设计与开发,陶秭屹负责安卓客户端界面的设计与实现。 3)后台组 负责人:黄湖川 成员:樊国敬 任务描述:负责网站后台的架构设计与开发,负责服务器的配置与维护。 任务完成情况:黄湖川负责与使用者沟通,确定需求与使用情况,从而进行项目的设计和后台的开发,与日常维护。樊国敬负责后台的开发与服务器的维护和配置。 5.4 收获与总结 该项目从2013年4月份确定需求开始,7月份正式
30、开始制作,经过团队2个多月的努力,在10月份完成了该项目的设计、实现、测试、维护等主要工作,当前正作为社联的信息化管理平台已经投入日常化的使用, 通过制作该项目,让我们体验到了软件制作的标准化流程,即从需求的获取开始,然后经过设计、实现、测试等主要阶段的工作,最终完成一个能够满足用户需求的“有价值”的产品。 同时,该项目的制作由团队完成,所有队员都能够在假期时间主动留下来参与项目的制作,并在制作过程中积极工作,增强了大家对于团队合作的体验,和团队精神与意识的形成。 总的来说,该项目的制作过程与完成情况比较成功,基本达到了预期的目标,但还存在很多缺陷有待改进,很多功能也需要进一步地实现。但此次经
31、历对于我们来说是非常宝贵的,不仅学习到了技术,更重要的是体会到了为“用户”开发产品并最终投入使用的整个过程,和团队协作、相互配合、共同完成目标的经历,使我们体验到了计算机专业人员的工作与感受。参考文献:1 李刚.轻量级Java EE企业应用实战(第3版).电子工业出版社2 李刚.疯狂Java讲义(第2版).电子工业出版社3 李兴华.JavaWeb开发实战经典.清华大学出版社3 刘甫迎(编者),刘焱(编者).Android移动编程实用教程.电子工业出版社3 美 Nicholas C. Zakas .JavaScript高级程序设计(第3版).人民邮电出版社附件1:小组分组情况说明 黄湖川2011
32、083408网络114伞银晨2011081620计科116樊国敬2011083103网络111陶姊屹2011083217网络112马慧 2011083412网络114田原 2011083422网络114丁心 2011083404网络114附件2:每个成员的工作报告iyo校园综合信息服务平台项目个人工作报告计算机科学与工程学院 网络111班 樊国敬 学号:2011083103项目前期工作:上学期在工作室内10级学长带领下开始学习java语言。刚开始时目的不是很明确,只管埋头学习,到期中时,龚正学长写了一个需求文档,让我们用所学的东西去开发。我们一边学一边做,通过实战来巩固所学知识和提高自身能力,
33、虽然我们没有把学长给的项目进行到底,但是这个过程中我们掌握了很多技术,这些使技术在我们这次项目的开发中起了很大作用。在我们学习过程中,龚正学长发现学校社团所使用的信息管理网站有漏洞,黄湖川帮他们解决漏洞过程中发现他们所用平台功能少,管理不方便等问题,他认为我们工作室团队可做一个更好的平台。经过几次讨论后,我们开始为开发一个让社联管理社团人员信息和各社团展示自己及人员管理的web平台做准备。我们首先确定了使用这个平台的不同身份的用户,以及他们对平台的功能需求,经过整理后,我们写下了一份简单的需求分析,这时已是学期期末。因为大家一起学习的时候就选确定了方向,所以项目分工没有出现什么困难。我的任务是
34、实现服务端代码。放假后,我们讨论了几次后确定确数据表信息。数据库设计出来后又用了几天时间对数据表做一些修正。数据库设计难点是各个表间的关系,例如一个注册用户,他同时是多个社团的成员,并且是其中的一个或几个社团的管理员,他的权限分配如果只参照一个表的话就可能会出现权限越级了,因此,我们在权限表外再设一个描述社团人员身份的数据表,这样就解决了权限分配的问题。数据库设计完成后我们就开始编码。前期工作总结:前期工作中我们做了需求分析、人员分工、数据库设计。存在的问题:在获取需求时没有做好,没有写详细设计,导致编码时页面功能不确定,页面没有出来前写后台的就没法编写代码。经验总结:在做项目时,需求分析一定
35、要做好做细,在开始编码前必须设计好,尽量考虑更多的实现细节。实现过程:由于所学内容不是很深,我们采用struts2、spring、hibernate三大框架整合MVC模式进行开发。起初后台编码有三个人,我们把数据表分成三组相关组各自去实现model层、dao持久层和service层的基本操作。三个人独立编码独立测试,完成任务后把文件合到一起。没有用项目管理软件,把各组员写的代码合到一起时有些麻烦,还会出现合到一起后不能运行的情况。在做这个项目之前我们都没有自己去搭建三大框架的开发环境,刚开始的时候遇到了不少问题,编写代码的前几天我们都用学长之前培训时给我们部署的环境去写代码。经过几天的摸索我们
36、才自己搭起环境。环境搭起后我们开始写hibernate 持久层,model层,对应数据库表的实体类。其中最大的难点是在代码中实现各个表间的参照完整性!我们参考了很多资料和实例代码,通过多次实验去测试,最终把问题解决了,但是,级联问题还是没解决,只能通过手动去修改数据库。写完持久层实体类我们开始实现dao层,因为具体的操作还没有确定,只写了增删改查四个基本操作。过程中还写了一些service层的类来测试。这个过程中并没有什么大的问题。做完上述的事后,由于页面功能没确定,页面还没做出来,我在项目中暂时没有任务。在等待前台做出页面的时间里我做了一些前台后数交互的实验。页面出来后,我的任务是做论坛贴吧
37、这个模块的内容。过程中遇到问题是从数据库中分页提取数据,因为hibernate框架用得不熟练,解决这个问题花了不少时间,是在参考学长的代码后解决的。还有因为和做前台的人员交流不够透彻,页面显示或要提交的数据跟后台的数据不对应。做完这些后时间已过去三周了。在本学期开学后的一段时间,我在项目中没什么任务,只在之前基础上做一些改进。后管理功能是黄湖川在做,做后台的三个中有一位退出,但并不影响项目进行。9月初,我开始在虚拟服务器上架设网站,对一个linux系统新手来说,这并不是件容易的事,网上能搜到的教程都不适用,甚至还会误导。掌握架设网站的大概过程后我跟据所遇到的问题假设了一些解决方案,几次尝试后,
38、服务器配置成功。接下来的时间里我对社团信息管理模块进行测试和修改,解决了一些细节上问题,社团信息管理功能基本完成,网站基本成形。9月底,我在工作室机器上装ubuntu系统,架设成服务器。网站部署完后我的工作是测试与修改,10月中旬,网站开试用,我的工作任务是解决用户使用过程中出现的问题。总结:做这个项目的几个月,很累,很烦躁,但很值得。在项目开始之前我认为自己掌握的知识能够去完成开发任务,项目开始后便发现自己知识的匮乏,真的出了问题才知道自己所学不精。从项目中发现自己的诸多不足,这也是在这个项目中最大的收获,如果没有实践,我就没有看见自己的问题,没法去解决这些问题,也提高不了解自己的能力。经过
39、几个月的实践,我学会struts2、spring、hibernate三大框架的基本用法,对web开发有更深入的了解,从中获得解决web开发过程中遇到的问题的基本方法。在开发过程度遇到的问题举不胜举,在这里不能一一列举,但是其中的每一个问题都是值得我们仔细的去探讨,认真的去总结的。项目过程中我最感触深的两个问题是项目管理问题与团队合作问题。我们没项目管理经验,开发过程有些混乱,每个组员都能在自己的机器上正常工作,但是,大家的代码合到一起的时就会出现一些问题,如文件重名、函数重名、字符编码不一致等问题,这些问题都很大程度的干扰了我们的工作。我们是按学习方向进行任务分配的,组员间进行了很大程度的互补
40、,如果没有前台的同学,我们很难去实施这个项目。由于前台后台人员各自所学的知识分化程度很大,我们做服务端的人对客户端的知识掌握不够,做前台的同学对后台知识也不是很了解,使得前端后台交互出现困难。不过,随着项目的深入,我们也慢慢调好,慢慢适应这样的环境,团队合作也是一项很重要的能力。虽然网站已经做出,并成功试用了,但是其中还有很多问需要我去研究和解决,我的能力有待提高。2013年10月26日 iyo校园综合信息服务平台项目个人工作报告计算机科学与工程学院 网络114班 马慧 学号:2011083412一、项目简介及个人工作任务 iYo网是一个主要服务于社联的社团纳新及日常管理的校内应用平台。人员安
41、排分前端、后台、客户端三个部分,我是负责做前端的其中一个。初期定的要实现的功能有:社团卡号激活、社团简介、社团管理、新闻、通知、论坛、学术、个人中心等。我负责的主要是论坛和学术板块还有一个广告的弹出框和广告介绍页面。但最后由于各种原因,论坛和学术功能删除了,所以我做的部分就没有在最终结果中展现出来,但它确实存在。二、工作内容介绍 现在网上出现了越来越多的论坛,贴吧等供人们进行交流和分享,增加了人与人之间思想和情感上的互动,人们的言论自由也在一定程度上得到了解放。虽然有很多适合大学生交流的平台,比如人人网,百度贴吧等等,但并没有一个完全只局限在我们民院内部的平台,所以在iYo网放这个功能还是可以
42、的(只是言论内容限制这块不太好控制,这也是后来为什么取消这个功能的一个原因)。接下来就具体说一下,以论坛为例,学术不同之处会指出。1、页面功能描述:论坛部分: (1)论坛首页:head部分要有各板块的连接,还有登陆注册的连接;有帖子的列表,设成连接,点击进入帖子浏览页面;有发帖按钮,点击到编辑帖子内容框处;有个人信息,包括头像、用户名,点击用户名可进入个人中心。 (2)帖子浏览页面:head部分要有各板块的连接,还有登陆注册的连接;有帖子内容的展示部分,包括帖子标题,发布时间,发帖人名和帖子正文;有评论按钮,点击链接到页面底部的评论编辑框处,在评论里还有回复按钮,可对此评论进行回复;有个人信息
43、,包括头像、用户名,点击用户名可进入个人中心。 (3)发帖页面:最初的版本里有此页面,点击发帖按钮可进入页面在编辑框处进行帖子编辑,按发布按钮进行帖子发表。但最终的版本删除了此页面,将其合并到了论坛首页。(注:学术的形式和功能同论坛类似,只是在页面设计方面稍显不同)广告部分:(1) 广告弹出框:页面一打开就会有广告从上部降到页面底部,有关闭按钮。(2) 广告详细介绍页面:有广告商家的文字介绍和商家宣传照片展示。2、页面功能实现用到的技术: 所有页面都是用HTML写的结构,用CSS定位和美化样式。(1) 论坛首页的帖子列表,用javascript循环控制显示的帖子的个数,翻页用到ajax异步刷新,只刷新帖子列表那一部分,打破了过去刷新整个页面的技术限制。(2) 发帖和帖子评论都导入了kindeditor-4.1.7编辑器,可以改变文字样式,发表情,上传图片等。(3) 弹出广告就是用到了javascript。3、页面设计: 从开始做到现在,论坛和学术页面我一共做了4个不同的版本,不断摸索不断尝试不断改变。到现在了,页面设计对我来说也才是初步