篇三.软件设计开发管理办法

本文档详细阐述了软件设计开发的管理办法,包括软件设计过程、项目管理职责、软件设计与研发内容、注意事项、评审流程、编码实现和检查标准,强调了满足功能和性能要求、遵循相关规范以及确保软件质量的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三、软件设计开发管理办法

第1章 总则
第1条 目的。

        为使软件产品满足规定的需求,规范软件产品研发过程中的软件设计、软件编码及软件测试等工作,以确定软件的体系结构、组成模块划分和接口说明等,确保软件产品的质量和性能符合规定的要求,特制定本办法。办法还可以协调和优化软件开发流程,提高生产效率,降低开发成本,同时确保软件产品的可靠性和安全性。

第2条 适用范围。

        本办法适用于公司所有的软件产品的设计管理工作。

第3条 责任部门及主要人员职责。

        软件研发团队所在部门是该软件设计研发工作的归口管理部门。

        1.软件项目经理或部门对整个项目负完全责任,包括指导、控制、管理和规范某个软件和软/硬件系统建设。负责选定项目组成员,成立项目组,安排任务分工,并与其他部门进行沟通和协调,制定项目计划监督软件研发的进度,做好费用预算与控制工作。

        2.软件产品经理(负责人)对一个项目的所有软件活动负完全责任,控制该项目的所有软件资源,按照软件约定与项目经理或部门负责人打交道。他们需要负责软件开发和维护活动,例如开发计划、需求分析、软件设计、编程和测试等。

        3.软件研发高级工程师主要负责带领设计研发人员进行新软件的开发。

第4条 参考文档

GB8566-2007计算机软件开发规范

GB/Z 31102-2014 软件工程 软件工程知识体系指南

GB/T 30971-2014 软件工程 用于互联网的推荐实践 网站工程、网站管理和网站生存周期

GB/T 32421-2015 软件工程 软件评审与审核

GB/T 36964-2018 软件工程 软件开发成本度量规范

GB/T 30999-2014 系统和软件工程 生存周期管理 过程描述指南

GB/T 30847-2014 系统与软件工程 可信计算平台可信性度量

GB/T 30972-2014 系统与软件工程 软件工程环境服务

GB/T 32424-2015 系统与软件工程 用户文档的设计者和开发者要求

GB/T 16680-2015 系统与软件工程 用户文档的管理者要求

GB/T 25000-2016 系统与软件工程 系统与软件质量要求和评价(SquaRE)

GB/T 38557-2020 系统与软件工程 接口和数据交换

GB/T 22032-2021 系统与软件工程 系统生存周期过程

GB/T 41866-2022 系统与软件工程 信息技术项目绩效基准度度量框架

GB/T 41865-2022 软件与系统工程 产品线工程与管理参考模型

GB/T 29831-2013 系统与软件功能性

GB/T 29832-2013 系统与软件可靠性

GB/T 29833-2013 系统与软件可移植性

GB/T 29834-2013 系统与软件维护性

GB/T 29835-2013 系统与软件效率

GB/T 29836-2013 系统与软件易用性

GB/T 8566-2007  信息技术 软件生存周期过程

GB/T 30882-2014 信息技术 应用软件系统技术要求

GB/T 19668-2018 信息技术服务

GB/T 38888-2020 数据采集软件的性能及校准方法

GB/Z 40213-2021 自动化系统与集成 基于信息交换需求建模和软件能力建规的应用集成方法

GB/T 32854.4-2020 自动化系统与集成 制造系统先进控制与优化软件集成

GB/T 34980-2017 智能终端软件平台技术要求

第2章 软件设计与研发
第5条 软件设计的内容。

1.编写软件系统说明书,主要描述系统结构、各组件间的相关性、接口标准、数据设计、过程设计等内容。

2.从系统高层开始着手进行系统设计,逐步编写以下内容。

        1)对整个系统的设计方案作简明扼要的描述。包括软件系统的总体方案设计、总体架构设计、数据存储的总体设计、计算机和网络系统的方案设计等。

        2)描述及绘制系统的体系结构,定义软件系统各主要部件之间的关系,确定软件内部,软件和操作系统间以及软件和人之间如何通信,将实体关系转换成数据结构的定义。

        3)确定系统中的风险因素,包括但不限于需求不明确、计划混乱、技术不足、沟通不畅、资源欠缺、缺乏论证、法律风险、管理风险等。

3.对系统中的子系统进行细分,给出各子系统、各组件的规格说明。

        1)进行系统详细设计,包括用例描述、模块或组件设计、功能点描述、代码设计、数据库设计、人/机界面设计、处理过程设计等。

        2)对系统的重用性进行分析,包括程序代码、测试用例、设计文档、设计过程、需要分析文档甚至领域知识等可重用的软部件。

