UML系统分析与设计实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
实验一图书馆系统——借书
一.实验目的:
学会使用UML来构建软件的面向对象的软件工程,对系统进行不断精化的建模。这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。当然,在整个软件工程中,我们还需要建立系统的测试模型,以保证软件产品的质量。在具体的实验中更加准确的了解UML的操作平台。
二.实验内容:
利用UML做一个图书馆借书系统的建模。
三.实验步骤:
名称:借书”。
说明:学生在图书馆挑选好需要的图书后,通过图书管理员把书借回去。
参与者:学生,图书管理员
频率:每天可能会有很多次。最繁忙的情况是,借书的人非常多,按照现在的速度,大约每分钟完成一个人的结束工作。
前置条件:无
后置条件:修改所借出的图书的剩余数量。
假设:借书者总是从图书馆找到书,然后才能拿书办理借书手续,因此,总是有足够的书可以出借。
基本操作
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
:借书成功。
1)学生将所借图书和借书证交给图书管理员
2)图书管理员将学生借书证号码和所借图书输入系统
3)系统校对借书信息,比对该学生以往借书情况和当前借书情况,如果不存在不
允许借书的情况,则
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
借书交易的信息,并且修改相应的馆藏图书的数量信
息。
4)如果该学生已经预订了这本图书,则撤销该预定。
5)报告交易成功。
可选操作流程:所借图书超出最大借书数量。
1)学生将所借图书和借书证交给图书管理员
2)图书管理员将学生借书证号码和所借图书输入系统
3)系统校对借书信息,比对该学生以往借书情况和当前借书情况,发现已超出最
大借书数量,则停止当前交易,并且提示用户错误原因。
4)图书管理员可以应学生的意见,减少借书数量,并重新提交系统。
流程活动图:见图一。
借书活动图
分析模型
分析模型是从开发者的角度来描述问题。用例模型的主要工作是描述现实世界的业务流程,而很少会涉及系统的概念。分析,则是从系统的角度来来看待软件应该为用户提供的服务。同样,同设计不同的是,分析仍然停留在“做什么”的层次,。而设计,则需要解决“怎么做的问题”。
开发语言等技术选择通常不会在分析模型中考虑。分析模型是独立于实现的,这样,可以提供最大的复用,并且,可以帮助开发人员方知过早的陷入技术的细节中去,从而能够从一个更加一般的角度去理清思路。
静态模型的建立
进行分析建模的第一步,通常是识别对象,然后提取出类。考虑著名的MVC模式,我们需要识别实体、控制和边界三种对象。按照MVC模式来为识别对象做指导,是非常好的
做法。对象识别的结果,就是我们所需要的静态模型,通常表现为类图。
我们首先识别出实体对象,这些对象通常来说是比较明显的,例如系统中的角色,系统需要处理的资料,如本系统中需要处理的图书资料等;有些实体对象需要稍微分析一下才能得到,例如,在本系统中,为了记录图书借还的信息,我们可能需要一个对象来专门记录这一信息。这些对象就是所谓的Modal(实体类)。
然后我们需要识别为了完成系统业务逻辑而需要的业务逻辑对象,以及同用户进行交互的界面类,在MVC模式中,他们分别对应于Control(控制类)和View(边界类)。在分析阶段,这些对象通常都按照比较自然的方式来组织,例如,为了完成一个业务功能,我们通常需要一个控制类和一个边界类,控制类执行业务逻辑,边界类同客户进行交互。当然,这不是绝对的,在进行进一步深入的分析后,这些类可能会被分解和合并。
一口不能把所有的饭都吃掉,系统分析也是这样。我们需要一个一个用例的来进行分析。现在,我们首先来分析借书这个用例。
在这个用例中,我们首先可以识别出一些直接的对象,包括图书管理员(BookAdmin)、学生(Student)、图书(Book),然后,稍作分析,我们会发现我们需要一个实体对象来记录图书的借还信息(BorrowInfo)。最后,我们发现,在借书的过程中,我们会使用到预定图书的信息(SubscribrInfo)。到这一步,我们基本完成了实体对象的识别。然后,我们发现我们需要一个借书的控制类(Borrow)来执行借书的动作,以及一个用户界面(BorrowInterface)来接受用户的输入。这样,初步的模型我们就可以建立了。
Book
借书类图
在分析模型中,我们也需要识别出类的一些属性和方法。同样的,为了避免过早的陷入细节中,以及适应将来在设计时类的变化,在分析模型中,我们一般只把一些主要的属性和方法标识出来。例如,对于Student类,我们只需要Name和CardNo(借书证号)属性,对于Book,我们只需要BooKID、AllCount(书的总数)、CurrentCount(当前数量)等属性。现在,我们为我们的类图添加上述属性,就可以得到下面的结果:
借书类图
我们把还书、查阅图书、预定图书、管理图书这些用例一并分析后,我们就能够得到整
个系统的静态分析模型。
SubscribeInterface SubscribrInfo
Subscribe
当然,我们随后需要对这个初步的模型作进一步的整理和分析,类图会发生变化,各个类之间会产生一些联系。
动态模型的建立
在UML中,我们可以使用顺序图、活动图或者状态图来建模这些动态的过程。同样的,我们首先来看借书这个用例。
在借书这个用例中,有两个事件流:借书成功(正常事件流)和所借图书超出最大借书数量(非正常事件流)。我们首先来做“借书成功”这个事件流,下面是这个事件流的顺序
图:
分析过程中,消息的传递同后面的设计模型和实现模型相比,可能会有区别,也不太严密,例如,Borrow的过程中,记录BorrowInfo的动作,到最后,可能不会是BorrowInfo这个实体类自己来记录(往往会有一个实体访问类来完成这个功能,如JDO中的PersistanceManager,这取决于你采用的具体的技术框架),但是,在这里,我们可以这样来传递消息,表示需要记录这个信息。
同样的,我们也可以为“所借图书超出最大借书数量”来作他的顺序图,这个图相对简
单一些:
:
图书管理员
: BorrowInterface
: Borrow : Student
动态模型和静态模型的建立是一个交互的过程。
当分析模型完成后,我们就对系统需要完成的功能有了一个比较完整和清晰的认识,下面,就可以开始我们的设计工作了。
系统设计——实现
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
设计是对系统的详细描述。我们需要在这里提供详细的解决方案。设计同分析所使用的工具一样,也需要建立静态和动态的模型,也同样使用类图、顺序图、协作图、活动图、状态图等来表示。
四.实验总结:
这是我们第一次做UML课程的实验。通过短短一个学期的学习,我们了解了基本的理论,这次实验让我们从抽象的理论过渡到了具体的实践。让我懂得了UML的操作平台,提高了我们分析和设计图书馆系统的能力。我们进一步的掌握了图书馆系统。虽然实验时间不长,可是当中,我们真的收获了很多,我们有了这样的操作平台,做到了具体的实验,这样我们就具有了一个明确的目标,即做出实验的结果。实验难度还是比较大的,所以平时课上的认真积累是必要的,实验前还要进行充分的预习,回头细想一下,平时上课还是不太专注,以至于做实验的时候临时抱佛脚,这给我狠狠的上了一课,让我明白了未雨绸缪的道理,也对学习重新有了新的认识,总之,这次实验让我受益匪浅。
实验二.图书馆系统——还书
一.实验目的:
学会使用UML来构建软件的面向对象的软件工程,对系统进行不断精化的建模。这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。当然,在整个软件工程中,我们还需要建立系统的测试模型,以保证软件产品的质量。在具体的实验中更加准确的了解UML的操作平台。
二.实验内容:
利用UML做一个图书馆还书系统的建模。
三.实验步骤:
名称:还书”。
说明:学生在图书馆用完需要的图书后,通过图书管理员把书还回去。
参与者:学生,图书管理员
频率:每天可能会有很多次。最繁忙的情况是,还书的人非常多,按照现在的速度,大约每分钟完成一个人的结束工作。
前置条件:修改所借出的图书的剩余数量。
后置条件:
基本操作流程:还书成功。
6)学生将所借图书和借书证交给图书管理员
7)图书管理员将学生借书证号码和所借图书输入系统
8)系统校对还书信息,并且修改相应的馆藏图书的数量信息。
9)报告交易成功。
一.系统的顺序图:
1、还书顺序图
图书馆管理系统还书顺序图
【顺序图说明】
(1)login():登录系统。
(2)getitem():取得书籍条目信息。
(3)update():对图书馆书籍条目和借阅者信息进行更新条目。
还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,则对书目和读者借阅信息进行更新,同时还书成功。
2、罚款顺序图
图书馆管理系统的罚款顺序图
【顺序图说明】
管理员对书籍进行扫描,若发现书籍已经超过了图书馆规定的还书期限,则按每天一定金额进行罚款,过期天数和罚款金额由系统自动计算。用户交完罚金后,则对读者借阅信息进行更新。
二.系统的状态图
【状态图说明】
书籍在未变成图书馆在库书籍时,为新加书籍状态。书籍处于在库状态时既可以预订也可以外借,外借后变为借出状态。处于预订状态时也可以外借,超出预订时间期限则从预订状态直接转为可用状态。借阅者在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。
图书馆的书籍状态图
三.还书活动图
【还书活动图说明】
图书管理员对书籍进行扫描,若书籍已经过期,则要求读者还请欠款才能还书,读者缴应交罚款后,更新书目信息和读者信息。
图书馆管理系统的还书活动图
四.图书馆管理系统的类图
【类图说明】
(1)reader类是借阅者的类,它的属性很多,包括借阅者的账户ID(reader_id)、姓名
(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中主要操作有借书(addborrowed)和还书(deleteborrowed)和预订(reservation)等。
(2)admin类是管理员类,他有编号和姓名属性,操作主要是书籍的增删改和读者的增
删改等等。
(3) Title 类是记录书目信息的类,包括书籍的名字(name)、作者(author)、book_id
等属性。
(4) Item 类是具体某本书的类,属性包括书籍号(id)。操作包括预订(reserve)、按
书目查找(find_on_title)等。
(5) borrow类是某本书的借阅信息类,包括所借阅书籍的ISBN、借阅的时间(date)等。
(6) Reservation类是预订信息类,每个预订信息包括预订日期(date)、所预订书籍的ISBN、预订书籍的用户ID(UserID)等属性。
(7) persistent store类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。
图书馆管理系统的类图及关系
四、实验总结
有了前面几节课的锻炼,现在我对UML的操作平台有了更加深入的了解。还书系统比
起借书系统还要相对简单一些,所以实验的进行还是比较顺利的,加上以前软件工程课的学习,对顺序图,用例图,以及类图都有了很好的掌握,所以我只需掌握好图书馆还书系统的基本流程,实验的难度就大大降低了。实验需要很大的耐心,加上时间有限,所以需要我们做好充分的预习工作,自己也可以在自己的电脑上进行操作,实验。这样时间就能得到很好的利用,也能学到更多的东西。总之,这次实验,我收获了很多。