2023年《软件体系结构》课程报告材料_第1页
2023年《软件体系结构》课程报告材料_第2页
2023年《软件体系结构》课程报告材料_第3页
2023年《软件体系结构》课程报告材料_第4页
2023年《软件体系结构》课程报告材料_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第《软件体系结构》课程报告材料

实用标准

文案大全武汉工商学院

学生姓名:刘伟

学号:14404036

班级:14数据处理实验班指导教师:喻晓

202x年4月27日

实用标准

文案大全目录

1.软件体系结构设计与应用概述(1)

1.1软件体系结构设计与应用现状(1)

1.2本系统使用的技术概述(1)

2.软件体系结构分析(3)

2.1软件体系结构风格(3)

2.2“4+1”视图角度分析系统(3)

2.3用例图(5)

2.4类图(6)

2.5构件图(9)

2.6从技术角度分析实现的功能(10)

2.7从系统角度分析实现的功能(10)

3.系统测试(13)

3.1登录注册测试(13)

3.2后台管理测试(14)

3.3前台用户操作测试(16)

总结(18)

参考文献(19)

实用标准

1.软件体系结构设计与应用概述

1.1软件体系结构设计与应用现状

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

软件在进化过程中,对系统的需求会不断发生变化,对于常用的软件体系结构,往往需同步对系统构架进行修改;而正交软件体系结构中,由于线索的正交性,每一个需求变动仅影响某一条线索,而不会涉及到其他线索。这样,就把软件需求的变动局部化了,产生的影响也被限制在一定范围内,因此具有易于构建、便于开发与维护等优势。主要体现在:(l)结构清晰、易于理解。正交软件体系结构的形式有利于理解。线索功能相互独立,不进行互相调用,结构简单、清晰。构件在结构图中的位置显示了它所实现的抽象级别和功能。(2)易修改、可维护性强。线索之间的相互独立性使得对一个线索的修改不会影响到其他线索。因此,当软件需求发生变化时,可以将新需求分解为独立的自需求,然后以线索和其中的构件为主要对象分别对各自需求进行处理,便于软件维护。(3)可移植性强,正交结构可以为一个领域内的所有应用程序所共享,这些软件有着相同或类似的层次和线索,可以实现体系结构级的重用。(4)结构容易调整。系统功能的增加或减少,只需相应的增删线索组件族,而不影响整个正交体系结构,因此能方便的实现结构调整软件技术概述。

1.2本系统使用的技术概述

(1)MySQL

文案大全

实用标准

MySQL数据库管理系统是用于关联数据库并将数据保存到所创建的表中,在本次设计中涉及到数据的存储过程,所以必须要有数据库管理系统来进行管理。目前来说MySQL一般比价适用于中小型企业的,如果数据规模非常庞大一般会选择Oracle数据库管理系统进行开发。本次设计数据非常有限所以选择MySQL,除此之外他还有便于学习,成本低,开源等特点。

(2)WEB服务器Tomcat

Tomcat是Apache底下的一个项目,它拥有免费、开放源码的特点因此Tomcat成为许多程序开发、调试时所选择的服务器,在本次设计过程中主要使用它来进行程序的调试。[1]同时在本次设计中需要用到JSP和Servlet技术,Tomcat对于这些技术也是兼容的,因此它成为了我对服务器选择的首选。

在本系统中我们选用稳定版本Tomcat6.0进行开发

(3)JAVA/JDBC语言编程

JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。

[2]用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。

(4)动态服务器页面ASP

ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。

(5)MyEclipse

是目前最流行的Java集成开发工具。MyEclipse一经出现就以其快速、丰富的特性赢得了认可,其主要的属性有快速的性能、重构性能、快速修复错误、调整组织导入包、弹出窗口进行代码自动装配并且它能够很好地与MySQL、Tomcat进行集成。[3]2.系统测试环境

a被测试软件系统的名称

新闻发布系统

b系统任务提出者

喻晓老师

c系统开发者

14数据处理实验班刘伟

d测试环境:

文案大全

实用标准

文案大全JDK1.7Tomcat7MyEclipse10MySQL5.5

2.软件体系结构分析

2.1软件体系结构风格

本系统采用的是浏览/服务器风格即B/S体系结构。主要是利用WWW浏览器技术,结合浏览器的多种脚本语言,用通过浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。B/S体系结构的风格特点:优点:B/S结构的”零客户端“方式,使组织的供应商和客户的计算机方便地成为管理信息系统的客户端,

进而在限定的功能范围内查询组织相关信息,完成与组织的各种业务往来的数据交换和处理工作,扩大了组织计算机应用系统的功能覆盖范围,可以更加充分利用网络上的各种资源,同时应用程序维护的工作量也大大减少。

缺点:B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;B/S体系结构的系统扩展能力差,安全性难以控制;采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远低于C/S体系结构;B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理。

2.2“4+1”视图角度分析系统

实用标准