4.产品某特性规格说明要求(产品优势)

        1)摘要,对产品特性的概要描述。

        2)论证,开发该产品特性的原因。

        3)目标,希望得到的最终目标结果。

        4)需求,产品在发布前必须具备的功能。

        5)用户使用操作说明。

        6)进度,产品特性的开发进度和里程碑安排。

        7)依赖关系,本产品特性依赖于哪些产品特性。

        8)尚未解决、有待讨论的问题。

5.制订产品的开发计划。

        1)可以按子系统或子模块拟定独立计划,并行推进,软件系统开发计划是汇总子系统或子模块进度规划的总计划。

        2)开发计划必须体现关键节点或里程碑,并与具体产品要求匹配映射。

第6条 软件研发注意事项。

        软件研发人员根据部门研发计划中的进度与各阶段的要求进行系统设计,设计过程中需考虑软件产品的三大要求,即使用要求、测试要求及维护要求。

1.使用要求:

1)确保理解客户的需求,并将这些需求转化为明确的功能和规格说明书。

        2)在确保软件满足业务和用户需求的同时尽可能地关注易用性和可操作性等方面。

        3)在开发过程中考虑软件的性能,通过优化算法、减少不必要的计算和资源使用来提高效率。

        4)关注用户的需求和反馈,优化软件界面和交互设计,以提高用户体验。

        5)合理地使用日志和监控可以帮助团队快速定位和解决问题。同时收集和分析这些数据可以帮助改进软件性能和用户体验。

        6)遵守相关法律法规,例如隐私政策、数据保护和知识产权等,避免法律风险。在特定情况下,可能需要寻求专业法律咨询。

2.测试要求:

        1)测试人员应及时反馈问题和意见,协助开发者修复程序错误和改进软件质量。

        2)在软件开发过程中,要注重错误处理。

        3)对于异常情况,应该有合适的错误提示和处理机制,避免用户界面出现混乱或无法解决问题的情况。

        4)使用第三方控件和库可以加快开发速度,但需对其安全性、稳定性和可靠性进行评估。同时避免使用存在安全漏洞的开源组件和第三方控件。

        5)确保软件可以在不同的操作系统、设备或浏览器上运行,并考虑未来可能的变更,以便在必要时进行兼容性测试。

3.维护要求:

        1)对于复杂的项目,建议编写文档来记录系统架构、功能模块、接口协议等信息,以便团队成员更好地理解和维护代码。

        2)注意保护个人隐私信息,避免将重要数据和代码泄露给未经授权的人员。

        3)制定并遵守良好的编程规范,例如注释清晰、命名规范、代码复用等,可以提高代码的可读性和可维护性。

        4)使用版本控制系统(如Git)跟踪代码更改和历史记录,可以帮助团队成员更好地协作和管理代码。

        5)通过自动化的构建、测试和部署流程,可以更快地将更改发布到生产环境,并减少错误。

第7条 软件研发报告。

        软件研发报告应按公司规定的要求编写,在客户研发报告的格式和内容有特殊要求时,按与客户共同约定的规则编写。

        虽然软件研发报告文件格式会依据各部门、各客户要求有所不同,但软件研发报告的主要内容至少应包括以下几个方面:

        1)项目概述:简要介绍项目的名称、背景、目的、涉及的领域、应用场景等信息。同时,还需要明确本报告的目的和文档中所使用的主要术语和参考资料。

        2)项目需求分析:项目的功能性需求和非功能性需求进行详细的描述。功能性需求包括但不限于系统的各项功能、输入输出、数据处理、安全控制等;非功能性需求包括对系统的性能、稳定性、可靠性、易用性等方面的要求。

        3)研究方法和可行性分析:描述在进行软件研发时所采用的研究方法和技术,以及根据当前项目需求和资源情况所进行可行性分析和决定过程。

        4)经济可行性分析:在明确了项目需求和现有系统情况后,需要对项目在经济方面的合理性进行分析和评估,包括投资回报率、成本效益分析等。

        5)软件研制过程:详细描述软件研制的整个过程,包括需求分析、设计、编码、测试等环节以及工作计划。每个阶段都应包括主要工作产品、评审情况、主要问题分析及处理情况等内容。

        6)结果总结:汇总整个软件研制过程的结果,并对关键问题进行进一步的讨论,包括经验教训、不足之处以及下一步的改进方向等。

第3章 软件研发评审
第8条 软件研发评审人员。

        1.软件研发人员在提交研发报告之前必须对研发报告进行评审,评审活动主要由研发经理、研发人员以及市场、业务、服务支持等干系人参加。

        2.重大项目的评审需要公司高层领导参与。

        3.必要时,公司可邀请客户、用户参加研发设计的评审工作。

        4.评审意见、决议结果等评审记录由软件配置管理负责人填写并归档,并周知干系人员。

第9条 软件研发评审的内容。

        软件研发评审的内容主要包括以下四点。

        1.该项设计能否满足规定的功能和性能要求。

        2.设计是否满足相应的设计规范。

        3.设计是否满足下一阶段工作的输入要求。

        4.在进入下一阶段工作前,所有已发现的错误或缺陷是否均已消除,或虽未消除但已弄清楚继续进行工作的风险。

