OOP课程设计报告参考样本.docx
《OOP课程设计报告参考样本.docx》由会员分享,可在线阅读,更多相关《OOP课程设计报告参考样本.docx(25页珍藏版)》请在冰点文库上搜索。
OOP课程设计报告参考样本
《面向对象程序设计》
课程设计报告
题目:
院(系):
信息科学与工程学院
专业班级:
软件工程xxxx班
学生姓名:
学号:
指导教师:
1班填彭焱2班填程海英
20年月日至20年月日
武昌首义学院制
面向对象程序设计课程设计任务书
一、设计(调查报告/论文)题目
图书馆管理系统
二、设计(调查报告/论文)主要内容
内容:
本系统的主要功能,是实现图书馆图书信息的管理、图书借阅管理。
基本功能与要求:
1.能够对图书进行注册登记,也就是将图书的基本信息(如:
书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。
2.能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。
3.提供方便的查询方法。
如:
以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。
4.提供对书籍进行的预先预订的功能。
5.提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。
6.能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。
7.提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
三、原始资料
1.《xxxxxxxx》指导书
2.xxxx等编著.Xxxxxx课程设计.xxxxxx出版社.2008.
四、要求的设计(调查/论文)成果
1.课程设计报告
2.系统实现
五、进程安排
选题,需求分析
1天
xxx工具软件基本操作
1天
UML用例图、类图实现
3天
数据流程图、E-R图分析与实现
2天
数据库表、视图、存储过程实现
1天
课程设计说明书撰写,课程设计验收
2天
六、主要参考资料
[1]张智强著.SQLServer2005课程设计案例精编.清华大学出版社.2008.
[2]张海藩编著.《软件工程导论》(第5版).清华大学出版社.2008.
[3]Markpriestley著.《面向对象设计UML实践》(第2版).清华大学出版社.2004.
指导教师(签名):
20年月日
目录
1系统分析…………………………………………………………………页码
1.1需求分析………………………………………………………………………页码
1.2系统模块分析………………………………………………………………………页码
2UML分析与设计……………………………………………………………………………页码
2.1系统用例图………………………………………………………………………页码
2.2系统类图………………………………………………………………………页码
3数据库分析与设计………………………………………………………………………页码
3.1系统数据流分析………………………………………………………………………页码
3.2E-R分析………………………………………………………………………页码
3.3数据库设计………………………………………………………………………页码
3.3.1表设计……………………………………………………………………页码
3.3.2视图设计……………………………………………………………………页码
3.3.3存储过程设计……………………………………………………………………页码
3.4数据库DDL脚本………………………………………………………………………页码
4功能实现与系统测试…………………………………………………………………页码
4.1功能实现………………………………………………………………………页码
4.2系统测试………………………………………………………………………页码
总结…………………………………………………………………………………页码
1系统分析
(简要介绍图书管理系统的背景及意义)
随着计算机技术、网络技术的广泛应用,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。
图书馆管理系统,为高校图书馆的自动化办公提供了一个较好的解决方案。
在系统开发过程中,按照软件工程的步骤,从分析设计到开发采用了面向对象的思想和技术,采用了SQLSERVER2005数据库,使得本系统可以方便地和其他子系统进行数据交换。
1.1需求分析
(针对选题,进行需求分析,分析系统的功能。
)
图书管理系统,就是通过计算机技术,实现图书馆图书信息的管理、图书借阅管理。
其主要功能包括以下方面:
(1)读者管理:
读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注等。
(2)书籍管理:
书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。
(3)借阅管理:
包括借书,还书,预订书籍,续借,查询书籍,过期处理和书籍丢失后的处理。
(4)系统管理:
包括用户权限管理,数据管理和自动借还书籍的管理。
1.2系统模块分析
(针对选题,在需求分析之后,对系统功能模块进行划分,归纳系统总的功能。
画出总的功能模块图。
)
根据对本系统的需求分析,可以归纳出系统主要功能如下:
(1)借书。
处理借书业务。
(2)还书。
处理还书业务。
(3)书籍预订。
借阅者可以通过网络进行书籍预订。
(4)书籍信息录入。
处理书籍各类信息录入业务。
(5)借阅者信息录入。
对读者信息进行录入。
(6)书籍信息查询。
负责书籍信息的查询。
(7)读者信息查询。
负责数据信息的查询。
(8)借阅信息管理。
书籍借阅信息包括所借书的书名、ISBN以及借书的时间等。
(9)书籍信息管理。
书籍信息包括书籍的名字、ISBN、作者、入库时间以及书籍在相应书目下的编号等。
(10)预订信息管理。
负责管理书籍预订信息。
将以上功能进行分类整理,可以将本系统划分为以下几个子系统:
(1)基本业务功能子系统:
该系统中主要包含了借书还书和预订等功能。
(2)基本数据录入功能子系统:
该子系统主要包含有书籍信息和读者信息录入功能。
(3)信息查询子系统:
包含了多功能的查询书籍信息和读者信息。
(4)数据库管理功能子系统:
主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。
(5)帮助功能子系统。
本系统主要功能模块图,如图1-1所示。
图1-1图书管理系统功能模块图
、、
2UML分析与设计
UML是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的建模技术,可从不同的视角为系统建模,广泛地适用于各个应用领域。
它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。
从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性。
2.1系统用例图
需求分析的目标就是建立需求模型,即从功能需求出发建立用例模型,UML的用例图从用户的需求中提取,以盒图的方式描述待开发的系统的功能需求。
每个用例都指定了客户的需求即他们需要系统干什么。
用例图为设计活动不仅记录需求而且还提供了一种挖掘的信息,它记录了需求到设计结果之间的映射关系,能够确保设计结果具有明确的根据或者说具有可维护性,基于UML的软件开发过程是以用例驱动的。
要找出系统的用例图,首先要进行角色识别,角色识别的任务是找出所有可能与系统发生交互行为的外部实体、对象、系统。
它们的行为不受系统控制,但是可以提供输入给系统。
本系统的边界为学校的图书馆。
对于一所大学的图书管理系统,基本的功能是完成图书的借阅和相关信息的管理,服务的对象有本科生,研究生,教师,及其他学校的学生,还有社会人员,这些人可归结为一类即读者。
而为帮助读者顺利完成借、还书的可以是工作人员,可以是自动借还书机,他们可以归结为一类即图书管理人员。
因此对于一个图书管理系统主要有两类角色,读者、图书管理员。
(系统管理员可以看作是图书管理人员的一个特权用户)
其次,在主要角色的基础上,可以识别出与角色相应的用例,从而得到系统的用例模型。
可以通过分层来确定本系统的用例。
基于需求分析,可以确定图书馆管理系统中的第一层用例主要包括:
基本业务功能管理、基本数据修改、信息查询、数据库管理。
如图2-1所示。
(所有人必须要分析出你的系统总的用例图---也即顶层用例图)
图2-1系统基本用例图
(接下来,可针对某个子系统中2-3个主要用例进行细化分析)
继续对以上用例图中四个用例进行细化,可以获得各子系统中的用例图。
(1)基本业务功能子系统中的用例
主要用例包括:
借阅管理、借书、续借书、还书。
如图2-2所示。
图2-2基本业务功能子系统用例图
a)借书用例的描述
用例#
0102借书(按层编号,每层用2位数字表示)
使用语境
有权限的图书管理员进入系统、合法的读者
范围
图书管理员、管理员、读者
级别
主执行者
图书管理员
前置条件
图书管理员必须登录系统
后置条件
触发事件
读者借书
描述
步骤
活动
1
图书管理员登陆基本数据修改功能子系统,点击“借阅管理”中的“借阅”
2
输入图书证编号。
若不正确,则提示“您输入的借阅证号码有误,请重新输入!
”;输入正确后,显示读者已借阅图书信息,提示超期未归还的图书;
3
输入图书编号。
若读者已借满,提示“您已借满,请先归还部分图书再来借,谢谢!
”;若读者可以正常借阅,提示“您确定要借阅这本书吗?
”
4
确定借阅图书,则借阅证号增加一条借阅信息记录;读者选择“放弃”,回到步骤3重新选择图书;
5
读者成功借阅图书,系统管理员保存借阅记录并修改库存图书数量、读者借出数量。
6
借阅完成,点击“退出”,退出系统。
扩展
步骤
分支动作
1
2
b)还书用例的描述
Xxxx
(2)基本数据修改子系统中的用例
主要用例包括:
读者信息管理、读者信息录入、读者信息修改、读者信息注销、书籍信息管理、书籍信息录入、书籍信息修改、书籍信息注销。
如图2-3所示。
图2-3基本数据修改子系统用例图
1书籍信息录入用例的描述
Xxxxx
2读者信息录入用例的描述
Xxxxxxxxx
(3)信息查询子系统中的用例
主要用例包括:
图书信息查询、读者信息查询。
如图2-4所示。
图2-4信息查询子系统用例图
(4)数据库管理子系统中的用例
主要用例包括:
借阅管理。
如图2-5所示。
图2-5数据库管理子系统用例图
2.2系统类图
系统中所有类图(含类之间的关系)。
通过以上从不同角度对本系统的分析,可以获得系统类图,如图2-13所示。
图2-13系统类图
3数据库分析与设计
3.1系统数据流分析
通过前面的分析,可以获得图书馆管理系统的数据流图。
如图3-1所示。
图3-1图书馆管理系统数据流图
3.2E-R分析
通过建立系统的数据模型(E-R图)来理解和表示问题的信息域。
通过对图书管理系统的分析,可以得出该系统涉及三个实体:
读者、图书、工作人员。
通过对各实体数据关系的整理,可以画出系统E-R图,如图3-2所示。
图3-2图书馆管理系统E-R图
通过分析这些实体涉及的数据项有:
读者:
借阅证编号、姓名、身份证号、最大借书数、止借标志。
图书:
图书编号、图书名称、购买日期、定价、类型。
管理员:
员工编号、员工姓名、员工性别、身份证号、登陆密码。
实体之间的联系涉及的数据项有:
借阅信息表:
借阅证编号,图书编号1,图书编号2,图书编号3,借书日期1,借书日期2,借书日期3,操作员姓名。
罚款信息表:
借阅证编号,读者姓名,图书编号,图书名称,罚款原因,罚款金额,罚款日期,操作员姓名。
(1)管理员信息实体E-R图
管理员信息实体E-R图,如图3-3所示。
图3-3管理员信息实体E-R图
(2)读者信息实体E-R图
读者信息实体E-R图,如图3-4所示。
图3-4读者信息实体E-R图
(3)书籍类别信息实体E-R图
书籍类别信息实体E-R图,如图3-5所示。
图3-5书籍类别信息实体E-R图
(4)书籍信息实体E-R图
书籍信息实体E-R图,如图3-6所示。
图3-6书籍信息实体E-R图
(5)借阅信息实体E-R图
借阅信息实体E-R图,如图3-7所示。
图3-7借阅信息实体E-R图
从而,可以得到系统总的E-R图,如图3-8所示。
图3-8系统总的E-R图
3.3数据库设计
由以上E-R图分析,可以得到本系统相关的逻辑设计关系表。
3.3.1表设计
(1)管理员信息表
由以上管理员信息实体E-R图,可以得到管理员信息表,如表3-1所示。
表3-1管理员信息表
字段名
数据类型
长度
主键
编号
nvarchar
10
是
姓名
nvarchar
20
否
类别
nvarchar
100
否
性别
nvarchar
20
否
出生日期
nvarchar
50
否
身份证号码
int
4
否
家庭住址
nvarchar
20
否
联系电话
nvarchar
8
否
学历
nvarchar
8
否
入馆时间
nvarchar
8
否
备注
nvarchar
8
否
(2)读者信息表
由以上读者信息实体E-R图,可以得到读者信息表,如表3-2所示。
表3-2读者信息表
字段名
数据类型
长度
主键
Xxx
nvarchar
10
是
Dddd
nvarchar
20
否
(3)书籍类别表
由以上书籍类别信息实体E-R图,可以得到书籍类别信息表,如表3-3所示。
表3-3书籍类别信息表
字段名
数据类型
长度
主键
Xxx
nvarchar
10
是
Dddd
nvarchar
20
否
(4)书籍信息表
由以上书籍信息实体E-R图,可以得到书籍信息表,如表3-4所示。
表3-4书籍信息表
字段名
数据类型
长度
主键
Xxx
nvarchar
10
是
Dddd
nvarchar
20
否
(5)借阅信息表
由以上借阅信息实体E-R图,可以得到借阅信息表,如表3-5所示。
表3-5借阅信息表
字段名
数据类型
长度
主键
Xxx
nvarchar
10
是
Dddd
nvarchar
20
否
3.3.2视图设计
简单介绍视图的作用。
考虑到系统的安全性和查询性能的需要,可以对个别查询通过在数据库服务器端,建立数据库对象---视图来实现。
例如,查询每个月的借书情况、查询某个专业学生的借书情况,查询老师借书情况,等等。
3.3.3存储过程设计
简单介绍存储过程的作用。
为提高业务处理的性能、事务操作、安全性的需要,可适当在数据库端建立存储过程,来实现数据的存取。
可对以下操作,创建存储过程。
(1)查询某本书的状态
(2)查询某读者的借书历史
……等等。
3.4数据库DDL脚本
在sqlserver中创建以上数据库对象(表、视图、存储过程)后,然后导出DDL脚本,贴在此处,对每个对象进行简要的注释说明(如下例所示)。
usemaster
go
ifexists(selectnamefromsysdatabaseswherename='library')
dropdatabaselibrary
go
--创建数据库Library
createdatabaselibrary
on
(
name='library_data',
filename='./library_data.mdf',
size=50mb,
maxsize=100mb,
filegrowth=10%
)
logon
(
name='library_log',
filename='./library_log.ldf',
size=10mb,
maxsize=20mb,
filegrowth=2mb
)
go
uselibrary
go
--创建读者信息表
ifexists(selectnamefromsysobjectswherename='读者表'andtype='U')
droptable读者表
go
CREATETABLE读者表(
读者编号CHAR(10)NOTNULLdefault''primarykey,
读者类型CHAR(10)NULL,
读者姓名varchar(10)default'',
读者性别char
(1)default'M',/*'M'代表男,'F'代表女*/
出生日期datetimedefaultgetdate(),
有效证件char(18)default'',
证件号码varchar(18)default'',
登记日期datetimedefaultgetdate(),
离开日期datetimedefault'4000/01/01',
借阅证号CHAR(10)default'',
备注CHAR(18)default''null,
操作员CHAR(5)default''NULL
)
go
--创建图书信息表
ifexists(selectnamefromsysobjectswherename='图书表'andtype='U')
droptable图书表
go
CREATETABLE图书表(
图书编号CHAR(10)default''primarykeyNOTNULL,
条形码CHAR(18)default''NULL,
书名varchar(10)default''NULL,
类型varchar(10)default''NULL,
作者varchar(10)default''NULL,
译者varchar(10)default''NULL,
ISBNCHAR(18)default''NULL,
出版社varchar(10)default''NULL,
价格floatdefault0NULL,
页码intdefault0NULL,
书架名称varchar(10)default''NULL,
入库日期datetimedefaultgetdate(),
注销日期datetimedefault'4000/01/01',
备注varchar(20)default''NULL
)
go
--创建xxx视图,作用:
xxxx
--创建xxx存储过程,作用:
xxxx
4功能实现与系统测试
总的说明:
选择三层架构来实现整个系统功能,如何分的三层。
三层之间如何工作的。
。
。
。
等等。
。
。
。
本系统中共有11个类(与2中类图一致)来完成主要的功能,分别如下:
(1)LoginActivity登录
(2)RegisterActivity注册
(3)MainActivity主页
(4)LocalGameActivity经典模式游戏
(5)GlobalGameActivity世界模式游戏
(6)MyInfoActivity个人信息
(7)MyRecordActivity我的录音
(8)RecordActivity录音
(9)MusicListActivity上传曲子列表
(10)MusicDetailActivity曲子详细信息
(11)SubscribeListActivity关注上传音乐列表
4.1功能实现
【提示:
针对一个一个功能,将每个功能描述出来,你采用了哪几个类如何协同工作,来实现的该功能。
】
(1)A功能
描述此功能做什么的。
。
。
,然后说明哪几个类文件来实现的此功能:
a1.java,a2.java,a3.java
1a1.java
提供了哪些方法,每个方法做什么的?
然后把代码粘贴过来
②a2.java
提供了哪些方法,每个方法做什么的?
然后把代码粘贴过来
③a3.java
提供了哪些方法,每个方法做什么的?
然后把代码粘贴过来
等等。
。
。
。
。
(2)B功能
与上类似
4.2系统测试
针对一个一个功能,截图显示,并说明该图中可实现完成什么功能。
(1)A功能
运行程序后的截图
图4-1xxxx
描述此界面,可以完成什么功能。
(2)B功能
运行程序后的截图
图4-2xxxx
描述此界面,可以完成什么功能。
同上继续。
。
。
总结
课程设计中的收获、遇到的主要问题和解决方法;课程设计中存在的不足,需进一步改进的设想。
注意:
每一章开头,都是从新页开始
(要求:
一级标题(章),黑体,三号,居中;
二级标题,黑体,小三号;
三级标题,黑体,四号;
正文,宋体,小四号,1.25倍行距)