软件企业开发流程的优化与实施毕业论文
2021-05-06 12:53:15
摘 要
在软件企业的研发生产过程中,软件开发并不是开发人员的个人行为,而是与整个开发团队相关。软件项目的开发受多方面因素的影响,开发过程已变得复杂和难以控制。有效地进行开发流程管理,可以克服不稳定因素带来的不利影响,充分发挥现有资源的作用,使软件项目按时、保质地完成。然而如何有效地进行开发项目流程管理仍是一个有待于进一步探索的课题。
随着编程技术与电脑硬件的飞速发展,软件开发流程变得越来越多样化。然而,在抉择使用何种技术与工具进行软件开发时,软件的开发流程也日益繁琐起来。开发流程的优化并不仅仅意味着效率的增加以及无用工作量的减少,更多的是将开发过程中所使用的不同工具进行有效的整合,从而减少因流程切换而带来的不必要的时间。同时,开发流程的优化也取决于开发工具的使用与整合,合适的开发工具势必能带来事半功倍的效果,从而缩短软件的有效开发时间。
本文从企业软件开发流程入手,从需求分析、原型设计、功能设计到编码测试,介绍每个步骤的具体实施细节,并以简单程序为线索,贯穿整个流程。并且着重论述软件的编码与测试过程。其中,编码过程使用Yeoman搭建项目,以Docker模拟服务器环境,将项目置于其中运行,调试;测试过程使用了近年主流的测试框架与工具——Mocha和Travis ci,其中Mocha用于进行单元测试,Travis ci用于集成测试。上述过程也包括各使用工具的安装与运行环境的配置。最后归纳总结整个开发流程,并对可以优化的方面加以论述。
关键字:软件开发 流程优化 测试 开发工具
Abstract
In the process of Ramp;D and producing software, software developing is not a developer’s personal behavior, but rather related to the entire development team. The projects of software developing influenced by many factors, and the developing process has become complex and difficult to control. Effective management of development process make it possible to overcome the adverse effects created by uncertain factors, and make full use of existing resources, so that the projects will be finished punctually and quality. However, how to effectively manage the developing progress is still a problem need to be solved.
With the rapid development of computer hardware and programming techniques, software development process is becoming increasingly diverse. However, when making the choice of which technology to use and kits for software development, the software development process is increasingly cumbersome in the meantime. Optimizing the development process dose not only mean increased efficiency and reduce unnecessary workload, but also mean the more different kits used in the development process for effective integration, thereby reducing the time spent in developing.
This paper was started with the process of developing software, from requirements analysis, prototyping, functional design to testing code, introduced specific implementation details of each step, using a simple program as a clue to throughout the entire process. And focus on the process of coding and testing. Especially deserve to be mentioned, the encoding process used Yeoman to build project, Docker to simulate server environment which the project will be placed in to run and debug; the testing process used the development kit and testing framework which are popular in recent years –Mocha and Travis ci, wherein Mocha for unit testing and Travis ci for integration testing. Above process also includes the use direction of kits and configuration of environment. At last, summarizing the entire process and discussing those aspects which can be optimized.
Key Words:software-develop process-optimize test development kit
目 录
摘 要 3
第1章 绪论 7
1.1 背景描述 7
1.2 现状与前景分析 7
1.2.1 产业现状 7
1.2.2 产业前景 8
1.3 论文组织结构 8
第2章 需求分析 10
2.1 需求分析的意义 10
2.2 FreeMind介绍 10
2.2 安装与基本使用方法 11
第3章 原型设计 14
3.1 原型设计的意义 14
3.2 AXURE介绍 14
3.2 安装与基本使用方法 15
第4章 功能设计 20
4.1 功能设计的要点 20
4.1.1 产品核心功能选取 20
4.1.2 多重可重用性的分析与设计 20
4.1.3 辅助功能的设计 20
4.1 流程图 21
第5章 编码 22
5.1 项目构建 22
5.1.1 Yeoman介绍 22
5.1.2 Yeoman安装与项目构建 23
5.2 项目运行环境搭建 29
5.2.1 Docker介绍 29
5.2.2 Docker安装与环境搭建及使用 30
5.3 版本控制 31
5.3.1 Git介绍 31
5.3.1 Git安装与使用 32
第6章 测试 35
6.1 单元测试 35
6.1.1 单元测试的意义 35
6.1.2 Mocha介绍 35
6.1.3 Mocha安装与使用 35
6.2 集成测试 37
6.2.1 持续集成与集成测试 37
6.2.2 Travis ci介绍 37
6.2.3 Travis ci使用 38
第7章 测试实例 41
第8章 总结 46
参考文献 47
致谢 48
第1章 绪论
1.1 背景描述
软件产业作为国家的战略性、基础性产业,在整个国民经济发张进程中起到了关键性的作用,是国家重点支持和鼓励的行业。“科学技术是第一生产力”同样,软件产业也是科技的一部分。在国家各项政策的大力扶持下,我国的软件产业正迅速发展,成为传统产业以外的重要经济来源产业。
根据工信部公布的2016年1-2月国内软件行业运营数据,2016年1-2月,我国软件和信息技术服务业完成软件业务收入6206亿元,同比增长15.50%,增速比去年同期下滑0.3个百分点,比2015年底下滑1个百分点。其中,信息技术服务收入3136亿元,同比增长15.70%,增速低于去年同期1.9个百分点,比去年年底下滑2.7个百分点;嵌入式系统软件收入1169亿,同比增长21.90%,增速比去年同期高出7个百分点,比去年年底提升10.1个百分点;软件产品实现收入1899亿亿元,同比增长11.40%,增速低于去年同期2.2个百分点,比去年底低3个百分点。由此可见,我国软件产业发展速度迅猛,产业创造的经济价值不断提升已经成为了我国国民经济不可分割的一部分。
软件开发流程作为软件产业中必不可少的一个重要组成部分,成为了决定了软件开发成果好坏的重要因素。由于我国自身发展的原因,使得我们在信息技术上始终与国外有着一定的差距,当今时代的软件开发已不再是技术上的较量,更多的是效率上的切磋。良好的开发流程不仅可以提高生产效率,同时也可以极大程度保证软件的可靠性与稳定性,减少后期维护以及补丁修复作业。为了保持软件产业高速、高效、稳定的发展,如何优化软件开发流程便成了软件产业亟待解决的一个重要问题。
1.2 现状与前景分析
1.2.1 产业现状
软件产业作为战略性新兴产业,在当今时代,其发展也日趋平稳。在新兴互联网以及云计算等技术的发展下,我国软件行业也迸发出了空前的潜力,在自身发展的同时,软件产业也带动了周边产业的发展。目前,我国已初步形成信息技术咨询服务、设计与开发服务和信息系统集成服务齐头并进,数据处理和运营服务加快发展的产业均衡发展格局。在服务性软件的大力发展下,工业软件发展尤为迅猛。各大工业软件厂商围绕工业产品研发设计、流程控制、企业管理、市场营销等环节,开发出了大量技术先进、性能优秀的软件产品,有效提升了我国工业企业的数字化、自动化、网络化和管理现代化水平。而传统的软件服务业也在新兴业务的发展下不断变化。购买硬件产品、软件授权,组建IT团队的信息化建设基本模式,正在被自助服务、广泛的网络访问、资源池化、按使用量付费等特性的云计算软件服务所代替,这无疑推动了企业的信息化建设,加速了经济发展方式的转变,而这一切都说明了现代软件的建设投入程度深和易用性好在其中发挥了重要的作用。