任何问题都有解决办法
作者/ 洞唐Coder
排版/ 洞唐Coder
文章字数 / 1831
阅读时长 / 2分钟
自从1968年提出“软件工程”这一术语以来,研究软件工程的专家学者们陆续提出了100多条关于软件工程的准则或信条来保证程序员开发时少犯错误,但准则实在太多了过于复杂。
规则太多,让人头疼。难道就没有一个大佬出来制定一下标准吗?有!
美国国家工程院院士B.W.boehm化繁为简,在1983年提出了软件工程的7条基本原理。Boehm认为这7条原理是确保软件产品质量和开发效率的原理的最小集合。
B.W.boehm
发现问题,提出问题,解决问题。
用分阶段的生命周期计划严格管理
有统计表明,近一半失败的项目是由于计划不周造成的。在软件开发与维护的漫长生命周期中,需要完成许多各种各样的工作。这条基本原理意味着应该把软件生命周期划分成若干个阶段,并相应的制订切实可行的计划,然后严格按照计划对软件的开发和维护工作进行管理。Boehm认为,在软件的整个生存周期中应该制订并严格执行六类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划。
技术进步曲线
比方说一件产品上线到下线,都会有产品经理做SOP。像B端产品设计就有:业务流程图、功能流程图、页面流程图。
为便于识别,绘制流程图的习惯做法是这样的
坚持进行阶段评审
设计错误占软件错误的63%,编码错误仅占37%,而且错误发现与改正的越晚,所需付出的代价越高。因此,在每个阶段都应进行严格的评审,以便尽早发现在软件开发过程中所犯的错误。开会吧,记得善用头脑风暴,不仅可以制造创意产出方法,还能锻炼团队默契、促进团队成员对项目认知度以及为项目顺利开展打下基础。
实现严格的产品控制
在软件开发过程中不要随意改变需求,因为改变一项需求需要付出较高的代价。但是,在软件开发过程中改变需求又是不可避免的,由于外部环境的变化,相应地改变用户需求是一种客观需要,这就要采用科学的产品控制技术来顺应这种要求。
在改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要实行基准配置管理。基准配置又称为基线配置,它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制,一切有关修改软件的建议,特别是涉及基准配置的修改建议,都必须按照严格的规程进行评审,在获得批准以后才能实施修改。
采用现代程序设计技术
从20世纪60年代和70年代的结构化软件开发技术到面向对象技术,从第一代、第二代语言到第四代语言,人们已经充分认识到:方法大于力气。采用先进的技术既可以提高软件开发的效率,又可以降低软件维护的成本。
方法大于力气,选择大于努力
当然了,加入一个好公司不仅可以降低软件维护的成本还可以让你少点加班、少点996、少点大小周。插句话,支持996好的人是不是斯德哥尔摩症候群患者?[黑线]
996.ICU
如果你遇到一个技术老土不思进取还要996的公司,啥都别说了。送你二个字:快跑
结果应能清楚地审查
软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难以评价和管理。为了更好地进行管理,应根据软件开发的总目标及完成期限尽量明确地规定开发小组的责任和产品标准,从而使所得到的结果能够清楚地审查。
在版本要迭代的时候一定要做需求分析
开发小组的人员应少而精
开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少得多;当开发小组为N人时,可能的通信信道为N(N-1)/2。可见随着人数N的增大,通信开销将急剧增大。记住:必须遵循的一个原则是项目组尽量小型化、灵敏化,保证沟通顺畅和高效
对一项软件工程来说,参与角色通常包括如下几种:高级经理、产品经理或项目经理、开发经理、设计师、测试经理、开发人员、测试人员、项目实施人员。
承认不断改进软件工程实践的必要性
遵循以上6条基本原理,就能够按照当代软件工程的基本原理实现软件的工程化生产。但是,它们只是对现有经验的总结和归纳,并不能保证软件开发与维护的过程能赶上时代前进的步伐,能跟上技术的不断进步。因此,Boehm提出应把“承认不断改进软件工程实践的必要性”作为软件工程的第七条原理。根据这条原理,用户不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估新的软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。
知道更多编程知识和职场套路,请关注微信公众号:洞唐
学习更多
我是怎么下决心去学编程的?
学编程前需要做什么准备?
用乐高SPIKE也能学Python?
程序员转岗做运营,需要了解什么?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.