软件工程硕士论文致谢(精选12篇)
1.软件工程硕士论文致谢 篇一
本论文及其中所载研究成果是在我的导师苗放教授和杨文晖副教授的悉心指导和帮助下完成的,从最初论文选题,到框架设计,直至定稿,两位老师都倾注了大量心血。苗放教授与杨文晖副教授深厚的理论素养,丰富的实践知识,开拓了我的视野,使我的科研能力有了很大的提高。此外,苗老师和杨老师严谨的治学态度和科学的工作方法更是给予了我极大的帮助,并且必将对我今后的工作和生活产生极为深远的影响,在此衷心感谢三年来苗放老师与杨文晖老师对我学习、生活及科研方面的关心与指导。
感谢成都理工大学在我攻读硕士研究生这三年期间,为包括我在内的理工学子提供了良好的环境条件,优质的生活服务,以及丰富的学术资源,所有理工学子都将铭记母校的情谊,今后必将用实际行动感恩母校、回馈母校。
感谢同门兄弟姐妹高攀、刘彬、但菲、沈卫东、赵雷、李瑞、朱栩逸、张铁川等同学,在我攻读硕士期间曾给予我莫大的帮助与鼓励,我定将铭记同窗之情。此外,我还要感谢高攀、刘彬、曾颖超三位室友的三年陪伴,以及我的两位好朋友罗元、吴永辉给我的鼓励与支持。
最重要的是感谢我的父母,对我这么多年无微不至的照顾,和一直以来对我学业的默默支持,父母的养育之恩我将铭记于心。
此刻,怀着无比感激又十分不舍的心情面对即将告别的成都理工大学、各位老师、同学与朋友,囿于篇幅,恕不一一致谢。天高任鸟飞,海阔凭鱼跃,希望在即将到来的新的人生征程,各位前程似锦!
2.软件工程硕士论文致谢 篇二
1.1 研究背景
随着软件工程的不断发展, 对软件工程的研究逐渐划分为两个方面:
(1) 软件工程技术。包括对工程化的开发方法, 软件开发工具与环境的研究。主要面对的技术有:适应需求分析的不确定性;软件的可靠性;软件度量;软件复用性等。
软件工程技术的发展非常迅速, 出现了许多优秀的软件开发方法和工具。比较熟悉的瀑布模型、快速原型法等方法在国内外都有过成熟和成功的应用范例。近几年随着新的软件开发技术的不断涌现, 一些先进的软件开发思想也不断渗透到软件工程技术的研究中, 出现了诸如面向对象的软件工程等新的软件工程开发技术, 给软件工程技术的研究带来了新的课题。
(2) 软件工程管理。包括质量管理, 费用管理, 配置管理, 项日管理等。主要面对的问题有:软件开发成本的控制;软件开发中的资源控制;软件质量的控制;开发进度的控制等。
人们最初认为软件工程的发展主要由软件工程技术决定, 而长期忽视软件工程与软件质量管理。对软件工程管理和软件质量保证的重视, 从而导致了对软件工程管理的研究长期滞后。
可喜的是随着国内众多工业企业掀起的与国际标准接轨, 进行国际标准化质量体系认证 (ISO 9000系列) 的热潮, 许多软件开发企业的有识之士已经开始关注软件质量的管理, 甚至开始准备或已经进行软件质量体系国际标准化认证的工作。
1.2 研究方向
随着国际计算机行业新思想, 新技术的不断涌现, 只有从一开始就站在一个较高的起点上研究和开发软件工程的技术和管理, 才能紧跟、赶上、甚至超过软件工程的国际先进水平。试图从软件工程学科的两个方面 (软件工程技术和软件工程管理) 对国际上的一些新的发展进行研究;而且希望结合具体的开发实例寻求一套比较实用和先进的软件系统开发和管理手段。
采用的方法主要来自于Elvar Jacobs等人的“面向对象的软件工程” (object-Oriented Software Engineering, OOSE) 这一方法, 略加修改以适应软件质量管理的需要。将在第二章详尽介绍这一方法, 并简要其它面向对象的开发方法。
2 软件质量体系参考模型
2.1 模型的建立
提出的软件质量参考模型是基于三个方面的考虑而形成的, 包括SQMP、OOSE和ISO9000-3。建立模型的基本指导思想是SQMP, 即软件质量管理的方法。SQMP首先要求对软件的质量要有一个目标 (即需求的建立) 。根本地、全面地满足用户的需要当然是任何体系模型最基础的目标。但是, 不同的体系模型由于存在不同的体系结构, 实现方法和着眼点, 必然在具体的功能和性能要求上有不同的追求。由前面对软件工程两个方面的讨论可知, 提出的模型希望使软件产品最大程度地具有可维护性、可重用性、可移植性, 更主要的是使软件开发过程更简单, 更易理解, 具有更高的灵活性、抗变化能力、可维护性和可追溯性。这些要求与体系模型建立的方法有很大关系, 即SQMP中的第二方面:设计、开发和维护的方法。这里采用的方法是OOSE法。面向对象的思想本身就具有许多优秀的品质, 而OOSE以维护为主要目的, 它的软件设计和开发过程能更充分地利用面向对象的思想的优势, 使模型的质量目标更易实现。
2.2 质量体系框架
本小节规定了质量体系框架建立的基本原则、基本步骤、基本要求和基本要素。主要包括七个方面:
(1) 确定质量方针和质量目标
质量方针体现了一个组织对质量的追求, 对顾客的承诺, 是职工质量行为的准则和质量工作的方向。质量方针中应包括质量目标, 质量目标是一个企业或组织对质量的具体要求。
(2) 确定组织机构
企业内部应对现有的组织机构进行调整以适应质量管理的要求, 对具体的项目而言应建立相应的责任小组。组织机构中应至少建立一个质量管理部门专门负责质量体系的建立, 质量控制的实施和与质量相关的其它活动。质量部门应具有较高的独立性, 一般只对最高领导或机构负责, 不受其它部门和项目的约束。它还应具有相当大的权利, 能够对在生产过程的各个环节, 产生的质量问题予以及时解决。
(3) 培训和教育
在质量体系实施之前, 应由最高领导者或机构负责, 由质量管理部门实施, 对全体员工进行质量管理的教育和培训, 以提高全员的质量意识, 熟悉质量管理的过程和方法, 明确责任和分工, 以确保高效快速的实施质量体系。首先由质量管理角色制定出质量管理培训计划, 并与规划角色协商, 然后, 依次对开发层和实现层进行质量概念的教育, 力求使每一个开发和管理人员明确自己的责任, 明确质量管理的重要性。最后, 将质量手册分发给每个人, 使每个人对自己的职责、行为规范和质量要求有明确的认识。
(4) 确定管理职责
在明确组织机构的同时, 质量体系应明确各个机构和人员的职责及他们之间的相互关系。这些责任应包括企业和项目管理者的责任, 各个机构的责任, 客户方责任, 工程需求分析、开发、实现和测试等各个环节管理者的软件工程与软件质量管理责任等, 以期达到产品开发的每个过程和质量控制的每个环节都有明确的分工负责, 既无重叠也无疏漏, 以防止质量因控制的原因产生缺陷。
(5) 评审
应组织专门人员和机构对建立起来的质量体系进行定期的审核, 以确保质量体系的不断改进。审核有内部审核和外部审核。内部审核是企业的主动行为, 应包括开发和管理的各个过程的主要负责人。在审核前应按照需要和重要性安排审核的顺序。审核结果要有书面记录, 发现问题应及时采取纠正措施。
(6) 质量体系文件
质量体系的所有要素和规定都应落实成文字, 要用系统有序的方法将所有质量体系要素、要求和预防措施清楚地写入文件。每个软件项目的开发和实施都应依据质量体系文件的规定制定相应的质量活动计划并形成文件, 以确保有关机构和人员能够理解并遵照执行。
(7) 纠正措施
应制定采取纠正措施的书面规定并贯彻执行。其内容应包括:调查产品不合格的原因并研究为防止再发生所需的纠正措施;对全部过程、操作、质量记录、服务报告和顾客投诉进行分析, 以查明不合格品的潜在原因;根据风险程度, 采取相应的预防措施;应对纠正措施的有效实施予以控制;执行由纠正措施引起的规程的更改并予以记录。
结束语
在对软件工程的发展现状进行分析后, 提出了对软件工程的一些基本认识和看法, 并以此为出发点, 希望结合最先进的软件工程开发技术和管理的成果, 探讨一种面向实用的、保证软件质量和提高软件生产效率的大型系统的开发方法, 并给出了一个质量体系框架模型。
以上观点还有许多值得推敲的地方, 由于知识的局限性, 致使很多问题未能进行深入的探讨。对于提出的模型, 还需要进行大量的实际应用才能积累度量本方法质量的数据和经验, 单纯从理论上考察这个模型是不够的。
参考文献
[1]中国认证人员国家注册委员会.质量体系内部审核员国家通教程[Z].[1]中国认证人员国家注册委员会.质量体系内部审核员国家通教程[Z].
[2]李友仁.软件工程与软件质量分析[Z].[2]李友仁.软件工程与软件质量分析[Z].
[3]朱兰.质量计划与分析[Z].[3]朱兰.质量计划与分析[Z].
3.浅谈软件工程之软件需求分析 篇三
【关键词】软件工程 软件需求 需求工程 需求开发 需求管理
【中图分类号】TP311.5【文献标识码】A 【文章编号】2095-3089(2015)06-0181-02
软件工程师所需解决的问题往往十分复杂,了解问题的性质可能是非常困难的,尤其当系统是全新的时候。
1.综述
软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段,这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。本文以企业人事信息管理系统为例详细介绍了需求工程的构成和进行方法。
2.需求的标准
定義需求标准有所不同,但在思想上是相同的,都是为了保证项目的顺利进行。一般的标准为:明确(Clear)、完整(Complete)、一致(Consistent)、可测试(Testable),还有可跟踪、可修改等等。
明确:目前大多数的需求分析采用的仍然是自然语言,自然语言对需求分析最大的弊病就是它的二义性。所以对需求分析中采用的语言应该做某些限制尽量采用主语+动作的简单表达方式。还有,不要使用计算机术语。需求分析最重要的是和用户沟通,可是用户多半不是计算机的专业人士,如果在需求分析中使用了行话,就会造成用户理解上的困难。
完整:需求的完整性是非常非常重要的,要做到需求的完整性是很艰难的一件事情,它涉及到需求分析过程的各方各面,贯穿了整个过程,从最初的计划制定到最后的需求评审。
一致:用户需求必须和业务需求一致,功能需求必须和用户需求一致。严格的遵守不同层次间的一致性关系,就可以保证最后开发出来的软件系统不会偏离最初的实现目标。
可测试:需求的几项标准都是为了保证需求的可测试性,只有系统的所有需求是可以被测试的,才能够保证软件始终围绕着用户的需要,保证软件系统是成功的。
需求工程分为了需求开发和需求管理两个阶段:下面就以这两个阶段说明:
3.需求开发
需求开发又分为需求获取、需求分析、编写规格说明书和需求验证。以下列出和讲解分析常规的步骤,当然应按照项目的大小和特点等实际情况我们应该自己确定合适的步骤。
3.1需求获取:
这是该阶段的一个最重要的任务。以下为获取用户需求需要执行的活动。
了解客户方的所有用户类型以及潜在的类型。然后,根据他们的要求来确定系统的整体目标和系统的工作范围。
对用户进行访谈和调研。交流的方式可以是会议、电话、电子邮件、小组讨论、模拟演示等不同形式。需要注意的是,每一次交流一定要有记录,对于交流的结果还可以进行分类,便于后续的分析活动。例如,可以将需求细分为功能需求、非功能需求(如响应时间、平均无故障工作时间、自动恢复时间等)、环境限制、设计约束等类型。
需求分析人员对收集到的用户需求做进一步的分析和整理。
需求分析人员将调研的用户需求以适当的方式呈交给用户方和开发方的相关人员。大家共同确认需求分析人员所提交的结果是否真实地反映了用户的意图。
3.2需求分析
需求分析是软件定义时期中很重要的一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。在很多情形下,分析用户需求是与获取用户需求并行的,主要通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的渠道。这些模型是对需求的抽象,以可视化的方式提供一个易于沟通的桥梁。用户需求的分析与获取用户需求有着相似的步骤,区别在于分析用户需求时使用模型来描述,以获取用户更明确的需求。
用于需求建模的方法有很多种,最常用的包括数据流图(DFD)、实体关系图(ERD)和用例图(Use Case)三种方式。DFD作为结构化系统分析与设计的主要方法,已经得到了广泛的应用,DFD尤其适用于MIS系统的表述。DFD使用四种基本元素来描述系统的行为,过程、实体、数据流和数据存储。DFD方法直观易懂,使用者可以方便地得到系统的逻辑模型和物理模型,但是从DFD图中无法判断活动的时序关系。
ERD方法用于描述系统实体间的对应关系,需求分析阶段使用ERD描述系统中实体的逻辑关系,在设计阶段则使用ERD描述物理表之间的关系。需求分析阶段使用ERD来描述现实世界中的对象。ERD只关注系统中数据间的关系,而缺乏对系统功能的描述。如果将ERD与DFD两种方法相结合,则可以更准确地描述系统的需求。
3.3编写规格说明书
项目视图和范围文档包含了业务需求,而使用实例文档则包含了用户需求。你必须编写从使用实例派生出的功能需求文档,还要编写产品的非功能需求文档,包括质量属性和外部接口需求。软件需求规格说明阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。它应该尽可能完整地描述系统预期的外部行为和用户可视化行为。
采用软件需求规格说明模版:采用需求规格说明书模板在你的组织中要为编写软件需求文档定义一种标准模板。该模板为记录功能需求和各种其它与需求相关的重要信息提供了统一的结构。注意,其目的并非是创建一种全新的模板,而是采用一种已有的且可满足项目需要并适合项目特点的模板。
3.4需求验证
需求分析阶段的工作结果是开发软件系统的重要基础,大量统计数字表明,软件系统中15%的错误起源于错误的需求。为了提高软件质量,确保软件开发成功,降低软件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。一般说来,要按以下步骤进行需求验证:
1)审查需求文档;2)依据需求编写测试用例;3)编写用户手册;4)确定合格的标准。
4.需求管理
需求开发的结果应该有项目视图和范围文档、使用实例文档、软件需求规格说明及相关分析模型。经评审批准,这些文档就定义了开发工作的需求基线。这个基线在客户和开发人员之间就构筑了计划产品功能需求和非功能需求的一个约定。需求约定是需求开发和需求管理之间的桥梁,需求管理包括在工程进展过程中维持需求约定集成性和精确性的所有活动。
5.企业人事管理系统
5.1企业人事管理系统概述
企业人事管理系统是针对企业人事方面的大量业务处理工作而开发的管理软件。根据用户的要求,实现人员基本情况管理、工资管理、和考勤管理等几个方面的功能。用户通过输入工资、考勤、职工履历等基本信息,由系统自行生成相应的统计数据及各类统计报表以供用户查询、打印。
5.2系统功能分析
系统开发的总体任务是实现企业人事信息关系的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成的。经过按照以上分析过程进行分析,分析出企业人事信息管理需要完成功能。
6.总结
以上详细介绍了软件需求分析过程。软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段,要想做好一个项目,必须先做好需求分析,需求工程分为了需求开发和需求管理两个阶段:需求开发又分为需求获取、需求分析、编写规格说明书和需求验证。需求管理就是对需求变更控制的过程。通过介绍企业人事信息管理系统的需求分析阶段,更好地说明了需求分析过程。
参考文献:
4.计算机软件工程论文致谢怎么写 篇四
在整个论文的写作过程中,陈佳导师在对我的论文定题,资料的搜集以及论文的写作阶段都给予了我很多无私的指导和帮助。此外,陈佳导师还在我论文写作遇到困难的时候给予了我很大的精神上的鼓励,在我论文写作方向误入歧途的时候也是陈佳导师及时指导纠正了我的方向错误。最后,在这篇论文在初稿完成后的修改过程中同样也倾注了陈佳导师的大量心血。在论文写作即将结束的时候我也把陈佳导师当作了我的良师益友,作为老师,她授业解惑,作为长辈,她关怀备至,作为朋友,她鼓励我不畏艰难前行。在此,我要再一次对我的导师陈佳老师致以深深的谢意。
此外,我还要感谢学院的所有授课老师,是您们为我打开了管理学的学习之门,让我为未来的工作储备了更多的知识,同时也让我更加开阔了眼界,这对于我个人的成长帮助是无以言表的。
我还要感谢大连海事大学管理学院为我们这些志同道合的同学搭建了这样一个平台,这不仅仅是一个学习的平台,同样,它也是一个不同领域知识文化交流的平台,是一个建立友谊的平台,是一个了解世界的平台。
5.工程硕士毕业论文致谢 篇五
本论文是在导师xxx教授的精心指导下完成的。在三年的研究生学习生活中,老师给了我热情的关怀老师严谨的治学态度、敏锐的洞察力、务实的工作作风以及为人处事的态度都对我产生了很大的影响。能够成为老师的学生,聆听他的`教诲,深感荣幸。老师的栽培之恩,我永生难忘。
感谢建工学院xxx教授、xxx教授、xxx教授、xxx副教授和xxx老师三年中给我的教诲,将使我终身受益。同时也感谢我的师姐xxx老师、中铁十九局三处的xx处长和西铁集团的xxx工程师,他们对于我论文的完成也给我很多支持和帮助。
感谢各位专家在百忙之中审阅论文并给予指正。
6.硕士论文致谢 篇六
特别感谢流行病与卫生研究所的xx教授在本课题的统计学分析方面给予的指导。
本课题整个实验过程中得到了xxx老师、xxx老师、xxx老师的无私帮助,在此向他们致以最诚挚的感谢。
感谢xxx、xxx、xxx丽等师兄、姐、弟、妹的无私支持和帮助,他们帮助我解决了很多的困惑,帮我完成了实验以及论文中的部分工作,希望我们以后能够继续合作,共同进步。特别感谢我的师姐王战勇在我的实验过程中给我的无私帮助。
本课题还得到了xx研究所的xx教授、xxx老师、流行病与卫生统计研究所的xxx教授、xxx老师等人的大力支持,在此一并表示感谢。
感谢我的同学xxx、xxx为我的课题提供的帮助。
感谢所有支持和帮助过我的领导、老师和同学们!
7.软件工程硕士论文致谢 篇七
1 可行性研究
我们在设计中完全采用了工程化的思维, 用这一理性思路充当软件研制的向导。通常情况下, 我们都是从三个不同的方向去研究和探讨并联机床所有控制软件开发中的操作可行性、经济可行性、技术可行性, 最后才能根据所设计的机床基本要求, 通过软件获得最初的数据流简图。一般情况下, 我们都是以传统数控机床的控制软件设计作为研究基础, 根据机床所要执行的全部任务再给出所有驱动关节的运动轨迹。之后根据提前所规划好的实测的驱动杆长量和运行轨迹作一个比较, 这样就能得到数字控制器的实现, 通过计算机的实时不间断的监控和故障分析。在这一环节最常见的就是开放性软件结构, 因为只有这样才能方便所有用户对机床进行改变和重组。这种开发的成本比较低, 但在操作方式和技术上都有着极强的可行性, 经过一系列的可行性分析, 就可以得到控制系统数据流图。
2 需求的分析
设计的控制软件一定要满足所有并联机床的基本功能所需, 最关键的就是必须保证其能在动平台的活动范围之内可以加工所有不同形状的零部构件, 由于零部构件具有形态各异的形状, 所以在加工中就会随时出现机床伸缩臂的运动方式与刀具的运动轨迹大不相同。这样就必须要根据实际加工的零件, 设计出刀具的运动轨迹, 然后再根据不同类别的零部构件进行相关的控制模块的编写。通过两种设计就可以进给轨迹加上刀具姿态变化组合而成刀具姿态变化, 同时还可以实现其他复杂的进给轨迹。通常情况下, 我们都是通过以下的两种方式解决对精度要求的细化。
首先, 通过改变细化控制时候所输出的脉冲当量的变化, 设置出脉冲分配的模块, 模块参数的相互调整, 可以提高相应的精度;其次:传感器的选择是否合适也是至关重要的, 我们通过对所有的信息反馈功能模块进行设置, 实现了在机床进行加工的过程中, 对其加工的位置进行实时的监测, 然后再将信息反馈到控制系统, 这样一来就可以使系统根据具体情况做出相应的补偿, 从而以满足了精度的要求。
3 数据字典
用软件工程的思想法去进行设计并联机床控制软件, 建立数据字典成了一个至关重要的中心环节, 它不但能提供数据的详细描述信息, 还能做到增强程序的可维护性和可读性。以下介绍一种并联机床的控制软件字典。
检测反馈:实时检测、拾取动平台位置姿态信息, 并反馈给控制系统, 并对该信息进行比对。加工余量:材料的三维去除量;零件形状:被加工的所有零件都具有自身比较特殊的几何特征 (水平平面、空间曲面、竖直平面、空间平面) ;六杆伸缩量:相对于动平台零点位移量 (正、负) ;步进电机脉冲数:精度:零件形状与刀具轨迹的一致性;与杆长伸缩量 (正、反转) 相对应的电机转数;位姿:动平台的位置和姿态;参数输入:人机交互的界面, 输入且显示零件的形状、精度、加工余量值;配置:根据所有构件和动平台的运行姿态和综合位置;脉冲协调与分配:按精度将六杆伸缩量分配成脉冲, 并协调各杆对应电机的伺服脉冲频率;反求轨迹:根据工件形状及加工余量确定各杆伸缩量的功能模块拾取法。
4 总体设计
采用模块化结构根据软件模块化理论为思路, 进行并联机床控制软件的总体设计, 软件的模块内部应具有高聚合性, 模块之间应具有低耦合性, 模块的层次深度不可以设置太大, 扇出数4~6, 才有利于控制;扇入数尽量大, 以便减少软件设计中的冗余度, 根据此原则对并联机床控制软件进行规划。
4.1 参数输入模块
输入的参数:精度、余量、形状。这些后续模块与参数的关系:反馈+余量→反求模块。形状→加工形状选择模块。精度→脉冲分配协调模块。
4.2 加工形状选择模块
包括平面曲线加工模块、空间直线加工模块、刀具姿态变化模块、空间曲线加工模块。
4.3 反求模块
通过现有的动平台运动的轨迹 (待加工零件的形状) , 求取六条伸缩臂的空间位置向量的变化值。
4.4 优化模块
实时计算中所有杆的加速度、速度、运动位移, 以及所有的受力情况, 通过了系统优化的计算方法得出所需最佳的杆长配置。
4.5 脉冲分配协调模块
将六条伸缩臂的空间位置向量的变化值, 要按精度要求分配成脉冲量输出给电机, 因为在一次加工过程中, 所有杆的伸缩量有大有小、有正有负, 所以模块还需具有协调所有杆在每步动作中的位移的功能。
5 结语
本文详细阐述了软件工程中关于并联机床控制软件设计, 强调了工程的方法研制以及软件的开发, 采用模块化的方法设计所需的软件, 从而增强了并联机床控制软件的可行性。这与与传统数控机床软件相比较, 具有设计周期短, 维护性能强等特点。
摘要:随着人们日益对生产与生活环境适应性的不断提高, 最近几年, 很多国内外机床制造业企业都在积极研制和探索新型的具有多功能的系统与制造装备, 文章从当前在结构技术上, 具有突破性进展的并联机床入手, 结合并联机构的进给传动机构的实际情况, 进行了大量的分析和研究。
关键词:并联机床,软件工程,软件设计
参考文献
[1]黄真.并联机器人机构学理论与控制[M].北京:机械工业出版社, 1997.
8.软件工程方法模型浅析 篇八
关键词:软件开发模型; 瀑布模型; V模型; 迭代模型
中图分类号:TP311 文献标识码:A 文章编号:1006-3315(2014)09-120-001
一、前言
当今时代,软件的重要性与日俱增,从办公生活到休闲娱乐,日常生活中每时每刻都有软件的身影。企业要提高运作效率,家庭要提升生活质量,电商要提升营销精准度;政府要提升公众满意,无不需要依靠各种各样的软件。CRM、ERP、大数据、互联网APP,各式各样的软件正在改变着我们的生活,我们已经进入一个软件定义世界的时代。
在此背景下,软件开发也变得越来越至关重要,而作为软件开发管理的基础,软件工程方法的正确选择和应用将是软件开发项目成功的保障。
本文主要简要探讨一些常见的软件工程模型方法及其适用范围。
二、瀑布模型
瀑布模型(Waterfall Model)是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。该过程由一系列顺序的活动构成,每个活动分为输入、过程与输出三部分。其中上一项活动的输出被作为本活动的输入,利用这一输入实施该项活动应完成的内容,最后给出该项活动的工作成果输出,作为下一项活动的输入。
从上述描述中我们能够看出,传统的瀑布模型具有如下的优点:
(1)为项目提供了按阶段划分的检查点。使得软件开发过程从无序变为有序,使软件开发的工程管理变为可能。
(2)各项活动串行进行,当前一阶段完成后,只需要去关注后续阶段。软件工程管理变得简单清晰。
(3)它提供了一系列的模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
瀑布模型也存在如下致命缺点:
(1)各个阶段的划分完全固定且周期较长,极大地降低了开发效率。
(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
(3)项目管理更加注重过程,而容易忽视对目标及价值结果的关注。
(4)无法应对开发过程中出现的用户需求的变化。
(5)开发与测试活动割裂,导致测试人员天然的依附于开发人员。
综上,典型的瀑布模型相对来说比较理想化,适合那种开发周期固定、客户需求清晰的项目,当前几乎被业界抛弃,很难适应当今软件开发的需求。比如互联网应用软件很难使用瀑布模型来管理。
三、V模型
V模型一定程度上是典型瀑布模型的一种改良,可视为瀑布模型的延伸。主要是针对开发、测试活动割裂进行的改良。把测试设计工作提前到分析、设计、编码各阶段,一方面提升了开发效率,同时开发与测试同源,提升测试有效性。
典型的V模型开发流程包括:需求分析(系统测试分析)、概要设计(集成测试分析)、详细设计(单元测试分析)、编码、单元测试、集成测试、系统测试和发布。和瀑布模型的最大区别是测试设计分析的提前,比如单元测试分析。在瀑布模型中,单元测试是在编码后进行的,输入的是编码;而测试人员需要根据编码先设计单元测试用例,然后执行。这样将存在一个风险,即单元测试只能发现编码本身的问题,即使编码完全未按照详细设计进行,单元测试也无法发现。而在V模型中,开发人员、测试人员针对详细设计展开工作,开发人员编码的同时,测试人员编写单元测试用例,从而使得测试用例不受具体编码影响,能够更加准确的验证详细设计的意图。其他阶段类似。
V模型中,测试活动有更多的独立性和自主性,软件开发效率也有一定程度的提升。但是V模型无法解决瀑布模型的本质缺陷,如同样无法应对需求的不断变化,同样需要在版本开发后期才能验证成果等。
三、迭代模型
早在20世纪50年代末期,软件领域中就出现了迭代模型。通俗的讲,迭代模型就是将整个软件的开发分解成一个个的子特性开发(阶段),而针对每个阶段内部采用的还是类似瀑布模型的方法。每个迭代是一次完整的经过所有工作流程的过程:需求、分析设计、实施和测试工作流程。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。
与传统的瀑布模型相比较,迭代过程具有以下优点:
(1)由于每个迭代是整个系统的子系统,相对内容比较单一,各个阶段需要传递的信息量较小,不需要通过大量的文档进行传递。
(2)由于整个开发过程被拆分为独立的若干阶段,用户在每个阶段结束就可以提前看到开发成果。一方面能够及时对开发中出现的偏差进行纠正;另一方面由于能够及时看到工作成果,有利于开发人员的效率提升。
(3)相对于瀑布模型,迭代模型更加关注对软件目标、结果的关注,更加注重和最终用户的互动,以保证开发成果的质量。
(4)由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的,而迭代模型更能够适应这种需求的变化。
同样,迭代模型也存在其缺点,那就是对于项目经理和开发团队的要求更加高,并且需要团队成员之间更加的信任。因为迭代模型运作对于过程的监控较弱,更加关注面对面的交流与合作。
四、结束语
软件工程方法包含的内容很多,除了正确的选择模型方法以外,还包括各种能力域的工程方法,如计划管理、资源管理、财务管理、人员管理、价值管理、需求管理、风险管理等等。只有根据软件项目具体的情况和目标,选择正确的工程方法模型,并把这一系列的工程管理方法有机的结合起来,才能使得软件开发的结果可预期,质量可保证。
参考文献:
[1]软件工程-实践者的研究方法,(美)Poger S.Pressman
[2]钱乐秋.《软件工程》[M]北京:清华大学出版社,2005
9.论文致谢词硕士 篇九
首先,我要感谢我的导师谭献民教授。从论文的选题、论文结构的调整、初稿的完成,到最终的定稿,谭老师都给予了悉心的指导,使我得以顺利完成论文。谭老师渊博的专业知识、严谨的治学态度和高尚的师德,深深地影响着我的为人、为学、为事。
其次,我要感谢我的父母及同学们。父母的无私关爱和大力支持,同学的热情帮助与相互激励,使我怀着乐观的心态不断前进。
10.硕士毕业致谢词 篇十
来金华六年,早已习惯了这反复多变的气候,也习惯了许多原来的不良习惯。
然而至今却仍没有养成轻松地表达自己情感的习惯,正如此刻的自己,直视电脑屏幕上那简简单单的“致谢”二字良久,却始终没有键下一个字。
我己经能够深切体味鲁迅“说不出话来”的境地,只不过他是被太多的愤懑压抑胸口,而我却是因太多的谢意感动而哽咽。
感谢我的恩师——张维忠教授。
清楚地记得二年前的那个秋天,一个电话,五分钟考虑时间,我做下了有生以来最有意义的抉择,放弃区域经济的保研机会,选择了数学课程与教学论。
于是,我得以有机会投在张老师门下,开始走上了一条饶有趣味又不失深度的学术之路。
张老师常吝于言敏于行,寥寥数语却总能醍醐灌顶,用无声的行动来展示治学为人的五彩哲学,他用严谨治学扎实研究的实践来诠释靛青般深厚的学术态度,用火红热情的赤诚之心来教育我们待人接物之道,用黄色雏菊般温暖关爱的教学方式让给予我们有了家庭式的幸福感,用有如蓝天般广褒宽容的胸襟来提点我们如何笑面生活,正视挫败,用青春活力积极乐观的绿色生活来告诉我们快乐其实可以随时随地。
张老师用他那特有的人格魅力感染着我们、激励着我们,从最初不知道自己、不知道的迷茫到今日知道自己、不知道的觉醒,从彼时的搜肠刮肚、生搬硬套堆砌文字,到此刻为这四万余字的毕业论文点击保存,是张老师引领着我一路成长。
在我为前途担忧迷茫,为论文焦灼困顿时,又是张老师一次次无私给予慈父般的关爱——让我挺过了那些难关。
在这短短的两年间,我曾在心里无数次的默念谢谢,但是今天,在面对着这从选题伊始到最终定稿都饱浸张老师无数心血的四万余字时,却发现这简单二字已经无法负荷内心那无限的感激,我想唯有用更加努力地追求卓越才是对张老师最为真切的回报。
感谢傅克昌老师,您的风趣乐观、豁达睿智常深深地感染着我,每次看到您那充满童真的笑容总会不由自主在您面前装嫩起来,真的很庆幸三年前能成为您指导的实习队的队长,使我能够更多也更早地向您学习。
感谢杨光伟老师,您的认真细致、严谨执着让我看到了一个学者对于学术的无限热爱,您所作的研究更给我们带来了无限的震撼,为我们开阔了更为广阔的视野。
感谢徐元根老师,您那丰富的人生阅历,低调的处事原则都给我的学习生活带来了潜移默化的指导。
感谢蔡铁权老师,您那深厚的`专业素养使我们这些晚辈为自己的浅薄而汗颜,您那严谨的教学态度以及对白己近苛刻的学习要求都让我们为自己的懈怠而愧疚,您那曲折的求学经历,执着的治学精神更让我们对您崇敬不己,虽然在师大不过短短六年,却有幸二度聆听您教授的课程,大一的《科学史导论》让我至今仍印象深刻。
感谢温州二中的谢树光老师对问卷的指导与建议,感谢温州第二中学、温州中学以及温州第十一中学师生 ,是他们的积极配合才使得本论文的实证部分得以顺利地进行。
此外,还要向我敬爱的师兄师姐,亲爱的七仙女以及可爱的师妹们致以最为真挚绵长的谢意,是他们让我感受到了家庭的温暖,让我体味到了团结的力量,或许明天我们将会各自天涯,但我相信总有那么一根感情线牵引着我们,让我们彼此不会疏远;同时,还要感谢我们“4+2”课程与教学论专业的其它十二位友人,在他们身上我收获的不仅仅是互帮互助的同窗之情,更是浓得化不开的亲情。
最后,谨以此文献给我此生最爱的人——我的母亲。
XXX
11.“软件工程”教学方法探讨 篇十一
摘 要:软件工程作为一门指导软件开发和维护的工程学科,研究如何用工程化的方式有效地管理软件开发,以较低的成本按期开发出高质量软件,其教学方法尤为重要。本文将对该课程的教学方法作一下简单探讨。
关键词:软件工程 主流程线 案例教学 扩散思维
软件工程的概念是为有效地控制软件危机的发生而提出来的,它的中心目标就是把软件作为一种物理的工业产品来开发,要求采用工程化的原理与方法对软件进行计划、开发和维护。软件工程是一门旨在开发满足用户需求,及时交付,不超过预算和无故障的软件学科。软件工程的主要对象是大型软件,它的最终目的是摆脱手工生产软件的状况,逐步实现软件开发和维护的自动化。
鉴于软件工程产生的背景、目标和宗旨,对这门课程的教学,我们从以下方面来探讨其教学方法。
一、把握软件工程教学的总体思路是教学的关键
1.引导认识软件工程的重要性
软件工程虽然是一个年轻的学科,但它具有鲜明的实践性,近年来在计算机领域中,它的地位越来越显得重要,不仅大型软件项目离不开它,就是一般的,甚至小型软件项目,也必须运用它的概念、原则和方法。软件分析人员、软件设计、编程、测试、维护人员,以及软件管理人员都必须很好地掌握软件工程知识,才能适应岗位工作的要求,特别是在当前,软件产业已经被中央、各地方政府和有关部门当作国民经济中新的增长点的形势下,软件工程更加受到重视,同时,事实也一再表明,不掌握软件工程知识,不按照软件工程的要求去做软件项目,提供给用户的产品只能是低质量的,难于维护的。
2.归纳软件开发的主流程线
在软件工程教学过程中,把握软件开发的主流程线是软件开发的基础,其不仅能使我们掌握其学科目标和宗旨,而且能为我们今后开发软件项目起到很好的指导作用。我们知道软件生存周期是指一个软件从提出开发要求开始直到软件报废为止的整个时期。一个软件开发得好不好,质量高不高,从其生存周期可以得到体现,高质量软件经得住考验,是经久耐用的。软件开发的过程直接体现在软件生存周期中,对软件开发过程的研究成果要确保软件设计的可行性。总揽软件工程教材,我们归纳软件开发主流程线,即从“需求分析”到“概要设计”“详细设计”“编码”“测试”“产品提交”,最后到“维护”阶段。同时掌握好这几个阶段的主要任务和工作是开发好软件的基础。
3.帮助扫除软件工程学科中的文字障碍
所谓文字障碍指的是在软件工程课程中涉及或在其教学过程中经常运用到的专业术语、概念的应用或表达。比如什么是软件危机,软件生存周期的概念是什么,软件生存周期模型有哪些,需求分析讲的是什么,什么是结构化分析方法,如何用数据流图来表达系统的功能,数据字典是用来做什么的,软件设计的基本原理是什么,软件开发的增量模型又是什么,利用面向对象的方法需要建立哪些模型,它们分别的侧重点是什么等等。这些都是要在教学过程中扫除的文字障碍。掌握这些术语、概念的应用或表达,可以通过平时的锻炼、记忆或下面我们要讲到的通过实例教学加强理解,在理解的基础上加强记忆并掌握方法和原理。
二、对软件开发过程中的关键环节采用案例教学
制作一份需求规格说明书,其主要的填写要求抽象成模板的形式如下:
1.背景
①待开发的产品的名称;
②本项目的任务提出者、开发者、用户及实现该产品的单位;
③该系统同其他系统的相互来往关系。
2.系统定义
①项目来源及背景;
②项目要达到的目标,如市场目标、技术目标等;
③系统整体结构,如系统框架、系统提供的主要功能,涉及的接口等;
④各组成部分结构,如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。
3.应用环境
①设备环境;
②系统运行硬件环境;
③系统运行软件环境;
④系统运行网络环境;
⑤用户操作模式;
⑥当前应用环境。
4.对功能的规定
①功能编号;
②所属产品编号;
③优先级;
④功能定义;
⑤功能描述。
5.对性能的规定
①系统响应时间需求;
②系统开放性需求;
③系统可靠性需求;
④系统可移植性和可扩充需求;
⑤系统安全性需求;
⑥现有资源利用性需求。
通过对上述需求规格说明书实例的讲解,我们不仅要学会掌握这种文档的书写格式、规范和原则,而且还要学会其他比如概要设计说明书的写法,详细设计规格文档的写法,编码文档的写法,测试计划文档,测试设计,测试跟踪,测试总结,产品提交手册,软件维护过程文档等的写法。通过具体实例让学生进行演练,使其真正达到学以致用,学用结合的目的。
三、对软件工程中的相关知识点采用扩散思维教学
所谓扩散思维是指使学生的思维不仅仅局限在某一点上,而是针对相关知识点的拓展,从而产生新的思路和方法的一种思维形式。由于每一门课程都不是孤立存在的,因此要想很好的把握该课程的教学,其教学思路应该有所延伸。比如说软件工程课程中多处涉及到数据结构、数据库、操作系统等的一些知识和概念,我们除了在课程教学顺序上将数据结构、操作系统等课程排在软件工程课程之前教学外,教师在授课过程中还应该有新的思路供学生参考和启发学生思维。
参考文献:
1.软件工程案例教程/韩万江编著.北京:机械工业出版社,2007.5
2.软件工程/史济民等编著.2版.北京:高等教育出版社,2002.12(2004重印)
3.软件工程.全国高等自学考试指导委员会组编
4.软件工程/王宜贵主编.北京:机械工业出版社,2002.9
12.软件工程硕士论文致谢 篇十二
(一) 重新安排软件工程课程的内容以及覆盖的知识点, 变单纯地软件工程类知识传授为侧重引导学生对整个软件工程专业类课程有一个清楚的了解, 激发学生学习后继课程的兴趣。
软件工程专业是一个以计算机科学为基础的, 结合工程学和管理学的综合性学科, 根据软件工程知识体 (SWEBOK) 对软件工程学科知识领域的描述, IEEE和ACM定义了软件工程专业课程体系 (SE2004) , 明确地将软件工程专业教育部分划分为十个知识领域:SE-CMP——计算基础、SE-FND——数学和工程基础、SE-PRF——职业实践、SE-MAA——软件建模与分析、SE-DES——软件设计、SE-VAV——软件验证与确认、SE-EVO——软件进化、SE-PRO——软件过程、SE-QUA——软件质量。在这个知识体中, 软件工程是导论部分, 是整个软件工程专业课程的入门。通过软件工程课程的教学, 学生能对软件工程的基本概念、基本原理、实用的开发方法和技术有初步了解, 而相应部分的具体分析和实验, 则由后继软件工程类专业课程来承担。为此, 非常有必要对软件工程专业下的软件工程课程, 从教学内容和目标上, 重新进行调整。1.变知识传递为入门指导, 让学生对整个软件工程专业课程体系有充分的了解, 以便他们进行后继课程的修读。嘉庚学院软件工程专业的软件工程课程, 开课时间从大三提前到了大二上学期, 把软件工程的性质从大三的专业课程变为了大二的专业基础课, 从时间上保证了它作为软件工程专业学生对整个专业进行了解的入门课的作用。同时在授课时, 不是简单地按章节把知识传授, 而是要相当一部分时间, 对软件工程的定义、研究范围等进行详细的解释, 要让学生搞清楚软件工程课程各部分内容与后继软件工程类专业课程的关系。2.从整体上把握软件工程专业的性质, 让学生明白软件工程专业的培养目标, 激发学生的专业热情。在软件工程的课程教学中, 需要通过不断分析当前软件开发的现状、开发中存在的问题, 并指出软件工程的各部分知识对解决这些问题的意义。要让学生明白软件工程专业定位在为社会培养高级软件人才, 培养具有工程管理能力的系统分析人员和项目管理人员, 相关软件专业类课程对于这种类型人才的培养具有决定性作用。经过几年的努力, 软件工程专业学生的专业自豪感增强了, 在嘉庚学院整个工科专业普遍受困于学生要求转专业的情况下, 软件工程专业却基本没有学生转出。同时, 学生学习的主动性和积极性也得到较大提高, 效果比较明显, 在“全国大学生数学建模竞赛”中获得一个福建省赛区一等奖;申请的若干个大学生创新性实验计划项目, 目前正在顺利进行中。
(二) 针对独立学院学生组织能力和动手能力强的特点, 课程教学以实例教学为主, 加强互动, 引导学生分组合作完成简单的软件开发, 从中体会软件工程各方面知识的重要性。
作为一所应用性本科大学, 嘉庚学院一直致力于培养学生的动手能力, 课程教学也服务于这一目标。嘉庚学院的学生理论基础不是很强, 但动手能力却未必很差, 而且普遍有勇于实践的意愿, 因此在软件工程的教学上, 设置若干实例, 让学生分组合作完成, 在实践中体会软件工程方面内容的重要性。实践证明, 学生通过实例教学, 真正悟出了软件工程知识对软件开发的重要性, 很多学生都能自觉地把学到的知识运用到其他开发类课程的学习中。学生在实习和社会实践中, 普遍得到了实习单位的好评, 一批知名企业均与计算机科学与技术系达成了共建实习基地的协议, 每年固定接收相当数量的学生过去实习。此外, 许多毕业班学生还因动手能力强而打败重点大学的学生, 获得在知名企业工作的机会, 如Red Hat、阿尔卡特、网龙等。
(三) 通过完善和更新软件工程的教学内容, 和主流企业开发方式进行对接, 并逐步把企业引入到课程教学中, 让学生能有机会接触最新的软件工程方法。
软件工程是整个计算机科学方向下最新的一个学科, 新知识新思想层出不穷, 作为导论的软件工程课程, 要确保课程内容的不落伍过时。嘉庚学院从04级学生开始开设软件工程课程, 至今已进行了四个年次的教学, 无论是教学内容和教材选定, 都进行了比较大的变化, 教材从选用理论为主变为选用结合实例为主, 教学内容更是向契合企业级开发靠拢, 除了不断加入新的知识, 介绍新的思想, 在实例教学上, 也改变过去以某某管理系统这种没有实际应用意义的实例为主的局面, 代之以一些较大的、需要合作完成的、涉及到软件架构等方面内容的实例为主, 让学生尽可能得到一些企业开发的体验。经过改革, 软件工程课程更实际, 更贴近社会需求, 与IT企业的合作办学也变得可行。许多IT企业都对嘉庚学院软件工程课程的这方面改革认可并表示了合作办学的意愿, 学院和包括思科、IBM、软通动力等在内的知名IT企业进行了相应地接触, 探索进一步深入合作的可行性, 如免费提供软件工程工具帮助教学, 甚至直接由IT企业来帮助完成部分内容的教学。
(四) 逐步理清软件工程类专业课程教学内容的设置, 并进而逐步完善软件工程专业的人才培养方案, 建立一个完全独立于计算机科学专业, 有自己特色和明确培养目标的人才培养方案。
嘉庚学院软件工程专业依托厦门大学本部软件学院办学, 创建伊始主要借鉴的是本部软件学院的研究主导型的人才培养模式和教学计划, 而软件工程专业人才培养方案, 最早也基本是以计算机科学与技术专业人才培养方案为基础, 简单的在软件工程这一门课上进行强化。随着教学的深入, 针对软件工程的发展和独立学院的办学宗旨, 逐步调整软件工程专业人才培养方案, 以软件工程为基础而导出的软件工程类专业课程被逐步增加到软件工程专业人才培养方案里。为了实现培养方案的合理配置, 一方面组织教师赴知名企业参观学习, 深入了解企业开发流程, 听取企业对人才培养的建议, 对教学内容进行相应地侧重, 一方面组织相关教师展开研讨, 合理安排软件工程类课程的课程内容, 避免知识点的重复, 也避免知识点的遗漏。2008年, 全新的完全学分制的软件工程专业人才培养方案诞生, 2008年底, 软件工程专业的修课指南修订完毕, 嘉庚学院软件工程专业正式完全独立于计算机科学与技术专业。在嘉庚学院力主教学创新的大背景下, 这份软件工程专业人才培养方案完全以SE2004为基础的人才培养方案, 解决了多年来软件工程专业和计算机科学与技术专业关系分不清楚的矛盾。
(五) 结语
在几年的教学实践中, 对软件工程课程从教学方法和内容上进行了不断的探索和总结, 使得该课程不但适应社会和企业的需要, 还获得了学生的普遍认可, 同时, 以该课程为基础, 形成了有自己特色的独立学院软件工程专业课程体系, 为培养动手能力强, 计算机、工程、管理知识皆具备的高级软件人才创造良好的体制保证。
参考文献
[1]麦中凡.解读SWEBOK2004[J].计算机教育, 2004, (10) .
【软件工程硕士论文致谢】推荐阅读:
软件工程硕士论文范文10-11
计算机软件工程论文07-31
软件工程结课论文10-31
能力导向型软件工程课程研究的论文10-04
北京邮电大学软件学院关于软件工程硕士研究生学位论文格式的要求07-18
北京师范大学在职人员攻读软件工程硕士专业学位招生简章11-17
北京师范大学2018年双证软件工程硕士研究生招生简章08-17
《软件工程》学习心得07-11
软件工程实验答案09-24
高级软件工程师07-30