当前位置: 开发攻略 > app开发 > 四大开发流程保障项目实施过程 | 华慕科技

四大开发流程保障项目实施过程 | 华慕科技

关键词:

  • 接口设计
  • 接口开发
  • 软件开发
  • 2141
  • 05-30

应用系统的开发工期长,涉及的人员和环节更加复杂,在实际工程建设中经常遇到项目延期,不能按照工程的进度完成工程的情况。具体到项目来说,工程的建设是一项复杂而艰巨的系统工程,它涉及到总体设计、数据库设计、应用业务、项目控制、人员管理和计算机技术等多种知识和经验。虽然当今的软件工程理论和数据库设计理论为我们提供了多种系统开发的方法和手段,但在实际开发工作中经常遇到的情况却是:做出来的系统不符合要求,需要大量修改;开发工作进度难以控制,工期一拖再拖;甚至有些通过了验收的项目也难逃在实际使用过程中搁浅而被束之高阁的厄运。


华慕科技承建过许多大型系统工程,在项目组织、管理、协调、控制方面有着丰富的实践经验。在大型应用软件的开发、推广方面积累总结了一套行之有效的保证项目建设工期的措施。项目开发阶段标准化流程与工作规范请见下图


一、概要设计

概要设计也称总体设计,其基本目标是能够针对《需求规格说明书》中提出的一系列软件问题概要地回答。例如软件系统将采用什么样的体系构架、需要创建哪些功能模块、模块之间的关系如何、数据结构如何?软件系统需要什么样的网络环境提供支持、需要采用什么类型的后台数据库等。软件概要设计是软件开发过程中一个非常重要的阶段。如果软件系统没有经过认真细致的概要设计,就直接编写源程序,系统的质量就很难保证。许多系统就是因为结构上的问题,使得它经常发生故障,而且很难维护。


概要设计要求建立在需求分析基础之上,《需求规格说明书》是概要设计的前提条件。只有这样,才能使得开发出来的系统最大限度地满足用户的应用需要。概要设计的过程也就是将需求分析之中产生的功能模型、数据模型和行为模型等分析结论进行转换,由此产生设计结论的过程。在从分析向设计的转换过程中,概要设计能够产生出有关软件的系统架构、软件结构和数据结构等设计模型。这些结论将被写进概要设计文档中,作为后期详细设计的基本依据,能够为后面的详细设计、程序编码提供技术定位。


概要设计所能够获得的还只是有关软件系统的抽象表达,需要专心考虑的是软件系统的基本结构,至于软件系统的内部实现细节如何,则在详细设计中去解决。例如概要设计中的模块只是一个外壳,虽然它有确定的功能边界,并提供了通信的接口定义,但模块内部诸多具体的功能细节则必须等到详细设计完成以后才能确定下来。因此,在软件设计的全部工作中,概要设计所提供的并不是最终设计蓝图,而只是一份具有设计价值的具体实施方案与策略,用于把握系统的整体布局。尽管概要设计并不涉及系统内部实现细节,但它所产生的实施方案与策略将会最终影响软件实现的成功与否,并影响到今后软件系统维护的难易程度。

概要设计中首先需要进行的是系统架构设计,然后是软件结构、数据结构等方面的设计。


主要有以下几个方面的设计任务:系统架构设计、软件结构设计、数据结构设计、安全性设计、异常处理与系统监控设计。概要设计完成后,将产出《概要设计说明书》,经过评审后,作为后续详细设计的输入。


二、详细设计

详细设计阶段的目的是确定如何具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成某种程序设计语言书写的程序。详细设计阶段的任务还不是具体的编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本上决定了最终程序代码的质量。

衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。


详细设计的主要任务有三点:

1.确定每个模块的算法、流程图、状态图

2.确定每个模块的内部数据结构及数据库的物理结构

3.确定模块接口的具体细节

在详细设计阶段,设计者的工作对象是一个模块,可以分配给各个小组的组长来负责,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的算法、流程、状态转换等内容。详细设计文档最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等,一个模块一篇详细设计文档。

