• 回答数

    5

  • 浏览数

    289

清影5127
首页 > 毕业论文 > 软件结构体系毕业论文选题

5个回答 默认排序
  • 默认排序
  • 按时间排序

vivilovetu

已采纳

计算机软件毕业论文的题目都好写啊

230 评论

cll19880211

软件体系结构论文:一种面向方面软件体系结构模型摘 要: 为了分离软件系统中的核心关注点和横切关注点,通过引入面向方面软件开发的思想设计了一种面向方面软件体系结构模型,并详细分析了该模型的三个基本构成单元,即构件、连接件和方面构件。最后通过一个网上支付实例验证了该模型具有一定的理论意义和实用价值。关键词: 面向方面软件体系结构;横切关注点;构件;连接件;方面构件20世纪60年代的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据结构和算法的选择上,然而随着软件系统规模越来越大,对总体的系统结构设计和规格说明变得异常重要。随着软件危机程度的加剧,软件体系结构(software architecture)这一概念应运而生。软件体系结构着眼于软件系统的全局组织形式,在较高层次上把握系统各部分之间的内在联系,将软件开发的焦点从成百上千的代码上转移到粒度较大的体系结构元素及其交互的设计上。与传统软件技术相比,软件体系结构理论的提出不仅有利于解决软件系统日益增加的规模和复杂度的问题,有利于构件的重用,也有利于软件生产率的提高。面向方面软件开发(AOSD)认为系统是由核心关注点(corn concern)和横切关注点(cross-cutting concern)有机地交织在一起而形成的。核心关注点是软件要实现的主要功能和目标,横切关注点是那些与核心关注点之间有横切作用的关注点,如系统日志、事务处理和权限验证等。AOSD通过分离系统的横切关注点和核心关注点,使得系统的设计和维护变得容易很多。Extremadura大学的Navasa等人[1]在2002年提出了将面向方面软件开发技术引入到软件体系结构的设计中,称之为面向方面软件体系结构(aspect oriented software architecture,AO-SA),这样能够结合两者的优点,但是并没有给出构建面向方面软件体系结构的详细方法。尽管目前对于面向方面软件体系结构这个概念尚未形成统一的认识,但是一般认为面向方面软件体系结构在传统软件体系结构基础上增加了方面构件(aspect component)这一新的构成单元,通过方面构件来封装系统的横切关注点。目前国内外对于面向方面软件体系模型的研究还相对较少,对它的构成单元模型的研究更少,通常只关注方面构件这一构成单元。方面构件最早是由Lieberherr等人[2]提出的,它是在自适应可插拔构件(adaptive plug and play component,APPC)基础之上通过引入面向方面编程(AOP)思想扩展一个可更改的接口而形成的,但它关于请求接口和服务接口的定义很模糊,未能给出一个清晰的方面构件模型。Pawlak等人[3]提出了一个面向方面的框架,该框架主要包含了一个方面构件模型———Java方面构件(Java aspect component,JAC),但该方面构件模型仅包含了切点(pointcut),并把AOP中装备(advice)集成到了切点的表达式中,它主要从实现的角度进行了阐述,并没有给出详细的方面构件模型。本文没有只关注面向方面软件体系结构中方面构件这一构成单元模型,还详细分析了它的另外两个构成单元,即构件和连接件,因为面向方面软件体系结构各部分之间是相互关联的。1面向方面软件体系结构相关概念面向方面软件体系结构涉及诸多概念,以下将分别介绍。软件体系结构在软件工程领域有着广泛的影响,但当前仍未形成一个统一的、标准的定义。目前国内外普遍认可的看法是软件体系结构包含构件、连接件和约束[4]。其中约束描述了体系结构配置和拓扑的要求,确定了体系结构的构件与连接件的连接关系。这样就可以把软件体系结构写成软件体系结构(software architecture)=构件(components)+连接件(connectors)+约束(constraints)构件是软件体系结构的基本元素之一。一般认为,构件是指具有一定功能、可明确辨识的软件单位,并且具备语义完整、语法正确、有可重用价值的特点,然而目前对于构件的具体结构及构成并没有一个统一的标准[5],而且一些主要的构件技术也没有使用相同的构件类型。另外,当前被广泛接受的构件定义并不包含具体的软件构件模型(software component model)。例如,Szyperski等人[6]给出了软件构件一个很有名的定义:软件构件是一个仅带特定契约接口和显式语境依赖的结构单位,它可以独立部署,易于第三方整合。但是关于软件构件模型有一个被普遍接受的观点是:软件构件是一个具有服务提供和服务请求功能的软件单元[7]。连接件是软件体系结构另一个基本的构成元素,是用来建立构件间交互以及支配这些交互规则的构造模块。连接件最先是由Shaw[8]提出来的,她建议把连接件作为软件体系结构中第一类实体,用来表示普通构件之间的交互关系。目前对于连接件尚未形成统一的认识,尽管在软件体系结构中强调了连接件存在的必要性,但是关于连接件模型的研究还很少,连接件的实际应用还不成熟。面向方面软件体系结构在传统软件体系结构的基础上增加了方面构件单元。通常认为,方面构件是封装了系统横切关注点的一类特殊的构件。目前关于方面构件模型的研究还处于起步阶段。2面向方面软件体系结构模型由于传统软件体系结构模型包含构件、连接件和约束,而面向方面软件体系结构是在传统软件体系结构的基础之上扩展了方面构件,所以面向方面软件体系模型结构包含构件、连接件、方面构件和约束。其中约束描述了面向方面体系结构配置和拓扑的要求,确定了体系结构的构件、连接件和方面构件之间的连接关系,而构件、连接件、方面构件是它的三个基本的构成单元。以下对这三个构成单元的模型进行详细的设计。构件模型构件模型由以下几个要素构成(图1):(a)端口。构件的服务请求和服务提供功能是通过端口来实现的。端口是构件与外部环境进行交互的惟一通道。一般的构件模型通常采用两种端口,即双向端口和单向端口。在使用双向端口的构件模型中,服务请求和服务提供功能可以在同一个端口中实现。本文中的构件模型使用单向端口,此种端口分为请求端口和服务端口两种类型。(a)服务端口。构件通过服务端口向其他构件提供服务。构件通过服务端口向其他构件的请求消息进行应答,返回响应消息。每个服务端口对应一个接口。(b)请求端口。构件通过请求端口向其他构件请求服务。构件为了实现自己的业务功能,需要通过请求端口向其他构件发送请求消息。每个服务端口也对应一个接口。(b)接口。它定义了一个到多个业务功能。这些业务功能由服务端口进行提供,并由请求端口进行使用。一个接口限定了一个特定端口可以进行的交互功能,接口是构件间交互的契约。通常的接口类型有:Java Interface、WSDL 1.1 portTypes和WSDL 2.0 Interfaces等,也可以自定义接口类型。(c)属性。与类或对象相似,构件也具有属性,属性可以在构件使用前进行配置,它能够反映构件在交互过程中状态的变化。连接件模型连接件是用来建立构件间交互以及支配这些交互规则的体系结构构造模块。连接件为构件间信息交互提供传输和路由服务。在最简单的情况下,构件之间可以直接完成交互,这时体系结构中的连接件就退化为直接连接。在更为复杂的情况下,构件间交互的处理和维持都需要连接件来实现。对于构件而言,连接件是构件的粘合剂,是构件交互的实现,也可以看做是一种特殊的构件[8]。与构件相似,连接件也具有端口。连接件的端口可分为两种类型,即源端口(source port)和目标端口(target port)。源端口用于接收构件请求端口中的消息,目标端口用于向构件服务端口中输入消息。连接件通常需要使用一种合适的绑定(binding)机制,构件的请求端口使用这种绑定机制来描述服务请求的方法,构件的服务端口也使用这种机制来描述构件进行请求的方式。常用的绑定机制有:WebService Binding和JMS Binding等,也可以自定义绑定机制。与构件一样,连接件也具有属性,来表示构件间交互的状态变化,如图2所示。复合构件模型构件可分为两种,即原子构件和复合构件。前者是不可再分的构件。后者是可再分构件,它封装了若干个子构件。子构件间通过连接件相互连接,且子构件的端口也可以暴露成为复合构件的端口,子构件也可能是复合构件。如图3所示:复合构件A包含两个子构件B和D,子构件B和D通过连接件C进行相连,构件B的服务端口E暴露成为复合构件A的服务端口F,其请求端口G暴露成为A的请求端口H。方面构件模型方面构件是面向方面软件体系结构的一个核心的构成单元,它封装了横切关注点,这是与传统软件体系结构最大的不同之处。图4给出了方面构件模型,与普通构件一样,方面构件也有服务端口和请求端口以及属性,但是它还有普通构件所没有的方面端口。当一个构件具有一个方面端口时,即可认为此构件就是方面构件。一个方面端口中包含若干个方面,这与一般面向方面编程(AOP)技术中方面概念有所不同。面向方面编程具有以下四个基本概念:方面(aspect)、连接点(joinpoint)、通知(advice)和切点(pointcut)。连接点是应用程序执行过程一个定义明确的位置,如方法调用是一种典型的连接点。切点是一系列连接点的集合,是方面的作用点。通知表述了在切点所选定的连接点处要执行的动作,常见通知类型有before、around和after等,分表代表在连接点之前、连接点附近和连接点之后执行相应的通知代码。方面是用来描述和实现横切关注点的基本单位,由切点和通知构成。方面端口中的方面横切关注的是构件,这与一般AOP(如AspectJ)横切关注的对象(object)不同,由于构件能够表达对象所不能表达的请求服务的能力[9],这使得方面端口中方面所采用的连接点模型和切点语言具有很大的不同。连接点模型该连接点模型包含两种不同类型的连接点,即构件服务端口中的服务提供操作和请求端口的服务请求操作。由于构件的内部结构通常被视为黑盒,因此连接点模型应该仅考虑构件的外部可见元素,如构件请求端口和服务端口中的服务操作。如果连接点模型包含构件的属性,那么它将会破坏构件的分装性。切点语言用来选用连接点的切点语言基于切点表达式,表1给出了切点的五个组成部分,即component、jp_type、port、interface和service,然后分别对其进行了说明。其中,jp_type代表选用的连接点类型,可以是请求端口中的服务、服务端口中的服务或所有端口中的服务,详细如表1。表2给出了切点语言的一些例子,其中正则表达式基于java.util.regexp包。面向方面软件体系结构模型面向方面软件体系结构由构件、连接件、方面构件组成,详细请参见图6。3基于面向方面软件体系结构模型的网上支付实例近年来,网上购物发展迅速,网上支付是消费者主要的支付手段之一,图7给出了基于面向方面软件体系结构的网上支付模型,它由四个原子构件,即一个复合构件、两个方面构件和三个连接件组成。其中WebClientComponent代表客户端构件,它可以向网上银行构件WebBankComponent请求AccountService()服务,该服务有三个参数,即username、password、cost,分别对应于用户的网上银行账户名、密码及购买商品的消费金额。〈component name="WebClientComponent"〉〈required.port name="WebClientRequest"〉〈java.interface interface="AccountServiceInterface"〉〈service name="AccountService()"〉〈param name="username"type="string"/〉〈param name="password"type="string"/〉〈param name="cost"type="float"/〉〈/service〉〈/java.interface〉〈/required.port〉〈/component〉连接件AccountServiceConnector用于连接客户端构件和网上银行构件,它采用WebServiceBinding绑定机制。〈connector name="AccountServiceConnector"binding="WebServi-ceBinding"/〉〈source name="S"/〉〈target name="T"〉〈/connector〉〈connect.source from="WebClientComponent.WebClientRequest"to="S"/〉〈connect.target from="T"to="WebBankComponent.Bank-Re-sponse"/〉网上银行构件是一个复合构件,由账户服务构件Account-ServiceComponent、账户数据库连接件AccountDBConnector和账户数据库构件AccountDBComponent组装而成。其中该复合构件的服务端口也使用接口AccountServiceInterface,这是为了兼容客户端构件请求端口使用的接口。身份验证构件AuthenticationComponent用于验证用户的身份信息,它通过UserInfoConnector连接件访问用户信息数据库构件UserInfoDBComponent。pointcut="WebBankComponent;BankResponse;AccountServiceInterface;AccountService()"是该方面构件的方面端口中使用切点的表达式。为了保证数据库构件UserInfoDBComponent和AccountDB-Component的安全性,方面构件SecurityComponent使用方面端口Security监视这两个构件的服务端口,使得在这两个构件服务调用之前增加日志和事务功能,而日志和事务功能在系统中通常表现为横切关注点,面向方面软件体系结构能够对它进行很好的封装,便于设计和维护。〈aspect.component name="SecurityComponent"〉〈aspect.port name="Security"〉〈aspect〉〈pointcut="UserInfoDBComponent;UserInfoResponse;*;*|Ac-countDBComponent;AccountDBResponse;*;*"/〉〈advice.role="before"action="Log()"/〉〈advice.role="before"action="Transaction()"/〉〈/aspect〉〈/aspect.port〉〈required.port name="UserInfoRequest"/〉〈/aspect.component〉4结束语本文给出了一种面向方面软件体系结构模型,详细设计了它的三个基本构成单元模型,即构件、连接件和方面构件;最后通过一个网上支付实例验证了该模型有效性和实用性,为面向方面软件体系结构的实际应用奠定了一定的基础。笔者将继续完善该模型的相关理论,研究面向方面软件体系结构的工程化应用方法。参考文献:[1]FABRESSE L,DONY C,HUCHARD M.Foundations of a simpleand unified component-oriented language[J].Journal of ComputerLanguages,Systems&Structures,2008,34(2-3):130-149.[2]LIEBERHERR K,LORENZ D,MEZINI M.Programming with as-pectual components,T R NU-CSS-99-01[R].[S.l.]:NoutheastamUniversity,1999.[3]PAWLAK R,SERNTURIER L,DUCHIEN L D,et al.JAC:an as-pect-based distributed dynamic framework[J].Software Practiceand Experiences,2004,34(12):1119-1148.[4]李千目.软件体系结构设计[M].北京:清华大学出版社,2008.[5]马亮,孙春艳.软件构件概念的变迁[J].计算机科学,2002,29(4):28-30.[6]SZYPERSKI C,GRUNTZ D,MURER S.Component software:be-yond object-oriented programming[M].2nd ed.[S.l.]:Addison-Wesley,2002.[7]LAU K K,WANG Z.Software component models[J].IEEE TransSoft Eng,2007,33(10):709-724.[8]SHAW M.Procedure calls are the assembly language of software in-terconnection:connectors deserve first-class status[C]//Proc of InICSE Workshop on Studies of Software Design.1993:17-32.[9]NAVASA A,PREZ M A,MURILLO J M,et al.Aspect orientedsoftware architecture:a structural perspective[C]//Proc of Workshopon Early Aspects.2002.

