基于UML的新闻中心管理系统的分析与设计
姓名:胡瑞
学号:13120244
班级:电信研1308班
基于UML的新闻中心管理系统分析与设计
1. 引言
为了能够更加迅速地向用户传递有关企业的新闻以及相关行业中的最新发展现状,以便于引导客户选择企业的相关产品和服务,一般,在商务系统开发中都会设置相应的新闻中心模块。新闻中心模块可以提供最新的资讯,UML作为一种强大的图形化建模语言,在其开发的过程中可以充分体现它的强大功能和灵活性。
2. 需求分析
2.1系统的功能需求
本系统主要是为了实现网站实时动态新闻的显示和管理系统。一个典型的新闻中心管理系统一般都需要提供良好的维护页面,这样中心管理人员就可以借助于后台维护管理的页面实现对新闻内容进行实时的更新维护,从其前台功能看,需要包括新闻标题分类的显示、新闻详细内容的显示等。同时,也应该为新闻中心后台管理的管理员提供对应的新闻信息维护及管理功能,其中包括新的新闻、编辑修改新闻、删除新闻等功能。
2.2功能模块的划分
本系统根据需求分析可以划分为两大模块,分别是信息浏览模块和后台管理模块。其中,信息浏览模块主要完成新闻标题的显示,能够让用户一目了然,迅速浏览自己感兴趣的新闻标题,并且能够查看新闻的详细内容。后台管理模块主要完成新闻内容的添加、修改和删除功能。
1. 信息浏览模块
(1) 新闻分类显示 (2) 新闻详细内容显示 (3) 相关新闻列表显示 2. 后台管理模块
(1) 添加新闻 (2) 修改新闻 (3) 删除新闻
其中图1为新闻中心管理系统的功能模块图
2
新闻中心管理模块信息浏览模块后台管理模详细新闻内容显示新闻分类显示相关新闻列表显示添加新闻修改新闻删除新闻 图1 新闻中心管理系统功能模块图
3. 系统的UML分析与建模
3.1 UML建模工具的选择
StarUML是一款开放源码的UML开发工具,StarUML遵守UML的语法规则,不支持违反语法的动作。StarUML的特色包括正反向工程,即StarUML可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。反向工程有两个主要用途,其一是旧有的源码反转成图之后,可以构建UML模型的方式继续将新的设计添加上去;另一项用途是想要解析源码时,可以通过反转的类图来理解,不再需要查看一行又一行的代码,这将节省大量的时间和精力。
3.2用例图
用例分析是基于UML的面向对象建模过程的一个显著的特点,在基于UML建模的过程中,用例处在一个核心的位置。系统分析要求接触用户,同时系统还要控制不同用户角色和权限。通过对用户进行分类并了解他们的需求,从而了解用户所需功能、安全性及用户界面分组的具体内容的需求。创建用例图之前需要创
3
建系统的参与者。此系统设计时,创建了两个参与者,分别是系统管理员和一般浏览者(用户)。
1. 系统管理员(Administrator)
在新闻中心管理系统中,需要一个专门的管理人员对网站进行日常的管理。其主要功能是对后台数据库进行增、删、改的操作。 2. 一般浏览者(User)
在本系统中,客户端只为客户提供浏览的功能,不需要其他特殊功能,所以对用户没有什么特殊要求。
图2使用了用例图的方式表现了整个系统的所有功能:
图2 系统的用例图
3. 系统用例图分析
(1) 系统管理员管理新闻的用例图分析
? 系统管理员可以添加新闻 ? 系统管理员可以删除新闻 ? 系统管理员可以修改新闻 (2) 用户浏览新闻的用例图分析
? 用户浏览新闻标题 ? 用户浏览相关新闻内容 ? 用户浏览新闻分类
3.3类图
类图描述系统中类的静态结构。它不仅定义系统中的类,而且表示类之间的联系,如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联。
4
1. 类图的生成
对于新闻的浏览者没有什么要求,也就是说用户可以是任何人,所以这里只考虑系统管理员。那么该系统中与参与者(Actor)相关的类图只有一个,即Admin类。Admin类是管理员类,该类包含两个属性,即管理员姓名(username)和管理员密码(passWord);三个操作,即输入信息(input)、设置用户名(setName)和设置密码(setPass)。
除了与参与者相关的管理员类之外,在该系统中还涉及其他的类,如基本新闻信息的类(News)、新闻的增删改类(NewsAction)、实现增删改的类(NewsService)、管理员登录后台类(AdminiLoginAction)、连接数据库的类(SqlServer)。
2. 类之间的关系
在系统中存在各类之间的关系如图3所示。
图3 系统类图
管理员可以对多个新闻进行操作,所以Admin类和NewsService类应该是一对多的关系;一种类别的新闻只能对应一种新闻服务,所以NewsAction类和NewsService类是一对一的关系。
5