您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 基于UML的新闻中心管理系统设计
基于UML的新闻中心管理系统的分析与设计姓名:古月学号:131202020班级:电信研13班2基于UML的新闻中心管理系统分析与设计1.引言为了能够更加迅速地向用户传递有关企业的新闻以及相关行业中的最新发展现状,以便于引导客户选择企业的相关产品和服务,一般,在商务系统开发中都会设置相应的新闻中心模块。新闻中心模块可以提供最新的资讯,UML作为一种强大的图形化建模语言,在其开发的过程中可以充分体现它的强大功能和灵活性。2.需求分析2.1系统的功能需求本系统主要是为了实现网站实时动态新闻的显示和管理系统。一个典型的新闻中心管理系统一般都需要提供良好的维护页面,这样中心管理人员就可以借助于后台维护管理的页面实现对新闻内容进行实时的更新维护,从其前台功能看,需要包括新闻标题分类的显示、新闻详细内容的显示等。同时,也应该为新闻中心后台管理的管理员提供对应的新闻信息维护及管理功能,其中包括新的新闻、编辑修改新闻、删除新闻等功能。2.2功能模块的划分本系统根据需求分析可以划分为两大模块,分别是信息浏览模块和后台管理模块。其中,信息浏览模块主要完成新闻标题的显示,能够让用户一目了然,迅速浏览自己感兴趣的新闻标题,并且能够查看新闻的详细内容。后台管理模块主要完成新闻内容的添加、修改和删除功能。1.信息浏览模块(1)新闻分类显示(2)新闻详细内容显示(3)相关新闻列表显示2.后台管理模块(1)添加新闻(2)修改新闻(3)删除新闻其中图1为新闻中心管理系统的功能模块图3图1新闻中心管理系统功能模块图3.系统的UML分析与建模3.1UML建模工具的选择StarUML是一款开放源码的UML开发工具,StarUML遵守UML的语法规则,不支持违反语法的动作。StarUML的特色包括正反向工程,即StarUML可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。反向工程有两个主要用途,其一是旧有的源码反转成图之后,可以构建UML模型的方式继续将新的设计添加上去;另一项用途是想要解析源码时,可以通过反转的类图来理解,不再需要查看一行又一行的代码,这将节省大量的时间和精力。3.2用例图用例分析是基于UML的面向对象建模过程的一个显著的特点,在基于UML建模的过程中,用例处在一个核心的位置。系统分析要求接触用户,同时系统还要控制不同用户角色和权限。通过对用户进行分类并了解他们的需求,从而了解用户所需功能、安全性及用户界面分组的具体内容的需求。创建用例图之前需要创新闻中心管理模块信息浏览模块后台管理模块详细新闻内容显示新闻分类显示相关新闻列表显示添加新闻修改新闻删除新闻4建系统的参与者。此系统设计时,创建了两个参与者,分别是系统管理员和一般浏览者(用户)。1.系统管理员(Administrator)在新闻中心管理系统中,需要一个专门的管理人员对网站进行日常的管理。其主要功能是对后台数据库进行增、删、改的操作。2.一般浏览者(User)在本系统中,客户端只为客户提供浏览的功能,不需要其他特殊功能,所以对用户没有什么特殊要求。图2使用了用例图的方式表现了整个系统的所有功能:图2系统的用例图3.系统用例图分析(1)系统管理员管理新闻的用例图分析系统管理员可以添加新闻系统管理员可以删除新闻系统管理员可以修改新闻(2)用户浏览新闻的用例图分析用户浏览新闻标题用户浏览相关新闻内容用户浏览新闻分类3.3类图类图描述系统中类的静态结构。它不仅定义系统中的类,而且表示类之间的联系,如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联。51.类图的生成对于新闻的浏览者没有什么要求,也就是说用户可以是任何人,所以这里只考虑系统管理员。那么该系统中与参与者(Actor)相关的类图只有一个,即Admin类。Admin类是管理员类,该类包含两个属性,即管理员姓名(username)和管理员密码(passWord);三个操作,即输入信息(input)、设置用户名(setName)和设置密码(setPass)。除了与参与者相关的管理员类之外,在该系统中还涉及其他的类,如基本新闻信息的类(News)、新闻的增删改类(NewsAction)、实现增删改的类(NewsService)、管理员登录后台类(AdminiLoginAction)、连接数据库的类(SqlServer)。2.类之间的关系在系统中存在各类之间的关系如图3所示。图3系统类图管理员可以对多个新闻进行操作,所以Admin类和NewsService类应该是一对多的关系;一种类别的新闻只能对应一种新闻服务,所以NewsAction类和NewsService类是一对一的关系。63.4顺序图针对新闻中心管理系统的需求及用例,该系统的顺序图主要包括系统管理员添加新闻顺序图、修改新闻顺序图、删除新闻顺序图和一般浏览者上网浏览新闻的顺序图。1.添加新闻顺序图管理员输入用户名和密码进行登录;登陆成功之后提交添加新闻的请求;添加新闻对象提示给登录者输入添加新闻列表;登录者输入要添加的的新闻内容;添加新闻对象将输入的内容分列表提交给数据库;数据库添加成功后返回给输入者(管理员)成功的信息。图4添加新闻顺序图2.删除新闻顺序图图5删除新闻顺序图73.5协作图1.添加新闻协作图系统管理员添加新闻的协作图如图6所示。图6添加新闻协作图2.删除新闻协作图系统管理员删除新闻的协作图如图7所示。图7删除新闻协作图3.普通用户浏览新闻协作图一般用户上网浏览新闻的协作图如图8所示。8图8用户浏览新闻协作图3.6状态图1.添加新闻状态图图9添加新闻状态图2.修改新闻状态图图10修改新闻状态图93.7活动图1.前台信息浏览活动图图11前台信息浏览活动图2.后台管理活动图图12后台管理活动图3.8生成Java代码利用StarUML进行正向工程后,生成6个Java文件,生成的Java源代码完全符合Java的语法原则,并且结构清晰。具体代码如下所示。1.Admin.java代码//10////GeneratedbyStarUML(tm)JavaAdd-In////@Project:UML大作业//@FileName:Admin.java//@Date:2013-12-21//@Author:古月////publicclassAdmin{privateStringuserName;privateStringpassWord;publicvoidinput(){}publicvoidsetName(Stringname){}publicvoidsetPass(Stringpass){}}2.AdminLoginAction.java代码//////GeneratedbyStarUML(tm)JavaAdd-In////@Project:UML大作业//@FileName:AdminLoginAction.java//@Date:2013-12-21//@Author:古月////publicclassAdminLoginAction{privateStringusername;privateStringpassWord;publicvoidaddNews(){}publicvoiddeleteNews(){}publicvoidupdateNews(){}publicvoidexecute(){}}3.News.java代码////11//GeneratedbyStarUML(tm)JavaAdd-In////@Project:UML大作业//@FileName:News.java//@Date:2013-12-21//@Author:古月////publicclassNews{privateintid;privateStringtitle;privateStringcontent;privateStringauthor;publicDatetime;privateStringkeyWords;privateStringtype;publicvoidgetNid(){}publicvoidsetNid(intid){}publicvoidsetTitle(Stringtitle){}publicvoidgetTitle(){}publicvoidsetContent(Stringcontent){}publicvoidgetContent(){}publicvoidsetAuthor(Stringauthor){}publicvoidgetAuthor(){}publicvoidsetTime(Datetime){}publicvoidgetTime(){}publicvoidsetKeyword(Stringpass){}publicvoidgetKeyword(){}publicvoidsetType(Stringtype){}publicvoidgetType(){}12publicvoidshowNews(){}publicvoidlinkNews(){}}4.NewsAction.java代码//////GeneratedbyStarUML(tm)JavaAdd-In////@Project:UML大作业//@FileName:NewsAction.java//@Date:2013-12-21//@Author:古月////publicclassNewsAction{publicvoiddeleteNews(){}publicvoidgetSysTime(){}publicvoidaddNews(){}publicvoidgetNtime(){}publicvoidupdateTime(){}publicvoidgetNews(){}publicvoidgetAllNews(){}publicvoidcheckUp(){}}5.NewsService.java代码//////GeneratedbyStarUML(tm)JavaAdd-In////@Project:UML大作业//@FileName:NewsService.java//@Date:2013-12-21//@Author:古月//13//publicclassNewsService{publicvoidcheckUp(){}publicvoidgetNews(){}publicvoidgetDetailedNews(){}publicvoidaddNews(){}publicvoiddeleteNews(){}publicvoidupdateNews(){}publicvoidgetAllNews(){}}6.SqlServer.java代码//////GeneratedbyStarUML(tm)JavaAdd-In////@Project:UML大作业//@FileName:SqlServer.java//@Date:2013-12-21//@Author:古月////publicclassSqlServer{privateLoggerlog;publicvoidSqlServer(){}publicvoiddisplayDelconn(){}publicvoiddisplayAddConn(){}publicvoiddisplayUpdateConn(){}publicvoidconnSucess(){}}144.结束语在这个信息化时代,我们可以在各行各业利用软件进行有效的管理,本新闻中心管理系统采用模块化开发,基于UML采用面向对象的分析与设计方法进行分布式管理系统的分析与建模,可以加快开发进程,提高系统质量,支持动态的业务需求。从实际效果来看,UML可以保证软件开发的稳定性、鲁棒性,在实际应用中取得了良好的效果。5.致谢:感谢徐老师的仔细讲解与悉心指导!6.参考文献[1]芦苇,杨少波.J2EE项目实训—UML及设计模式.北京:清华大学出版社,2008.[2
本文标题:基于UML的新闻中心管理系统设计
链接地址:https://www.777doc.com/doc-4405790 .html