技术报告类论文模板.doc_第1页
技术报告类论文模板.doc_第2页
技术报告类论文模板.doc_第3页
技术报告类论文模板.doc_第4页
技术报告类论文模板.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

_ -可编辑修改- 西安西安电电子科技大学子科技大学软软件学院件学院 工程工程硕硕士士论论文写作指文写作指导导 (技(技术报术报告告类类) ) 版本:版本:0.5 作者:作者:鲍鲍亮亮 日期:日期:2012 年年 9 月月 20 日日 西安西安电电子科技大学子科技大学 学位学位论论文文创创新性声明新性声明 秉承学校严谨的学分和优良的科学道德,本人声明所呈交的论文是我个人在导 师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和 致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;也 不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表 示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名: 日期 西安西安电电子科技大学子科技大学 关于关于论论文使用授文使用授权权的的说说明明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留 送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容, 可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合学 位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 (保密的论文在解密后遵守此规定) 本学位论文属于保密,在 年解密后适用本授权书。 本人签名: 日期 导师签名: 日期 _ -可编辑修改- 什么是技什么是技术报术报告告类论类论文文 软件工程专业工程硕士学位论文可以提交技术报告类学位论文,该类学位论文 以作者从事的软件系统研发项目中的技术工作为主体内容进行撰写,需要重点突 出关键技术的突破情况。下面进行详细说明。 技术报告(也称为科学报告)是描述技术或科学研究过程、进展或结果的文档, 或者是对技术或科学研究问题目前状态的报告。技术报告通常也包括研究的建议 和结论。技术报告需要以技术问题为主线,详细报告技术问题的出现场景,解决问 题时采用的关键技术及效果等。在学位论文中,作者应结合具体项目,系统论述软 件系统的需求、项目的完成情况,并对关键技术进行详细介绍,可包括: (1) 系统的需求分析,包括功能需求与非功能性需求; (2) 根据需求,说明在实现这些功能时会面临的关键技术及技术指标; (3) 针对每项关键技术,进行详细论述,内容需要涵盖:关键技术的研究方案、 关键技术的攻关情况和技术指标的实现情况。 在撰写技术报告类学位论文时,应注重与实际项目的结合,避免大量空谈、科 普相关技术;同时应注意结合作者本人实际工作选择需要重点论述的问题和相关 技术,核心内容论述要充分、深入、具体,避免全面但蜻蜓点水似的泛泛而谈。 论论文文题题目目一般为“XXX 系统中 XXX 技术的研究”,即题目中应给出论文相关 具体项目名称,如“在线交易系统中数据持久化技术的研究”等。 _ -可编辑修改- 摘要 摘要采用三层结构的方式进行写作,通常情况下为一段,也可以分为两段(第 一个层次一段,二、三层次一段),300 字左右。层次结构如下所示: 第一层主要说明论文的背景和问题。这个部分又可以详细分为三个小的层次: 1.论文的背景 a) 论文研究相关领域和背景,如银行、电信等,并简要介绍与论文相关的 现状 b) 论文研究的问题或工作,用一句或两句话说明研究的问题,或对所作 工作进行简要解释(可能是一个完整的系可能是一个完整的系统统,也可能是一个大系,也可能是一个大系统统中中 的一些关的一些关键问题键问题的解决的解决) c) 针对工作或问题,现有解决方案存在的不足,为第二个层次的书写留 下引子和伏笔。 下面是一个写的比较好的摘要在第一层次的论述(为了维护当事人的利益,论 文内容已经进行处理): 建立一个 XX 平台(说明了论文主要工作)是加速 XX 领域应用开发与集成(说 明了领域和背景)的重要途径。XX 系统是 XX 平台集成框架的关键组成部分,为 XX 工作提供 XX 和 XX 功能,并提高 XX 系统的运行性能(介绍了工作内容)。目 前已有的 XX 系统在通用性和扩展性方面还不能满足平台的需要。(说明针对论文 的研究工作,现有解决方案存在的不足,并为第二个层次的书写留下引子)。 2.论文的主要工作 a) 对于这个问题,现有解决方案面临的主要问题, 第二个层次主要说明针对现有工作的不足,作者主要做了哪些工作,按照工作 的先后顺序依次展开书写。需要注意,这里的工作必须要以技术为纲领进行介绍。 下面给出一个样例: 本文在分析了系统功能需求的基础上,设计并实现了一个高性能的 XX 系统。 (这是一个典型的总分结构,首先对自己的工作给出一个概述)。在这个过程中,首 先研究了 XX 技术,解决了 XX 关键问题,然后研究了 XX 技术,解决了 XX 关键 问题(根据重要性对问题进行排序,两至三个即可)。最后,部署了一个 XX 系统应 用环境,验证了上述关键问题的可行性。(后面依次展开说明自己的工作,从技术 的角度入手,重点描述如何通过哪些技术解决了哪些关键问题,要注意先后的逻辑 关系) 目录 第三个层次主要说明经过试验或测试,自己系统的效果或应用情况如何。一般 情况下用一句话给出结论即可,但要注意不要使用最、非常等最高级的词汇,要实 事求是的给出一个评价。下面是一个样例: 实验结果表明,该 XX 系统的可行性和有效性达到了设计要求。(说明了采用实 验的方法,并很恰当的说明符合要求,没有过分渲染) 总结一下,我们将这个较好的摘要完整列出来,请大家作为自己写作的模板与 范例: 建立一个通用 XX 平台是加速 XX 领域应用开发与集成的重要途径。XX 系统 是 XX 平台集成框架的关键组成部分,为 XX 工作提供 XX 和 XX 功能,并提高 XX 系统的运行性能。目前已有的 XX 系统在通用性和扩展性方面还不能满足平台 的需要。 本文在分析了系统功能需求的基础上,设计并实现了一个高性能的 XX 系统。 在这个过程中,首先研究了 XX 技术,解决了 XX 关键问题,然后研究了 XX 技术, 解决了 XX 关键问题。最后,部署了一个 XX 系统,验证了上述关键问题的可行性。 实验结果表明,该 XX 系统的可行性和有效性达到了设计要求。 关键词是将摘要中比较重要的词摘或短语抄出来,用来概括论文中的重要内容 和研究领域,这也是他人查找你的论文的依据。关键词一般为 3-5 个,不要少于 3 个,也不要超过 5 个。尽量不要使用英文缩写词作为关键词,如果必须要用,请给 出英文全称(如果可以,请给出汉语解释)。 _ -可编辑修改- Abstract 英文摘要的写作难度较大。除非特别有把握,在一般情况下,请尽量采用简 单句描述自己的工作,时态采用一般现在时。 英文摘要不必是中文摘要的完全翻译版,可以在保持语义不变的情况下适当调 整结构,使之满足英语的写作习惯。 下面是一个英文文章的摘要,大家注意其中的用词、语句与时态: MapReduce is a programming model and an associated implementation for processing and generating large data sets(主动语态,一般现在时,简单句). Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key. Many real world tasks are expressible in this model, as shown in the paper. Programs written in this functional style are automatically parallelized and executed on a large cluster of commodity machines. The run-time system takes care of the details of partitioning the input data, scheduling the programs execution across a set of machines, handling machine failures, and managing the required inter-machine communication. This allows programmers without any experience with parallel and distributed systems to easily utilize the resources of a large distributed system. Our implementation of MapReduce runs on a largecluster of commodity machines and is highly scalable: a typical MapReduce computation processes many terabytes of data on thousands of machines. Programmers find the system easy to use: hundreds ofMapReduce programs have been implemented and upwards of one thousand MapReduce jobs are executed on Googles clusters every day. 英文关键字与中文关键字保持一致。 _ -可编辑修改- 目 录 西安西安电电子科技大学子科技大学软软件学院件学院I 工程工程硕硕士士论论文写作指文写作指导导I 摘要 V ABSTRACT VII 目 录.IX 第一章 绪论 .1 1.1 选题背景及研究意义.1 1.2 国内外现状.1 1.3 主要研究内容.1 1.4 论文结构.2 第二章 相关技术概述 .3 2.1XX 技术 .3 2.2XX 技术 .3 第三章 XX 系统的需求分析与总体设计.5 1. 需求分析部分.5 1.1 功能性需求部分功能性需求部分5 1.2 非功能性需求部分非功能性需求部分7 2. 总体设计部分.7 3. 核心问题识别.8 第四章 采用 XX 技术解决 XX 问题11 4.1 XX问题分析.11 4.2 XX技术.11 4.2.1 技技术总术总述述.11 4.2.2 XX子技子技术术12 根据第一部分包含的较小的关键技术,依次进行论述。内容包括:12 (1)某个较小的关键技术名称作为标题;12 (2)明确说明本项目的关注对象与该关键技术的关系12 (3)说明该项目为何采用该技术(该技术特别适合该项目)12 (4)说明现有其他技术的实现方式及缺陷。12 (5)提出使用该关键技术时自己的做法,并说明这种方法的优势。.12 (6)详细论述实现方式,在后面有详细说明。.13 举例如下所示:.13 4.3XX技术测试与验证17 第五章 采用 XX 技术解决 XX 问题19 第六章 结束语 .21 商业银行中间业务 B2C 系统设计与实现 致谢 .23 参考文献25 _ -可编辑修改- 、 绪论 1.1 选题背景及研究意义 这部分主要说明如下内容 1.论文工作所在的项目,该项目的领域、背景。 2.论文工作在项目中的什么位置,作用是什么。 3.如果论文的研究或工作能够顺利完成,将会产生什么样的价值和商业、社 会效益等 1.2 国内外现状 这部分主要说明目前(3-5 年左右)国内,国外与本论文相关的研究项目或工程 项目。先写国外,后写国内,要紧紧扣住论文的研究工作,并对其方法进行简要说 明,给出参考文献,做出客观(不能带有感情色彩)的评价。 在写国内外研究现状时,需要以技技术为纲领术为纲领进行分类论述。 建议将本节划分为两个小节,一个是国外研究现状,一个是国内研究现状,这 样就更加清楚。 1.3 主要研究内容 以摘要为提纲,对摘要中说明的主要研究工作展开论述,并以条目的形式说明 自己的工作,下面是与摘要对应的主要研究内容: 本文主要研究实现 XX 系统过程中的 XXX 技术,在整个过程中主要完成以下 工作: 1、 XX 系统的需求分析。对 XX 系统进行了需求分析,得到了系统的功能与性 能需求。 2、 在深入分析系统需求的基础上,识别出实现 XX 系统需要解决的 X、Y 核 心问题。 3、 对 X 核心问题进行了深入分析,明确了解决该问题需要采用的关键技术 A,给出突破 A 的方式和详细技术路线,并通过实验证明/验证了技术指标 的完成情况。 工程硕士论文写作指导2 4、 对 Y 核心问题进行了深入分析,明确了解决该问题需要采用的关键技术 B,给出突破 A 的方式和详细技术路线,并通过实验证明/验证了技术指标 的完成情况。 1.4 论文结构 说明各章的名称和主要内容。 论文共分为六章,各章主要内容如下: 第一章:绪论。提出项目背景、研究对象及其国内外研究现状,介绍本文的主 要工作和组织结构。 第二章:相关技术概述。列举并简要描述了系统设计实现过程中涉及到的关键 理论和技术,其中包括 XX 技术、XX 技术、XX 技术和 XX 协议等。 第三章:XX 系统功能及总体设计。首先分析了 XX 系统在 XX 集成框架中的 地位和功能需求,然后从体系结构的层次对 XX 系统进行分析,给出系统的功能划 分。最后明确指出为了实现系统必须解决的问题(通常为两个),对问题进行描述, 并给出量化指标。 第四章:采用 A 技术解决 X 关键问题。X 问题是实现 XX 系统 XX 功能的关 键问题,它的解决能够实现 XX,并保证 XX。本章采用 A 技术对 X 问题进行解决, 首先对 A 技术进行了详细介绍,该技术基于 XX 协议,引入 XX 算法实现了 XX, 通过对 XX 的设计、实现与测试,最终有效地解决了 X 问题。 第五章:采用 B 技术解决 Y 关键问题。Y 问题是实现 XX 系统 XX 功能的关键 问题,它的解决能够实现 XX,并保证 XX。本章采用 B 技术对 Y 问题进行解决, 首先对 B 技术进行了详细介绍,该技术基于 XX 协议,引入 XX 算法实现了 XX, 通过对 XX 的设计、实现与测试,最终有效地解决了 Y 问题。 第六章:结束语。总结了本文的主要工作,指出工作的不足及进一步的改进方 向。 _ -可编辑修改- 、 相关技术概述 2.1XX 技术 分章节介绍与自己项目中解决问题最为相关的技术,通用技术(XML、J2EE、 数据库技术等)要尽量少或者避免出现。不要将这一章看作是填充文章数量的部分, 这一章不要超过文章所有内容的十分之一,大致在 4-6 页,不能超过 7 页。 2.2XX 技术 _ -可编辑修改- 、 XX 系统的需求分析与总体设计 1. 需求分析部分 1.1 功能性需求部分功能性需求部分 主要说明用户对于系统功能方面的需求,按照两个层次书写,总分结构。 首先给出用户对系统整体的功能要求,并确定系统的边界(将系统看作一个黑 盒子,画出所有与系统进行交互的人和外部系统等)。 系统整体的功能可以采用总体用例图的方式进行呈现。图 3.1 就是一个典型的 总体用例图和对应的描述: 依据中间业务 B2C 系统的需求,中间业务 B2C 需要实现缴费/退费、缴费/退 费撤销、订单状态查询、卡号查询订单、商户日间对账、对账等基本功能,参与者是 客户、银行主机、商户、系统管理人员。中间业务 B2C 用例图如图 3.1 所示: 缴费/退费 撤销 对账 订单状态查询 商户日间对账 卡号查询订单 客户 银行主机 商户 系统管理员 图 3.1 XX 系统总体用例图 图 3.1 中对账功能需要说明的是 XXX;日间对账功能需要说明的是 XX。 在文章中所有出现图的地方需要注意:在图的前面需要给出一段文字,用以引 出这幅图,在图的后面需要对图中需要给予说明的部分再进行详细介绍。 工程硕士论文写作指导6 系统的边界可以采用上上下文数据流图(Context data flow diagram)来表示,上下 文数据流图是用来记录系统的范围的过程模型,也称为环境模型(environmental model)。 记录系统边界和范围的策略: 1. 把系统看作“黑盒子” (black box)。 2. 询问最终用户系统需要响应什么业务事务,这些业务事务就是系统的净输 入,而来源则为外部代理。 3. 询问最终用户系统必须产生什么响应,这些响应就是净输出,而目的地也将 成为外部代理。 4. 确定外部数据存储。 5. 绘制上下文数据流图。 图 3.2 就是一个上下文数据流图的样例: 会员服务系 统 俱乐部 会员 潜在会员 以前的 会员 应收账 部门 仓库 市场部 会员服务 促销商品 会员信用 状态会员订单 各种查询响应 新订阅 订阅请求 订阅续约 重订阅 提货单 新促销商品 订阅程序 各种销售报告 各种促销商品报告 各种订阅报告 各种会员报告 图 3.2 上下文数据流图 总述部分结束后,我们对总体需求用例按照重要程度或一定的逻辑关系依次细 化并给出细化的用例图。细化的用例图分为两个方面,一个是用用例图表现的子功 能,另外一个是用表格表现的详细用例图。表 3.1 给出了一个用表格表现的详细用 例。 _ -可编辑修改- 表 3.1 中间业务 B2C 缴费/退费用例的描述 用例名称B2C 缴费/退费 用例描述客户通过网银以转帐的方式缴费/退费 参与者客户和银行主机 前置条件获得订单号及相关信息 后置条件在数据库中记录订单缴费或者退费信息 基本操作1客户将缴费信息输入 2中间业务接收输入信息 3中间业务判断其是缴费,还是缴费 4若是缴费则纪录流水,若是退费则判断是否有缴费纪录并记录流水,处 理后发往银行主机 5接收银行主机返回的报文,对其判断缴费/退费是否成功,如果失败,返 回错误码给网银渠道 6如果成功,判断是缴费,还是退费,若是缴费则修改交易成功标志;若是 退费,需要修改相关明细表中的可用金额 7返回相关报文信息给渠道流程 业务规则退费可以多次,但金额不可以超过订单缴费金额 本章主要说明系统的边界和功能需求,篇幅一般为整个文章内容的五分之一 (1015 页)左右。 1.2 非功能性需求部分非功能性需求部分 对系统的功能性需求进行说明后,还需要对系统的非功能需求进行描述。非功 能性需求主要包括性能、可用性、可测试性、可修改性、易用性、安全性等。 需要特别注意在描述非功能性需求时,必须对需求进行量化描述。不能仅仅给 出定性描述。 2. 总体设计部分 对系统的总体架构进行描述。说明系统分为几个部分,具有何种结构特征。主 要用到的概念包括架构图、数据库 ER 图等。 图 3.3 给出了一个样例系统的架构图。 工程硕士论文写作指导8 渠道 柜员网银电话银行ATM. 企业服务总线(ESB) 渠道适配器 IMSD 核心适配器 CBSD 银联适配器 PYSD 三方适配器 IMSD CBSD技术架构 BranchWrapper JAVA端 BranchServer Oracle DB端 交易流程控制 业务组件/公共组件库 接口存储过程 图 4.1 样例系统架构图 图 3.4 给出了一个样例系统的数据库设计。 HJ_TRAN_021_TBOOK P PK KT TB BO OO OK K_ _N NO O P PA AY Y_ _N NO O PRD_ID BIZ_TYPE C CO OM MM M_ _I ID D C CH H_ _S SE EQ Q_ _N NO O T TR RA AN N_ _C CO OD DE E T TR RA AN N_ _D DA AT TE E T TR RA AN N_ _T TI IM ME E A AC CC CO OU UN NT T M MT T_ _P PA AY Y_ _A AM MT T T TR RA AN N_ _A AM MT T T TR RA AN N_ _O OR RG GA AN N TRAN_STATUS I IS S_ _A AC CC C HJ_TRAN_021_TBOOK_BC P PK KX X_ _N NO O T TB BO OO OK K_ _N NO O F FU UN ND D_ _T TY YP PE E P PA AY Y_ _T TY YP PE E CAN_TYPE B_PAY_TYPE HJ_TRAN_007_TBOOK P PK KT TR RA AN N_ _S SE EQ Q_ _N NO O T TR RA AN N_ _C CO OD DE E TRAN_TYPE COMM_CODE C CL LI IE EN NT T_ _N NO O CLIENT_NAME T TR RA AN N_ _F FE EE E A AC CC CO OU UN NT T_ _D DA AT TE E T TR RA AN N_ _D DA AT TE E T TR RA AN N_ _T TI IM ME E S SE EQ Q_ _N NO O REM_SEQ_NO TRAN_FLAG T TR RA AN N_ _S ST TA AT TU US S ACCT_STATUS HJ_FM_311 P PK KO OR RD DE ER R_ _N NO O P P_ _S SE EQ Q_ _N NO O HJ_SYS_DATE P PK KS SY YS S_ _D DA AT TE E O OR RG G_ _D DA AT TE E 图 3.4 样例系统的数据库设计 3. 核心问题识别 在明确系统需求和总体架构的基础上,本节需要明确指出在该系统的设计与 实现过程中,遇到了哪些关键问题,并对问题进行详细论述。对于非功能性需求相 关的问题,还要给出量化指标。 _ -可编辑修改- 参考文献: 1.需求分析与用例图 美 温德尔等著, 韩柯等译. 使用统一过程的软件需求. 电子工业出版社. 2003 年 10 月. 美 兰博等著, UML China 译. UML 参考手册(第二版). 机械工业出版社. 2005 年 8 月. 美 施穆勒著, 李虎, 赵龙刚译. UML 基础、案例与应用(第三版). 人民邮电出版 社. 2004 年 7 月. _ -可编辑修改- 、 采用 XX 技术解决 XX 问题 系统需求分析主要是定义系统功能,从问题域对系统进行了说明,并指出系统 设计实现过程中需要解决的关键问题;本章后续章节以关键问题为纲领,依次介绍 如何采用 XX 技术解决 XX 问题,并让读者信服你的技术和解决方案是合理的。 基于这样的原则,本章的开头需要明确指出要解决的问题是什么,然后说明针 对该问题,可能采取的技术有哪些,为什么采用 XX 技术。 本章的内容并没有严格的限制,但建议的结构是: 1.针对用户的需求,说明本章需要解决何种关键问题。对关键问题进行 分析,指出其中涉及的技术。 2.给出技术方案的整体架构与设计过程,并进行描述。 3.对技术方案中的关键点进行分析,并需要描述该方案是如何解决问题 的(可能需要对问题进行分解,每个子问题对应一个具体技术)。 4.测试与验证,证明该技术方案确实能够解决问题。 4.1 XX 问题问题分析分析 本节分为两个部分: (1)承接第三章最后的内容,对问题进行深入分析。需要指出问题的关键点在 什么地方,最好能够给出在哪些方面有特殊要求,例如性能、可靠性、兼容性,等等。 (2)针对问题的特征,指出应该采用何种技术解决该问题,并说明采用该技术 的原因。 4.2 XX 技技术术 4.2.1 技技术总术总述述 对 XX 技术的进行总体介绍,并引出后续内容。主要内容包括: 、1、需要论述的技术:作为标题; 、2、技术说明,说明该技术可能包含哪些内容或子技术; 、3、说明本项目的研究内容与重点; 、4、点出需要论述技术的重要性; 工程硕士论文写作指导12 、5、明确指出后续子章节还会包含对哪些技术的介绍。 举例如下: 标题标题:数据抽取方法与技:数据抽取方法与技术术 (需要论述的技术) 在软件领域中,逆向工程的目标是利用工程化的方法和技术分析软件系统组 件及其之间的相互关联,并以另一种方式或更高层次抽象的形式来描述该系统。逆 向工程是一个检查和分析的过程,并不改变目标系统。通过标识组件、发现其间关 系并抽象系统,逆向工程可以辅助对系统的理解。从目标系统源代码开始,逆向工 程通常包含三个规范活动:数据抽取;模型抽象;结果呈现。 (技术说明,并说明该技术包含哪些内容) 对于逆向工程的第三个规范活动,基于已有的工作基础,逆向产生的、符合 UML 标准的不同层次序列图、层次化的进程结构图以及类图的高层抽象架构图都 可以无缝集成到 Rational Rose 系列产品中。这样能充分保证我们工具的有效性、 通用性和易理解性。所以在本项目中,我们重点研究的逆向工程核心技术在数据抽 取盒模型抽象领域。 (说明本项目的研究内容与重点) 原始数据是抽象和呈现高层抽象的基础,通常隐藏在程序代码中,因而数据抽 取是逆向工程的一项基本活动。作为构造抽象表示的基础,所抽取的数据应当客观 实际,并且,基于有益于理解的出发点,抽取的数据要尽量准确且有用。为此,数据 抽取应从多个角度、采用多种手段来实现。数据收集是数据抽取的基本过程。它所 采用的技术包括静态分析、动态分析和获取非正式数据(如调查)等。静态分析通常 通过分析程序源代码、构造带有语法单位及其依赖关系的抽象语法树来完成。采用 基于编译的成熟技术,可以收集到准确和可靠的静态信息数据。源代码植入技术是 产生运行时信息的最常用方法。它通常的做法是在目标程序代码中加入新的代码, 这些代码仅仅用于收集运行时信息。 (点出后面将论述的是数据抽取技术) 本节重点说明对本项目中数据抽取实现至为关键和核心的反射植入技术和植 入点定位技术。 (说明后续论述内容) 4.2.2 XX 子技子技术术 根据第一部分包含的较小的关键技术,依次进行论述。内容包括: 、1、某个较小的关键技术名称作为标题; 、2、明确说明本项目的关注对象与该关键技术的关系 、3、说明该项目为何采用该技术(该技术特别适合该项目) 、4、说明现有其他技术的实现方式及缺陷。 _ -可编辑修改- 、5、提出使用该关键技术时自己的做法,并说明这种方法的优势。 、6、详细论述实现方式,在后面有详细说明。 举例如下所示: 标题标题:反射植入技:反射植入技术术 (第一个较小的关键技术标题) 在逆向工程中,通过分析目标系统,发现系统元素及其之间的关系,是产生系 统不同形式和不同层次的抽象表示的基础。软件系统的静态信息反映隐藏在源代 码中的系统结构特征,而动态信息反映出系统的行为和交互特征,二者对理解目标 系统同等重要。对于面向对象系统,结构信息只能辅助用户理解系统的模型元素关 系和构成,隐藏在结构后面的对象交互语义、状态机模型、并发控制等行为特征的 获取才是理解这类系统的关键,只有对系统进行动态分析,才能准确理解面向对象 系统(明确说明本项目关注的面向对象系统的分析)。 对面向对象系统动态分析后产生的反映系统行为特征的动态信息是逆向分析 的基础。这类信息的获取以目标系统实际运行为基础,获得的执行路径与为了静态 获得一个程序片段而进行的控制流分析相比,相对简单,而且很准确。同时,执行 路径提供了从静态分析得不到的一些信息,例如实例数或者对象之间关系的多样 性。 (说明该项目所分析的面向对象系统的特点) 在获取程序运行时产生的动态信息方面,目前许多逆向分析和程序理解工具 主要采用植入法来收集动态信息。这种方法的主要原理是:利用代码的静态结构信 息,依据固定的规则,将软件触发器添加到代码中。所谓软件触发器,是指在源程 序中相应的位置添加的一些不伤害原有程序语义的代码,运行时由这些代码按特 定协议将指定的动态信息传递到指定的动态信息收集设施,从而提供产生动态模 型所需的对象之间的消息传递信息。植入法原理如图所示。 (说明现有技术的实现方 式) 软件触发器的植入必然要涉及对被植入的应用程序的修改,直接人工修改是 不可取的,目前一些工具中支持半自动地交互式修改,如 SCED、ISVis 以及包装器 方法。这类工具的共同特征可以实现自动植入以获取动态信息,但由于是直接干预 目标系统源代码,植入代码和目标代码处于同一计算层次,所以存在一些问题。第 一,植入过程控制不当,可能会破坏源代码的运行逻辑;第二,为了确定植入点,需 要对目标代码进行除编译分析之外的额外程序分析,没有充分利用编译阶段的代 码分析过程;第三,不能获取充分的对象交互信息。例如,ISVis 中就无法得到方法 调用的返回值、调用方类的元信息和对象标识。 (现有实现技术的缺陷) 针对这些问题,我们提出反射植入的思路。植入时,利用反射思想和开放编译 技术,将植入的软件触发器和被植入的应用程序作为两个计算层次来处理。反射的 基本理念,是将一个系统看成是相互依赖的层次化计算体系,改变下层的计算逻辑, 工程硕士论文写作指导14 可以动态地影响上层的计算逻辑。开放编译器技术是将编译过程用元对象协议 MOP(Meta-Object Protocol)向用户开放,允许用户自己通过编制实现元对象的程序 片段来干预编译过程,以达到特定的应用目的。这样,应用程序的植入过程是在编 译时进行的:在应用程序交付编译之后,由这组元对象对应用程序进行软件触发器 的植入,再透明地向常规编译器提交,链接时链入所需的运行时支持机制,这就达 到了将软件触发器和被植入的应用程序作为两个计算层次来处理的目的。这样,基 于反射机制,充分利用编译阶段的代码分析过程,就可以规范地完成程序植入。 (提 出使用该关键技术时自己的做法,并说明这种方法的优势) 该子技术的实现方式,需要详细论述。本部分内容不限,如果面向对象技术实 现技术方案,则需要给出类图、序列图、核心数据结构、算法伪代码等形式的设计 与实现过程。 图 4.3 给出了一个样例系统的类图。 图 4.3 样例系统类图 图 4.4 给出了一个样例系统的顺序图。 _ -可编辑修改- 网银渠道中间业务平台银行主机 发送“缴费/退费“交易请求报文信息 判断是缴费,还是退费,并作相应处理 发送“缴费/退费“交易报文信息 相关处理 返回银行主机处理后的报文信息 判断“缴费/退费“是否成功,作相应处理 把成功或失败的报文信息返回给渠道 图 4.4 样例系统顺序图 下面的描述给出了一个样例系统中的核心数据结构的描述: 命令事件是指由各种导调命令或导调信息根据特定规则封装成的具有固定格 式的存储形式。从XX节的系统交互模型图可以看出命令分发/处理模块分为服务 器端和客户端两部分,分别部署在导调席位和其它仿真实体节点上。为了屏蔽各种 导调命令的不同结构造成的影响,方便服务器端和客户端的通信,系统在两者之间 采用统一的命令事件进行交互,各种导调命令和实体状态显示信息在传递前都应 封装成命令事件的形式。命令事件的结构如图4.4所示。 OTPRI oIDmID D 图4.4命令事件结构 命令事件在系统运行时将在服务器与客户端之间频繁传输,所以设计时只包 含必须的数据信息以提高传输的效率。下面详细介绍各个信息域的含义: OT:是一个16位的整数,表示命令类型,目前共有两种。当MT为0时表示此 命令事件存储的命令是通用命令,若本机是服务器需将此事件发送给所有参与仿 真的节点,若本机是客户端需将此事件发送给服务器;MT为1时表示此命令事件 存储的命令是特定命令,系统应该按照一定的分发策略对事件进行分发处理。 PRI:是一个16位的整数,表示命令的优先级,目前共有三种类型。当PRI为 0时,表示该命令事件所存储命令的优先级为高;当PRI为1时,表示该命令事件 所存储命令的优先级为中;当PRI为2时,表示该命令事件所存储命令的优先级为 工程硕士论文写作指导16 低。仿真实体接收到多个命令事件时,将按照优先级由高到低的顺序执行相应命令。 oID:是一个

温馨提示

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

最新文档

评论

0/150

提交评论