ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:265.63KB ,
资源ID:11916100      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11916100.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《软件体系结构》课程报告.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

《软件体系结构》课程报告.docx

1、软件体系结构课程报告武汉工商学院学生姓名: 刘伟 学 号: 14404036 班 级: 14数据处理实验班 指导教师: 喻晓 2017年 4月 27日1. 软件体系结构设计与应用概述 11.1 软件体系结构设计与应用现状 11.2本系统使用的技术概述 12. 软件体系结构分析 22.1 软件体系结构风格 22.2 “4+1”视图角度分析系统 32.3 用例图 42.4 类图 52.5 构件图 82.6 从技术角度分析实现的功能 92.7 从系统角度分析实现的功能 93. 系统测试 123.1登录注册测试 123.2 后台管理测试 133.3 前台用户操作测试 16总结 18参考文献 191.

2、软件体系结构设计与应用概述1.1 软件体系结构设计与应用现状体系结构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。 比较上述各种体系结构的定义,可以发现,尽管各种定义都从不同的角度关注软件体系结构,研究对象各有侧重,但其核心内容都是软件系统的结构。并且都涵盖了一些实体:构件、构件之间的交互关系、构件和连接件构成的拓扑结构、设计原理与指导方针。同时,这些实体应该满足一定的限制,遵循一定的设计规则,能够在一定的环境下进行演化。以这些实体为基础,软件休系结构能够从一个较高的层次上反映组成系统的构件、构件之间的交互,以及构件与构件交互所

3、形成的拓扑结构。而且,软件体系结构应能为体系系统开发中的重要设计决策,提供不同角度的视图,便于不同角色人员之间的交流。软件在进化过程中,对系统的需求会不断发生变化,对于常用的软件体系结构,往往需同步对系统构架进行修改;而正交软件体系结构中,由于线索的正交性,每一个需求变动仅影响某一条线索,而不会涉及到其他线索。这样,就把软件需求的变动局部化了,产生的影响也被限制在一定范围内,因此具有易于构建、便于开发与维护等优势。主要体现在: (l) 结构清晰、易于理解。正交软件体系结构的形式有利于理解。线索功能相互独立,不进行互相调用,结构简单、清晰。构件在结构图中的位置显示了它所实现的抽象级别和功能。 (

4、2) 易修改、可维护性强。线索之间的相互独立性使得对一个线索的修改不会影响到其他线索。因此,当软件需求发生变化时,可以将新需求分解为独立的自需求,然后以线索和其中的构件为主要对象分别对各自需求进行处理,便于软件维护。 (3) 可移植性强,正交结构可以为一个领域内的所有应用程序所共享,这些软件有着相同或类似的层次和线索,可以实现体系结构级的重用。 (4) 结构容易调整。系统功能的增加或减少,只需相应的增删线索组件族,而不影响整个正交体系结构,因此能方便的实现结构调整软件技术概述。1.2本系统使用的技术概述(1)MySQLMySQL数据库管理系统是用于关联数据库并将数据保存到所创建的表中,在本次设

5、计中涉及到数据的存储过程,所以必须要有数据库管理系统来进行管理。目前来说MySQL一般比价适用于中小型企业的,如果数据规模非常庞大一般会选择Oracle数据库管理系统进行开发。本次设计数据非常有限所以选择MySQL,除此之外他还有便于学习,成本低,开源等特点。(2)WEB服务器TomcatTomcat是Apache底下的一个项目,它拥有免费、开放源码的特点因此Tomcat成为许多程序开发、调试时所选择的服务器,在本次设计过程中主要使用它来进行程序的调试。1同时在本次设计中需要用到JSP和Servlet技术,Tomcat对于这些技术也是兼容的,因此它成为了我对服务器选择的首选。在本系统中我们选用

6、稳定版本Tomcat6.0进行开发(3)JAVA/JDBC语言编程JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。2用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。(4)动态服务器页面ASPASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。(5)MyEclipse是目前最流行的Java集成开发工具。MyEclipse一经出现就以其快速、丰富的特性赢得了认可,其主要的属性有快速的性能、重

7、构性能、快速修复错误、调整组织导入包、弹出窗口进行代码自动装配并且它能够很好地与MySQL、Tomcat进行集成。32系统测试环境a 被测试软件系统的名称新闻发布系统b 系统任务提出者喻晓老师c 系统开发者14数据处理实验班刘伟d 测试环境:JDK1.7 Tomcat7 MyEclipse10 MySQL5.52. 软件体系结构分析2.1 软件体系结构风格本系统采用的是浏览/服务器风格即B/S体系结构。主要是利用WWW浏览器技术,结合浏览器的多种脚本语言,用通过浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。B/S体系结构的风格特点:优点:B/S结构的”零客户端“方式

