软件工程实验报告书实验题目:高校图书管理系统专业通信工程学生姓名梅发同学号0942826124实验一:结构化分析和设计方法一、实验目的通过本实验学生掌握利用软件工程生命周期开发方法学开发软件项目的过程,以及如何撰写各个阶段相应的软件文档,包括可行性分析报告、需求分析报告、概要设计报告、详细设计报告等。
以软件工程思想指导软件开发,为学生以后从事软件开发工作时能够自觉地规范软件文档,提高软件质量打下基础。
二、实验内容1、对系统进行可行性分析和需求分析,明确系统的业务流程,1.1数据流程图数据流程图时全面描述信息系统逻辑模型的工具,它抽象概括地把信息系统中各种业务处理过程联系起来。
以下时图书馆管理信息系统地数据流程图。
1.1.1 零层数据流程图1.1.2.:第一层1.1.3:2层图-借书人管理1.1.4:2层图-借阅系统图1.1.5:2层图-查询系统图1.1.6:2层图-采编系统图1.2图书管理系统整体E-R图❤图中各实体属性如下:读者档案:学号,读者姓名,性别,借书证号,单位借书证:借书证号,姓名,性别,办证日期管理员:操作员编号,管理员姓名,登陆密码库存信息:书号,图书编号借出信息:图书编号,借书证号,借书日期,归还日期图书档案:书号,书名,作者,出版单位,出版日期,单价,类别,藏书册书,图书编号入库日期1.3 数据字典三、实验小结在需求分析部分,我认真阅读了图书管理系统的功能简述,在此基础上把整个系统按处理功能分解成若干模块,进行数据分解,画出了总系统和各模块的数据流图、数据项表、数据结构表、数据流表等。
得到的需求分析的主要结果,基本反映了用户的需求。
在概念结构设计时,采用自底向上的设计方法。
将数据流程图中的子图抽象为E-R图,然后再合并各个分E-R图。
设计出的整体概念结构内部具有一致性,不但能满足需求分析阶段确定的所有要求,而且能准确反映原来的每个子视图的结构。
并且给出了各个实体的描述,对实体和关系进行了调整,消除了冗余实体和冗余关系。
在逻辑结构设计时,选择SQL Server 所支持的数据模型,适于描述和表达概念结构的。
我们遵循一定原则进行实体、属性和联系的转换。
优化了关系数据模型,根据具体的应用确定范式和关系模式的分解与合并。
确定了外模式和数据视图。
在物理结构设计时,设计的存储结构和存储方法考虑到了用户的应用环境情况,为了缩短响应时间优化数据库的访问,建立了经常查询的属性的索引。
并且对数据库表进行了存储空间分配和划分了用户角色及每个角色的权限,系统安全性提高。
最后在数据库实施设计阶段,在具体的DBMS下创建库,表,视图,建索引,授权及完整性约束。
通过不断修改完善,我们所设计的图书管理数据库系统,符合关系数据库的基本体系结构,达到关系数据库的标准。
本软件对录入的数据进行较高的数据精度限制.且本软件响应时间较稳定,能帮助用户建立稳定的工作节奏,足够满足用户的需求。
四、实验心得通过这次课程设计,了解了设计一个数据库系统的复杂性和对综合知识要求较高。
因此在设计阶段我们查阅了很多资料,加深了对数据库知识的认识。
在设计过程中,在需求分析、数据库概念模型设计、数据库逻辑模型设计、数据库实施设计阶段和同学进行了反复的讨论、研究逐渐完善了整个图书数据库管理系统。
在需求分析阶段,我对各种各样的客户的信息需求、处理需求、安全性与完整需求进行了分析,绘制了数据流图;建立了数据项表、数据结构表、数据流表、数据存储表和处理过程表。
在概念模型设计阶段,根据需求分析情况,设计出相应的局部E-R数据模型,根据不同的实体之间的联系,分为1:1,1:n,n:m 三种情况考虑。
然后将各局部E-R图集成为全局E-R图,在这过程中我充分考虑到了各种冲突。
对各个实体和关系进行了描述,并且根据应用要求消除了冗余实体和冗余关系。
在数据库逻辑模型设计阶段,将全局E-R图转换成关系模式,确定各关系模式的函数依赖关系,并且对依赖关系进行了规范化处理。
同时为了更好满足不同用户的应用需求进行了关系调整,优化了数据库的运用。
建立了基本结构表,并且对基本表给出了主键和外键,确定了其完整化约束。
并确定了外模式和数据视图。
最后在数据库实施设计阶段我们在具体的DBMS下创建库,表,视图,建索引授权及完整性约束。
综上所述,我设计的图书馆管理数据库系统,符合关系数据库的基本体系结构,达到关系数据库的标准。
实验二:面向对象分析、设计方法一、实验目的通过本实验学生掌握利用软件工程面向对象开发方法学开发软件项目的过程。
在传统的软件工程方法学基础上,对同一个软件系统利用面向对象方法进行分析和设计,并建立该软件系统的面向对象模型,包括对象模型、功能模型、动态模型等。
以软件工程思想指导软件开发,为学生以后从事软件开发工作时能够自觉地规范软件文档,提高软件质量打下基础。
二、实验内容系统对象模型-类图、2.1图书管理系统对象模型根据需求描述,提取出管理员,借阅者,图书等几个对象.2.1.1 对象模型描述下面对这个几个对象进行具体陈述并建模:2.1.1.1读者Borrower类:读者在系统注册的信息包括一下几点:姓名(name),住址(address),城市(city),省/州(state),邮政编码(zip),可借数的最大数目(maxbook),借书期限(maxday),读者编号(userid),借书证号码(borrow_number);读者使用系统可进行的操作有:查询-------find(),借书------borrow(),还书-------return_back();2.1.1.2系统管理员Administrator类:系统管理员也可以借书,因此他能进行读者类所以的操作;系统管理员同时也是图书管理员,也可以进行图书管理员说做的一切操作;系统管理员有自己的特殊编号,用来登录系统,进行系统级操作.以区别图书管理员.2.1.1.3图书管理员Librarian类:图书管理员也要在系统内注册,注册信息如下:姓名(name),住址(address),城市(city),省(state);系统为每个管理员分配一个唯一编号workID.图书管理员登录系统后,可以进行以下操作:更新借书还书信息------update();增加预留----------------create();删除预留信息----------destroy();2.1.1.4书目Title类:书目类代表图书,在系统中要保存每一本图书的资料,这些信息包括:书名(name),作者(author),书号(isbn),库存数量(total_number),借阅号(borrowed_number),是否可以借出(is_allowedForBorrow);在书类的操作有一些:查找书目-------------------find();增加书目----------------create();删除书目----------------destroy();借书----------------------borrow();还书----------------------return_back();预留图书--------------reserve()2.1.1.5其他类:Item类:此类代表一个书目的一份拷贝Loan类:代表对超过还书期限的读书进行罚金的类Reserve类:预留图书类2.1.2 类图功能模型-用例图2.2图书管理系统功能模型系统的参与者主要有三类:读者(也可称为借阅者)图书馆管理员图书馆管理系统维护者2.2.1 功能模型描述1. 借阅者请求服务的用例图2. 图书馆管理员处理借书、还书等的用例图3. 系统管理员进行系统维护的用例图2.2.2功能模型的用例图2.2.2.1读者借书等的用例图如下:读者借助此图书管理系统子系统,可以进行一下操作: 1. 查询图书 2. 预留图书 3. 借书 4. 还书5. 查阅借阅信息其中,在读者进行预留图书和查询借阅信息之前,读者必须先登录系统; 读者进行还书操作时,必须保证图书完整;2.2.2.2图书馆管理员处理借书、还书等的用例图图书管理员用例描述:图书管理员使用系统进行的操作主要有:1.处理读者的送还的图书2.处理读者的借书要求3.处理读者的预留图书要求其中在处理还书时,要查看图书的完整性;处理读者借书时,要检查读者信息;2.2.2.3系统管理员进行系统维护的用例图如下:动态模型-活动图、序列图2.3 图书管理系统动态模型2.3.1 动态模型2.3.2 系列图2.3.2.1 系统管理员添加书籍的时序图数据需求:书目信息每本书的拷贝的详细资料主流程描述:1.系统管理员向系统提交新书资料(additem())2.系统查询与此书相关的书目3.系统返回查询结果4.查到书目,则提交,添加此书目的拷贝2.3.2.2系统管理员添加借阅者帐户的时序图数据需求:读者详细资料主流程:1. 系统管理员填写新读者的信息2.提交信息,创建读者信息保存到数据文件2.3.2.3系统管理员删除书目的时序图数据需求:书目信息主流程:1.系统管理员向系统提交要删除的书目2.系统查找此书目3.系统查找此书目下的所有拷贝4.系统删除此书目的所有拷贝5.系统删除此书目2.3.2.4图书管理员处理书籍借阅的时序图2.3.2.5 借阅者查询书籍信息的时序图数据需求:要查询的图书名称2.3.3 活动图2.3.3.1借阅者的活动图2.3.3.2图书管理员的活动图图书管理员登录系统后,处理日常事务,比如处理读者还书,借书.在处理还书时,系统会计算读者的还书期限是否过期,如果过期,则要交一定的罚金,并且更新借阅信息.处理借书时,系统会验证此读者借书的数量是否超过了限制,如果超过最大可借书的数目时,拒绝继续借书.2.3.3.3系统管理员维护借阅者帐户的活动图系统管理员运行图书管理系统,在登录界面上输入口令后,系统对用户进行验证,只有通过系统验证后,才能进行管理.否则退出系统.通过系统验证后,进入管理主界面,可以对借阅者进行管理.查看借阅者的相关信息,以保证借阅者信息的正确性;可以为读者注册资料,使其能通过系统借书;更新读者的资料.2.3.3.4系统管理员进行书目信息维护的活动图系统管理员运行图书管理系统,在登录界面上输入口令后,系统对用户进行验证,只有通过系统验证后,才能进行管理.否则推出系统.通过验证后,系统管理员可以对书目进行管理,购买了新书后,需要向系统增加新的书目信息;查询书目信息,对图书资料进行全局管理和监督;图书过时后,需要删除相关资料,保证数据的正确.2.3.3.5系统管理员维护书籍信息的活动图否则系统拒绝.登录后,系统管理员可以对图书进行一些管理,比如增加图书,删除图书,操作完成后,推出系统.三、结果分析与实验体会对象模型,描述系统的静态数据结构; 动态模型,描述系统的交互次序和行为过程;功能模型,描述数据变换结果。