资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,11,章 新闻中心管理系统,第1页,本章导读,为了能够愈加快速地向客户传递相关企业新闻以及相关行业中最新发展现实状况,方便于引导客户选择企业相关产品和服务,普通在商务系统开发中都会设置对应新闻中心模块。新闻中心模块能够提供最新资讯,UML作为一个强大图形化建模语言,在其开发过程中能够充分表达它强大和灵活。,第2页,11.1 系统需求说明,UML在需求中作用,新闻中心管理系统UML开发过程,第3页,11.1.1 新闻中心管理系统需求分析,1.系统功效需求,新闻中心管理系统主要是为了实现企业商务网站实时动态新闻显示及管理系统。,一个经典新闻中心管理系统普通都需要提供良好维护页面,即中心管理人员能够借助后台维护管理页面实现对新闻内同实施更新维护。从其前台功效上来看需要包含新闻标题分类显示(热点新闻和行内新闻)、新闻详细内容显示等。同时也应该为新闻中心后台管理管理员提供对应新闻信息维护及管理功效,其中包含添加新新闻,编辑修改新闻、删除新闻等功效。,第4页,11.1.1 新闻中心管理系统需求分析,(1)新闻标题信息分类显示,打开新闻中心主页,页面上应该能够依据数据库中存放信息分类显示最新新闻标题。因为本系统新闻类型分为两类,一类是热点新闻,另一类是行业新闻。比如,在热点新闻中和行业新闻中都显示最新标题信息。每个新闻标题都有对应超链接,方便用户查看新闻内容,用户单击这个新闻标题后,就能够跳转到相关该新闻详细内容页面上,让用户对这个新闻有愈加详细了解。,第5页,11.1.1 新闻中心管理系统需求分析,(,2,)新闻详细内容及相关新闻列表显示,用户单击感兴趣新闻标题后,应该能够查看到该新闻详细内容,而且同时提供与该新闻相关新闻标题信息显示,方便于用户查询与该新闻相关其它信息。,(,3,)新闻中心后台管理功效,新闻中心管理员能够依据企业需求随时对后台数据库进行增、删、改等功效,比如,管理员能够在数据库中添加最新新闻标题及相关内容,还能够随时删除一些过时新闻标题及内容,以及对一些原有新闻做必要修改。,第6页,11.1.1 新闻中心管理系统需求分析,如11.1显示了该系统功效,它包含两大模块,分别是:信息浏览模块和后台管理模块。,其中,信息浏览模块主要完成新闻分类标题显示,能够让用户一目了然,快速浏览自己感兴趣新闻标题,而且能够查看详细新闻内容。后台管理模块主要完成新闻内容添加、修改、删除功效。,第7页,11.1.1 新闻中心管理系统需求分析,图,11.1,系统功效模块,第8页,11.1.1 新闻中心管理系统需求分析,2.,信息浏览模块,信息浏览模块主要包含了新闻分类显示、详细新闻内容显示以及相关新闻列表显示,如图,11.2,所表示。,第9页,11.1.1 新闻中心管理系统需求分析,(1)新闻标题分类显示,该模块实现了新闻标题内容分类显示,比如,将全部新闻分为热点新闻和行业新闻等类别,在新闻中心主页分类显示出最近新闻各个标题,方便于用户选择感兴趣新闻进行详细内容阅读。,(2)详细新闻内容显示,依据用户所选择新闻标题显示对应新闻详细内容。,相关新闻列表显示,相关新闻列表显示负责在详细新闻内容显示同时提供其它新闻标题列表显示功效。,第10页,11.1.1 新闻中心管理系统需求分析,3.后台管理模块,后台管理模块包含新闻添加、修改和删除,即新闻增、删、改功效,如图11.3所表示。,图,11.3,后台管理模块,第11页,11.1.1 新闻中心管理系统需求分析,(,1,)添加新闻,添加新闻模块主要负责将新新闻添加到新闻中心。,(,2,)修改新闻,修改新闻主要负责对现有新闻进行修改。,(,3,)删除新闻,删除新闻负责删除新闻中心相对过时新闻。,第12页,11.1.2 UML对系统需求分析支持,UML,作为一个强大图形化建模语言,是理想需求描述和建模分析工具。,(,1,)提供有力工具和灵活机制,为控制需求提供强有力伎俩。,UML,用例视图能够表示客户需求。经过用例建模能够对外部角色以及它们所需要系统功效建模。角色和用例是经过它们之间关系、通信来建立模型。每个用例都指定了客户需求:需要系统干什么。活动图能够清楚地表示业务详细操作过程。总之,,UML,提供了形象图形模型工具,轻易使用户和领域教授参加到需求分析整个过程中来,使需求分析愈加充分。另外,,UML,是基于面向对象思想机制而产生和发展起来,在对需求改变方面有很好弹性,它封装机制使开发人员能够把最稳定部分,即对象作为构筑系统基本单位,而把轻易发生改变部分,即属性和服务,封装在对象之内,对象之间经过接口联络,使需求改变影响尽可能限制在对象内部。,第13页,11.1.2 UML对系统需求分析支持,(,2,)提供统一平台,处理人员交流、通信障碍问题,信息系统开发是一项创造性思维活动,在系统开发过程中人员交流十分频繁。系统开发项目标相关人员包含用户、领域教授、系统分析员、系统设计员、程序员、测试员、项目管理员等,需要经常交流,探讨系统需求,明确系统成份定义,协商系统结构与衔接,进行工作交接。在上述事物中,通信障碍已经成为人员交流中一个问题。比如,用户、领域教授或项目管理员看不懂、不明白系统开发人员表示问题概念、术语、表示法,反之亦然。所以,需要有一套通用思维方法和便于交流“语言”,包含系统模型、术语、表示法、文档书写格式等,为人员之间交流架设一座桥梁。,UML,只定义了一些视图,它思想与方法无关。人们能够采取各种方法使用,UML,,而不论方法怎样改变,他们基础都足,UML,图,这也是,UML,最终用途,为不一样领域人们提供统一交流标准。不论分析、设计和开发人员采取何种不一样方法或过程,他们递交设计产品都是用,UML,来描述,这有利于促进相互了解。所以说,UML,能够成为人员之间交流一座桥梁,能够处理通信障碍问题。,第14页,11.1.3 利用UML模型结构软件体系结构,大型系统总是被分解成一些子系统,这些子系统提供一些相关服务。初始设计过程任务是要识别出这些子系统并建立起子系统控制和通信框架,这个过程叫做体系结构设计,其输出是软件体系结构描述。,伴随软件系统复杂度和规模增加,整个系统结构说明和设计显得更为主要。软件体系结构在较高层次将系统定义为一组交互组件和连接,包含系统各组件组织,全局控制结构,通信协议,设计元素功效,物理分布等。体系结构设计过程主要关心是为系统建立一个基本构架,识别出系统主要组件以及这些组件之问通信。,UML,定义了一组丰富模型元素以建模组件、接口、关系和约束。,对于每种体系结构结构,在,UML,中都能够找到对应元素与之对应。所以能够把,UML,看作一个体系结构建模语言。,第15页,11.2 系统用例图,用例图是从用户角度描述系统功效,是用户所能观察到系统功效模型图,用例是系统中一个功效单元。用例图作为参加者外部用户所能观察系统功效模型图,在需求分析阶段起着主要作用,整个开发过程都是围绕需求阶段用例进行。,创建用例图之前需要确定系统参加者。只需要了解使用该系统主要功效?谁需要该系统支持以完成其工作?谁将需要安装、维护、管理该系统,以及保持该系统处于工作状态?这些问题明确了,参加者也就确定了。,第16页,11.2 系统用例图,(,1,)系统管理员,在新闻中心管理系统中,需要一个专门管理人员对网站进行日常管理。其主要功效就是对后台数据库进行增、删、改功效。,(,2,)普通浏览者(用户),在新闻中心管理系统中,客户端只提供给上网客户浏览功效,不需要其它特殊功效,所以对用户没有什么特殊要求。,在本系统(,News center management system,),UML,建模中,能够创建两个参加者:,Administrator,(管理员)和,User,(普通用户),如图,11.4,所表示。,第17页,11.2 系统用例图,图,11.4,系统参加者,第18页,11.2 系统用例图,有了系统参加者,就可认为本系统创建用例,根据系统需求分析,系统对新闻具有增加、删除、修改、查询功能,创建用例如图11.5所示。,图,11.5,创建系统用例,第19页,11.2 系统用例图,系统管理员新闻管理用例图,系统管理员管理新闻用例图如图,11.6,所表示。,图,11.6,系统管理员管理新闻用例图,第20页,11.2 系统用例图,系统管理员管理新闻用例图分析:,系统管理员能够添加新闻,系统管理员能够删除新闻,系统管理员能够修改新闻,第21页,11.2 系统用例图,浏览者浏览新闻用例图,浏览者浏览新闻用例图如图,11.7,所表示。,图,11.7,用户浏览新闻用例图,第22页,11.2 系统用例图,浏览者浏览新闻用例图分析:,浏览者浏览新闻标题,浏览者浏览相关新闻内容,浏览者浏览新闻分类,第23页,11.2 系统用例图,系统用例图,将管理员新闻管理和普通用户浏览新闻用例图放在一起,得到系统总用例图,如图11.8所表示。,图,11.8,系统用例图,第24页,11.3 系统中类图,类图描述系统中类静态结构。不但定义系统中类,表示类之间联络如关联、依赖、聚合等,也包含类内部结构(类属性和操作)。类图是以类为中心来组织,类图中其它元素或属于某个类或与类相关联。,第25页,11.3 系统中类图,图11.9 Admin类图,1.类图生成,对于新闻浏览者来没有什么要求,也就是说能够是任何人,所以这里只考虑系统管理员。那么该新闻中心管理系统中与参加者(Actor)相关类图只有一个即Admin类。Admin类是管理员类,该类中包含了两个属性(管理员姓名(userName)和管理员密码(passWord))和三个操作(输入信息(input)、设置用户名(setName)和设置密码(setPass)。,第26页,11.3 系统中类图,图,11.9 Admin,类图,第27页,11.3 系统中类图,Admin类图如图11.9所表示。,除了与参加者相关管理员类以外,在该系统中还包括到了其它类,比如基本新闻信息类(News)、新闻增删改类(NewsAction)、实现增删改类(NewsService)、管理员登录后台类(AdminLoginAction)、连接数据库类(SqlServer)。,第28页,11.3 系统中类图,News,类,表示基本新闻信息类,包含属性有新闻编号(,id,)、新闻标题(,title,)、新闻内容(,content,)、新闻公布者(,author,)、新闻公布时间(,time,)、新闻关键字(,keyWords,)、新闻类别(,type,)。,News,类类图如图,11.10,所表示。,图,11.10 News,类,第29页,11.3 系统中类图,NewsAction,类,表示新闻增、删、改操作类,主要提供了业务逻辑方法。,NewsAction,类类图如图,11.11,所表示。,图,11.11 NewsAction,类,第30页,11.3 系统中类图,NewsService,类,表示实现增、删、改类,同时提供了前台取得新闻列表方法,该类执行详细业务逻辑。,NewsService,类类图如图,11.12,所表示。,图,11.12 NewsService,类,第31页,11.3 系统中类图,AdminLoginAction,类,表示管理员登录后台系统时类,包含属性登录用户名,(username),、登录密码,(password),和,session,。,AdminLoginAction,类类图如图,11.13,所表示。,图,11.13 AdminLoginAction,类,第32页,11.3 系统中类图,SqlServer,类,表示连接数据库类,包含一个日志属性。,SqlServer,类类图如图,11.14,所表示。,图,11.14 SqlServer,类,第33页,11.3 系统中类图,(,2,)类之间关系,在系统中存在各类之间关系图如图,11.15,所表示。,第34页,11.3 系统中类图,图,11.15,类之间关系,第35页,11.3 系统中类图,管理员能够对多个新闻进行操作,所以,Admin,和,NewsService,之间应该是一对多关系;一个类别新闻只能对应一个新闻服务,所以,NewsAction,和,NewsService,之间是一对一关系。,第36页,11.4 系统次序图,针对新闻中心管理系统需求及用例,该系统次序图主要包含以下四部分:,系统管理员添加新闻次序图,系统管理员修改新闻次序图,系统管理员删除新闻次序图,普通浏览者上网浏览新闻次序图,第37页,11.4 系统次序图,(,1,)添加新闻次序图,在系统管理员添加新闻时,次序图中包括到三个对象,即登录、添加新闻和数据库模块。详细场景是:,管理员输入用户名和密码进行登录;,登录成功后提交添加新闻请求;,添加新闻对象提醒给登录者输入添加新闻列表;,登录者输入要添加新闻内容;,添加新闻对象会将输入内容列表进行提交给数据库;,数据库添加成功后会返回给输入者(管理员)成功信息。,第38页,11.4 系统次序图,添加新闻次序图如图,11.16,所表示。,注意,在图中对象前显示“,admin”,和“,user”,是创建包名。,图,11.16,添加新闻次序图,第39页,11.4 系统次序图,(,2,)删除新闻次序图,系统管理员删除新闻次序图如图,11.17,所表示。,图,11.17,删除新闻次序图,第40页,11.4 系统次序图,(,3,)修改新闻次序图,在系统管理员修改新闻时,与添加新闻类似,次序图中包括到三个对象,即登录、修改新闻和数据库模块。详细场景与添加新闻类似,不在赘述。,系统管理员修改新闻次序图如图,11.18,所表示。,第41页,11.4 系统次序图,图,11.18,修改新闻次序图,第42页,11.4 系统次序图,(,4,)普通用户浏览新闻次序图,普通用户上网浏览新闻次序图如图,11.19,所表示。,图,11.19,普通用户上网浏览新闻次序图,第43页,11.5 系统协作图,UML,提供两类交互图:次序图和协作图。它们实现一个用例或用例中一个特殊场景。协作图描述对象间协作关系,协作图与次序图相同,显示对象间动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间关系。,依据,11.4,中给出次序图,在本节中给出对应协作图。,第44页,11.5 系统协作图,(,1,)添加新闻协作图,系统管理员添加新闻协作图如图,11.20,示。,图,11.20,添加新闻协作图,第45页,11.5 系统协作图,(,2,)删除新闻协作图,系统管理员删除新闻协作图如图,11.21,所表示。,图,11.21,删除新闻协作图,第46页,11.5 系统协作图,(,3,)修改新闻协作图,系统管理员修改新闻协作图如图,11.22,所表示。,图,11.22,修改新闻协作图,第47页,11.5 系统协作图,(,4,)普通用户浏览新闻协作图,普通用户上网浏览新闻协作图如图,11.23,所表示。,图,11.23,普通用户上网浏览新闻协作图,第48页,11.6 系统状态图,状态图是一个类对象所可能经历全部历程模型图。状态图由对象各个状态和连接这些状态转换组成。,针对新闻管理系统需求分析,在系统后台管理中,主要有添加新闻,修改新闻以及删除新闻三种状态。依据,UML,状态图建模方法,本节主要介绍这三种状态图实现。,第49页,11.6 系统状态图,(,1,)添加新闻状态图,系统管理员在后台能够对新闻进行添加操作,添加新闻状态图如图,11.24,所表示。,图,11.24,添加新闻状态图,第50页,11.6 系统状态图,(,2,)修改新闻状态图,系统管理员修改新闻状态图如图,11.25,所表示。,图,11.25,修改新闻状态图,第51页,11.6 系统状态图,(,3,)删除新闻状态图,系统管理员删除新闻状态图如图,11.26,所表示。,图,11.26,删除新闻状态图,第52页,11.7 系统活动图,活动图是状态图一个变体,用来描述执行算法工作流程中包括活动。活动图描述了一组次序或并发活动。,在新闻中心管理系统中,活动有两个,一个是前台普通上网用户信息浏览,另一个是后台系统管理员对新闻信息管理。,第53页,11.7 系统活动图,(,1,)前台信息浏览活动图,普通用户对新闻中心进行浏览,前台信息浏览活动图如图,11.27,所表示。,图,11.27,新闻中心前台信息浏览活动图,第54页,11.7 系统活动图,(,2,)后台管理活动图,系统管理员对新闻中心后台进行增、删、改管理,后台管理活动图如图,11.28,所表示。,图,11.28,新闻中心后台管理活动图,第55页,11.8 系统配置和实现,新闻中心管理系统组件图如图11.29所表示。组成Web应用程序页面包含:前台浏览页面,后台维护页面,新闻添加页面,新闻修改页面,新闻删除页面,以及登录页面。,图,11.29,系统组件图,第56页,11.9 系统配置图,系统配置图如图,11.30,所表示。,图,11.30,系统配置图,第57页,11.10 生成Java代码,利用,StrUML,进行正向工程后,生成如图,11.31,所表示,6,个,Java,文件。,图,11.31,生成,Java,文件,第58页,11.10 生成Java代码,生成,Java,源代码完全符合,Java,语法规则,而且结构清楚。详细代码以下所表示:,(,1,),Admin.java,代码,第59页,11.10 生成Java代码,/,/,/Generated by StarUML(tm)Java Add-In,/,/Project:Untitled,/File Name:Admin.java,/Date:-3-20,/Author:,/,/,package Class;,/*/,public class Admin,/*/,private String userName;,/*/,private String passWord;,/*/,public void input(String news),/*/,public void setName(String name),/*/,public void setPass(String pass),第60页,11.10 生成Java代码,(,2,),AdminLoginAction.java,代码,/,/,/Generated by StarUML(tm)Java Add-In,/,/Project:Untitled,/File Name:AdminLoginAction.java,/Date:-3-20,/Author:,/,/,package Class;,/*/,public class AdminLoginAction,/*/,private String userName;,/*/,private String passWord;,/*/,public void addNews(),/*/,public void deleteNews(),/*/,public void updateNews(),/*/,public void execute(),第61页,11.10 生成Java代码,(,3,),News.java,代码,/,/,/Generated by StarUML(tm)Java Add-In,/,/Project:Untitled,/File Name:News.java,/Date:-3-20,/Author:,/,/,package Class;,/*/,public class News,/*/,private int id;,/*/,private String title;,/*/,private String content;,/*/,private String author;,/*/,public Date time;,/*/,private String keyWords;,第62页,11.10 生成Java代码,/*/,private String type;,/*/,public void getNid(),/*/,public void setNid(int id),/*/,public void setTitle(String title),/*/,public void getTitle(),/*/,public void setContent(String content),/*/,public void getContent(),/*/,第63页,11.10 生成Java代码,public void setAuthor(String author),/*/,public void getAuthor(),/*/,public void setTime(Date time),/*/,public void getTime(),/*/,public void setKeyword(String pass),/*/,public void getKeyword(),/*/,第64页,11.10 生成Java代码,public void setType(String type),/*/,public void getType(),/*/,public void showNews(),/*/,public void linkNews(),第65页,11.10 生成Java代码,(,4,),NewsAction.java,代码,/,/,/Generated by StarUML(tm)Java Add-In,/,/Project:Untitled,/File Name:NewsAction.java,/Date:-3-20,/Author:,/,/,package Class;,/*/,public class NewsAction,/*/,public void deletNews(),/*/,public void getSysTime(),/*/,第66页,11.10 生成Java代码,public void addNews(),/*/,public void getNTime(),/*/,public void updateTime(),/*/,public void getNews(),/*/,public void getAllNews(),/*/,public void checkUp(),第67页,11.10 生成Java代码,(,5,),NewsService.java,代码,/,/,/Generated by StarUML(tm)Java Add-In,/,/Project:Untitled,/File Name:NewsService.java,/Date:-3-20,/Author:,/,/,package Class;,/*/,public class NewsService,/*/,public void checkUp(),/*/,public void getNews(),/*/,第68页,11.10 生成Java代码,public void getDetailedNews(),/*/,public void addNews(),/*/,public void deleteNews(),/*/,public void updateNews(),/*/,public void getAllNews(),第69页,11.10 生成Java代码,(,6,),SqlServer.java,代码,/,/,/Generated by StarUML(tm)Java Add-In,/,/Project:Untitled,/File Name:SqlServer.java,/Date:-3-20,/Author:,/,/,package Class;,/*/,public class SqlServer,/*/,private Logger log;,/*/,public void SqlServer(),/*/,第70页,11.10 生成Java代码,public void displayDelConn(),/*/,public void displayAddConn(),/*/,public void displayUpdateConn(),/*/,public void connSuccess(),第71页,11.10 生成Java代码,对正向工程中生成Java文件进行编辑,实现生成类,主要是依据需要实现其方法,比如:Admin类中input()、setName(String)和setPass(String)方法。,第72页,11.11 逆向工程实现,将正向生成类进行实现后,按照环境提供逆向工程能够将类添加回所在项目中。转换主要过程如图,11.32,所表示。,图,11.32,逆向工程转换,第73页,11.11 逆向工程实现,转换后类图如图,11.33,所表示。,图,11.33,转换后类图,第74页,
展开阅读全文