面向对象分析与设计(UML)课程学习报告题目:校园二手交易平台班级:姓名:学号:指导教师:日期:一、使用UML工具分析与设计软件的心得与实践总结首先,在我们一开始确定软件的功能与非功能需求的时候就出现了问题,因为我们做的是校园二手交易系统,所以我们必须确定要实现的功能需求有哪些,怎么样才能做出一个贴合实际的二手交易系统?通过小组成员间的讨论和思考,最终我们确定了软件的几个重要功能:会员注册登录、管理员登录、二手商品发布、商品分类搜索、发布商品求购信息和管理员的管理功能等,确定了软件的设计方向;其次是在用例模型构建和细化的时候,由于我们对用例图和时序图的理解不够深刻,导致我们画的用例图和时序图出现了一些常识性和逻辑性的问题,最终在老师的指导下我们改正了这些错误;最后出现的问题是在详细设计的时候,因为我们对DAO类认识不够,所以使得我们在画类图的时候出现了问题,但是经过和别的小组进行讨论,最终还是解决了这个问题。其实,在设计过程中还出现了其他的一些问题,但是基本上可以通过自己的思考和成员间的讨论解决。我想说的是通过这次UML工具分析与设计软件,让我懂得了只是会啃书本是远远不够的,还要通过实践,自己进行操作。只有通过实践才能发现自己在知识掌握上的不足,从而使自己的学习有所提高,才能学到书本上学不到的知识。最重要的是还能够加强自己的思维能力、动手能力和小组成员间的合作能力,这对我们以后的学习和工作是有很大帮助的。同时也要感谢老师的悉心指导和大力帮助。二、需求模型图以及软件的界面设计如右图所示,我们系统的功能需求是会员注册管理、会员发布商品、会员相互发送信息、会员发布求购信息、商品分类搜索、管理员登录、会员管理、商品管理和公告管理等。因为我们做的是交易平台,所以必须要像淘宝一样拥有足够的安全保障。因此系统必须要有会员注册和登录功能,来保障会员的权益。二手交易平台,如名字那样,系统必须能够实现商品的发布和购买等交易功能,因此,我们给系统设计了会员发布求购信息、会员分类搜索和商品管理等功能。因为进行交易的话,系统还必须有一个会员间能够实时相互交流的功能,所以我们给系统增加了会员间相互发送信息的功能。系统的后台还有一个管理者的功能,管理者可以进行会员的管理、商品管理和公告管理等功能。系统的非功能需求是软件运行流畅、界面简洁和加点小广告。左图是我们软件的界面设计,有登录界面和一些商品交易操作的界面。一打开软件,出现的是我们的登录界面,如果是第一次使用该系统,则在登录界面下进入注册界面,注册完成则返回登陆界面登录,登录完成后进入会员的个人主页界面,个人界面可以进行一些操作,例如发布商品,商品搜索,查看自己近期的动态,接收交易的信息等。还有就是管理员登录,管理员登录同样是在登录界面下登录的,管理员不需要注册即可直接登录。登录后进入管理员界面,在该界面下管理员可以进行用户信息管理、商品信息管理、发布公告和交易信息统计等操作。下图是系统的登录界面。用户登录界面三、用例图以及软件的需求分析用例图我们做的软件是校园二手交易系统,我们做这个系统的初衷就是因为我们大部分人的手上或多或少都有一些自己已经不用的但是又还好的东西,丢掉又太可惜,卖掉又没门路,所以我们就萌发了做这样一个系统以提供这种交易平台的念想。上面是我们的用例图,从图中可以看出有两个参与者,分别是用户和管理者。用户能够参与的实例是会员注册登录、商品搜索管理、个人商品管理和求购信息发布。会员注册登录就是当用户第一次使用该二手交易系统的时候必须进行注册个人信息,如用户名、密码、联系方式和学号等;注册完后会员就可以登录进入系统了;值得说明的是用例图中画的商品搜索管理、个人商品管理和求购信息发布功能都是默认在会员登录的情况下画的,用户可以通过商品搜索管理搜索自己需要的商品,然后进行购买操作;通过个人商品管理来管理自己已经发布在二手交易系统上的商品,同时还可以通过求购信息发布功能在二手交易系统的留言板上发布自己需要的一些二手商品的信息。管理者能够参与的实例有登录、会员管理、商品管理和会员信息公告。管理者不需要注册,直接登录即可。会员管理就是对那些恶意发布一些信息的会员进行警告、删除该会员等操作﹔商品管理就是对会员发布在二手交易系统上的商品进行管理、分类等操作﹔公告信息管理就是管理交易平台留言板上的会员发布的一些求购信息,防止有人发布不良信息。四、类图,时序图,活动图,以及软件的系统分析类图由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。在图1中我们分别定义了四个类,分别是用户类、管理员类、展示模块类和交互模块类。各个类的对象之间可以通过彼此的操作方法进行交互。例如,用户类和管理员类是用来存储信息的,系统通过管理员类可以生成一个对象利用Management():void这个函数管理用户数据;用户对象和管理员对象还可以通过交互模块对象的函数进行发送消息等一些操作。图1时序图是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。图2是用户在进行商品搜索时的时序图,用户通过标准动作(键盘或鼠标的动作)与系统交互的情况下由二手交易平台,即应用层在存储层中搜索数据,然后返回数据给二手交易平台来处理商品搜索这个用户界面事件,处理完毕后用户界面返回搜索结果给用户。图2图3状态图主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件,以及因状态转移而伴随的动作。一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机,重点在与描述状态图的控制流。如图3是状态机描述了消息处理对象的生存期间的状态序列,引起转移的事件,以及因状态转移而伴随的动作。五、包图、配置图以及软件的具体设计包图包可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。上图是我们二手交易系统的包图。我们根据系统的功能采用了三层架构设计,分别是显示层、应用层和存储层。显示层负责信息的显示,例如更新界面信息;应用层负责处理各个用户界面事件,例如处理商品搜索等;存储层则负责数据的存储,例如在二手交易系统中存储用户的信息,商品的信息等。其中在存储层中我们还创建了一个DAO类。DAO是DataAccessObject数据访问接口。数据访问:顾名思义就是与数据库打交道,夹在业务逻辑与数据库资源中间。其本质就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。所以我们在DAO类中定义了五个函数,用来获取数据库中存储的数据(例如会员信息,商品信息)。配置图UML部署图用来描述系统硬件节点构成,以及在这些节点上运行软件组件的分布。节点用来表示一种硬件,它可以是打印机、计算机、扫描仪等。在上面的配置图中,共有三个节点,分别表示了用户的PC、服务器和数据库服务器。用户的PC运行的是校园二手交易平台客户端,服务器运行的是校园二手交易平台服务器,同时还有一个数据库服务器用来存储数据。在配置图中节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。这种关系用来表示两种硬件(节点)通过某种方式彼此通信。如上图的配置图中,用户PC与二手交易平台服务器之间存在相互通信关联,而二手交易平台又和数据库服务器之间存在相互通信关联,同时用户PC又和数据库服务器存在相互通信关联。