体系审核助手ISO 条款库 · 审核检查表在线生成
首页 / 过程库 / 设计开发

P03 设计开发

责任部门:技术部、研发部

过程流程

策划;输入;设计;评审;验证;确认;更改

审核要点

设计开发策划
是否根据产品、软件、系统、项目或服务的实际情况确定设计开发过程。
是否明确设计开发的职责、权限、阶段、接口及相关人员。
是否确定设计开发所需的人员、技术、设备、软件工具及工作环境。
是否根据项目特点确定设计评审、验证、确认及测试安排。
是否识别设计开发过程中涉及的质量、环境、职业健康安全、IT服务及信息安全等方面的风险。
对新产品、新软件、新系统、新功能或重大技术变更,是否进行必要的设计开发策划。
是否根据项目规模、技术复杂程度及风险程度确定适当的设计开发控制方式。
设计开发输入
是否充分识别客户需求、合同要求、法律法规、技术规范及其他适用要求。
是否明确产品、软件、系统或服务的功能、性能、接口、兼容性及安全要求。
是否考虑产品和服务的使用条件、交付要求、维护要求及验收要求。
是否考虑相关方提出的特殊要求。
涉及信息系统、软件开发或系统集成时,是否识别数据、网络、账号、权限、接口及信息安全方面的要求。
是否考虑客户对数据保密、访问控制、数据保护、日志、备份等方面的要求。
是否对设计开发输入进行评审,确保输入完整、明确、适宜。
设计开发输入发生变化时,是否及时进行确认和更新。
设计开发实施
是否按照策划的阶段开展设计开发工作。
是否对设计方案、技术方案、架构方案等进行必要的评审。
设计开发人员是否具备相应的能力和专业知识。
是否对设计开发所使用的设备、软件工具及技术平台进行适当管理。
软件开发过程中是否对开发环境、测试环境和生产环境进行适当区分和控制。
是否根据人员职责和实际工作需要分配开发环境及相关系统访问权限。
是否对设计开发人员访问技术资料、程序源代码及相关系统进行适当授权。
程序源代码是否按照组织要求进行存储、访问和版本控制。
是否能够识别和追溯程序源代码的版本、修改人员及修改情况。
源代码修改、功能修改及重要配置变更是否经过授权。
是否防止未经授权复制、修改、删除或外泄设计资料、程序源代码等重要信息。
技术方案、设计图纸、程序代码、数据库设计、接口文档、配置文件等技术资料是否得到适当保护。
是否根据资料的重要程度设置相应的访问权限。
是否对设计开发过程中的重要技术资料进行备份。
设计开发过程中使用的客户数据、测试数据及生产数据是否得到适当保护。
测试数据涉及客户敏感信息时,是否采取脱敏、替代或其他适当控制措施。
是否对设计开发使用的软件工具、开发平台、第三方组件及相关技术资料进行适当管理。
使用第三方软件、开源代码或技术组件时,是否进行必要的识别、评估和管理。
是否考虑设计开发过程中产生的环境、职业健康安全及信息安全风险。
设计评审
是否按照策划要求开展设计开发评审。
是否根据设计开发阶段确定适当的评审人员。
评审是否考虑设计结果满足客户及合同要求的能力。
是否评价设计方案的可实施性、适宜性及相关风险。
涉及软件、信息系统及系统集成时,是否对系统架构、功能、接口、兼容性及安全要求进行评审。
设计评审发现的问题是否得到记录、处理和跟踪。
是否保留必要的设计评审记录。
设计验证、确认及测试
是否根据设计开发策划实施验证、确认或测试。
测试是否覆盖主要功能、性能、接口及相关技术要求。
是否根据实际风险确定测试内容和测试方法。
涉及信息系统时,是否根据项目实际情况考虑身份认证、访问控制、数据保护、日志等安全要求。
测试环境中的程序、数据和技术资料是否得到适当保护。
测试数据是否与实际业务要求相适宜。
使用客户真实数据进行测试时,是否采取相应的信息保护措施。
测试结果是否形成记录。
测试发现的问题是否得到处理和跟踪。
对测试不合格的功能或程序,是否重新修改、测试和确认。
验证、确认及测试结果是否能够证明设计输出满足规定要求。
项目正式上线或交付前是否完成必要的测试和确认。
设计开发输出
是否形成必要的设计开发输出。
设计输出是否包括技术方案、设计文件、程序、源代码、图纸、配置文件、接口文件、操作说明等适用资料。
设计输出是否能够满足设计输入要求。
是否能够为采购、生产、安装、调试、服务、测试及验收提供依据。
技术资料和程序源代码是否按照版本进行管理。
是否能够确保实际交付的软件、程序、配置与经过确认的设计输出保持一致。
设计开发输出是否经过适当的审核、确认或批准。
设计开发完成后,是否按照规定保存相关技术资料和记录。
项目交付时是否明确客户获得的技术资料、软件版本、配置文件及其他交付物。
设计开发变更
设计开发发生变更时,是否进行识别、评审和必要的验证或确认。
程序源代码修改、软件升级、系统架构调整、数据库结构调整等是否纳入变更管理。
是否能够追溯设计变更的原因、内容、人员及批准情况。
是否评价变更对产品、服务、系统功能、性能及信息安全的影响。
变更后的技术资料、源代码及相关文件是否及时更新。
是否防止未经批准的程序、配置或设计变更直接进入生产环境。
对重大设计变更,是否重新进行必要的测试和确认。
设计变更后,相关部门及客户需要了解的内容是否得到及时传递。
变更实施后是否确认实际结果满足变更要求。
设计开发资料及信息安全控制
技术资料、设计文件、源代码、数据库结构、接口文件等是否按照其重要程度进行管理。
是否明确相关资料的访问权限。
是否限制无关人员访问设计开发资料。
开发人员离职、岗位调整后,相关访问权限是否及时调整或取消。
源代码是否避免长期存放在个人电脑、个人网盘等缺乏控制的环境中。
是否能够防止源代码及重要技术资料未经授权复制、外传。
通过邮件、即时通信工具等传递技术资料时,是否采取适当的安全控制措施。
客户敏感数据是否避免在不必要的平台之间传递。
测试完成后,客户测试数据是否按照要求保存、删除或进行其他处理。
设计开发资料是否具有适当的备份和恢复措施。
是否能够根据项目实际情况对技术资料、源代码及相关信息进行生命周期管理。