8、,使组织的供应商和客户的计算机方便地成为管理信息系统的客户端,进而在限定的功能范围内查询组织相关信息,完成与组织的各种业务往来的数据交换和处理工作,扩大了组织计算机应用系统的功能覆盖范围,可以更加充分利用网络上的各种资源,同时应用程序维护的工作量也大大减少。缺点:B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;B/S体系结构的系统扩展能力差,安全性难以控制;采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远低于C/S体系结构;B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理。2.2 “4+1”视图角度分析系统4+1”模型新闻发布

9、系统分析与设计系统分析。Kruchten在1995年提出了“4+1”的视图模型。4“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。(1) 逻辑视图逻辑视图(logic view)主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。本系统根据功能需求进行初步设计,进行大粒度的职责划分和逻辑视图设计如下。应用层:负责设备状态的显示,提供模拟控制台供用户发送调试命令表示层:使用通讯层和嵌入

10、层进行交互会话层:负责在RS232协议之上实现一套专用的“应用协议”逻辑层:当应用层发送来包含调试指令的协议包时,由通讯层负责按RS232协议将之传递给嵌入层持久连通层:当嵌入层发送来原始数据时,由通讯层将之解释成应用协议包发送给应用层数据库层:嵌入层负责对调试设备的具体控制,以及高频度地从数据采集器读取设备状态数据,设备控制指令的物理规格被封装在嵌入层内部,读取数据采集器的具体细节也被封装在嵌入层内部(2)开发视图开发视图(development view)也称模块视图(module view),主要侧重于软件模块的组织和管理。本软件可以通过程序库或子系统进行组织,这样,对于本软件系统,就可

11、以由不同的人进行开发。开发视图考虑了软件内部的需求,软件开发的容易性、软件的重用和软件的通用性,充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。我们确定了软件包含的所有元素之后描述完整的开发角度,在确定每个元素之前,列出开发试图原则。(3)进程视图进程视图(process view)侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。对于本系统而言,应用层中的线程代表主程序的运行,它直接利用了MFC的主窗口线程。5无论是用户交互

12、,还是串口的数据到达,均采取异步事件的方式处理,杜绝了任何忙等待无谓的耗时,也缩短了系统响应时间。 通讯层有独立的线程控制着上上下下的数据,并设置了数据缓冲区,使数据的接收和数据的处理相对独立,从而数据接收不会因暂时的处理忙碌而停滞,增加了系统吞吐量。 (4)物理视图物理视图(physical view)主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。6当软件运行于不同的节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,本软件从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小。大型系统的物

13、理视图可能会变得十分混乱,因此可以与进程视图的映射一道,以多种形式出现,也可单独出现。(5)场景场景(scenarios)可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。7在开发体系结构时,本系统场景可以帮助设计者找到体系结构的构件和它们之间的作用关系。2.3 用例图系统每个用例分析(共13个用例):Login(登录系统):管理员与会员可以通过登录该系统进行各项功能的操作。Register(注册):可以申请成为该新闻的会员。Member(会员管理):包括对会员的增加、删除、改变等。Manage(管理员):可以对各板块版主的职务划定以及增、删、改

14、等。Maintain(BBS维护):对整个新闻系统功能、服务器稳定进行维护。Message(管理新闻):包括新闻的增加、删除等。Top message(置顶新闻):将某些的帖子置顶。post message(发表新闻):发表自己个性的贴子。reply message(回复新闻):回复别人。Personal(个人信息):查处和修改个人信息。Look(查看新闻):如果你是以会员身份进入该新闻系统,可以查看自己和其他会员发的帖子;如果你是以游客身份进入该新闻系统,查看会员发表的新闻。Comment(评论):对新闻进行回复,发表自己 的观点和看法。图2-1 用例图2.4 类图类图我建了两个文件,分别是

15、actor类图和others类图。两个类图里分别建了不同的类图,其作用下面我会做详细介绍。(1)actor类图actor类图里面装的是系统参与者相关的类,系统中参与者有4个,分别是系统管理员、会员和游客。其中把游客、会员归为使用者,系统管理员归为管理者,所以该系统中和参与者相关的类的类图如下图所示:图2- actor类图bbsuser类是游客、会员的总称,包含的属性有用户编号(userid)、用户姓名(username)、用户密码(userpassword)、用户性别(usersex)、用户籍贯(comefrom)、用户注册时间(dateandtime)等。包含的方法有注册会员,设置用户名字、