4+1”模型新闻发布系统分析与设计系统分析。Kruchten在1995年提出了“4+1”的视图模型。[4]“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。

(1)逻辑视图

逻辑视图(logicview)主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。本系统根据功能需求进行初步设计,进行大粒度的职责划分和逻辑视图设计如下。

应用层:负责设备状态的显示,提供模拟控制台供用户发送调试命令

表示层:使用通讯层和嵌入层进行交互

会话层:负责在RS232协议之上实现一套专用的“应用协议”

逻辑层:当应用层发送来包含调试指令的协议包时,由通讯层负责按RS232协议将之传递给嵌入层

持久连通层:当嵌入层发送来原始数据时,由通讯层将之解释成应用协议包发送给应用层数据库层:嵌入层负责对调试设备的具体控制,以及高频度地从数据采集器读取设备状态数据,设备控制指令的物理规格被封装在嵌入层内部,读取数据采集器的具体细节也被封装在嵌入层内部

(2)开发视图

开发视图(developmentview)也称模块视图(moduleview),主要侧重于软件模块的组织和管理。本软件可以通过程序库或子系统进行组织,这样,对于本软件系统,就可以由不同的人进行开发。开发视图考虑了软件内部的需求,软件开发的容易性、软件的重用和软件的通用性,充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。我们确定了软件包含的所有元素之后描述完整的开发角度,在确定每个元素之前,列出开发试图原则。

(3)进程视图

文案大全

实用标准

进程视图(processview)侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。对于本系统而言,应用层中的线程代表主程序的运行,它直接利用了MFC的主窗口线程。[5]无论是用户交互,还是串口的数据到达,均采取异步事件的方式处理,杜绝了任何忙等待无谓的耗时,也缩短了系统响应时间。通讯层有独立的线程控制着上上下下的数据,并设置了数据缓冲区,使数据的接收和数据的处理相对独立,从而数据接收不会因暂时的处理忙碌而停滞,增加了系统吞吐量。

(4)物理视图

物理视图(physicalview)主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。[6]当软件运行于不同的节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,本软件从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小。大型系统的物理视图可能会变得十分混乱,因此可以与进程视图的映射一道,以多种形式出现,也可单独出现。

(5)场景

场景(scenarios)可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。[7]在开发体系结构时,本系统场景可以帮助设计者找到体系结构的构件和它们之间的作用关系。

2.3用例图

系统每个用例分析(共13个用例):

Login(登录系统):管理员与会员可以通过登录该系统进行各项功能的操作。

Register(注册):可以申请成为该新闻的会员。

Member(会员管理):包括对会员的增加、删除、改变等。

Manage(管理员):可以对各板块版主的职务划定以及增、删、改等。

Maintain(BBS维护):对整个新闻系统功能、服务器稳定进行维护。

Message(管理新闻):包括新闻的增加、删除等。

Topmessage(置顶新闻):将某些的帖子置顶。

文案大全

实用标准

文案大全

postmessage(发表新闻):发表自己个性的贴子。replymessage(回复新闻):回复别人。Personal(个人信息):查处和修改个人信息。

Look(查看新闻):如果你是以会员身份进入该新闻系统,可以查看自己和其他会员发的帖子;如果你是以游客身份进入该新闻系统,查看会员发表的新闻。

Comment(评论):对新闻进行回复,发表自己的观点和看法。

(fromUseCase)

members

(fromActor)

(fromActor)

图2-1用例图

2.4类图

类图我建了两个文件,分别是actor类图和others类图。两个类图里分别建了不同的类图,其作用下面我会做详细介绍。

(1)actor类图

actor类图里面装的是系统参与者相关的类,系统中参与者有4个,分别是系统管理员、会员和游客。其中把游客、会员归为使用者,系统管理员归为管理者,所以该系统中和参与

实用标准

文案大全者相关的类的类图如下图所示:

图2-2actor类图

bbsuser类是游客、会员的总称,包含的属性有用户编号(userid)、用户姓名(username)、用户密码(userpassword)、用户性别(usersex)、用户籍贯(comefrom)、用户注册时间(dateandtime)等。包含的方法有注册会员,设置用户名字、性别、密码,改变密码等。bbsadmin类是系统管理员类,包括的属性有管理员ID、管理员账号(adminname)、管理员密码(adminpwd)。包含的方法有获得用户的名字,用户的密码等。

(2)others类图

others类图里面装的是系统中其他的类,这里面基本是后台业务管理模块中的类,一共有4个,分别是论坛中发表的帖子类、设置分员显示的类、板块信息的类和数据库连接相关的类。类不是单独存在的,各个类之间的存在着一定得联系。该BBS论坛系统中其他类之间的关系类图如下图所示:

实用标准

文案大全

图2-3others类图