审核记录示例

现场与设计开发人员沟通设计开发过程,结合组织实际产品、软件及项目情况了解设计开发的策划、输入、实施、评审、验证、确认及输出情况。组织能够根据产品、软件、系统及项目实际情况确定相应设计开发过程,明确相关人员职责及工作接口,并根据项目实际情况开展需求分析和技术策划。
现场抽查某软件项目设计开发资料,结合客户需求、合同及技术要求查看设计开发输入情况。组织能够根据客户要求、合同约定、技术规范及实际使用要求确定设计开发输入,对产品或服务的功能、性能、接口、兼容性、实施条件等要求进行分析和确认,相关输入资料能够为后续设计工作提供依据。
现场查看项目技术方案、系统架构及相关设计文件,组织能够根据已确认的设计输入形成相应设计输出,包括技术方案、设计文件、程序、配置文件、接口文件及相关技术资料等。抽查部分设计输出与项目实际实施情况,相关设计结果能够为采购、开发、安装、调试、测试及服务提供依据,设计输出与实际项目要求基本一致。
现场查看项目程序源代码及开发资料管理情况,组织能够将程序源代码存放于相应的代码管理环境,并按照项目及版本进行管理。开发人员根据职责和授权访问相关代码,程序修改能够通过版本管理或相关记录进行追溯,能够识别相应版本及修改情况。现场未发现无关人员随意访问项目源代码的情况。
现场抽查项目开发及测试过程,组织能够对开发、测试及正式运行环境采取相应管理措施,程序修改完成后按照项目要求进行测试和确认。测试过程中涉及客户数据的,能够根据实际情况采取脱敏或其他保护措施,测试发现的问题能够进行记录和处理,相关测试结果能够作为软件交付及上线的重要依据。
现场查看项目技术资料管理情况,技术方案、系统架构图、数据库设计、接口文档、配置文件等资料能够按照组织相关要求进行保存和管理。对于涉及客户业务、系统结构及其他敏感信息的技术资料,能够采取访问权限、账号管理等措施进行控制,相关人员能够按照授权范围使用项目资料。
现场抽查设计开发人员权限管理情况,相关人员能够根据岗位职责获得相应的开发环境、代码库及技术资料访问权限。对于人员岗位变化、项目结束或职责调整等情况,组织能够根据实际情况调整相关访问权限,未发现无关人员长期保留项目源代码及技术资料访问权限的情况。
结合软件版本及设计变更情况进行抽查,组织在程序功能、系统配置及技术方案发生变化时,能够根据实际情况实施变更管理,对重要变更进行评审、测试及确认,并及时更新相关技术资料和程序版本。抽查实际运行版本与项目资料,基本能够保持一致。
现场查看项目测试记录及客户确认资料,组织能够根据项目特点开展相应的功能测试、系统测试及确认活动,对测试发现的问题进行记录、处理和跟踪。项目完成后能够根据合同或项目要求向客户提供相应的产品、软件、技术资料及服务,并保留必要的测试和确认记录。
结合项目实施过程中出现的问题进行了解,组织能够将测试、调试、客户反馈及项目实施过程中发现的问题反馈至相关人员,并根据实际情况对设计方案、技术文件或系统配置进行调整。相关设计资料能够按照实际变更情况进行更新,基本能够保持设计结果与最终实施状态一致。
现场查看设计开发相关记录,相关设计输入、方案、评审、测试、确认及变更资料能够提供相应的记录和证据,设计开发过程基本具有可追溯性。总体来看,组织能够结合产品、软件及信息系统项目实际情况开展设计开发,对客户需求、技术要求、相关风险及信息安全要求进行考虑,并通过设计评审、验证、确认、源代码及技术资料控制以及设计变更管理,保证设计开发结果满足规定要求。