16、性别、密码,改变密码等。bbsadmin类是系统管理员类,包括的属性有管理员ID、管理员账号(adminname)、管理员密码(adminpwd)。包含的方法有获得用户的名字,用户的密码等。(2)others类图others类图里面装的是系统中其他的类,这里面基本是后台业务管理模块中的类,一共有4个,分别是论坛中发表的帖子类、设置分员显示的类、板块信息的类和数据库连接相关的类。类不是单独存在的,各个类之间的存在着一定得联系。该BBS论坛系统中其他类之间的关系类图如下图所示: 图2-3 others类图bbs类表示发表的新闻类。此类的属性有新闻编号(bbsid)、板块编号(boardid)、父贴

17、编号(parentid)、跟帖数(child)、发表人姓名(username)、发表人E-mail(usermail)、发表人IP地址(userip)、发表人表情(expression0、签名(usersign0、文章的主题(bbstopic)。包含的方法有增加、删除、更改帖子等操作。bbscom类是设置分页显示的类。属性包括分页数(pagesCurrent)、下一页(pagesNext)、最后一页(pagesLast)。该类的功能主要是分页显示得到的数据列表。包含的方法有向上、向下翻页,设置页码等。bbsboard类表示板块信息的类。它的属性主要有板块编号(boardid)、板块名称(boa

18、rdname)包含的方法有检查版主信息,删除、排列板块等。bbsreg类是跟数据库连接相关的类。属性有jdbc驱动(sDBDriver)、连接(conn)、结果集(rs)。该类是专门为数据库设计的,其中有一个执行SQL”executeQuery()”的方法。(3) 系统对象类图对象类图是表示在某一时刻类图中的具体实例以及这些实例的连接关系,UML中对象图与类图具有相同的表示形式,主要区别于是对象的名字下面要加上一条下划线。8对象图我没有做详细介绍,就画了一个。如下图所示:图2-4 对象类图2.5 构件图构件图描述了各种构件和它们之间的结构关系。进行系统开发时,构件图是各小组间有用的交流工具,它

19、可以呈现给关键项目发起人及实现人员。9本系统我用了4个参与者,我根据参与者,创建了几个构件。如下图所示:图2-5 构件图2.6 从技术角度分析实现的功能表2-1 功能概要表序号功能内容功能名函数名备注1. 用户登录到系统登录Login用户的登录2. 用户从系统退出退出Login用户的退出3. 用户浏览一条新闻浏览新闻BrowseNews用户浏览新闻4. 用户评论一条新闻评论新闻CriticismNews用户浏览新闻5. 游客注册一个新用户注册Register游客去注册新用户6. 游客浏览一条新闻浏览新闻BrowseNews游客浏览新闻7. 管理员修改新闻分类修改新闻分类ModifyNewsCa

20、tegory修改新闻分类8. 管理员删除新闻分类删除新闻分类DeleteNewsCategory删除新闻分类9. 管理员对评论进行审核评论审核CriticismAuditing审核评论2.7 从系统角度分析实现的功能系统结构图是用树形结构的一系列多层次的矩形框来描绘系统的层次结构。10树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个模块的子集,最底层的各个框代表组成这个系统的独立功能模块。本系统的总体结构图如图2-6所示:图2-6 系统功能模块图新闻类别管理主要管理新闻的分类,新闻发布具体实现了该系统的主要功能,新闻的发布管理,删除等操作。新闻发布过程中有时候需

21、要用到图片,在新闻管理模块中的添加新闻里面会有图片的上传功能,这样丰富了新闻的多样性,不止是单一的文字说明了,同时有图片显示。当用户登陆了系统可以通过查询新闻来查找自己想要找到的新闻内容。网友还可以对看的新闻进行评论,在此特地做了一个评论模块管理。系统用户管理则主要是对用户的管理,主要进行添加,修改,删除用户等。新闻发布管理系统里有这样几个部分:如果是普通用户只有新闻浏览、新闻阅读、填写评论和新闻查询的权限,通过用户的登陆判断出用户的权限,然后分配给你所拥有的功能;如果是管理员就除了上述权限外还有新闻管理权限,分别为新闻录入、新闻修改和新闻删除的权限。新闻类别管理通过后台系统管理,提供各种数据

22、,以实现新闻类别的添加以及修改和删除。本系统是使用数据库服务器支持后台的正常流畅的运行,在数据库的管理下进行新闻类别的管理。前台系统就可以通过查阅新闻看到修改过后的新闻类别。在新闻浏览中有个重要的目前很流行的模块,就是网友评论,浏览新闻的同时可以对新闻做出评论,如果是没有登陆的情况则显示匿名留言。这样就组成了新闻发布及管理系统的功能模块关系如图2-7所示:数据库介于前台后台之间,通过数据库跟新数据,以实现前台和后台数据保持一致。图2-7 新闻发布及功能在本系统中,用户管理模块的功能比较简单。在系统初始化时,有一个默认的“系统管理员”用户Admin。Admin用户可以创建用户、修改和删除用户;普

23、通用户则只能修改自己的用户名和密码。所示:admin 通过登陆系统进行用户密码的修改,还可以创建新的用户。这里的管理员的权限设置比较齐全。如果是普通用户登陆的,只能修改自己的一些基本信息,包括自己的密码,个人信息。当所有的东西修改完成之后就可以保存到数据库里面,这信息就得到了修改。服务器里面得到了更新。在admin 和普通用户登陆过程中都有登陆的信息确认过程,确认密码是否与原服务器上的一致,只有一致的时候才能登陆成功。否则失败。当修改信息的时候也会有这样的确认过程,确保信息的正确性有效性。这里是通过连接access数据库,用户的所有信息都存放在数据库的用户表里面,更新的信息也通过点击实现与数据

24、库的交互,直接修改数据库里面相关表的内容。这里的管理员跟普通用户的实现原理基本上是一样的。都是通过连接数据库进行修改。数据库占了很重要的地位。大部分关键内容都保存在数据库里面。方便修改和维护。图2-8 用户管理功能模块3. 系统测试3.1登录注册测试新闻发布系统有两种用户:会员用户(包含游客)和管理员,分别有不同的权限,但都是从同一界面登陆,此系统首页采用DIV+CSS框架,使得页面看起来美观舒适。能自动获取系统当前时间,展示新闻列表内容和广告等信息。用户只要在浏览器地址栏输入改项目的地址,即可访问该系统的相关信息;需要说明的是:因为该系统并未真正发布成正规的网站,只是将项目部署到了Tomca

25、t服务器上面;图3-1 登录界面图3-2 注册界面本系统是一套实时,多类型管理的新闻发布系统,管理为超级管理员,他可以对系统的所有管理信息进行管理: 管理员登录界面如3-3所示:图3-3 后台登陆界面3.2 后台管理测试成功登录后,进入新闻发布系统后台管理页面,可添加管理员如图5-3所示:图3-4 添加管理员界面成功添加管理员后,可查看每个管理员的信息和用户的信息如图5-5与5-6所示:图3-5 管理员信息界面图3-6 用户信息界面管理员可对新闻进行添加与删除操作如图5-7所示:图3-7 管理员对新闻操作界面3.3 前台用户操作测试首页由一级标题,二级标题组成,并提供最新新闻和热点新闻,如图3

26、-8所示:图3-8 首页界面当用户浏览新闻时页面会显示标题,发布时间,作者以及点击量等相关信息,如图5-9所示:图3-9 新闻浏览界面当用户浏览完新闻后可对新闻进行评论,评论随即会显示在新闻下方如图5-10所示:图3-10 新闻浏览界面总结经过了一个多月的学习,深入理解软件需求分类的复杂性,明确区分功能需求、约束、运行期质量属性、开发期质量属性等不同种类的需求,因为各类需求对架构设计的影响截然不同。本文通过具体案例的分析,展示了如何通过4+1视图方法,针对不同需求进行架构设计,从而确保重要的需求一一被满足。本文通过比较系统地描述新闻发布系统的用例图的一步步操作完成过程和相关的用户时序图以及更加

27、深入的“4+1”视图中的逻辑视图、开发视图、进程视图、物理视图和场景视图的绘制描述,并对涉及到的软件架构模式进行了简单明了的解释说明,直接深入地描述展示了软件需求开发过程中包括非功能和功能方面的各种需要要求,展示说明了软件体系结构设计在软件开发和程序设计中的重要地位。最后,特别感谢老师对我们的谆谆教诲,使我们理解了计算机科学与技术这门学科在我们今后的工作学习中的重要作用,并使我们掌握了计算机这件有力武器,使我们在今后的工作实践中能更轻松的完成任务。再次深深感谢老师!参考文献1 严蔚敏,吴伟民.数据结构(C语言版)M.北京:清华大学出版社,20122 林小玲.数据库原理及应用M. 北京:机械工业

28、出版社,20153 苗雪兰,刘瑞新,宋会群.数据库系统原理及应用教程(第2版)M.北京:机械工业出版社,20164 郑炜.朱怡安.软件工程M.西安:西北工业大学出版社,20125 罗超理,李万红.管理信息系统原理与应用M.清华大学出版社,20136 艾德才.计算机信息管理基础M.中国水利水电出版社,20157 萨师煊,王珊.数据库系统概论M.高等教育出版社,20148 东方人华,仝丽娟.PowerBuilder 8.0 入门与提高M.清华大学出版社,20149 王志勇,阮坚,王鹏.用PowerBuilder开发小型数据库M.人民邮电出版社,201310 周刚,赵永军,方小伟.PowerBuilder项目开发实践M.中国铁道出版社,2014.软件体系结构分析报告成绩评定成绩评定: 教师签字: 年 月 日

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2