第10条 设计的修改。

        1.未通过评审的研发报告由设计人员负责按照评审意见进行修改,修改后重新进行评审。

        2.在软件开发过程中,需要对研发报告进行修改时,设计人员须填写更改单申请更改,经审核批准后方可修改。

        3.需要有效评估研发报告修改影响关联内容,并进行统一矫正及确认,确保修改不外溢到可控盲区。

        4.研发报告修改后,需要及时周知项目干系人,并跟进确保他们都已经明确修改内容,必要是要求他们给与回复确认。

第4章 编码
第11条 编码实现。

1.项目研发人员应根据所要实现的系统要求选用相应的编程工具,并遵守《计算机源代码编写规范》或开发计划中确定的标准与规程进行系统编码。

        1)遵循需求文档及研发报告的要求,确保设计和编码应保持一致

        2)代码的编写应以实现设计的功能和性能为目标,满足用户需求,不刻意扩大,也无自行裁减。

        3)程序结构应清晰,简单易懂,避免复杂的嵌套结构和过多的全局变量

        4)代码应易于理解,方便调试和测试

        5)代码应具有良好的可修改性和可重用性,易于扩充和移植

        6)代码的命名应规范,遵循统一的命名规则。

        7)在保证程序正确性的基础上,应尽量提高代码的执行效率、性能指标。

2.研发人员按照系统报告的要求实现系统编码,以满足用户对系统功能和质量的要求。

        1)覆盖业务需求、软件研发报告上的所有要求的功能、性能。

        2)尽可能满足客户所在行业的习惯、政策、法规等行业软件标准。

        3)尽可能满足需求及软件研发报告虽未提及,但属于软件行业对于软件产品的品质、性能、交互、部署等通用性功能要求。

第12条 编码检查。

1.在编码实现过程中,每一个阶段的结果在提交之前都应由软件研发经理或高级工程师进行检查,以确定其是否满足要求。检查工作包括以下三个方面的内容。

        1)编程风格满足“计算机源代码编写规范“或已确定的标准与规程的要求。

        2)本阶段的结果是否满足相应的功能和性能需求。

        3)所有已发现的错误或缺陷均已消除或虽未消除但已弄清楚继续进行工作的风险。

2.软件代码审核需要遵循但不限于以下原则:

        1)代码规范性:检查代码是否符合编码规范,例如命名规范、格式规范、注释规范等。

        2)代码可读性:检查代码是否易于阅读和理解,包括是否有清晰的注释、适当的变量名和函数名等。

        3)代码可维护性:检查代码是否具有良好的可维护性,包括可修改性、可重用性、可测试性和可移植性等。

        4)代码性能:检查代码的执行效率,例如算法的复杂度、内存使用情况等。

        5)代码安全性:检查代码是否存在潜在的安全漏洞,例如缓冲区溢出、SQL注入等。

        6)文档完整性:检查相关的文档是否完整、清晰和准确,包括需求文档、设计文档和用户手册等。

        7)测试覆盖率:检查测试用例是否覆盖了所有的功能和场景,并且测试覆盖率是否达到要求。

        8)代码复杂度:检查代码的复杂度,包括圈复杂度、类的长度和方法数等,以评估代码的可维护性和可测试性。

        9)代码质量:检查代码是否存在质量问题,例如代码重复、死代码、过多的异常等。

        10)其他要求:如对代码风格、命名约定等的检查。

第13条 编码信息管理。

        1.通过制定编码信息管理规范,明确编码信息的定义、格式、标识、存储、更新等要求,以确保编码信息的统一性和规范性。

        2.选择合适的编码信息管理工具,例如版本控制工具、文档管理工具等,便于编码信息的分类、存储、查询和共享。

        3.制定编码信息管理流程,包括信息的输入、审核、存储、更新、查询、共享等流程,以确保编码信息管理的规范性和有效性。

        4.对于涉及敏感信息和商业机密的编码信息,需要加强其安全保障措施。将编码信息管理责任落实到具体的人员和岗位上,以确保编码信息管理的责任性和专业性。

        5.建立评估机制,定期对编码信息管理进行评估和审查,以便发现问题并及时进行改进。

        6.在编码实现的过程中,研发人员应注意保存必要的编码信息和用户使用信息,完成编码后,应整理这些信息,并按照要求编写“技术报告”和“用户手册”。

第5章 附则补充
第14条 按项目实际情况简化要求

        本软件设计开发管理办法提供指导建议,软件概要设计、详细设计、代码编写依据项目规模、复杂程度不同,可以按项目进行简化其设计开发管理办法。

第15条 寻求适配团队的管理办法

        鼓励团队在实践中不断总结经验,并对软件设计开发管理办法进行更新和迭代,形成团队自由的软件设计开发管理办法,以适应团队需要或新的技术和业务需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

py_free-物联智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值