84 评论

太阳的路

网络、网站,或管理系统都可以的

174 评论

君临天下之嚻

好的。。。。。给你。。。代劳

149 评论

步步惊心生活

转自:毕业论文网 一、软件专业毕业论文的开题报告写作本科学生在毕业之前必须做毕业论文,其目的是通过毕业论文,让学生独立开发一个具体的计算机应用项目,系统地进行分析总结和运用学过的书本知识,以巩固本科阶段所学的专业理论知识,并给予一个理论联系实际的机会。 为了便于实施和管理,规定网络学院计算机相关专业本科学生毕业论文主要以开发一个管理信息系统为毕业实践的课题,每个毕业生通过独立开发一个具体的管理信息系统,掌握开发一个比整完整的管理信息系统的主要步骤,并从中获得一定的实际经验。 二、管理信息系统开发的主要步骤 管理信息系统开发的主要步骤及各步骤的基本内容如下: 1、 系统分析 主要工作内容有以下几项:确定系统目标,系统可行性分析 2、 系统调查 系统的组织结构、职能结构和业务流程分析。其中系统的组织结构图应画成树状结构。 系统业务流程分析、业务流程图 3、 数据流程分析 数据流程图(系统关联图、顶层图、一层数据流图、二层数据流图)、数据词典、代码设计 4、 管理信息系统的功能设计 系统的功能结构图,每个功能模块的主要工作内容、输入输出要求等。 系统控制结构图 5、 数据库设计 概念模型设计:实体、实体间的联系、E-R图 关系模式设计:E—R图->关系模式的转换规则 关系模式 数据库表设计:数据库表结构 6、 系统物理配置方案 7、 人机界面设计 8、 模块处理概述 9、 系统测试和调试:测试计划、测试用例、测试结果 三、开发工具和注意事项 1、开发工具 开发工具可由学生任选。如Delphi、FoxPro、VB、Access等,这些工具的使用全由学生自学。 2、注意事项 (1)项目开发步骤的完整性(系统需求分析、概念设计、物理设计、系统环境和配置、系统实施以及系统测试和调试等) (2)每个开发步骤所得结果的正确性(业务流程图、数据流程图、数据词典、HIPO图、E-R图、关系模式、人机界面设计及模块处理等的详细分析和说明) (3)论文整体结构的完整性(前言、各个具体步骤的叙述和分析、结语、参考文献和有关附录) (4)提供软件系统的可执行盘片及操作说明书 (5)参考资料(列出必要的参考资料) 四、毕业论文撰写格式 注意: 1.每个步骤都要有文字说明和论述 2.各个步骤必须是有机的组合,不可以支离破碎不成一体。 一、封面 二、摘要 用约200-400字简要介绍一下论文中阐述的主要内容及创新点 三、主题词 用一、二个词点明论文所述内容的性质。(二和三要在同一页面上) 四、目录 一般采用三级目录结构。 例如第三章 系统设计系统概念结构 概念模型 五、正文 第一章 前言 简要介绍: 组织机构概况、项目开发背景、信息系统目标、开发方法概述、项目开发计划等。 第二章 系统需求分析 本章应包含: (1)现行业务系统描述 包括业务流程分析,给出业务流程图。 具体要求:业务流程图必须有文字说明,图要完整、一定要有业务传递的流程。 (2)现行系统存在的主要问题分析 指出薄弱环节、指出要解决的问题的实质,确保新系统更好,指出关键的成功因素。 (3)提出可能的解决方案 (4)可行性分析和抉择 包括技术可行性、经济可行性、营运可行性分析和抉择。 第三章 新系统逻辑方案 针对用户需求,全面、系统、准确、详细地描述新系统应具备的功能。 (1)数据流程分析 最主要的是给出数据流程图,要求满足以下条件: A.数据流程图必须包括系统关联图、系统顶层图、第一层分解图和第二层分解图组成。B.系统关联图确定了从外部项到系统的数据流和从系统向外部项的数据流,这些数据流在其它层次的数据流中不允许减少,也不允许增加。各层次内部的数据流不受关联图的限制。 C. 数据流应有名字。 D. 外部项和数据存储之间不得出现未经加工的数据流。 E. 数据流程图的分解中,必须保持每个分层同其上层加工中的外部项和输入输出流相一致。 F. 各加工之间一般不应出现未经数据存储的数据流。 G. 数据存储之间不得出现未经加工的数据流。 H. 数据存储可以分解。 I. 若有查询处理,应在数据流程图中表达。 J. 统计和打印报表不在数据流图中表达。 (2) 数据词典描述 可采用图表格式或较紧凑的记录格式描述 A、若采用图表格式,可只写出数据流、数据元素、加工、数据存储和外部项各一个表。 B、若采用紧凑的记录格式,则应列出全部成分。如数据元素: 编号 名称 存在于 数据结构 备注 E1 入库数据 F1/F3/F11/F15 入库单号+日期+货号+数量 E2 出库数据 F1/F3/F11/F15 出库单号+日期+货号+数量 C、据流程图中系统顶层图的数据加工都必须详尽写出。 (3) 基本加工小说明 可采用结构化语言、数学公式等描述各个基本加工。 第四章 系统总体结构设计 (1) 软件模块结构设计 A、系统软件模块结构图,并由此导出功能分解图及层次式菜单结构。 B、系统的模块结构应与数据流程图的顶层图的加工一致。 (2)数据库设计 A、应按下列次序阐述各个元素:实体、实体的属性、实体间联系、E-R图、转换规则、关系模式。 B、在介绍实体的属性时,不应包括联系属性,联系属性直至关系模式中才出现。 C、数据流程图中的每个数据存储可隐含于E-R图中的多个实体。 D、 E-R图中的实体要与数据流程图中的数据存储相对应。每个实体要指出实体的标识码(主码)。对每个实体或联系应列出其应有的属性(用列举的方法)。 E、E-R图中至少要有一个多对多的联系。 F、必须严格按照转换规则从E-R图产生数据关系模式集,需要时作必要的优化,并说明理由。 G、对于一对一的联系,只应把任一个实体的主码放在另一个实体中作为外码。 H、一对多联系也可以产生新的关系模式,如要这样做,必须说明理由。 I、多对多联系,或三元联系必须产生新的关系模式。 J、关系模式的个数和名字要与E-R图中的实体和联系相一致。 K.、每个关系模式中要用下横线标出主码,后随的符号“#”标出外码。 L、若有代码对照表可在最后列出,需另加说明。 (3) 计算机系统配置方案的选择和设计 给出硬件配置,系统软件配置,网络通信系统配置(可选)等内容。 (4) 系统总体安全性、可靠性方案与措施。 第五章 系统详细设计 (1)代码设计 基本数据项的代码格式。 (2)人机界面设计 给出人机界面视图(输入输出接口,屏幕格式设计等) (3)模块处理过程 根据软件环境做不同处理。 可采用脚本、程序流程图、结构化的PDL语言等。 第六章 实施概况 (1)实施环境和工具的比较选择 (2)编程环境、工具、实现与数据准备概况 (3)系统测试概况 主要包括测试计划、测试用例、测试记录。 (4)系统转换方案及实现概况 (5)系统运行与维护概况 六、结束语 (1)系统特色、局限与展望 (2)实施中遇到的挫折、创新、体会与致谢 七、参考文献 列出毕业论文设计中主要参考书籍 序号、书名或文章名、作者名、出版社或杂志名、出版日期或杂志期号。 八、附录 (1) 列出部分有一定代表性的程序代码段 (2) 操作说明书 五、论文评分标准 1、A等 系统正确无误,系统功能完善,设计步骤完整正确,实用性强,有一定的创新性,论文结构严谨,表述流畅。 2、B等 系统基本正确,系统功能基本完善,设计步骤基本完整正确,有一定的实用性,论文结构良好,表述基本流畅。 3、C等 系统有少量错误,系统功能不够完善,设计步骤欠完整,基本上没有实用性,论文结构一般,表述基本清楚。 4、不及格 因有以下所列某种原因,均作论文不及格评分。 系统有较大的错误、系统功能不完善,缺少主要设计步骤或主要设计步骤有严重错误,论文结构混乱,表述不清楚

