[编辑本段]基本信息软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: 软件工程(1)、BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 (2)、IEEE在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究 (3)、FritzBauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 (4)、《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。[编辑本段]目标软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用软件工程性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。下面分别介绍这些概念。 (1)可修改性(modifiablity)。容许对系统进行修改而不增加原系统的复杂性。它支持软件的调试与维护,是一个难以达到的目标。 (2)有效性(efficiency)。软件系统能最有效地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性方面会发生矛盾,这时不得不牺牲时间效率换取空间有效性或牺牲空间效率换取时间有效性。时/空折衷是经常出现的。有经验的软件设计人员会巧妙地利用折衷概念,在具体的物理环境中实现用户的需求和自己的设计。 (3)可靠性(reliability)。能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。对于实时嵌入式计算机系统,可靠性是一个非常重要的目标。因为软件要实时地控制一个物理过程,如宇宙飞船的导航、核电站的运行,等等。如果可靠性得不到保证,一旦出现问题可能是灾难性的,后果将不堪设想。因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。 (4)可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 (5)可维护性(maintainability)。软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化,等等。由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。软件的可理解性和可修改性有利于软件的可维护性。 (6)可重用性(reusebility)。概念或功能相对独立的一个或一组相关模块定义为一个软部件。软部件可以在多种场合应用的程度称为部件的可重用性。可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。可重用软部件应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。各种可重用软部件还可以按照某种规则存放在软部件库中,供软件工程师选用。可重用性有助于提高软件产品的质量和开发效率、有助于降低软件的开发和维护费用。从更广泛的意义上理解,软件工程的可重用性还应该包括:应用项目的重用,规格说明(也称为规约)的重用,设计的重用,概念和方法的重用,等等。一般来说,重用的层次越高,带来的效益也就越大。 (7)可适应性(adaptability)。软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件应采用广为流行的程序设计语言编码,在广为流行的操作系统环境中运行,采用标准的术语和格式书写文档。适应性强的软件较容易推广使用。 (8)可移植性(portability)。软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。为了获得比较高的可移植性,在软件设计过程中通常采用通用的程序设计语言和运行环境支撑。对依赖于计算机系统的低级(物理)特征部分,如编译系统的目标代码生成,应相对独立、集中。这样,与处理机无关的部分就可以移植到其他系统上使用。可移植性支持软件的课重用性和课适应性。 (9)可追踪性(tracebility)。根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件可追踪性依赖于软件开发各个阶段文档和程序的完整性、一致性和可理解性。降低系统的复杂性会提高软件的可追踪性。软件在测试或维护过程中或程序在执行期间出现问题时,应记录程序事件或有关模块中的全部或部分指令现场,以便分析、追踪产生问题的因果关系。 (10)可互操作性(interoperability)。多个软件元素相互通信并协同完成任务的能力。为了实现可互操作性,软件开发通常要遵循某种标准,支持折衷标准的环境将为软件元素之间的可互操作提供便利。可互操作性在分布计算环境下尤为重要。 软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”。主要包括需求、设计、实现、确认以及支持等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件体系结构,包括子系统、模块以及相关层次的说明、每一模块接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。支持活动包括修改和完善。伴随以上活动,还有管理过程、支持过程、培训过程等。[编辑本段]过程生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。[编辑本段]原则软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。软件工程的原则有以下四项软件工程师基本原则:1)选取适宜开发范型该原则与系统设计有关。在系统设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。2)采用合适的设计方法在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。3)提供高质量的工程支持“工欲善其事,必先利其器”。 在软件工程中,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。4)重视开发过程的管理软件工程的管理,直接影响可用资源的有效利用,生产满足目标的软件产品,提高软件组织的生产能力等问题。因此,仅当软件过程得以有效管理时,才能实现有效的软件工程。 这一软件工程框架告诉我们,软件工程的目标是可用性、正确性和合算性;实施一个软件工程要选取适宜的开发范型,要采用合适的设计方法,要提供高质量的工程支撑,要实行开发过程的有效管理;软件工程活动主要包括需求、设计、实现、确认和支持等活动,每一活动可根据特定的软件工程,采用合适的开发范型、设计方法、支持过程以及过程管理。根据软件工程这一框架,软件工程学科的研究内容主要包括:软件开发范型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE) 及软件经济学等。[编辑本段]基本原理自从1968年提出“软件工程”这一术语以来,研究软件工程的专家学者们陆续提出了100多条关于软件工程的准则或信条。美国著名的软件工程专家巴利·玻姆(Barry Boehm)综合这些专家的意见,并总结了美国天合公司(TRW)多年的开发软件的经验,于1983年提出了软件工程的七条基本原理。 玻姆认为,这七条原理是确保软件产品质量和开发效率的原理的最小集合。它们是相互独立的,是缺一不可的最小集合;同时,它们又是相当完备的。 人们当然不能用数学方法严格证明它们是一个完备的集合,但是可以证明,在此之前已经提出的100多条软件工程准则都可以有这七条原理的任意组合蕴含或派生。下面简要介绍软件工程的七条原理:1、用分阶段的生命周期计划严格管理这一条是吸取前人的教训而提出来的。统计表明,50%以上的失败项目是由于计划不周而造成的。在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作。这条原理意味着,应该把软件生命周期分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。 玻姆认为,在整个软件生命周期中应指定并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。2、坚持进行阶段评审统计结果显示: 大部分错误是在编码之前造成的,大约占63%错误发现的越晚,改正它要付出的代价就越大,要差2到3个数量级。 因此,软件的质量保证工作不能等到编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。3、实行严格的产品控制开发人员最痛恨的事情之一就是改动需求。但是实践告诉我们,需求的改动往往是不可避免的。这就要求我们要采用科学的产品控制技术来顺应这种要求。也就是要采用变动控制,又叫基准配置管理。当需求变动时,其它各个阶段的文档或代码随之相应变动,以保证软件的一致性。4、采纳现代程序设计技术从六、七时年代的结构化软件开发技术,到最近的面向对象技术,从第一、第二代语言,到第四代语言,人们已经充分认识到:方法大似气力。采用先进的技术即可以提高软件开发的效率,又可以减少软件维护的成本。5、结果应能清楚地审查软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为更好地进行管理,应根据软件开发的总目标及完成期限, 尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。6、开发小组的人员应少而精开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。 这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少的多; 当开发小组为N人时,可能的通讯信道为N(N-1)/2, 可见随着人数N的增大,通讯开销将急剧增大。7、承认不断改进软件工程实践的必要性遵从上述六条基本原理,就能够较好地实现软件的工程化生产。但是,它们只是对现有的经验的总结和归纳,并不能保证赶上技术不断前进发展的步伐。因此,玻姆提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条原理。根据这条原理,不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估新的 软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。[编辑本段]方法学软体工程的方法有很多方面的意义。包括专案管理,分析,设计,程序的编写,测试和质量控制。 软件工程师软体设计方法可以区别为重量级的方法和轻量级的方法。重量级的方法中产生大量的正式文档。 著名的重量级开发方法包括ISO9000,CMM,和统一软体开发过程(RUP)。 轻量级的开发过过程没有对大量正式文档的要求。着名的轻量级开发方法包括极限编程(XP)和敏捷流程(AgileProcesses)。 根据《新方法学》这篇文章的说法,重量级方法呈现的是一种防御型的姿态。在应用重量级方法的软体组织中,由于软体项目经理不参与或者很少参与程序设计,无法从细节上把握项目进度,因而会对项目产生恐惧感,不得不要求程式设计师不断撰写很多“软体开发文档”。而轻量级方法则呈现“进攻型”的姿态,这一点从XP方法特别强调的四个准则—“沟通、简单、反馈和勇气上有所体现。目前有一些人认为,重量级方法合于大型的软体团队(数十人以上)使用,而“轻量级方法”适合小型的软体团队(几人、十几人)使用。当然,关于重量级方法和轻量级方法的优劣存在很多争论,而各种方法也在不断进化中。 一些方法论者认为人们在开发中应当严格遵循并且实施这些方法。但是一些人并不具有实施这些方法的条件。实际上,采用何种方法开发软体取决于很多因素,同时受到环境的制约。[编辑本段]主要课程外语、高等数学、线性代数、高等代数、电子技术基础、离散数学、计算机引论(C语言)、数据结构、C++程序设计、JAVA程序设计、Delphi程序设计、汇编语言程序设计、算法设计与分析、计算机组成原理与体系结构、数据库系统、计算机网络、软件工程、软件测试技术、软件需求与项目管理、软件设计实例分析、CMM/ISO9000等。 另外,还包括操作系统、软件体系结构概论、设计模式、多媒体技术基础、UML建模、概率论、大学英语等,部分院校还会包括大学物理,工程制图,数值分析等。[编辑本段]发展方向敏捷开发(Agile Development)被认为是软体工程的一个重要的发展。它强调软体开发应当是能够对未来可能出现的变化和不确定性作出全面反应的。 敏捷开发被认为是一种“轻量级”的方法。在轻量级方法中最负盛名的应该是“极限编程”(Extreme Programming,简称为XP)。而与轻量级方法相对应的是“重量级方法”的存在。重量级方法强调以开发过程为中心,而不是以人为中心。重量级方法的例子比如CMM/PSP/TSP。 面向侧面的程序设计(Aspect Oriented Programming,简称AOP)被认为是近年来软体工程的另外一个重要发展。这里的方面指的是完成一个功能的对象和函数的集合。在这一方面相关的内容有泛型编程(Generic Programming)和模板。[编辑本段]需求分析软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段,本文以医院管软件工程需求分析理系统为例详细介绍了需求工程的构成和进行方法。 首先人们必须了解需求工程和其他项目过程的关系: 图1需求与其他项目过程的关系 软件需求包括三个不同的层次-业务需求、用户需求和功能需求-也包括非功能需求:业务需说明了提供给客户和产品开发商的新系统的最初利益,反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明;用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明;功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 需求工程分为了需求开发和需求管理两个阶段:下面就以这两个阶段说明: 一,需求开发 需求开发又分为需求获取、需求分析、编写规格说明书和需求验证。以下列出和讲解分析常规的步骤,当然应按照项目的大小和特点等实际情况我们应该自己确定合适的步骤。 1.需求获取: 1)确定需求开发过程:确定需求开发过程确定如何组织需求的收集、分析、细化并核实的步骤,并将它编写成文档。对重要的步骤要给予一定指导,这将有助于分析人员的工作,而且也使收集需求活动的安排和进度计划更容易进行。 2)编写项目视图和范围文档:项目视图和范围文档应该包括高层的产品业务目标,所有的使用实例和功能需求都必须遵从能达到的业务需求。项目视图说明使所有项目参与者对项目的目标能达成共识。而范围则是作为评估需求或潜在特性的参考。 表1项目视图和范围文档的模板 a、1背景在这一部分,总结新产品的理论基础,并提供关于产品开发的历史背景或形势的一般性描述。 a、2业务机遇描述现存的市场机遇或正在解决的业务问题。描述商品竞争的市场和信息系统将运用的环境。包括对现存产品的一个简要的相对评价和解决方案,并指出所建议的产品为什么具有吸引力和它们所能带来的竞争优势。 a、3业务目标用一个定量和可测量的合理方法总结产品所带来的重要商业利润,把重点放在给业务的价值上。 a、4客户或市场需求描述一些典型客户的需求,包括不满足现有市场上的产品或信息系统的需求。提出客户目前所遇到的问题在新产品中将可能(或不可能)出现的阐述,提供客户怎样使用产品的例子。确定了产品所能运行的软、硬件平台。 a、5提供给客户的价值确定产品给客户带来的价值,并指明产品怎样满足客户的需要。 a、6业务风险总结开发(或不开发)该产品有关的主要业务风险,例如市场竞争、时间问题、用户的接受能力、实现的问题或对业务可能带来的消极影响。预测风险的严重性,指明你所能采取的减轻风险的措施。 项目视图陈述编写一个总结长远目标和有关开发新产品目的的简要项目视图陈述。项目视图陈述将考虑权衡有不同需求客户的看法。它可能有点理想化,但必须以现有的或所期待的客户市场、企业框架、组织的战略方向和资源局限性为基础。 主要特性包括新产品将提供的主要特性和用户性能的列表。强调的是区别于以往产品和竞争产品的特性。可以从用户需求和功能需求中得到这些特性。 假设和依赖环境在构思项目和编写项目视图和范围文档时,要记录所作出的任何假设。通常一方所持的假设应与另一方不同。 首次发行的范围总结首次发行的产品所具有的性能。描述了产品的质量特性,这些特性使产品可以为不同的客户群提供预期的成果。随后发行的范围如果你想象一个周期性的产品演变过程,就要指明哪一个主要特性的开发将被延期,并期待随后版本发行的日期。 局限性和专用性明确定义包括和不包括的特性和功能的界线是处理范围设定和客户期望的一个途径。列出风险承担者们期望的而你却不打算把它包括到产品中的特性和功能。 客户概貌客户概述明确了这一产品的不同类型客户的一些本质的特点,以及目标市场部门和在这些部门中的不同客户的特征。 项目的优先级一旦明确建立项目的优先级,风险承担者和项目的参与者就能把精力集中在一系列共同的目标上。达到这一目的的一个途径是考虑软件项目的五个方面:性能、质量、计划、成本和人员。e.产品成功的因素明确产品的成功是如何定义和测量的,并指明对产品的成功有巨大影响的几个因素。不仅要包括组织直接控制的范围内的事务,还要包括外部因素。如果可能,可建立测量的标准用于评价是否达到业务目标. 3)用户群分类:产品的用户在很多方面存在着差异,例如:用户使用产品的频度、他们的应用领域和计算机系统知识、他们所使用的产品特性、他们所进行的业务过程、他们在地理上的布局以及他们的访问优先级。根据这些差异,你可以把这些不同的用户分成小组。用户类不一定都指人,你可以把其它应用程序或系统接口所用的硬件组件也看成是附加用户类的成员。以这种方式来看待应用程序接口,可以帮助你确定产品中那些与外部应用程序或组件有关的需求。将用户群分类并归纳各自特点为避免出现疏忽某一用户群需求的情况,要将可能使都有所差异。详细描述出它们的个性特点及任务状况,将有助于产品设计。 4)选择产品代表:择每类用户的产品代表为每类用户至少选择一位能真正代表他们需求的人作为那一类用户的代表并能作出决策。这对于内部信息系统的开发是最易实现的,因为此时,用户就是身边的职员。而对于商业开发,就得在主要的客户或测试者中建立起良好的合作关系,并确定合适的产品代表。他们必须一直参与项目的开发而且有权作出决策。每一个产品代表者代表了一个特定的用户类,并在那个用户类和开发者之间充当主要的接口。 5)建立核心队伍:建立起典型用户的核心队伍把同类产品或产品的先前版本用户代表召集起来,从他们那里收集目前产品的功能需求和非功能需求。这样的核心队伍对于商业开发尤为有用,因为你拥有一个庞大且多样的客户基础。与产品代表的区别在于,核心队伍成员通常没有决定权。 6)确定使用实例:让用户代表确定使用实例从用户代表处收集他们使用软件完成所需任务的描述-使用实例,讨论用户与系统间的交互方式和对话要求。在编写使用实例的文档时可采用标准模版,在使用实例基础上可得到功能需求。 一个单一的使用实例可能包括完成某项任务的许多逻辑相关任务和交互顺序。因此,一个使用实例是相关的用法说明的集合,并且一个说明是使用实例的例子。在描述时列出执行者和系统之间相互交互或对话的顺序。当这种对话结束时,执行者也达到了预期的目的。 对于一些复杂的使用实例,画出图形分析模型是有益的,这些模型包括数据流程图、实体关系图、状态转化图、对象类和联系图。 使用实例的描述并不向开发者提供他们所要开发的功能的细节。为了减少这种不确定性,需要把每一个使用实例叙述成详细的功能需求。每一个使用实例可引伸出多个功能需求,这将使执行者可以执行相关的任务;并且多个使用实例可能需要相同的功能需求。使用实例方法给需求获取带来的好处来自于该方法是以任务为中心和以用户为中心的观点。比起使用以功能为中心的方法,使用实例方法可以使用户更清楚地认识到新系统允许他们做什么。 每一个使用实例都描述了一个方法,用户可以利用这个方法与系统进行交互,从而达到特定的目标。使用实例可有效地捕捉大多数所期望的系统行为,但是你可能有一些需求,这些需求与用户任务或其他执行者之间的交互没有特定的关系。这时你就需要一个独立的需求规格说明。 7)召开应用程序开发联系会议:召开应用程序开发联系会议应用程序开发联系会议是范围广的、简便的专题讨论会,也是分析人员与客户代表之间一种很好的合作办法,并能由此拟出需求文档的底稿。该会议通过紧密而集中的讨论得以将客户与开发人员间的合作伙伴关系付诸于实践。 8)分析用户工作流程:分析用户工作流程观察用户执行业务任务的过程。画一张简单的示意图(最好用数据流图)来描绘出用户什么时候获得什么数据,并怎样使用这些数据。编制业务过程流程文档将有助于明确产品的使用实例和功能需求。你甚至可能发现客户并不真地需要一个全新的软件系统就能达到他们的业务目标。 9)确定质量属性:确定质量属性和其它非功能需求在功能需求之外再考虑一下非功能的质量特点,这会使你的产品达到并超过客户的期望。对系统如何能很好地执行某些行为或让用户采取某一措施的陈述就是质量属性,这是一种非功能需求。听取那些描述合理特性的意见:快捷、简易、直觉性、用户友好、健壮性、可靠性、安全性和高效性。你将要和用户一起商讨精确定义他们模糊的和主观言辞的真正含义。 10)检查问题报告:通过检查当前系统的问题报告来进一步完善需求客户的问题报告及补充需求为新产品或新版本提供了大量丰富的改进及增加特性的想法,负责提供用户支持及帮助的人能为收集需求过程提供极有价值的信息。 11)需求重用:跨项目重用需求如果客户要求的功能与已有的产品很相似,则可查看需求是否有足够的灵活性以允许重用一些已有的软件组件。
你好啊,你的开题报告选题定了没?开题报告选题老师同意了吗?准备往哪个方向写?开题报告学校具体格式准备好了没?准备写多少字还有什么不懂不明白的可以问我,希望可以帮到你,祝开题报告选题顺利通过,毕业论文写作过程顺利。技术路线一般是指研究的准备,启动,进行,再重复,取得成果的过程,不是指毕业论文的写作过程,更不是指答辩的准备和进行过程,许多同学会出现这些偏误。多参考下同类型的论文,其实技术路线讲的就是你的论文的整体思路、逻辑推理过程以及采用的论证方法在研究生教育的整个过程中,学位论文质量的高低是衡量研究生培养质量的重要标志。而论文质量的高低,很大程度上取决于论文开题报告 做的细致程度。论文开题报告做的细致,前期虽然花费的时间较多,但写起论文来就很顺手,能够做到胸有成竹,从而保证论文在规定的时间保质保量地完成;但如 果不重视论文开题报告,视论文开题报告为走过场,写起论文来就会没有目标,没有方向,没有思路,可能就要多走弯路,也很难保证毕业论文的质量。一、论文开题报告的意义硕士论文开题报告是研究生在完成文献调研后写成的关于学位论文选题与如何实施的论述性报告。论文开题报告既是文献调研的聚焦点,又是学位论文研究工作展开的散射点,对研究工作起到定位作用。写论文开题报告的目的,是要请老师及专家们帮忙判断一下所研究的选题有没有价值,研究方法是否奏效,论证逻辑有没有明显缺陷。因此论文开题报告就要 围绕研究的主要内容,拟解决的主要问题(或阐述的主要观点),研究步骤、方法及措施为主要内容。但笔者在工作实践中发现有很多学生往往在论文开题报告中花费大量笔墨叙述别人的研究成果,谈到自己的研究方法时,往往寥寥数语一笔带过。这样,不便于评审老师指导。二、如何写论文开题报告(一)论文开题报告的前提——通过理论思维选择课题在工作实践中,发现硕士研究生论文开题报告中存在的普遍问题是选题不合适。有的提出的问题太过“平庸”,有的选题范围太大,研究内容太多、太宽泛, 提出的问题不切合硕士生的实际,实践操作起来难度较大。如有的学生提出的论文题目:“新型中性镍催化剂的研究及其催化合成聚乙烯、聚丙烯的研究”,此选题 有意义,有创新,作者的研究思路也比较正确,但论文选题范围太大,研究内容对于一个硕士生来说明显偏多,无法按时完成。因此应重新确定研究内容,注重项目 的可操作性。那么如何选择研究问题呢?这里要强调的是通过理论思维来发现研究问题。理论是由一系列前设和术语构造的逻辑体系,特定领域的理论有其特定的概念、范畴和研究范式,只有在相同的概念、视角和范式下,理论才能够对话。只有通过对话,理论才能够发展。硕博论文要想创造新理论很难,多数是在既有理论的基础上加以发展。其次,选择问题是一个“剥皮”的过程,理论问题总是深深地隐藏在复杂的现实背后,而发现理论问题,则需要运用理论思维的能力。这就需要我们不断锻炼 和提高自己的理论思维能力,需要在日常的学习中,不断总结和分析以往的研究者大体是从哪些视角来分析和研究问题,运用了哪些理论工具和方法,通过学习和总 结来不断提高自己的理论思维能力,从而选择具有学术理论价值和应用价值,并与国家经济建设及导师承担的科学研究项目紧密结合的研究问题。(二)做好文献综述,为论文开题报告打好基础在研究生论文开题报告会上,出现的普遍问题是对文献的研读不够,对研究背景的了解不够深入,对研究方向上国内外的具体进展情况了解不够全面、详细, 资料引用的针对性、可比性不强。有很多学生没有完全搞清论文开题报告与文献综述的区别,他们的论文开题报告有很多仅仅是对前人工作的叙述,而对自己的工作 介绍甚少。文献综述的基本内容包括:国内外现状;研究方向;进展情况;存在问题;参考依据。这是对学术观点和理论方法的整理。同时,文献综述还是评论性的,因此要带着作者本人批判的眼光来归纳和评论文献,而不仅仅是相关领域学术研究的“堆砌”。要想写好论文开题报告,必须认真研读文献,对所研究的课题有个初步的了解,知道别人都做了哪些工作,哪些方面可以作为自己研究的切入点,因此,文献调研的深入和全面程度,会相当程度地影响论文开题报告的质量,是学生充分发挥主观能动性的客观基础。(三)论文开题报告的格式及写作技巧1.论文开题报告格式一个清晰的选题,往往已经隐含着论文的基本结论。对现有文献的缺点的评论,也基本暗含着改进的方向。论文开题报告就是要把这些暗含的结论、论证结论 的逻辑推理,清楚地展现出来。论文开题报告的写作步骤:课题选择—课题综述—论题选择—论文开题报告。论文开题报告的基本内容主要包括:选题的意义;研究 的主要内容;拟解决的主要问题(阐述的主要观点);研究(工作)步骤、方法及措施;毕业论文(设计)提纲;主要参考文献。为了写好论文开题报告,江苏工业 学院研究生部专门出台了详细的规定,规定论文开题报告的一般内容包括:(1)论文开题报告——课题来源、开题依据和背景情况,课题研究目的以及理论意义和实际应用价值。(2)论文开题报告——文献综述。在阅读规定文献量(不少于50篇,其中外文文献占40%以上)的基础上,着重阐述该研究课题国内外的研究现状及发展动态,同时介绍查阅文献的范围以及查阅方式、手段。(3)论文开题报告——主要研究内容。包括学术构思、研究方法、关键技术、技术路线、实施方案、可行性分析、研究中可能遇到的难点、解决的方法和措施以及预期目标。(4)论文开题报告——拟采用的实验手段,所需科研和实验条件,估计课题工作量和所需经费,研究工作进度计划。(5)论文开题报告——主要参考文献,列出至少10篇所查阅参考的文献。2.论文开题报告的写作技巧(1)提出问题注意“层次”选题是撰写学术论文的第一步,选题是否妥当,直接关系到论文的质量,甚至关系到论文的成功与否。不同于政策研究报告,学术文章聚焦理论层面、解决理 论问题。有的学生的选题不具有新颖性,内容没有创新,仅仅是对前人工作的总结,或是对前人工作的重复。在选题时要坚持先进性、科学性、实用性及可行性的原则。在提出问题时,要以“内行”看得懂的术语和明确的逻辑来表述。选题来源包括:1、与自己实际工作或科研工作相关的、较为熟悉的问题;2、自己从事的专 业某问题发展迅速,需要综合评价;3、从掌握的大量文献中选择反映本学科的新理论、新技术或新动向的题目。所选题目不宜过大,越具体越容易收集资料,从某一个侧面入手,容易深入。(2)瞄准主流文献,随时整理文献资料是撰写好学术论文的基础,文献越多,就越好写,选择文献时应选择本学科的核心期刊、经典著作等,要注意所选文献的代表性、可靠性及科学性; 选择文献应先看近期的(近3~5年),后看远期的,广泛阅读资料,有必要时还应找到有关文献所引用的原文阅读,在阅读时,注意做好读书卡片或读书笔记。整理资料时,要注意按照问题来组织文献资料,写文献综述时不是将看过的资料都罗列和陈述出来,而是要按照一定的思路将其提炼出来。只有这样,才能写出好的文献综述,也才能写出好的论文开题报告,进而为写出好的论文打下基础。(3)研究目标具体而不死板一般论文开题报告都要求明确学位论文的研究目标,但笔者认为,研究目标不宜规定得太死板,这是因为,即使条件一定,目标是偏高还是偏低,往往难于准 确判断,研究工作本身,涉及求知因素,各个实验室条件不同,具体研究时条件也不同。学位论文选题和研究目标体现了研究工作的价值特征。三、论文开题报告的质量保证为了保证硕士研究生的培养质量,提高论文质量,就必须对论文开题报告进行评价。论文开题报告会由3~5位相关学科的专家对论文开题报告进行评议,与 企业合作的重大科研项目可以聘请1~2位相应企业的具有高级职称的专家参加,不同学科的论文开题报告的侧重点不同。江苏工业学院研究生部规定学生必须进行 论文开题报告,并规定了统一的格式,设计了专门的论文开题报告评审表,论文开题报告会上研究生应对课题进行详细汇报,并对专家提问做出必要的解释和说明。 论文开题报告的成绩考核以合格、不合格记。评审小组成员最后签名并给出学生是否合格的评审意见,并以百分制打出具体的分数。论文开题报告成绩不合格者,不 得进入课题研究。为了提高论文质量,研究生必须首先从思想上重视论文开题报告,在平时的学习中注意积累,从各个方面提高能力,尤其要注意培养通过理论思维发现研究问题的能力。论文开题报告是研究工作的开始,良好的开端为优秀的学位论文奠定了坚实的基础。
软件工程的论文其实也比较简单,可以找一个你们单位已经有的系统,然后来套理论背景 概要设计 详细设计 实现 测试 几章一写 时序图 流程图 E-R图一画 运行界面一截图 基本就差不多了实在不会,可以找文天下论文网
软件工程诞生背景:几十年前,软件行业很不规范,小程序虽然个人能很好完成,但缺乏良好的代码管理;大程序设计人员多,工程复杂,由于缺乏相关理论知识和经验,导致很多失败的大项目产生,为了解决这种情况诞生了软件工程。建议你去读《人月神话》,能管窥一二。软件工程专业诞生背景:当年中国这片神奇的大地上缺少计算机方面刚毕业就能很好与企业接轨的人,因为高校供给企业的生源往往只知道理论知识,却不能又快又好地上手工作,企业又往往不愿意花费太多精力去培养这样的人,所以为了解决这种蛋疼的状况,中国的软件工程专业诞生了,更重视计算机实践方面的教学!
软件工程毕业设计论文
大学生涯就要结束,大家是不是都在忙着自己的毕业论文呢?软件工程专业的同学们,我为大家整理了该专业相关的论文,供大家参考!
一、软件工程专业毕业设计存在的主要问题
(一)毕业设计题目设置与选题方面
题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。
(二)毕业设计过程监控方面
毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。
(三)毕业设计论文答辩方面
答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。
二、软件工程专业毕业设计的教学改革
针对上述各项实际问题,主要进行的相关工作具体如下:
(一)合理设置毕业设计题目,动态选题
依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。
(二)毕业设计过程实行三级监控管理机制
学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的`毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。
(三)毕业设计过程量化考核
以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。
(四)在毕业设计过程中进一步提高学生工程能力与创新能力
辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。
三、结束语
软件工程专业毕业设计是一个极具综合性、实践性的重要环节,是对学生大学四年学习后面向社会与企业前的有且仅有的一次大检验,它不仅检验了学生所学知识、能力与综合素质,还检验了软件工程专业的培养目标、培养模式、课程体系、实践体系、创新体系等相关环节[10]。经过几年的探索与实践证明,软件工程专业所做的系列教学改革工作中的毕业设计教学改革工作有利于进一步增强学生的工程实践能力和创新能力,有利于提高软件工程专业毕业设计质量,有利于提高软件工程专业学生就业率与就业质量。虽然软件工程专业毕业设计教学改革工作取得了一定的成绩,社会认可度逐年稳步提高,但如何动态调整教学计划以跟进市场需求变化;如何深入开展大学生创新创业教育活动以进一步增强更多软件工程专业学生的实践能力及创新能力;如何进一步加强专业教师工程实践能力、工程设计能力与工程创新能力以提高毕业设计指导效力;如何提高毕业设计过程管理效率等问题仍然是软件工程专业所面临的严肃课题[11]。因此,软件工程专业的毕业设计教学改革工作也一定会紧跟时代变化,与时俱进。
第一章引言.............................................................................................................. 课题的背景..................................................................................................... 课题研究的内容............................................................................................. 课题来源............................................................................................... 课题的意义........................................................................................... 客户端应用程序开发......................................................................... 服务器应用程序开发......................................................................... 11第三章 系统设计与分析................................................................................... 需求分析....................................................................................................... 系统总体设计原则....................................................................................... 系统业务流程图........................................................................................... 15第四章 数据库设计............................................................................................ 系统功能描述............................................................................................... 功能模块划分............................................................................................... 系统数据库的组成....................................................................................... 系统的实体关系模型.......................................................................... 数据库的具体设计............................................................................. 系统安全性设计........................................................................................... 系统安全性构成................................................................................. 系统安全性设计................................................................................. 23第五章 各功能模块的设计与实现................................................................. 登陆界面。................................................................................................... 主窗体页面。............................................................................................... 管理员模块设计........................................................................................... 管理员权限设计................................................................................. 学生成绩管理..................................................................................... 教师模块设计……………………………………………………………… 教师权限设计..................................................................................... 学生成绩管理页面............................................................................. 学生成绩查询页面............................................................................. 学生模块设计............................................................................................... 学生权限设计...................................................................................... 学生成绩查询...................................................................................... 系统管理....................................................................................................... 密码修改页面...................................................................................... 密码修改代码...................................................................................... 40结 论....................................................................................................................... 43参考文献................................................................................................................... 44致 谢....................................................................................................................... 45
毕业论文的研究背景包括选题简介、个人想法、选题意义。
毕业论文的研究背景所写内容为:
1、选题简介:所选题目的现今研究的相关情况,如前人研究的成果,所选题目到目前所研究到的状况,先论述行业环境情况,然后引用行业数据报告作支撑。
2、个人想法:你对选题的特别看法,以及选此题的原因,你对前人的研究成果和看法的想法,以及前人的研究有哪些不足,你选择的研究放向的切入点。要体现你对这个题目的思考以及闪光点,要讲明在别人研究的基础上自己将要做的探讨是什么,即为什么写这篇论文以及要解决什么问题。
3、选题意义:就实际的工作实践活动未来发展趋势、前景而言,需要研究的价值意义。一个研究成立的基础就是它要有意义,最好能投入实际生产。意义又包括历史性意义、理论性意义和实践意义。也可以从哲学的高度、某专业或学科角度、某个理论角度等方面,探讨需要研究的价值意义。
毕业论文写作注意事项:
1、写毕业论文是一件很严谨的事,所以里面的一些用词要特别注意,要用合适的表达方式进行表述,避免过于口语化。口语化虽然比较通俗易懂,但是会给人留下一种不专业的印象。
2、写毕业论文不仅要有亮点,这一亮点还要突出。突出的亮点,能让你的论文更生动、更传神。所以写毕业论文时,一定要特别注意这一点,这一点做得好的话,能进一步升华我们的论文。
研究背景主要有以下几个写作点:
1.交代社会大环境。
2.再交代这个行业的大环境。
3.再交代目前急需解决的问题。
研究背景写作的主要内容和要求如下:
一、 选题的意义与价值。
本部分是要点出为什么要写本篇论文的问题,也就是写作的意图、缘由。意义与价值如果能区分开,就分开论述;如果不能,就合在一起说明。一般而言,主要从2个大的方面去写。一是理论意义与价值;二是实践意义与价值。
1.理论意义与价值。
一般有以下几种情况:
(1)就哲学的高度而言,需要研究的价值意义。
(2)就专业或学科角度而言,需要研究的价值意义。
(3)就某个理论角度而言,需要研究的价值意义。
2.实践意义与价值。
主要包括:
(1)就实际的工作实践活动未来发展趋势、前景而言,需要研究的价值意义。
(2)就实际的现在工作的实践活动而言,需要研究的价值意义。
(3)就实际的现在工作的实践活动改进而言,需要研究的价值意义。
研究背景是指论文课题在国内外现状、发展历程之类的;而意义主要是指这个东西在当下还不行,就诸多不足而言还存在着研究的价值和意义,那么论文研究背景和意义怎么写?下面我们就来给大家看看研究背景和意义的具体写作方法。 一、论文研究背景和意义怎么写? 在写作之前,我们先来看看二者之间的区别: 1、内容不同 研究背景就是主要是国内外现状、发展历程之类的;而意义要是指这个东西在当下还不行,就诸多不足而言还存在着研究的价值和意义,在某些方面可以改进。 2、行文顺序不同 背景就是对现状的描述,而意义则是对背景研究的结果。所以在论文中研究背景在研究意义前面。 二、研究背景如何进行写作呢? 论文研究背景主要有以下几个写作点: 1.交代社会大环境 2.再交代这个行业的大环境 3.再交代目前急需解决的问题 研究背景写作的主要内容和要求如下: 选题的意义与价值 本部分是要点出为什么要写本篇论文的问题,也就是写作的意图、缘由。意义与价值如果能区分开,就分开论述;如果不能,就合在一起说明。一般而言,主要从2个大的方面去写。一是理论意义与价值;二是实践意义与价值。 1.理论意义与价值 一般有以下几种情况: (1)就哲学的高度而言,需要研究的价值意义 (2)就专业或学科角度而言,需要研究的价值意义 (3)就某个理论角度而言,需要研究的价值意义 2.实践意义与价值 主要包括: (1)就实际的工作实践活动未来发展趋势、前景而言,需要研究的价值意义 (2)就实际的现在工作的实践活动而言,需要研究的价值意义 (3)就实际的现在工作的实践活动改进而言,需要研究的价值意义 三、论文的意义如何进行写作? 1.(你的选题)是前人没有研究过的,也就是说研究领域中一个新颖有意义的课题,被前人所忽略的 2.前人有研究过,或者说阐述过但是没有阐述论证的足够全面,你加以丰满,或者驳斥前人的观点, 总之,意义和目的一定要叙述的清晰并且是有一定新意的 其次注意自己所使用的理论,你是用什么理论证明你的观点 也要叙述清楚,否则难以有说服力 在做文献综述和国内外研究水平的评价等等也要有翔实的根据 这样才能衬托出你的选题的意义所在。 研究的目的、意义也就是为什么要研究、研究它有什么价值。这一般可以先从现实需要方面去论述,指出现实当中存在这个问题,需要去研究,去解决,本论文的研究有什么实际作用,然后,再写论文的理论和学术价值。这些都要写得具体一点,有针对性一点,不能漫无边际地空喊口号。 主要内容包括: (1)研究的有关背景(课题的提出):即根据什么、受什么启发而搞这项研究。 (2)通过分析本地(校)的教育教学实际,指出为什么要研究该课题,研究的价值,要解决的问题。 以上就是"论文研究背景和意义怎么写?的全部介绍,希望对大家写论文研究背景和意义有所帮助。
关于硕士论文的研究背景怎么写
研究背景就是指课题的出发点,主要阐述是在什么环境下产生的研究课题,是新产生的问题还是过去就存在的未解决的问题。这是硕士论文中必须要阐述清楚的内容,那硕士论文的研究背景部分具体该怎么写呢?以下是我为大家整理关于硕士论文的研究背景怎么写的相关内容,仅供参考,希望能够帮助大家!
一般情况下,此部分需要阐述清楚以下三个问题:
1.交代社会大环境;
2.再交代这个行业的大环境;
3.再交代目前急需解决的问题。
研究背景写作的主要内容:
一、选题的意义与价值
本部分是要点出为什么要写本篇论文的问题,也就是写作的意图、缘由。意义与价值如果能区分开,就分开论述;如果不能,就合在一起说明。一般而言,主要从2个大的方面去写。
1. 是理论意义与价值
一般有以下几种情况:
(1)就哲学的高度而言,需要研究的价值意义
(2)就专业或学科角度而言,需要研究的价值意义
(3)就某个理论角度而言,需要研究的价值意义
2. 实践意义与价值
主要包括:
(1)就实际的工作实践活动未来发展趋势、前景而言,需要研究的价值意义
(2)就实际的现在工作的实践活动而言,需要研究的价值意义
(3)就实际的现在工作的实践活动改进而言,需要研究的价值意义
二、研究综述研究
1.综述是梳理前人在本课题相关领域内所做的工作和尚存的知识空白,目的是为了确定自己论文写作的理由。
一般主要是从三个方面进行表述:
1.要写明本课题相关领域内研究对象的简要历史回顾。如历史由来、目前现状、未来发展趋势。
2.要做国内外情况的横向比较。
3.要对这些研究作出自己的评价。
2.综述具有三个基本特征:
1.论述的资料有一定的数量
2.研究所论述的内容相对集中
3.研究的系统而全面性还需要做进一步的整理
三、课题的研究意义与目的
确定自己研究的逻辑起点,也就是要讲明在别人研究的基础上自己将要做的探讨是什么?即为什么写这篇论文以及要解决什么问题。
1.历史性意义
2.实践意义
论文题目:基于RUP的行政事业性单位收费票据系统的设计与实现
研究背景和意义
随着21世纪经济全球化和信息时代的到来,计算机技术、通信技术和计算机网络技术迅猛发展,自动化的信息处理能力和水平不断提高,并在人们社会活动和生活的各个领域得到广泛应用。很难想象如果没有“计算机”、没有“软件”,我们的社会、生活将是怎样。面对着各种现实的和潜在的计算机应用需求,研究如何能更快、更多、更方便地开发出各种不同目的的软件,是软件工程技术所必须解决的一个问题[1]。
软件工程,根据IEEE给出的定义为“开发、运行、维护和修复软件的系统方法”,其采用工程的概念、原理、技术和方法来开发与维护软件,核心思想是把软件产品看作一个工程产品来处理,将工程项目中的需求分析、质量监督等引入软件开发中,从而使软件项目能够达到以下几个主要目标:付出较低的开发成本;达到预期的软件功能;获得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用[2] 。
但软件工程又有不同于一般工业工程的一些技术方法。软件工程学定义了软件工程的三个基本要素:方法、工具和过程。其中软件工程方法为软件开发提供了“如何做”的技术,它通常采用某种特殊的语言或图形的表达方法及一套质量保证标准;软件工具为软件工程方法提供了自动的或半自动的软件支撑环境,当一种方法被证明有效后,往往就会随之研制出相应的工具来帮助实现和推行这种方法,提高软件设计效率,减轻劳动强度;软件工程过程将软件工程的方法和工具综合起来以达到合理及时地进行软件开发的`目的,它定义了方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理以及软件开发各个阶段完成的里程碑[2]。 所以,如果选择了一种合适的软件工程过程对软件系统的开发进行指导,必能起到事半功倍的效果,大大有益于提高软件开发的效率、质量和可复用性。
研究现状
软件工程过程
“过程”一词可解释为“为了达到给定目的而执行的一系列活动的集合”,它定义了为了达到某个明确的目的,需要什么人在什么时间以何种方式作何种工作。对于软件工程而言,其目标是构造一个新的软件产品或者完善一个旧的软件产品[3]。那么,软件工程过程则是指项目的状态、阶段、方法、技术以及人们用于开发和维护软件相关产品(计划、文档、模型、代码、测试用例及手册等)的实践集合。如图1-1所示,它是将用户的需求转化为有效的软件解决方案的一系列活动。
软件过程定义了实现软件生命周期的不同阶段的方法,为有效的软件开发和演变提供了指南。它使软件开发中的风险降低,并且提高软件质量,若采用有效的软件过程可以在开发软件时提高生产率。
首先,理解软件是如何开发的有助于做出更明确的决定;
其次,软件过程能标准化投入,提高可重用性、再现性以及项目组之间的一致性;
第三,软件过程为引入代码审查、配置管理、变更控制以及架构建模等良好的产业实践提供了机会;第四,一个已定义的软件过程为更好的一致性和进一步的提高确定了基线[3,4]。
同时,一个已定义的软件过程同样也会在很多方面改进组织的维护和支持工作。因为它定义了:如何管理变更并为软件将来的发布而恰当的分配变更维护,以使得变更过程更有效率;如何使软件平滑的转变为操作和支持,以及操作和支持的工作如何得到实际的执行[5]。 因此,采用软件过程可以说是一种形势的需要。行之有效的软件过程可以提高开发软件组织的生产效率、提高软件质量、降低成本并减少风险。传统的软件过程采用结构化技术,其缺陷对于开发中小规模、结构相对简单的软件而言似乎不明显,但对于规模庞大、结构复杂、软件需求模糊的软件开发项目则容易产生开发人员缺乏交流、缺少共享信息的问题。为弥补这方面的缺陷,适应软件开发的需要,涌现了许多行之有效的软件开发过程,其中应用比较广泛且具有代表性的软件过程主要有RUP、XP、OOSP、DSDM、Catalysis和OPEN Process等几种,本文将对具有较高知名度的RUP统一过程及其应用进行研究。
面向对象的软件过程
面向对象的方法是把分析建立在系统对象以及对象间交互的基础之上,使得我们能以三个最基本的方法框架——对象及其属性、分类结构和集合结构来定义和沟通需求。在面向对象的软件过程领域,主要有三种方法:统一软件过程(Rational Unified Process),OPEN过程(The OPENProcess)和OOSP(The Object-Oriented Software Process)[4,7]。在此,分别简单介绍一下这三种面向对象的软件过程。
1、统一软件过程(RationalUnified Process,RUP) 统一软件过程(RationalUnified Process,RUP)[4,6,8,9,10]是一种具有明确定义和结构的软件工程过程。它采用用例驱动、以架构为中心、迭代增量的软件开发方法。它明确规定了人员的职责、如何完成各项工作以及何时完成各项工作,并提供了软件开发生命周期的结构。
UML作为OO(Object-Oriented)开发的通用工具,己成为业界的事实标准,RUP是UML的过程补充框架,是UML推荐的软件开发过程。它能适应广泛的一类过程,因此,它即能用于传统的瀑布模型,也能适用于一些轻载方法,并且RUP是一种可以定制的软件开发过程。RUP为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件[6,7]。Rational Unified Process汇集现代软件开发中多方面的最佳经验,为适应各种项目及组织的需要提供了灵活的形式。
2、OPEN过程[7](Object-OrientedProcess,Environment and Notation)
OPEN是面向对象的过程、环境和标记(Object-Oriented Process,Environment andNotation)的首字母缩写,它是由致力于促进和加强使用面向对象技术的非盈利组织OPEN联盟开发的。
OPEN过程具有如下特点:
(1)以过程为中心:OPEN被定义为一个过程框架。这是一个过程元模型,从中可以生成一个特定组织的过程实例。每个过程实例都是由特定的活动、任务和技术以及特定的配置构成。
(2)具有灵活性:OPEN过程是基于元模型的框架,项目或组织可以根据自己的环境对该框架进行裁剪,生成一个适合项目或组织需要的过程。OPEN不仅支持用例驱动的方法,而且还支持责任驱动的方法、数据驱动的方法等等。在对建模语言的支持上,OPEN可以支持UML(统一建模语言)、OML(对象建模语言)以及任何其他OO(面向对象)的符号来文档化OPEN过程产生工作产品。
(3)提供完整的生命周期支持:OPEN不仅包含生命周期的软件部分,而且还有商业和用户方面。OPEN内含一个项目管理和复用框架,支持多项目开发。
3、OOSP过程[7](TheObject-Oriented Software Process)OOSP(TheObject-Oriented Software Process),面向对象的软件过程是由Scott W. Ambler在他的《过程模式》一书中提出来的。OOSP是一个过程模式的集合,这些过程模式是经过实践检验的管理大规模面向对象软件开发项目的技术总结。OOSP主要针对中到大型组织,它提供了一个框架,目的是用对象技术成功地开发大型应用软件,开发易维护和增强的软件,并对项目进行管理,保证开发具有较高的质量。
OOSP具有如下特点:
(1)它是一个软件过程的全面方法,考虑了较完整的生命周期。
(2)它准确地刻画了大规模的关键软件,在大的方向上是顺序的,而在小的方面是迭代的。
(3)它明确支持整体规划——基础设施过程,可得到大规模的复用及有效地管理软件项目集合。
(4)OOSP明确包括了避免失败的过程,如使组织的工作泛化以便复用、执行风险管理、执行质量保证,以及软件交付时评估项目和项目组。
根据评估软件能力与成熟度的标准的能力成熟度模型(Capability Maturity Model,CMM),OPEN、OOSP与RUP均能支持CMM关键过程域的2级到3级标准。OPEN和OOSP与RUP相比,优势在于它们都覆盖了完整的软件工程过程,而不仅仅是开发过程,RUP中缺少维护、软件操作与支持、组织与管理等方面的内容;OPEN与OOSP都支持多项目,而RUP集中于单一项目。但OPEN和OOSP共同的缺点在于它们在市场营销方面做得不够,在市场上缺乏竞争力。而RUP在推向市场后,凭借Rational公司和现在IBM公司的强大实力的支持,以其与UML的良好集成、有多种CASE工具的支持、不断的升级与维护等特点,迅速得到业界广泛的认同,市场竞争力上的巨大优势是RUP被广泛地用作软件开发的指导的最重要的原因[7,27,28]。
因此,本文选取的课题,希望对 RUP 方法及其应用进行深入研究和探讨,并以行政事业性单位收费票据系统的实际开发为例,按照RUP安排该软件系统的开发过程,用UML来描述系统分析和设计的成果,这样从需求分析开始,到最终系统的实现,便成功地完成了该项目的整个开发过程。
硕士学位论文的研究背景一般是指课题研究的出发点,主要阐述是在什么环境下产生的研究课题。
研究背景一般需要阐述以下几个方面的内容:国家有战略、社会有需求、研究有必要等。
1. 国家新战略(计划、政策等)、时代新思路(新目标)、发展新趋势(新动态)等
阐述课题研究是当下国家所关注的话题,国家或行业有这方面的计划、政策、战略支撑;或选题体现着未来这方面发展的新思路(新理论);或选题体现着未来这方面发展的新态势。体现课题研究是围绕重要的政策、战略、目标或思路、趋势和学科前沿等问题展开的。
2. 社会有需求
阐述课题研究是当下或未来社会需要的。体现学位论文紧密结合我国经济社会发展的重要需求。
3. 研究有必要
说明课题的现今相关情况,指出课题核心内容目前有哪些值得思考的话题,或有哪些不足、乱象,或有哪些困惑,或存在哪些问题等等;或者对前人的研究成果有何异议,或是有何更深入的观点,或有哪些不足值得你再加以研究等;阐述课题研究的必要性。
4. 研究新方法(新视角、理论)
说明课题研究的一般切入视角的相关情况,指出在当下通过这一新方法或新视角、新路径等去思考,可以解决、探究现今的问题、困惑等,提出创新思路、方案、策略等。
上述背景的正文撰写,要符合学位论文正文写作的基本要求(是什么、为什么、点题……。是什么、为什么的顺序根据论述需求确定)。同时要结合选题的研究对象或研究范围做一定的呼应。
这里的点题一般是回复这个国家战略的意义是什么,或者这个社会需求问题的解决将产生的效应或影响是什么,或者这个研究的作用是什么。
例如:陈玲同学的硕士论文《苏南地区休闲农业特色小镇规划策略研究》,其研究背景可以从以下几方面阐述:
(1)(国家有战略)城乡统筹驱动农旅产业融合
(2)(社会有需求)休闲需求引导农业转型升级
(3)(研究有必要)休闲农业推进特色小镇培育
例如:李霞辉同学的硕士论文《张家港市沙上地区乡村聚落形态研究》,其研究背景可以从以下几方面阐述:
(1)(国家有战略)留住“乡愁”是新型城镇化的重要战略思想
(2)(社会有需求)乡村聚落是乡土文化的重要载体
(3)(研究有必要)快速城镇化背景下乡村聚落被“城市化”了
(4)(研究有必要)张家港市沙上地区的乡村聚落地域特征鲜明
例如:过琰林同学的硕士论文《安徽省龙亢农场创建国家现代农业庄园规划策略研究》,其研究背景可以从以下几方面阐述:
(1)(国家有战略)乡村振兴驱动农垦新发展
(2)(社会有需求)农旅融合拓展农场新业态
(3)(研究有必要)创建国家现代农业庄园培育农场新功能
例如:王畅同学的硕士论文《被撤并镇有机更新规划策略研究——以张家港市港口小城镇为例》,其研究背景可以从以下几方面阐述:
(1)(国家有战略)新型城镇化战略推进城乡发展一体化
(2)(社会有需求)全面小康目标推动被撤并镇提档升级
(3)(研究有必要)被撤并镇发展的边缘化现象亟待重视
(4)(视角有新意)有机更新理念指导被撤并镇再生发展
例如:毛玮同学的硕士论文《基于乡土文化保护的“镇中村”整治规划策略研究——以张家港市西徐市村庄为例》,其研究背景可以从以下几方面阐述:
(1)(国家有战略)乡土文化保护是乡村振兴战略的重要举措
(2)(社会有需求)镇中村的乡土文化是城镇发展的特色资源
(3)(研究有必要)镇中村的整治规划应传承和发展乡土文化
留个邮箱地址啊,这里写不完
留邮箱,我发给你
建设工程监理工作背景怎么写答:按实际情况写
你好,如果可以的话给我一个邮箱,这是我上图书馆资源数据库(万方,中国知网等)搜索得到的最新的文章,希望能帮得上你。八篇文章题名为:《北京地铁1、2号线线路设备改造工程监理的质量控制》《工程监理保险的资产负债管理》《试论公路工程监理资料和施工资料的编制》《浅析工程监理的现状与发展》《基于需求导向下的工程监理理论分析》《基于博弈论的工程监理问题再分析》《工程监理与工程项目管理的比较——引发的工程监理发展向工程项目管理转化》《工程监理服务质量的灰色模糊综合评判》希望对你有帮助~ 知道 举手之劳团队 队长:晓斌
学术论文还是毕业论文?毕业论文一般就是xxx项目测试实践,学术性的话就xx领域软件测试方法及用列设计思路
当然肯定是多去找写好论文的素材和材料,然后定好论文的框架和论点。
地理信息系统的发展(应用在手机上面)展望前景
软件测试就是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。下面学术堂整理了十五个关于软件测试论文题目,希望对您有所帮助。1、 探讨计算机软件测试的相关技术应用2、 软件测试方法研究3、 基于安全性的航空发动机控制软件测试技术4、 互联网+背景下软件测试课程混合教学模式5、 计算机软件测试方法及应用实践6、 因果图法在ATE软件测试用例设计中的应用7、 众包软件测试技术研究进展8、 互联网时代背景下基于软件测试的软件工程特色专业建设研究9、 论自动化软件测试技术的实际运用10、 地理国情普查质检软件测试方法11、 以工程和就业能力培养为导向的软件测试人才培养改革研究12、 直升机机电管理系统软件测试方法研究13、 智能网联汽车对软件测试领域研究14、 基于云计算的电力软件测试技术研究15、 基于故障注入的嵌入式测绘导航软件测试技术研究