yshandgxd
师哥给你就行,上届经过辩论的。。构造严谨,表达简明,语义确切。摘要先写什么,后写什么,要按逻辑次第来布置。句子之间要上下连接,相互照应。摘要慎用长句,句型应力图简单。每句话要表意明白,无空泛、笼统、含混之词,但摘要毕竟是一篇完好的短文,电报式的写法亦缺乏取。摘要不分段。 
你好啊,你的开题报告选题定了没?开题报告选题老师同意了吗?准备往哪个方向写? 开题报告学校具体格式准备好了没?准备写多少字还有什么不懂不明白的可以问我,希望可以帮到你,祝开题报告选题顺利通过,毕业论文写作过程顺利。 技术路线一般是指研究的准备,启动,进行,再重复,取得成果的过程,不是指毕业论文的写作过程,更不是指答辩的准备和进行过程,许多同学会出现这些偏误。 多参考下同类型的论文,其实技术路线讲的就是你的论文的整体思路、逻辑推理过程以及采用的论证方法 在研究生教育的整个过程中,学位论文质量的高低是衡量研究生培养质量的重要标志。而论文质量的高低,很大程度上取决于论文开题报告 做的细致程度。论文开题报告做的细致,前期虽然花费的时间较多,但写起论文来就很顺手,能够做到胸有成竹,从而保证论文在规定的时间保质保量地完成;但如 果不重视论文开题报告,视论文开题报告为走过场,写起论文来就会没有目标,没有方向,没有思路,可能就要多走弯路,也很难保证毕业论文的质量。一、论文开题报告的意义硕士论文开题报告是研究生在完成文献调研后写成的关于学位论文选题与如何实施的论述性报告。论文开题报告既是文献调研的聚焦点,又是学位论文研究工作展开的散射点,对研究工作起到定位作用。写论文开题报告的目的,是要请老师及专家们帮忙判断一下所研究的选题有没有价值,研究方法是否奏效,论证逻辑有没有明显缺陷。因此论文开题报告就要 围绕研究的主要内容,拟解决的主要问题(或阐述的主要观点),研究步骤、方法及措施为主要内容。但笔者在工作实践中发现有很多学生往往在论文开题报告中花费大量笔墨叙述别人的研究成果,谈到自己的研究方法时,往往寥寥数语一笔带过。这样,不便于评审老师指导。二、如何写论文开题报告(一)论文开题报告的前提——通过理论思维选择课题在工作实践中,发现硕士研究生论文开题报告中存在的普遍问题是选题不合适。有的提出的问题太过“平庸”,有的选题范围太大,研究内容太多、太宽泛, 提出的问题不切合硕士生的实际,实践操作起来难度较大。如有的学生提出的论文题目:“新型中性镍催化剂的研究及其催化合成聚乙烯、聚丙烯的研究”,此选题 有意义,有创新,作者的研究思路也比较正确,但论文选题范围太大,研究内容对于一个硕士生来说明显偏多,无法按时完成。因此应重新确定研究内容,注重项目 的可操作性。那么如何选择研究问题呢?这里要强调的是通过理论思维来发现研究问题。理论是由一系列前设和术语构造的逻辑体系,特定领域的理论有其特定的概念、范畴和研究范式,只有在相同的概念、视角和范式下,理论才能够对话。只有通过对话,理论才能够发展。硕博论文要想创造新理论很难,多数是在既有理论的基础上加以发展。其次,选择问题是一个“剥皮”的过程,理论问题总是深深地隐藏在复杂的现实背后,而发现理论问题,则需要运用理论思维的能力。这就需要我们不断锻炼 和提高自己的理论思维能力,需要在日常的学习中,不断总结和分析以往的研究者大体是从哪些视角来分析和研究问题,运用了哪些理论工具和方法,通过学习和总 结来不断提高自己的理论思维能力,从而选择具有学术理论价值和应用价值,并与国家经济建设及导师承担的科学研究项目紧密结合的研究问题。(二)做好文献综述,为论文开题报告打好基础在研究生论文开题报告会上,出现的普遍问题是对文献的研读不够,对研究背景的了解不够深入,对研究方向上国内外的具体进展情况了解不够全面、详细, 资料引用的针对性、可比性不强。有很多学生没有完全搞清论文开题报告与文献综述的区别,他们的论文开题报告有很多仅仅是对前人工作的叙述,而对自己的工作 介绍甚少。文献综述的基本内容包括:国内外现状;研究方向;进展情况;存在问题;参考依据。这是对学术观点和理论方法的整理。同时,文献综述还是评论性的,因此要带着作者本人批判的眼光来归纳和评论文献,而不仅仅是相关领域学术研究的“堆砌”。要想写好论文开题报告,必须认真研读文献,对所研究的课题有个初步的了解,知道别人都做了哪些工作,哪些方面可以作为自己研究的切入点,因此,文献调研的深入和全面程度,会相当程度地影响论文开题报告的质量,是学生充分发挥主观能动性的客观基础。(三)论文开题报告的格式及写作技巧论文开题报告格式一个清晰的选题,往往已经隐含着论文的基本结论。对现有文献的缺点的评论,也基本暗含着改进的方向。论文开题报告就是要把这些暗含的结论、论证结论 的逻辑推理,清楚地展现出来。论文开题报告的写作步骤:课题选择—课题综述—论题选择—论文开题报告。论文开题报告的基本内容主要包括:选题的意义;研究 的主要内容;拟解决的主要问题(阐述的主要观点);研究(工作)步骤、方法及措施;毕业论文(设计)提纲;主要参考文献。为了写好论文开题报告,江苏工业 学院研究生部专门出台了详细的规定,规定论文开题报告的一般内容包括:(1)论文开题报告——课题来源、开题依据和背景情况,课题研究目的以及理论意义和实际应用价值。(2)论文开题报告——文献综述。在阅读规定文献量(不少于50篇,其中外文文献占40%以上)的基础上,着重阐述该研究课题国内外的研究现状及发展动态,同时介绍查阅文献的范围以及查阅方式、手段。(3)论文开题报告——主要研究内容。包括学术构思、研究方法、关键技术、技术路线、实施方案、可行性分析、研究中可能遇到的难点、解决的方法和措施以及预期目标。(4)论文开题报告——拟采用的实验手段,所需科研和实验条件,估计课题工作量和所需经费,研究工作进度计划。(5)论文开题报告——主要参考文献,列出至少10篇所查阅参考的文献。论文开题报告的写作技巧(1)提出问题注意“层次”选题是撰写学术论文的第一步,选题是否妥当,直接关系到论文的质量,甚至关系到论文的成功与否。不同于政策研究报告,学术文章聚焦理论层面、解决理 论问题。有的学生的选题不具有新颖性,内容没有创新,仅仅是对前人工作的总结,或是对前人工作的重复。在选题时要坚持先进性、科学性、实用性及可行性的原则。在提出问题时,要以“内行”看得懂的术语和明确的逻辑来表述。选题来源包括:1、与自己实际工作或科研工作相关的、较为熟悉的问题;2、自己从事的专 业某问题发展迅速,需要综合评价;3、从掌握的大量文献中选择反映本学科的新理论、新技术或新动向的题目。所选题目不宜过大,越具体越容易收集资料,从某一个侧面入手,容易深入。(2)瞄准主流文献,随时整理文献资料是撰写好学术论文的基础,文献越多,就越好写,选择文献时应选择本学科的核心期刊、经典著作等,要注意所选文献的代表性、可靠性及科学性; 选择文献应先看近期的(近3~5年),后看远期的,广泛阅读资料,有必要时还应找到有关文献所引用的原文阅读,在阅读时,注意做好读书卡片或读书笔记。整理资料时,要注意按照问题来组织文献资料,写文献综述时不是将看过的资料都罗列和陈述出来,而是要按照一定的思路将其提炼出来。只有这样,才能写出好的文献综述,也才能写出好的论文开题报告,进而为写出好的论文打下基础。(3)研究目标具体而不死板一般论文开题报告都要求明确学位论文的研究目标,但笔者认为,研究目标不宜规定得太死板,这是因为,即使条件一定,目标是偏高还是偏低,往往难于准 确判断,研究工作本身,涉及求知因素,各个实验室条件不同,具体研究时条件也不同。学位论文选题和研究目标体现了研究工作的价值特征。三、论文开题报告的质量保证为了保证硕士研究生的培养质量,提高论文质量,就必须对论文开题报告进行评价。论文开题报告会由3~5位相关学科的专家对论文开题报告进行评议,与 企业合作的重大科研项目可以聘请1~2位相应企业的具有高级职称的专家参加,不同学科的论文开题报告的侧重点不同。江苏工业学院研究生部规定学生必须进行 论文开题报告,并规定了统一的格式,设计了专门的论文开题报告评审表,论文开题报告会上研究生应对课题进行详细汇报,并对专家提问做出必要的解释和说明。 论文开题报告的成绩考核以合格、不合格记。评审小组成员最后签名并给出学生是否合格的评审意见,并以百分制打出具体的分数。论文开题报告成绩不合格者,不 得进入课题研究。为了提高论文质量,研究生必须首先从思想上重视论文开题报告,在平时的学习中注意积累,从各个方面提高能力,尤其要注意培养通过理论思维发现研究问题的能力。论文开题报告是研究工作的开始,良好的开端为优秀的学位论文奠定了坚实的基础。
软件体系结构论文:一种面向方面软件体系结构模型 摘 要: 为了分离软件系统中的核心关注点和横切关注点,通过引入面向方面软件开发的思想设计了一种面向方面软件体系结构模型,并详细分析了该模型的三个基本构成单元,即构件、连接件和方面构件。最后通过一个网上支付实例验证了该模型具有一定的理论意义和实用价值。 关键词: 面向方面软件体系结构;横切关注点;构件;连接件;方面构件 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构件模型 构件模型由以下几个要素构成(图1): (a)端口。 构件的服务请求和服务提供功能是通过端口来实现的。端口是构件与外部环境进行交互的惟一通道。一般的构件模型通常采用两种端口,即双向端口和单向端口。在使用双向端口的构件模型中,服务请求和服务提供功能可以在同一个端口中实现。本文中的构件模型使用单向端口,此种端口分为请求端口和服务端口两种类型。 (a)服务端口。构件通过服务端口向其他构件提供服务。构件通过服务端口向其他构件的请求消息进行应答,返回响应消息。每个服务端口对应一个接口。 (b)请求端口。构件通过请求端口向其他构件请求服务。构件为了实现自己的业务功能,需要通过请求端口向其他构件发送请求消息。每个服务端口也对应一个接口。 (b)接口。 它定义了一个到多个业务功能。这些业务功能由服务端口进行提供,并由请求端口进行使用。一个接口限定了一个特定端口可以进行的交互功能,接口是构件间交互的契约。通常的接口类型有:Java Interface、WSDL 1.1 portTypes和WSDL 2.0 Interfaces等,也可以自定义接口类型。 (c)属性。 与类或对象相似,构件也具有属性,属性可以在构件使用前进行配置,它能够反映构件在交互过程中状态的变化。 2连接件模型 连接件是用来建立构件间交互以及支配这些交互规则的体系结构构造模块。连接件为构件间信息交互提供传输和路由服务。在最简单的情况下,构件之间可以直接完成交互,这时体系结构中的连接件就退化为直接连接。在更为复杂的情况下,构件间交互的处理和维持都需要连接件来实现。对于构件而言,连接件是构件的粘合剂,是构件交互的实现,也可以看做是一种特殊的构件[8]。与构件相似,连接件也具有端口。连接件的端口可分为两种类型,即源端口(source port)和目标端口(target port)。源端口用于接收构件请求端口中的消息,目标端口用于向构件服务端口中输入消息。连接件通常需要使用一种合适的绑定(binding)机制,构件的请求端口使用这种绑定机制来描述服务请求的方法,构件的服务端口也使用这种机制来描述构件进行请求的方式。常用的绑定机制有:WebService Binding和JMS Binding等,也可以自定义绑定机制。与构件一样,连接件也具有属性,来表示构件间交互的状态变化,如图2所示。 3复合构件模型 构件可分为两种,即原子构件和复合构件。前者是不可再分的构件。后者是可再分构件,它封装了若干个子构件。子构件间通过连接件相互连接,且子构件的端口也可以暴露成为复合构件的端口,子构件也可能是复合构件。如图3所示:复合构件A包含两个子构件B和D,子构件B和D通过连接件C进行相连,构件B的服务端口E暴露成为复合构件A的服务端口F,其请求端口G暴露成为A的请求端口H。 4方面构件模型 方面构件是面向方面软件体系结构的一个核心的构成单元,它封装了横切关注点,这是与传统软件体系结构最大的不同之处。图4给出了方面构件模型,与普通构件一样,方面构件也有服务端口和请求端口以及属性,但是它还有普通构件所没有的方面端口。当一个构件具有一个方面端口时,即可认为此构件就是方面构件。一个方面端口中包含若干个方面,这与一般面向方面编程(AOP)技术中方面概念有所不同。面向方面编程具有以下四个基本概念:方面(aspect)、连接点(joinpoint)、通知(advice)和切点(pointcut)。连接点是应用程序执行过程一个定义明确的位置,如方法调用是一种典型的连接点。切点是一系列连接点的集合,是方面的作用点。通知表述了在切点所选定的连接点处要执行的动作,常见通知类型有before、around和after等,分表代表在连接点之前、连接点附近和连接点之后执行相应的通知代码。方面是用来描述和实现横切关注点的基本单位,由切点和通知构成。方面端口中的方面横切关注的是构件,这与一般AOP(如AspectJ)横切关注的对象(object)不同,由于构件能够表达对象所不能表达的请求服务的能力[9],这使得方面端口中方面所采用的连接点模型和切点语言具有很大的不同。 1连接点模型 该连接点模型包含两种不同类型的连接点,即构件服务端口中的服务提供操作和请求端口的服务请求操作。由于构件的内部结构通常被视为黑盒,因此连接点模型应该仅考虑构件的外部可见元素,如构件请求端口和服务端口中的服务操作。如果连接点模型包含构件的属性,那么它将会破坏构件的分装性。 2切点语言 用来选用连接点的切点语言基于切点表达式,表1给出了切点的五个组成部分,即component、jp_type、port、interface和service,然后分别对其进行了说明。其中,jp_type代表选用的连接点类型,可以是请求端口中的服务、服务端口中的服务或所有端口中的服务,详细如表1。表2给出了切点语言的一些例子,其中正则表达式基于java.util.regexp包。 5面向方面软件体系结构模型 面向方面软件体系结构由构件、连接件、方面构件组成,详细请参见图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,PREZ M A,MURILLO J M,et al.Aspect orientedsoftware architecture:a structural perspective[C]//Proc of Workshopon Early Aspects.2002.