软件质量管理之一:总体开发规范(数据工厂)

本文档旨在规范系统部署流程、数据库设计、代码编写和版本管理,提升系统可用性和流畅性。主要内容包括:按平台建库建表,统一表命名,模块化代码组织,流程图绘制,版本命名和合并策略,以及SNAPSHOT和RELEASE版本的lib包管理。通过这些规范,以期优化开发效率,确保系统质量。
摘要由CSDN通过智能技术生成

1、概述

1.1编写背景

    介于当前部署时版本不明确,部署流程不健全;系统划分不规范等影响商务合作、客户运营人员使用等问题,为了演示更流畅,部署更便捷,系统边界划分更清晰,现针对以上存在问题,做以下相关规范,以达到提升系统可用性、流畅性,提高系统质量的目的。

1.2 阅读对象

    本规范阅读对象为各平台开发人员、产品经理、项目经理,及各位后端组长参考。

2、数据库设计规范

2.1 数据库

2.1.1 建库规则

    数据库建立是要以平台为单位创建,便于统一管理和查找,也会减少不同平台间公用某系统表等问题

2.2 数据表

2.2.1 表的归属

    当前一个数据库中包含了多个平台的数据表,部署时需要与研发确认需要那些表,为了方便运维、提升部署效率,建议以大平台为单位建立数据库,比如:数享平台、地市分析平台可以分别建库,有时候出现特殊项目是也可以独立建库,如核酸检测和疫苗预约项目。

2.2.2 表的命名

    目前已有的表的名称大致有三种方式:

  • t_+模块名称+表用途,t_indicators_audit
  • 平台简写+模块名称+表用途,acs_assets_request
  • 模块名称名称+表用途,例子data_asset_level

数据库名如果已经使用了平台名称,考虑有时候表用途英文较长,建议使用上述第③种方式命名数据表。

2.3 表字段

使用简短英文表示,不宜过长。

3、代码编写规范

3.1 业务模块归类

        目前一些平台还存在包含其他平台模块的情况,对于还未归类的平台,后续根据实际情况,逐渐做好归类工作,对于已经归类的如数享2.0,需要严格把关,不接非本平台的模块,保持各个平台独立、纯净。

3.2 代码层级规范

现状:目前总体分为两种层级管理方式

方式一:每个模块建立一套相同的层级块

方式二:模块公用一个层级块

建议新建项目以第二中方式为准,减少文件夹创建,便于快速查找文件。

3.3 流程图

对于复杂的业务流程,需要绘制对应的流程图,一来可以知道自己开发,二来可以可以方便其他同事修改。

4、版本管理规范

4.1版本命名规范

现状:各个平台基本分为了dev、demo、master、其他版本四类,其中dev为开发环境,demo为演示环境、master为主干分支,其他版本属于个人根据项目部署情况,自行定义的版本。

由于各个版本命名不统一,导致部署的程序与sql、配置文件不兼容,导致演示问题频出,所以需要对版本号建立做一个规划,分为4个分支,分别是dev、sit、demo、master四个分支,dev为总的开发分支,每次有模块迭代,需要从dev分支拉取一个分支作为迭代分支,建议命名[dev+版本_+模块_+上线日期],如dev2.0_datafactory_20220325。

4.2版本合并前准备

在版本合并前,由项目开发负责人将当前版本发布的内容发给对应开发、测试、产品和相关领导,大家对当前版本做一个评价,列出本版本完成的任务、遗留问题和处理方式,确认无误后进入发布环节。

4.3版本合并原则

如果本次发布涉及多个模块,以主要改动模块版本为所有改动模块版本号,便于控制变动范围、出现问题时候方便查找处理。

版本合并原则

1、每次同一个项目开发新版本,需要开发人员从dev拉取开发新的开发分支,命名[dev+版本_+模块_+上线日期]。

2、开发自测完成后可以自行合并到dev分支。

