软件工程--图书管理系统项目开发总结报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程--图书管理系统项目开发总结报告
设计题目:图书管理系统
小组成员:非常“2+3”
指导老师:
2013年6月1日
目录
1.引言 (1)
1.1编写目的 (1)
1.2背景 (1)
1.3定义 (1)
1.4参考资料 (1)
2.项目概述 (2)
2.1项目简介 (2)
2.2开发环境 (2)
2.3开发成果 (2)
2.3.1产品 (2)
2.3.2主要功能和性能 (3)
2.3.3进度 (3)
2.3.4费用 (4)
3.开发总结 (4)
3.1项目整体部分 (4)
3.2需求及设计部分 (5)
3.3软件开发部分 (5)
4.开发工作评价 (5)
4.1对生产效率的评价 (5)
4.2对产品质量的评价 (6)
4.3对技术方法的评价 (6)
4.4出错原因的分析 (6)
5.未来展望 (6)
1.引言
1.1编写目的
近期结束了现代软件工程中关于图书馆管理系统的开发,这也是我第二次较为正式的组织团队成员进行开发工作。图书馆管理系统规模不算大,但是在组织的过程中,却还是发现“2+3”团队在很多地方的不足,现总结之。
预期读者:XX老师、项目小组。
1.2背景
软件系统的名称:图书管理系统
本项目的任务提出者:现代软件工程
开发者:
用户及实现该软件的计算机中心或计算机网络:互联网
该软件系统同其他系统或其他机构的基本的相互来往关系:无
1.3定义
.NET:Microsoft XML Web services 平台;
IDE:集成开发环境;
C/S:客户机/服务器结构;
MVC:模型-视图-控制器的缩写,一种软件设计典范;
CRUD:增删改查。
1.4参考资料
(1)、《软件工程导论——第5版》,张海藩编著,清华大学出版社
(2)、《实用软件工程》,Leszek A.Maciaszek Bruc Lee Liong著,机械工业出版社
2.项目概述
2.1项目简介
图书馆管理系统面向读者、图书管理员、系统管理员及游客提供服务。其中,读者可查询、借阅、预定、归还图书及留言;图书管理员可完成图书的上下架、现有库存图书的借还管理等;在此基础上,系统管理员可以实现对注册读者及图书管理员的管理、通知公告的发布、系统数据管理及留言管理等。
2.2开发环境
该系统在.NET、利用C#在Visual Studio 2010 IDE完成开发,并采用Sql Server2008作为后台数据库。解决方案整体采用C/S结构,架构在.NET Framework 4 及MVC3.0之上。
2.3开发成果
2.3.1产品
(1)图书馆管理系统
图2-1 图书管理系统结构
(2)数据表物理结构设计如下:
图2-2 数据表物理结构
2.3.2主要功能和性能
该系统主要有三个大的模块:借阅者、图书管理员及系统管理员,其中每个模块的主要功能如下:
借阅者模块主要包括:图书检索及预订、借阅信息查询、建议留言及个人信息维护等。其中检索功能在未登录情况下也被授权,其余均需验证。每个借阅者有借阅上限,具体借阅信息可以通过查询得到。为完善系统,更好的为用户服务,该系统提供留言子系统,供收集用户建议,改善工作。
图书管理员模块主要包括:处理图书的借阅、归还及罚金等。其中关于处理罚金,根据返还图书是否超期而定。
系统管理员模块主要包括:用户管理、图书信息管理、留言管理及系统数据管理等。其中,用户管理可以完成对借阅者及图书管理的CRUD;图书信息管理包括对图书种类、书目及图书的CRUD;留言管理处理留言回复;系统数据管理负责对系统数据的备份及还原。
项目的实际开发情况与预计的功能基本相符,主要功能基本实现,细节上略有变更。2.3.3进度
表2-1 进度表
上表是项目预计开发进度,实际开发进度比预计开发进度提前一周。
2.3.4费用
因为该项目属于课程设计,不涉及费用。
3.开发总结
3.1项目整体部分
(1)由于团队成员来自多个专业,课程安排不同,因此成员间沟通基本通过小组会议。缺少及时的沟通,有时会托缓项目进度,且易造成模块间对接难度加大;对面向对象的认识程度不同,阶段性交流效果不佳。
(2)如(1)中所述,由于团队成员间基础不一,所以在项目管理中进度表的定制较为困难。在充分了解成员的基础上,完善项目任务进度表,把每月、每星期、甚至每天(如果需求足够明确的话)任务进度表示清楚,并按部就班的执行,将有助于合理化项目管理,提高项目开发进度。
3.2需求及设计部分
(1)对需求设计不要求大量的人员参与,只需要2-3个人就可以完成任务。但在此过程中需定期和其他人员讨论,并提出想法和修改意见,并根据具体情况做适当的改进。
(2)整体需求过程中,尤其是已经确定的功能需求,没有设计并论证好详细的流程,导致逻辑的可行性不可保证。
(3)需求和设计应加大重视的力度。(设计包括流程和简单的页面设计)
a) 保证页面布局和风格的统一。
b) 设计完成后,要经过讨论确定后再进行编码。
(4)数据库设计需建立模型,并且每经过一次修改,都要经过论证。
(5)要充分考虑到技术的可行性,并尽量使用简单实用的技术方法来满足功能的需求,但一切要以效率和性能为前提。
3.3软件开发部分
(1)代码的编写规范,需要编写一个典型的DEMO,并做一个简单的培训,供大家参考格式。因项目较小,参与人员不多,本次编码较为规范。
(2)着力作好项目开发记录文档。例如:对具体的某个功能实现有详细的记录,包括页面使用,类及对应的方法,测试实例等。
(3)阶段审核,切不可在完成全部功能后,才发现某些代码设计不合理,所以在由项目负责人根据阶段完成的情况来进行阶段审核讨论,发现问题并及时改正。
(4)急需一份代码编写规范。正着手准备。(比如:Session使用,全局变量使用范围,页面间参数传递的问题等)
(5)基础底层架构不够完善,需尽快完善。
4.开发工作评价
4.1对生产效率的评价
给出实际生产效率,包括:
1. 作业下达超20周,系统开发历时4个月
2. 开发的反复性也有,主要原因是跨度稍大,平时作业较多,造成一定程度上的生疏。
3. 对系统功能的理解不是很透彻,主要是没有较好的原型系统。