《软件开发规范》由会员分享,可在线阅读,更多相关《软件开发规范(8页珍藏版)》请在金锄头文库上搜索。
1、-工程组工程组软件开发行为标准软件开发行为标准仅供信息化部使用1 1 概述概述1.11.1 编写目的编写目的为了把公司已经发布的软件开发过程标准有效地运作于产品开发活动中, 把各种标准逐步形成工程师的作业标准,特制定本软件开发行为标准,以到达提高系统质量的目的。在本标准中,阐述了根本的开发模式,包括需求验证、设计、编码标准、代码审查、单元测试、配置管理等,并明确开发过程中的方法、策略、工具以及环境要求,开发人员都必须遵守本软件开发标准。1.21.2 读者对象读者对象本标准读者对象为软件开发工程管理者、工程经理、开发组2 2 需求评审需求评审2.12.1 过程要求过程要求按软件开发过程经历,问题
2、暴露越早越好。因此,在实施设计和编码前,需对工程经理提供的需求说明文档进展充分的验证,在不明确的需求点上,需要和.z.-工程经理进一步核实,确保对每个需求点有清晰、一致的认识和理解。在需求验证的过程中,需按以下检查点进展逐项检查包括不限于 :1.所有定义、实现方法是否清楚地表达了用户的原始要求?2.是否清楚、明确地描述了所有的功能?是否没有不能理解或造成误解的描述?3.需求定义是否包含了有关功能、性能、限制、目标、质量等方面的所有需求?4.需求是否可以验证即是否可以检验软件是否满足了需求?5.是否有术语定义一览表?6.是否标识并定义了在将来可能会变化的需求?7.各个需求之间是否一致?是否有冲突
3、和矛盾?8.是否认义了系统所有的输入、输出及其来源?主要为客户或者其他外部接口,是否明确定义了输入参数和输出参数?9.是否说明了如何进展系统输入的合法性检查?10. 功能性需求是否覆盖了所有非正常情况的处理?11. 对异常数据产生的结果是否作了准确的描述?12. 是否充分定义了关于人机界面的需求?13. 在不同情况下,是否规定了系统的响应时间?14. 界面需求是否使软硬件系统具有兼容性?15. 是否有对相关日志做明确要求?以满足稽核相关的需要。针对开发过程中的需求变更,以上需求验证点同样适用,并同时评估需求变更给当前工程的设计和开发带来的风险,包括架构、平安、进度等方面,以便工.z.-程经理进
4、展方案调整和安排。2.22.2 工具及环境工具及环境1.在此过程中,使用E*cel 对以上检查点进展跟踪和标记。记录文档需check-in 到 svn.2. 评审完成的需求文档需 check-in 到 svn。3.任何需求变更文档需 check-in 到 svn。4.登记相关问题,并跟踪其状态。3 3 系统设计及评审系统设计及评审3.13.1 过程要求过程要求概要设计要以软件需求规格为根底, 必须保证需要实现的需求规格已经被设计。概要设计文档的需涵盖以下几方面:1.涵盖系统的总体构造、功能。系统共包含哪些模块,以及模块之间的关系。使阅读者对系统有了全局观。2.明确系统使用的外部接口和资源。包括
5、外部环境、第三方接口、第三方技术架构等。3.模块设计的进一步细化,包括具体的输入、输出、处理逻辑、与其他模块之间的接口等。4.数据构造设计,文档中明确数据的物理构造和逻辑构造,包括数据的存储方式、缓存策略、备份策略、清理策略等。5.容灾设计,主要指外部资源或接口不可用时,系统如何处理,包括客户.z.-提示信息、错误现场记录等。6.监控设计,针对系统中的关键业务,特别是对实时性、准确性要求较高的功能,需考虑其监控指标、监控方法、业务阀值、告警通知的设计。7.平安设计,在系统概要设计中,要充分考虑系统平安方面的设计,包括数据传输、数据存储、网络攻击等方面的情况。8.其他情况,未在以上提及的工程其他
6、情况,可进展特别说明。同时,在概要设计过程中,需遵循以下原则:1、当需求规格发生变更时,必须修订相关概要设计文档。2、在概要设计文档,必须记录、验证需求和概要设计的跟踪关系。3、必须保证概要设计文档和代码的一致性。当发生设计更改时,必须修订相应设计文档。4、概要设计过程完毕前,必须通过评审,并保存评审记录。5、设计更改必须经过相关评审,并保存评审记录。在概要设计评审阶段,可按以下检查点进展逐项验证包括但不限于 :1、是否描述了接口的功能特征2、接口是否便于查错3、接口相互之间、和其他模块、和需求说明书及接口规格书保持一致?4、对接口的数量和复杂度进展了有效的平衡,使接口数量控制在一个较小数量,
7、每个接口具有可承受的复杂度?5、是否所有的接口都能描述了必要的类型、数量、质量等信息?6、操作界面是否考虑了用户例如:提供准确、清晰、有用的提示信息7、是否模块化设计?.z.-8、模块遵循高内聚、低耦合的原则?9、是否每一局部的设计都可以追溯到需求说明书,接口规格说明书、或其他产品文档?10、 对所继承下来的那些特别和不常用的特性对目前设计的影响是否进展了分析?11、需求规格评审中不完整的需求是否都已经解决12、设计是否考虑了检错和恢复措施?例如:输入检查,数据错误后如何恢复13、是否考虑了异常情况?14、是否完全准确描述了所有的出错情况?15、设计是否能够满足所有系统集成方面的要求?3.33
8、.3 工具及环境工具及环境1. 概要设计文档及其评审文档需 check-in 到 svn 中。2. 概要设计过程中的问题跟踪需记录。4 4 系统实现系统实现4.14.1 过程要求过程要求编码必须以设计文档为根底, 必须保证所有的设计都被编码实现。当设计发生变更时,必须修改相关代码。同时必须保证设计文档和代码的一致性。当代码的修改已经造成设计更改时,必须修订相应设计文档。在系统实现过程中,需遵循以下标准:.z.-1.遵照各项编码标准。2.所有代码使用 svn 进展统一管理,并至少提供开发、测试、生产三种构建脚本。3.在系统开场之前,需在 svn 上创立对应的分支,开发工作统一在分支上进展。4.针
9、对开发任务的分解,需要参照单人单任务在两天以内完成的标准。5.开发过程中,单元测试通过的代码需要及时 check-in 到 svn。6.代码进入系统测试前需进展评审, 可以是集中评审或者穿插评审的方式。评审内容包括根本编码标准、根本逻辑、日志标准、出错处理等。7.单元测试的覆盖率需在 80%以上。具体的单元测试要点如下: 对所测模块的数据进展测试。 检查不正确或不一致的数据类型说明、使用尚未附值或尚未初始化的变量、错误的初始值或缺省值。 设计测试用例查找由于不正确的计算包括算法错、表达式符号表示不正确、运算精度不够等 、不正确的比拟或不正常的控制流包括不同数据类型量的相互比拟、不适当地修改了循
10、环变量、错误的或不可能的循环终止条件等而导致的错误。 检查模块有没有对预见错误的条件设计比拟完善的错误处理功能,保证其逻辑上的正确性。 边界检查,注意设计数据、控制中刚好等于、大于或小于确定的比拟值的用例。8.开发过程中,需进展持续化构建,保证 check-in 的代码质量。.z.-9.工程中引进的新技术需经过统一评审。5 5 测试测试5.15.1 过程要求过程要求在系统交付给测试组进展测试前,开发人员需在内部进展第一轮功能测试。测试过程中需保持测试代码的准确性和测试环境的独立性。 具体测试内容包含但不限于以下几方面:1.功能测试。对照需求文档中的功能点,对系统的功能进展测试验证,确保系统完全
11、满足需求文档中的要求。2.平台兼容性测试。在不同的浏览器、硬件配置环境下进展测试,主要浏览器包括Firefo*,safari,IE, chrome。针对移动端,需涵盖三个主流操作系统,iOS,Android 和 WindowsMobile 。 硬 件 兼 容 性 则 包 括 不 同 的 智 能 终 端 ,PC,MAC,IPAD 等其他机型的不同分辨率下的兼容性测试。3不同网络环境下测试。针对移动端的应用,验证不同网络环境下,终端应用功能与性能方面是否正常(数据业务是否会中断,业务模块是否出现异常)。网络环境包含:4G 信号, 3G 信号,2G 强信号。6 6 开发方案开发方案6.16.1 过程
12、要求过程要求软件开发是一项复杂、 长期的系统工程, 为保证开发能够顺利地进展实施, 必须要制定科学、合理、切实可行的实施方案,制定严格的时间进度表,明确各个环节实施的时间, 以指导和控制工程的全面实施。.z.-在系统实现过程中,需遵循以下标准:1.2.3.4.5.6.7.软件工程方案必须以产品/软件的需求规格为根底。当发生需求更改时,必须修订软件开发方案。对于软件工程方案中各项工作产品和工作任务,必须进展规模和工作量的软件估计,并在软件工程方案文档中记录估计的方法和估计数据对*项工作产品和任务的软件,同时采用两种或以上的方法进展估计,以防止一种方法的偏差尽量采用历史经历数据进展软件估计在软件开
13、发方案中须包括工程管理活动的方案在软件开发方案包括人员的培训方案在软件开发方案中应考虑软件工程进展风险分析与评估,可能存在的风险领域含:需求的不明确和变更、外部的限制与对外的依赖、人力资源的到位情况、人力资源的技术等级满足要求状况、技术问题等,造成的方案变更。在开发活动中,必须按照工程跟踪与监控方案和体制,对照软件开发方案,跟踪工程开发的实际结果和性能。当实际结果和软件工程方案发生偏离时,必须进展分析,根据分析结果标明纠正措施。必要的情况下,要及时修订软件工程方案在软件工程跟踪监控活动中, 必须定期进展总结和评审, 撰写开发状态报告。根据工程的特点,报告的周期可以为周、双周、月。8.9.7 7
14、 数据平安数据平安7.17.1 过程要求过程要求21 世纪是一个信息爆炸的时代,数据是信息的主要载体,数据平安保证了信息的可用性。而数据备份作为保证数据平安的方法之一, 则显得尤为重要。数据平安不仅在防范计算机病毒、系统漏洞中有表达,更多的还有代码平安,数据库防脱库及数据库备份平安。在系统实现过程中,需遵循以下标准:1.2.3.4.5.6.7.加强开发人员平安意识培训, 近年来的一系列企业泄密事件的发生, 根本原因还在于平安意识的严重缺失,加强平安意识的培训刻不容缓定时检测各应用效劳的系统漏洞,软件漏洞需求代码加密机制,预防源码泄露带来的数据平安隐患建立数据备份机制,每天定时备份数据库数据,源码数据。当源码数据有异常时, 应隔离相关异常源码, 而不是立即删除。 力图寻求异常缘由,修复潜在威胁。开发人员在编写代码或上传源码前应对源码有充分的测试, 保证源码对数据影响的准确性。建立源码发布机制,确保源码平安.z.