3、dev经过测试验证后,由开发人员在git发起合并请求,项目开发负责人接到请求后合并到demo分支。

4、项目交付后,由项目开发负责人自拉取demo合并到master,并将增量配置合并到项目全量配置中,完成当前版本存档。

5、如果在测试工程师测试发现问题后,可以在当前开发分支修改,也可从dev分支拉取dev当前项目版本bugfix分支[dev+版本dev+版本_+模块_+上线日期_bugfix]进行问题修复,完成后自行合并到dev分支。

6、重复3、4。

4.4版本合并申请

1>进入项目git找到该项目,创建合并请求。

2>选择预合并分支,目标合并分支。

3>添加本次修改的配置文件、sql文件附件,此处文件为增量配置文件。

4>填写需要提交合并的人员信息,创建合并请求。

5>项目开发负责人收到请求后,合并代码和文件,将全量的配置更新到对应分支。

5、私服打包

2.1 原则

在lib包还未稳定前,使用SNAPSHOT版本,稳定后准备发布使用RELEASE版本

2.2 lib包命名规范

dev2.0 _20220225_SNAPSHOT

dev2.0_20220225 _RELEASE

1 主题内容与适用范围 本规范规定了在制订软件质量保证计划时应该遵循的统一的基本要求。 本规范适用于软件特别是重要软件的质量保证计划的制订工作。对于非重要软件或已经开发好的软件,可以采用本规范规定的要求的子集。 2 引用标准 GB/T 11457 软件工程术语 GB 8566 计算机软件开发规范 GB 8567 计算机软件产品开发文件编制指南 GB/T 12505 计算机软件配置管理计划规范 3 术语 下面给出本规范中用到的一些术语的定义,其他术语的定义按GB/T 11457。 3.1 项目委托单位 project entrust organization 项目委托单位是指为产品开发提供资金并通常也是(但有时也未必)确定产品需求的单位或个人。 3.2 项目承办单位 project undertaking organization 项目承办单位是指为项目委托单位开发、购置或选用软件产品的单位或个人。 3.3 软件开发单位 software development organization 软件开发单位是指直接或间接受项目委托单位委托而直接负责开发软件的单位或个人。 3.4 用户 user 用户是指实际使用软件来完成某项计算、控制或数据处理等任务的单位或个人。 3.5 软件 software 软件是指计算机程序及其有关的数据和文档,也包括固化了的程序。 3.6 重要软件 critical software 重要软件是指它的故障会影响到人身安全会导致重大经济损失或社会损失的软件。 3.7 软件生存周期 software life cycle 软件生存周期是指从系统设计对计算机软件系统提出应用需求开始,经过开发,产生一个满足需求的计算机软件系统,然后投入运行,直至该软件系统退役为止。其间经历系统分析与软件定义、软件开发以及系统的运行与维护第三个阶段。其中软件开发阶段一般又划分成需求分析、概要设计、详细设计、编码与单元测试、组装与系统测试以及安装与验收等六个阶段。 3.8 验证 verification 验证是指确定软件开发周期中的一个给定阶段的产品是否达到上一阶段确立的需求的过程。 3.9 确认 validation 确认是指在软件开发过程结束时对软件进行评价以确定它是否和软件需求相一致的过程。 3.10 测试 testing 测试是指通过执行程序来有意识地发现程序中的设计错误和编码错误的过程。测试是验证和确认的手段之一。 3.11 软件质量 software quality 软件质量是指软件产品中能满足给定需求的各种特性的总和。这些特性称做质量特性,它包括功能度、可靠性、易使用性、时间经济性、资源经济性、可维护性和可移植性等。 3.12 质量保证 quality assurance 质量保证是指为使软件产品符合规定需求所进行的一系列有计划的必要工作。 4 软件质量保证计划编制大纲 项目承办单位(或软件开发单位)中负责软件质量保证的机构或个人,必须制订一个包括以下各章内容的软件质量保证计划(以下简称计划)。各章应以所给出的顺序排列;如果某章中没有相应的内容,则在该章标题之后必须注明“本章无内容”的字样,并附上相应的理由;如果需要,可以在后面增加章条;如果某些材料已经出现在其他文档中,则在该计划中应引用那些文档。计划的封面必须标明计划名和该计划所属的项目名,并必须由项目委托单位和项目承办单位(或软件开发单位)的代表共同签字、批准。计划的目次是: 引言 管理 文档 标准、条例和约定 评审和检查 软件配置管理 工具、技术和方法 媒体控制 对供货单位的控制 记录的收集、维护和保存 下面给出软件质量保证计划的各个章条必须具有的内容。 4.1 引言 4.1.1 目的 本条必须指出特定的软件质量保证计划的具体目的。还必须指出该计划所针对的软件项目(及其所属的各个子项目)的名称和用途。 4.1.2 定义和缩写词 本条应该列出计划正文中需要解释的而在GB/T 11457中尚未包含的术语的定义,必要时,还要给出这些定义的英文单词及其缩写词。 4.1.3 参考资料 本条必须列出计划正文中所引用资料的名称、代号、编号、出版机构和出版年月。 4.2 管理 必须描述负责软件质量保证的机构,任务及其有关的职责。 4.2.1 机构 本条必须描述与软件质量保证有关的机构的组成。还必须清楚地描述来自项目委托单位、项目承办单位、软件开发单位或用户中负责软件质量保证的各个成员在机构中的西相互关系。 4.2.2 任务 本条必须描述计划所涉及的软件生存周期中有关阶段的任务,特别要把重点放在描述这些阶段所应进行的软件质量保证活动上。 4.2.3 职责 本条必须指明软件质量保证计划中规定的每一个任务的负责单位或成员的责任。 4.3 文档 必须列出在该软件的开发、验证与确认以及使用与维护等阶段中需要编制的文档,并描述对文档进行评审与检查的准则。 4.3.1 基本文档 为了确保软件的实现满足需求,至少需要下列基本文档: 4.3.1.1 软件需求规格说明书 software requirements specification 软件需求规格说明书必须清楚、准确地描述软件的每一个基本需求(功能、性能、设计约束和属性)和外部界面。必须把每一个需求规定成能够通过预先定义的方法(例如检查、分析、演示或测试等)被客观地验证与确认的形式。软件需求规格说明书的详细格式按GB 8567。 4.3.1.2 软件设计说明书 software design description 软件设计说明书应该包括软件概要设计说明和软件详细设计说明两部分。其概要设计部分必须描述所设计软件的总体结构、外部接口、各个主要部件的功能与数据结构以及各主要部件之间的接口;必要时还必须对主要部件的每一个子部件进行描述。其详细设计部分必须给出每一个基本部件的功能、算法和过程描述。软件设计说明书的详细格式按GB 8567。 4.3.1.3 软件验证与确认计划 software verification and validation plan 软件验证与确认计划必须描述所采用的软件验证和确认方法(例如评审、检查、分析、演示或测试等),以用来难软件需求规格说明书中的需求是否已由软件设计说明书描述的设计实现;软件设计说明书表达的设计是否已由编码实现。软件验证与确认计划还可用来确认编码的执行是否与软件需求规格说明书中所规定的需求相一致。软件验证与确认计划的详细格式按GB 8567中的测试计划的格式。 4.3.1.4 软件难和确认报告 software verification and validation report 软件验证与确认报告必须描述软件验证与确认计划的执行结果。这里必须包括软件质量保证计划所需要的所有评审、检查和测试的结果。软件验证与确认报告的详细格式按GB 8567中的测试报告的格式。 4.3.1.5 用户文档 user documentation 用户文档(例如手册、指南等)必须指明成功运行该软件所需要的数据、控制命令以及运行条件等;必须指明所有的出错信息、含义及其修改方法;还必须描述将用户发现的错误或问题通知项目承办单位(或软件开发单位)或项目委托单位的方法。用户文档的详细格式按GB 8567。 4.3.2 其他文档 除基本文档外,还应包括下列文档: a. 项目实施计划(其中可包括软件配置管理计划,但在必要时也可单独制订该计划):其详细格式按GB 8567。 b. 项目进展报表:其详细格式可参考本规范附录B(参考件)中有关《项目进展报表》的各项规定。 c. 项目开发各个阶段的评审报表:其详细格式可参考本规范附录C(参考件)中有关《项目阶段评审表》的各项规定。 d. 项目开发总结:其详细格式按GB 8567。 4.4 标准、条例和约定 必须列出软件开发过程中要用到的标准、条例和约定,并列出监督和保证书执行的措施。 4.5 评审和检查 必须规定所要进行的技术和管理两方面的评审和检查工作,并编制或引用有关的评审和检查堆积以及通过与否的技术准则。至少要进行下列各项评审和检查工作: 4.5.1 软件需求评审 software requirements review 在软件需求分析阶段结束后必须进行软件需求评审,以确保在软件需求规格说明书中所规定的各项需求的合适性。 4.5.2 概要设计评审 preliminary design review 在软件概要设计结束后必须进行概要设计评审,以评价软件设计说明书中所描述的软件概要设计的总体结构、外部接口、主要部件功能分配、全局数据结构以及各主要部件之间的接口等方面的合适性。 4.5.3 详细设计评审 detailed design review 在软件详细设计阶段结束后必须进行详细设计评审,以确定软件设计说明书中所描述的详细设计在功能、算法和过程描述等方面的合适性。 4.5.4 软件验证与确认评审 software verification and validation review 在制订软件验证与确认计划之后要对它进行评审,以评价软件验证与确认计划中所规定的验证与确认方法的合适性与完整性。 4.5.5 功能检查 functional audit 在软件释放前,要对软件进行功能检查,以确认已经满足在软件需求规格说明书中规定的所有需求。 4.5.6 物理检查 physical audit 在验收软件前,要对软件进行物理检查,以验证程序和文档已经一致并已做好了交付的准备。 4.5.7 综合检查 comprehensive audit 在软件验收时,要允许用户或用户所委托的专家对所要验收的软件进行设计抽样的综合检查,以验证代码和设计文档的一致性、接口规格说明之间的一致性(硬件和软件)、设计实现和功能需求的一致性、功能需求和测试描述的一致性。 4.5.8 管理评审 management reviews 要对计划的执行情况定期(或按阶段)进行管理评审;这些评审必须由独立于被评审单位的机构或授权的第三方主持进行。 4.6 软件配置管理 必须编制有关软件配置管理的条款,或引用按照GB/T 12505单独制订的文档。在这些条款或文档中,必须规定用于标识软件产品、控制和实现软件的修改、记录和报告修改实现的状态以及评审和检查配置管理工作等四方面的活动。还必须规定用以维护和存储软件受控版本的方法和设施;必须规定对所发现的软件问题进行报告、追踪和解决的步骤,并指出实现报告、追踪和解决软件问题的机构及其职责。 4.7 工具、技术和方法 必须指明用以支持特定软件项目质量保证工作的工具、技术和方法,指出它们的目的,描述它们的用途。 4.8 媒体控制 必须指出保护计算机程序物理媒体的方法和设施,以免非法存取、意外损坏或自然老化。 4.9 对供货单位的控制 供货单位包括项目承办单位、软件销售单位、软件开发单位或软件子开发单位。必须规定对这些供货单位进行控制的规程,从而保证项目承办单位从软件销售单位购买的、其他开发单位(或子开发单位)开发的或从开发(或子开发)单位现存软件库中选用的软件能满足规定的需求。 4.10 记录的收集、维护和保存 必须指明需要保存的软件质量保证活动的记录,并指出用于汇总、保护和维护这些记录的方法和设施,并指明要保存的期限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值