软件工程硕士论文如何写

软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。下面我们来看看软件工程硕士论文如何写。

  

  专业硕士

  

  软件工程方向的专业硕士论文选题,按照目前培养方案的要求,必须是与软件工程有关的内容。

  

  所谓与软件工程有关的内容包括:

  

  1. 软件的开发

  

  这是最常见的选题方向,也是最正规、最容易得到认可的方向。一般来说,软件开发的题目,可以是一个系统,也可以是一个或者几个模块。不过,不论是系统还是模块,都要包括如下几个阶段:

  

  a) 需求分析

  b) 概要(总体)设计和详细设计

  c) 编码(是指重要的、关键的算法部分)

  d) 部署和测试

  

  2. 软件工程的其它方向内容

  

  例如:

  a) 软件需求管理、变更

  b) 软件体系架构

  c) 软件测试 (软件测试方向的论文大纲参见博文《软件测试相关硕士论文大纲》)

  d) 软件过程改进

  e) 更多内容,参见《软件工程知识体系指南》

  

  论文的素材

  

  需要特别强调的是,论文绝不是一周两周闭门造车就能写出来的。日常工作中要不断撰写相关工作的需求分析、概要设计、详细设计、数据库设计、关键算法、测试用例、测试结果等方面的文档。这些文档,都是论文的素材。

  

  论文工作所描述的软件开发可以是一个完整系统,也可以是某个系统中的多个模块。最好能够按照瀑布模型,覆盖需求、设计(概要/详细)、编码及测试这几个阶段。

  

  摘要 【关于摘要的写法,参见博文《如何撰写论文的摘要》】

  

  1. 序言

  

  介绍论文的课题来源、课题实施的背景、课题预期达到的目标等

  1.1 课题背景(课题来源、选题目的和意义)

  1.2 课题任务(本课题的整体研究/开发内容)

  1.2.1 课题内容(介绍课题的主要内容)

  1.2.2 本人承担任务(作者在该课题中所做的主要工作。作者的工作可能仅是课题研究内容的一部分。这一部分必须有,是评阅人及答辩委员重点看的内容)

  1.3 论文结构(描述论文的整体结构,以及每一章节的主要内容)

2. 相关技术

  介绍论文中用到的所有重要的技术,对其原理及使用方法做简单介绍 (但是不要介绍这些常见技术:Android、

  注意:在论文其它章节不可再出现原理性的技术介绍

  

  3. 需求分析(功能需求、性能/安全//界面需求等):必须使用用例图分析!

  

  3.1 业务建模(如果需要的话,可以在本节中描述使用本软件系统的企业/组织机构在执行业务时的流程。业务建模重点描述企业执行某种业务时要遵循的流程以及涉及到 的人员和角色。这里基本不涉及到软件,也不需要描述软件。即,企业不使用软件,也要遵循的业务流程)

  3.1.1 组织图(画出本软件相关业务中所涉及的企业组织结构图,在这个组织图中,包含业务涉及到的人员及其角色,然后说明这些角色的任务职责等)

  3.1.2 业务流程1 (使用活动图/流程图描述业务流程)

  3.1.3 业务流程2

  3.1.n 业务流程k

  3.2 总体需求(给出总体用例图,然后描述每个用例的执行流程)

  3.3 功能1需求分析(给出功能1的细化用例图,描述每个子用例的执行流程)

  3.4 … (功能n需求分析)(给出功能n的细化用例图)

  3.5 性能需求(如果有)

  3.6 安全性需求(如果有)

  3.7 界面需求(描述界面设计的一些基本要求,比如色彩、布局、字体等。具体的界面设计,放到详细设计阶段处理)

  3.8 … (其它需求)

  

  补充说明:

  

  1)关于需求分析的具体写法,不要自己编,或者将项目工程建议书中的东西直接拿来使用。请点击【百度文库中的文档】

  2)在需求分析章节中,不可出现“模块”、“子系统”等字样。这些字样是设计阶段才应该有的概念。

  

  4. 概要设计(包括系统架构。若系统架构特别复杂,也可单列一章。概要设计内容,可以参见百度百科的“概要设计”词条)

  

  4.1 系统整体结构(本节必须有,否则论文不合格)(本节内容必须要有功能结构图,即用一张图表现系统中各个功能模块/子系统之间的层次、先后关系)

  4.2 模块间接口设计

  4.3 数据库总体设计(本节指数据库整体设计,给出ER图并简要说明即可,也可以在ER图之外再增加对每张表的简要说明。但是不涉及表的具体结构,仅说明表间关系,以及数据库与其他模块间关系)

  4.4 系统部署结构(一般是指你的软件系统所运行的服务器群组及网络环境的拓扑)

  4.5 界面结构 (这里是对界面需求的细化和展示。这里展示的是软件总体上的界面结构,而不是每一个功能、页面的界面结构。比如,可以用线框图描绘一个基于web的界面分为三个部分:上面的LOGO区,左侧的导航区,右侧的功能展示区,下部的辅助链接区。但是,也仅仅局限于一个大致的、抽象的结构。)

  4.6 …

  

  5. 详细设计(包括各个模块/类/函数的设计,以及数据库的设计)

  

  5.1 xxx模块设计

  5.2 xxx模块设计

  5.3 数据库表结构设计(具体的表结构)

  5.4 数据库查询接口设计(如果有)

  5.5 人机交互接口设计(如果有)

  5.5 xxx接口设计

  5.6 界面设计 (这里可以用线框图描绘每一个模块/功能页面的界面布局、色彩、文本、字体要求。!!!但是绝对不可以用截图!!! 因为截图是实现阶段才有的!)

  5.7 …

  

  6. 实现(其中可以包括关键算法的少量代码,论文所有代码不超过100行),尽量避免粘贴代码,代之以相应的流程图或者活动图。非关键的代码会被认为有“刷论文”的嫌疑,答辩时必然会被要求从论文中删除。

6.1 xxx模块实现(具体算法、流程说明;界面截图及其说明(如果有的话);流程图或者活动图)

  6.2 xxx模块实现

  6.3 xxx算法实现

  6.4 …

  

  7. 部署和测试(比较复杂的软件系统需要描述部署环境。部署部分有时也可以与 ch6 放在一章。测试一般要给出测试用例、测试结果)

  

  7.1 软硬件环境

  7.2 部署流程

  7.3 测试用例

  7.3.1 xxx模块测试用例设计

  7.3.2 xxx模块测试用例设计

  7.4 测试结果及分析

  7.4.1 xxx测试结果及分析

  7.4.2 xxx测试结果及分析

  

  8. 结语

  

  8.1 工作总结(对论文所述工作进行总述总结)

  8.2 工作不足与展望(对论文工作的不足之处进行总结,并且说明改进的方向)

  

  一篇工程硕士论文最好能够包含上述内容,这样,结构上比较完整。在写作时,章节可以略微调整(例如,将详细设计和实现合并为一章,或者将概要设计与详细设计合并为一章)。大部分论文的章节数量均在6-7章左右,过多或者过少均不好。

  

  论文行文风格

  

  论文的文字要通顺,不得有错别字,这是将论文提交给导师之前必须达到的标准。方法有二:

  a) 利用word的语法检查功能,所有在检查后有波浪线的文字,都需要仔细审核

  b) 与其它同学合作,两个人在同一个屏幕前,共同通读一篇论文,这样,98%以上的错误都能够检查出来。