bbs类表示发表的新闻类。此类的属性有新闻编号(bbsid)、板块编号(boardid)、父贴编号(parentid)、跟帖数(child)、发表人姓名(username)、发表人E-mail(usermail)、发表人IP地址(userip)、发表人表情(expression0、签名(usersign0、文章的主题(bbstopic)。包含的方法有增加、删除、更改帖子等操作。bbscom类是设置分页显示的类。属性包括分页数(pagesCurrent)、下一页(pagesNext)、最后一页(pagesLast)。该类的功能主要是分页显示得到的数据列表。包含的方法有向上、向下翻页,设置页码等。bbsboard类表示板块信息的类。它的属性主要有板块编号(boardid)、板块名称(boardname)包含的方法有检查版主信息,删除、排列板块等。bbsreg类是跟数据库连接相关的类。属性有jdbc驱动(sDBDriver)、连接(conn)、结果集(rs)。该类是专门为数据库设计的,其中有一个执行SQL”executeQuery()”的方法。

(3)系统对象类图

对象类图是表示在某一时刻类图中的具体实例以及这些实例的连接关系,UML中对象图与类图具有相同的表示形式,主要区别于是对象的名字下面要加上一条下划线。[8]对象图我没有做详细介绍,就画了一个。如下图所示:

实用标准

文案大全

图2-4对象类图

2.5构件图

构件图描述了各种构件和它们之间的结构关系。进行系统开发时,构件图是各小组间有用的交流工具,它可以呈现给关键项目发起人及实现人员。[9]本系统我用了4个参与者,我根据参与者,创建了几个构件。如下图所示:

图2-5构件图

实用标准

2.6从技术角度分析实现的功能

表2-1功能概要表

2.7从系统角度分析实现的功能

系统结构图是用树形结构的一系列多层次的矩形框来描绘系统的层次结构。[10]树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个模块的子集,最底层的各个框代表组成这个系统的独立功能模块。

文案大全

实用标准

文案大全

本系统的总体结构图如图2-6所示:

图2-6系统功能模块图

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

新闻类别管理通过后台系统管理,提供各种数据,以实现新闻类别的添加以及修改和删除。本系统是使用数据库服务器支持后台的正常流畅的运行,在数据库的管理下进行新闻类别的管理。前台系统就可以通过查阅新闻看到修改过后的新闻类别。在新闻浏览中有个重要

网站新闻发布与管理系统用户管理

管理员管理

权限管理

新闻管理评论管理

注册新用户

查看用户信息修改用户信息注册新管理员

管理管理员信息

管理新闻信息

新增新闻信息

审核评论删除评论

评论赋权

栏目赋权管理员赋权

实用标准

的目前很流行的模块,就是网友评论,浏览新闻的同时可以对新闻做出评论,如果是没有登陆的情况则显示匿名留言。这样就组成了新闻发布及管理系统的功能模块关系如图2-7所示:数据库介于前台后台之间,通过数据库跟新数据,以实现前台和后台数据保持一致。

图2-7新闻发布及功能

在本系统中,用户管理模块的功能比较简单。在系统初始化时,有一个默认的“系统管理员”用户Admin。Admin用户可以创建用户、修改和删除用户;普通用户则只能修改自己的用户名和密码。所示:admin通过登陆系统进行用户密码的修改,还可以创建新的用户。这里的管理员的权限设置比较齐全。如果是普通用户登陆的,只能修改自己的一些基本信息,包括自己的密码,个人信息。当所有的东西修改完成之后就可以保存到数据库里面,这信息就得到了修改。服务器里面得到了更新。

在admin和普通用户登陆过程中都有登陆的信息确认过程,确认密码是否与原服务器上的一致,只有一致的时候才能登陆成功。否则失败。当修改信息的时候也会有这样的确认过程,确保信息的正确性有效性。这里是通过连接access数据库,用户的所有信息都存放在数据库的用户表里面,更新的信息也通过点击实现与数据库的交互,直接修改数据库里面相关表的内容。这里的管理员跟普通用户的实现原理基本上是一样的。都是通过连接数据库进行修改。数据库占了很重要的地位。大部分关键内容都保存在数据库里面。方便修改和维文案大全

实用标准

文案大全护。

图2-8用户管理功能模块3.系统测试

3.1登录注册测试

新闻发布系统有两种用户:会员用户(包含游客)和管理员,分别有不同的权限,但都是从同一界面登陆,此系统首页采用DIV+CSS框架,使得页面看起来美观舒适。能自动获取系统当前时间,展示新闻列表内容和广告等信息。用户只要在浏览器地址栏输入改项目的地址,即可访问该系统的相关信息;需要说明的是:因为该系统并未真正发布成正规的网站,只是将项目部署到了Tomcat服务器上面;

图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-8所示:

图3-8首页界面

当用户浏览新闻时页面会显示标题,发布时间,作者以及点击量等相关信息,如图5-9

实用标准

文案大全所示:

图3-9新闻浏览界面

当用户浏览完新闻后可对新闻进行评论,评论随即会显示在新闻下方如图5-10所示:

图3-10新闻浏览界面

实用标准

总结

经过了一个多月的学习,深入理解软件需求分类的复杂性,明确区分功能需求、约

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论