软件开发管理制度

软件开发管理制度
根据软件⼯程的过程理论并结合实际情况,制定以下⼯作流程:
1、⽴项:项⽬⽴项申请表、项⽬风险分析清单。
2、需求分析:软件需求报告或设计⽅案、需求规格说明书。
3、总体设计:概要设计说明书或功能模块描述。
4、详细设计:详细设计说明书,包括软件接⼝说明、单元测试计划。
5、软件实现:软件功能说明、源代码、源代码说明或者注释
6、产品测试:测试报告
7、产品发布:产品说明书、使⽤⼿册
8、产品维护:问题反馈记录
9、项⽬总结:项⽬总结性报告
岗位设置
根据公司⽬前的开发过程主要分为分析、开发、测试三个阶段。分析阶段完成⽤户需求⽂档的编写,系统总体设计的编写;开发阶段完成设计⽂档的编写,代码的编写、代码的维护。测试阶段完成系统的测试,测试⽂档及其他材料。设置岗位包括:项⽬经理,需求分析⼯程师,软件架构师,开发经理,⾼级软件开发⼯程师,软件开发⼯程师,测试⼯程师等。所有岗位⼈员应为专职⼈员。
岗位⼯作内容责任
项⽬经理1.配合⽴项⼯作,成⽴项⽬组,安排项⽬任务分⼯。
2.估计项⽬开发费⽤。
3.制定⼩组开发进度表,对组内⼈员⼯作进度监控。
葡萄园防鸟网
4.对⽂档的质量进⾏检查、把关。
4.对组内成员的⼯作进⾏指导。
5.定期召开项⽬会议,把控项⽬风险和进度。
1.对客户的沟通协调⼯作负
责。
2.对软件的开发效率、质
量、费⽤负责。
3.对系统总体设计、详细设
计⽂档质量负责。
4.对整个项⽬的进度、质
量、成本、风险等负责。
需求分析师1.负责需求调研⼯作,汇总需求分析⽂档,并编写业务总体设计⽅案。
2.绘制界⾯原型demo等,设计功能使⽤的具体描述、⾏为者、前置条件、后置
条件、UI描述、业务流程/⼦流程/分⽀流程、界⾯说明等。情趣口香糖
3.遇见需求变更时,分析需求变更内容,负责对需求变更进⾏评估。
4.与⾼级软件开发⼯程师⼀起完成详细设计⽂档的编写。
1.对⽤户的需求分析的质量
负责。
2.对项⽬组所有成员正确理
解项⽬需求负责
软件架构师1.负责系统的功能性概要设计,编写功能性概要设计⽂档。
2.负责系统的⾮功能性概要设计,编写⾮功能性概要设计⽂档。
3.负责协协调项⽬相关⼈员达成项⽬⽬标共识。
1.对整体项⽬架构负责。
2.对项⽬整体阶段性⽬标及
整体⽬标负责。
开发经理1.负责团队内系统详细设计的质量把控。
2.负责帮助或协调团队内开发过程遇到的问题。
3.负责协调开发过程的跨团队合作任务。
1.对团队内的开发过程负
责。
2.对跨团队的合作开发过程
负责。
⾼级软件开发⼯程师1.负责系统的模块设计,详细设计⽂档。
2.负责技术难度⼤的模块的代码或者公⽤模块代码的编写、维护。
3.对⾃⼰负责模块的详细设计、代码编写。
4.对⼩组内⼈员进⾏技术指导。
1.对组内⼈员的开发效率负
责。
2.对产品整体风格负责。
3.对项⽬整体设计流程负
责。
4.对⾃⼰模块的开发效率和
质量负责。
软件开发⼯程师1.与项⽬经理沟通和确认某个模块的需求和实现⽅法。
2.负责某个模块的代码编写、维护。
3.对其他模块的代码的维护。
4.负责与测试⼈员的交互,处理测试⼈员的问题。
对⾃⼰模块的开发效率和质
量负责。
测试⼯程师1.根据⽤户需求分析和系统总体设计,编写测试⽂档和测试⽤例。
2.对软件系统的功能及⾮功能要求进⾏测试。
3.编写测试⽂档。
1.对测试的质量负责。
2.对测试⽂档质量负责。
代码安全编写规范
1、不要信任外部的⽤户输⼊或系统。
蚀刻因子应⽤程序应该彻底验证所有⽤户输⼊,然后再根据⽤户输⼊执⾏操作。验证可能包括筛选特殊字符。
针对⽤户意外地错误使⽤和某些⼈通过在系统中注⼊恶意命令蓄意进⾏攻击的情况,这种预防性措施对应⽤程序起到了保护作⽤。常见的例⼦包括 SQL 注⼊攻击、脚本注⼊和缓冲区溢出。此外,对于任何⾮受控的外部系统,都不要假定其安全性。
2、不要通过隐藏来保障安全。
尝试使⽤让⼈迷惑的变量名来隐藏机密信息或将它们存储在不常⽤的⽂件位置,这些⽅法都不能提供安全保障,最好使⽤平台功能或使⽤已被证实可⾏的技术来保护数据。
3、以安全的⽅式处理失效
自动化检测如果应⽤程序失效(如发⽣严重错误等),要恰当的进⾏处理,⼀定要保护好机密数据。同时,在向最终⽤户返回错误消息时,不要公开任何不需要公开的信息。也就是不要提供任何有助于攻击者发现应⽤程序漏洞的详细信息。
安全阀在线校验仪
4、不得设置后门或恶意代码程序
开发⼈员不得超越其规定权限进⾏开发,不得在程序中设置后门或恶意代码程序。
3.2 防范常见安全编码问题
在实现应⽤软件的编码阶段,也较容易因缺乏严谨思考或不好的编程习惯⽽引⼊安全问题,⽽且这些安全问题产⽣的危害作⽤⾮常⼤,因其产⽣的漏洞常常会造成应⽤程序中其他部分构筑的安全控制措施完全失效.⽬前存在的相当数量系统漏洞都是由编码问题造成的.因此要想保证应⽤软件的安全性,必须在编码阶段继续⾼度贯彻安全性原则.
在编码阶段,避免安全问题的基本原则如下:
1、 程序只实现指定的功能
石墨舟2、 永远不要信任⽤户输⼊,对⽤户输⼊数据做有效性检查
3、 必须考虑意外情况并进⾏处理
4、 不要试图在关键业务流程发⽣错误并⽆法修复的情况下继续执⾏业务
5、 尽可能使⽤安全函数进⾏编程
6、 ⼩⼼、认真、细致地编程
3.3 针对性防范
1、缓冲区溢出
如果对输⼊参数(字符串、整数等)处理时长度检查不严格,或对指针和数组越界访问不进⾏保护,就容易产⽣缓冲区溢出(Buffer Overflow)问题。
要避免此问题,则必须对系统输⼊数据进⾏严格的长度检查,废弃或截断超长的越界数据,同时利⽤基础库函数中的⼀些更为安全的字符串处理函数来处理数据,也可以利⽤编译器或代码复查⼯具提供的检查功能来尽早发现可能会产⽣问题的程序。
2、输⼊⾮法数据
恶意的攻击者会尝试在⽤户界⾯或接⼝中向系统输⼊恶意数据,以便期望绕过系统的安全限制,致使系统出甚⾄崩溃或其他⾮法⽬的,因此在编码时,须要对所有输⼊数据 (包括⽤户在界⾯中输⼊的数据和其他应⽤系统通过接⼝传递的数据)进⾏严格的合法性检查。
3、SQL 注⼊式攻击
预防 SQL注⼊式攻击的⼿段就是严格检查⽤户输⼊的数据,要使⽤基础系统提供的参数化查询接⼝,避免使⽤字符串来构造动态 SQL查询。同时对于数
据库对象的访问权限进⾏严格限制,避免恶意 SQL语句破坏数据或系统。
4、拒绝服务攻击
拒绝服务攻击(Denial of Services -DoS)是指通过⼤量并发访问,使得服务器的有限特定资源(如⽹络、处理器、内存等)接近枯竭,使得服务器或操作系统失效的攻击⾏为。
在编码时要注意防范可能的 DoS攻击,具体措施包括提⾼软件⾏为的可管理性、主动拒绝异常连接、⾃动锁定攻击源、提供实时监控界⾯,能够有效甄别攻击源、具有(异常)事件报警机制、具有审核⽇志等。通过这些主动或被动的防御⼿段,能够将 DoS/DDoS攻击⾏为带来的破坏和危害降到较低⽔平。
5、敏感信息泄露
在处理敏感数据时,必须利⽤以密码技术为主的安全技术来进⾏强有⼒的机密性保护。在使⽤密码技术时,⼀般要利⽤公开的、经过⼴泛验证的可靠加密算法,同时加强密钥的管理和保护。
软件设计使⽤指南
软件设计主要包含架构设计,概要设计和详细设计;
4.1 架构设计⽂档
软件架构设计⽂档描述系统级设计与体系结构设计,是指导整个软件开发的技术纲领性⽂档,是从宏观全局视⾓进⾏系统⾼层设计,包含逻辑架构,物理架构,系统架构等。概要设计和详细设计⽂档应该遵守架构设计的总体原则和设计⽬标,设计规范。
5.2 概要设计⽂档
概要设计是描述计算机软件系统的设计,是系统级的设计决策和系统体系结构设计,主要进⾏系统服务边界划分,确定服务的层次结构和调⽤关系,设计系统的安全性,⾼可⽤,⾼性能,⾼并发的⾮功能设计指标。遵守总体架构设计的设计原则和设计⽬标,实现系统功能。
5.3 详细设计⽂档
详细设计是描述计算机系统的设计,描述⼦系统级的设计决策、系统体系结构设计和实现功能所需要的详细设计,包含流程设计,服务设计,⽤户界⾯设计,API接⼝设计,数据库详细设计和代码核⼼3函数算法设计。
⽂档和使⽤指南专⼈保管
5.1 概要
软件设计通常由架构组完成,并完成后续的更新和维护。软件设计的相关⽂档和使⽤指南由专⼈负责保管。如果有⼈需要使⽤该⽂档的,应该先向指定⼈员申请并获得批复后才可以阅读。
5.2保管⼈制度
保管⼈员应该保证⽂档的有序保管和索引查,并保证⽂档的安全性,避免被⾮法阅读。⽂档查阅申请必须包含查阅⼈,查阅⽂档名称,查阅理由,查阅时间,授权⼈等信息。对于不符合要求的查阅请求,保管⼈员有权拒绝查阅。保管⼈员需要对⽂档的查阅记录做保存。
修改授权和批准
6.1 授权范围
程序资源库按程序模块和功能在资源仓库中分开存放。不同的程序资源库对应不同的访问授权。
所有对程序资源库的访问和修改提交都需要进⾏授权和批准。
6.2 授权形式
程序资源库授权和批准⼈员须由专⼈担任。
开发⼈员如果需要对程序进⾏修改,必须先提出授权申请。
经过指定资源库和指定开发⼈员的授权和批准后,程序修改可以提交。
程序修改提交后,应由指定开发⼈员进⾏审查和批准。
对于没有获得授权和批准的提交,⼀律⽆法通过。
该授权可以随时进⾏撤回。
6.3 风险控制
获得程序资源库修改授权的⼈员应该谨慎使⽤提交权限,以免对程序资源库造成影响。
程序资源库具备分⽀管理功能,获得授权的⼈员应该仅在对应的分⽀上进⾏修改提交。
对于已经授权提交的修改,应该具备恢复和撤销机制。保证程序资源库的可恢复性。
6.4 更新授权和批准
1、应严格控制程序资源库,对程序资源库的修改都需要项⽬经理和相关软件开发部门主管进⾏授权。
2、授权和审批需要有完整流程管控,授权发起者需要有变更请求发起授权,审批完成后,签名发起正式流程完成后,进⾏执⾏阶段;
3、对更新授权和批准后执⾏的结果进⾏跟踪,制定准⼊准出原则,执⾏不通过需要进⾏重新发起更新授权批准流程;
4、更新授权和批准流程进⾏全⽅位管理,所有过程需要进⾏⽂档化归档管理,可追溯。需要跟踪更新⼈,更新时间,更新事项等。
6.5 发布授权和批准
1、应严格控制程序资源库,对程序资源库的发布需要执⾏软件发布流程,需要项⽬经理和相关软件开发部门主管进⾏授权,审批后⽅可进⾏执⾏。
2、授权和审批需要有完整流程管控,授权发起者需要发布请求发起授权,审批完成后,签名发起正式发布流程完成后,进⾏执⾏阶段;
3、对发布授权和批准后执⾏的结果进⾏跟踪,制定准⼊准出原则,执⾏不通过需要进⾏重新发起发布授权批准流程;
4、发布授权和批准流程进⾏全⽅位管理,所有过程需要进⾏⽂档化归档管理,可追溯。需要跟踪发布⼈,发布时间,发布项⽬等;
6.6 同步⽂档⼿册编写
1、软件开发整个⽣命周期⽂档需要保证⽂档更新,是最新⽂档;
2、所有开发过程结束都要检查相应开发设计⽂档是否更新完整,否则开发过程不应结束,⽂档需要有更新修改历史和修改内容标注;
3、所有⽂档修改都应有归档和保存策略,需要版本化,可追溯,⽂档不能删除;
4、⽂档应该有⽂档规范,包含名字规范,模版⽂件,修订规范等,保证⽂档规范化,标准化;
5、发布流程,测试流程, 变更修复流程都应该检查验收⽂件的准确性完整性

本文发布于:2024-09-21 13:38:35,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/101436.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设计   系统   程序   授权   需要   开发   负责   流程
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议