355 评论

相关问答

  • 毕业论文结构图什么软件

    1.word中是图片格式导致不能编辑为啥呢?因为很多人写论文都是网上找的素材,有的根本就没有数据,可能只是一张图而已。直接拿来用,肯定是不符合老师要求的。这时候

    寻找茉莉花 5人参与回答 2023-12-06
  • 毕业论文选题的软件

    微软 word 目前比较通用,电子版,然后整成书面的。其实国产的wps文字也是蛮好的,针对于国人,人性化设计,将微软word里的一些不常用的去掉了,增加了一些人

    鼠宝宝zhz 5人参与回答 2023-12-09
  • 软件项目毕业论文目录结构

    毕业论文目录写法参考如下: 1、打开word文档,点击引用,然后点击目录,这个时候可以下面的内容中把目录生成了。非常简单的,也是要根据自己的格式来选择,这样做出

    雨虹阳光 3人参与回答 2023-12-11
  • 软件设计毕业论文结构

    我可以帮你写的。论文的基本结构由序论、本论、结论三大部分组成。序论、结论这两部分在提纲中部应比较简略。本论则是全文的重点,是应集中笔墨写深写透的部分,因此在提纲

    曼特宁先森 3人参与回答 2023-12-09
  • 结构毕业论文模板下载软件

    PPT|最新2015毕业季论文答辩开题报告通用模板    免费下载 链接: 在PowerPoint中,演示文稿和幻灯片这两个概念还是有些差别的,利用Power

    我们是MJ 7人参与回答 2023-12-10