高频问题

实际存在设计开发活动,但没有纳入体系管理。
设计开发过程没有明确阶段和职责。
设计开发输入不完整,仅依据客户口头要求进行设计。
客户需求没有完整转化为技术要求。
客户需求、合同要求与设计输入之间缺少对应关系。
设计开发输入没有经过评审。
设计评审、验证、确认流于形式。
设计输出与设计输入存在不一致。
设计输出不能有效指导采购、生产或服务实施。
软件、系统集成项目没有明确技术方案和接口要求。
系统集成只关注功能实现,没有考虑兼容性、数据及安全要求。
开发、测试、生产环境没有适当区分。
开发人员可以直接修改生产环境程序。
程序源代码存放在个人电脑,没有统一管理。
开发人员可以随意访问全部源代码,没有权限控制。
源代码没有版本管理,无法确认当前使用的是哪个版本。
程序修改没有记录修改人员和修改内容。
源代码修改未经授权。
技术方案、系统架构图、数据库设计等重要资料访问权限过宽。
客户数据直接复制到开发人员个人电脑进行测试。
测试时直接使用客户真实数据,没有采取脱敏等措施。
客户敏感资料通过个人微信、个人邮箱等方式随意传递。
源代码及技术资料缺少备份。
项目人员离职后仍保留相关系统和资料访问权限。
使用第三方软件、开源代码或第三方组件时没有进行识别和管理。
第三方组件存在安全风险但没有进行处理。
软件升级或程序修改未经测试就直接上线。
设计变更未经评审直接实施。
设计变更没有分析对已交付产品或项目的影响。
设计变更后没有同步修改技术文件。
实际运行的软件版本与设计输出版本不一致。
设计开发完成后没有明确验收标准。
项目实施过程中发现的问题没有反馈至设计开发过程。
客户反馈没有形成设计改进输入。