详细设计最重要的部分是接口设计,开发人员根据《需求规格说明书》《概要设计说明书》对模块要求,在伙伴云等开发协助平台或印象笔记中罗列接口,形成接口设计大纲,接口设计按不同客户端来定义接口组。

接口文档设计规范包含下列项目:

1.接口名称

2.接口地址

3.请求方法

4.请求参数

5.返回数据结果

示例如下图:接口文档设计规范


三、功能开发

华慕科技在开发过程中使用迭代开发模式与持续集成来进行功能开发工作。在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度的小项目,被称为一系列的迭代。每一次迭代都包括了需求分析、设计、开发与测试。迭代是敏捷开发中被划分出来的一个周期实现方式,迭代一般指一个版本的生产过程,包括从需求分析到测试完成。版本一般指某阶段软件开发的结果,一个可交付使用的系统。迭代开发和敏捷开发都是弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。我司使用 Jenkins 自动构建、自动部署。

前后端分离已成为互联网项目开发的业界标准使用方式,通过 Nginx+Tomcat 的方式有效的进行解耦,并且前后端分离是大型分布式架构、弹性计算架构、多端化服务(多种客户端, 例如:浏览器,车载终端,安卓,IOS 等等)实现的基础。核心思想是前端 HTML 页面通过 Ajax 调用后端的 restuful api 接口并使用 json 数据进行交互。


前后端分离将前端人员(WEB 开发人员、APP 开发人员等)专注于前端代码的实现,后台 java 人员专注于系统逻辑的实现,中间再通过接口进行对接,前后端分离可以实现专业性分工,提高工作效率与工作质量。


前后端分离可以实现真正的前后端解耦,前端页面逻辑、跳转错误、浏览器兼容性问题、

脚本错误、页面样式等问题,全部由前端工程师来负责。接口数据出错、数据没有提交成功、

应答超时等问题,全部由后端工程师来解决。双方互不干扰,达到完全的解耦。


四、版本发布

运维工程师根据《发布申请单》的要求配置测试环境,配置好 Jenkins 自动化发布任务,开发人员根据测试环境参数,集成参数到软件版本中,使用 Jenkins 自动化发布到测试环境。 一个项目 Jenkins 内测版本发布任务一般包括 3 个子任务,可以直接由开发人员进行操作,

无需运维工程师介入,节省运维工程师的工作量:

1)代码发布任务:负责把代码从代码库取出并编译打包,自动发布到对应的服务器上。任务名称示例:<项目代号>-TO-PRE-TOMCAT 其中 PRE 表示内测或预发布,TOMCAT 表示服务器类型是 tomcat,下同

2)服务器重启任务:负责管理对应的测试服务器软件的重启,某些情况下,需要重启服务器才能正常提供服务,在调试等方面是必须的。任务名称示例:<项目代

号>-PRE-TOMCAT-RESTART

3)服务器日志查看任务:采用 tail 命令查看控制台输入,便于系统调试和查错,减少运维工程师提取日志的工作量。任务名称示例:<项目代号>-PRE-TOMCAT-CONSOLE 发布内部测试环境 jenkins 任务举例如下图4-1-3-2-4:内部测试环境 jenkins 任务


五、总结

华慕科技项目开发流程结合上述四步目前已升级运用云原生理念,行业通用的代码规范和最佳实践;自主研发企业级快速开发平台Harm,实现快速构建应用程序,使项目推进更稳定和高效。

我们不断追求技术创新,积极探索新的技术应用,包括人工智能、大数据、区块链、云计算等,为客户提供更加智能化、高效化的数字化解决方案。

如果您或者您身边的企业有软件开发需求,可以和我们联系

上一章:产品设计四个阶段确保项目从1到1落地 | 华慕科技

下一章:10年外包经验揭秘企业软件定制流程和步骤

软件定制开发
直播短视频开发
百货商城开发
可视化大屏展示
智能合约开发
企业管理系统开发
更多行业案例