ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

《软件开发的201个原则》

2022-06-26 10:02:31  阅读:162  来源: 互联网

标签:201 需求 不要 软件开发 原则 测试 使用 软件


 

第一章 引言/001

第二章一般原则/005

原则1质量第一/005

原则2质量在每个人眼中都不同/005

原则3开发效率和质量密不可分/006

原则4高质量软件是可以实现的/006

原则5不要识图通过改进软件实现高质量/007

原则6低可靠性比低效率更糟糕/007

原则7尽早把产品交给客户/008

原则8与客户/用户沟通/008

原则9促使开发者与客户的目标一致/009

原则10做好抛弃的准备/009

原则11开发正确的原型/010

原则12构建合适功能的原型/011

原则13要快速地开发一次性原型/011

原则14渐进地扩展系统/011

原则15看到越多,需要越多/012

原则16开发过程中的变化是不可避免的/013

原则17只要可能,购买而非开发/013

原则18让软件只需简短的用户手册/014

原则19每个复杂问题都有一个解决方案/014

原则20记录你的假设/015

原则21不同阶段,使用不同的语言/015

原则22技术优先于工具/016

原则23实用工具,但要务实/017

原则24把工具交给优秀的工程师/017

原则25 CASE工具是昂贵的/018

原则26 “知道何时”和“知道如何”同样重要/018

原则27实现目标就停止/019

原则28 了解形式化方法/019

原则29和组织荣辱与共/020

原则30跟风要小心/020

原则31不要忽视技术/021

原则32使用文档标准/022

原则33文档要有术语表/022

原则34软件文档都要有索引/023

原则35对相同的概念用相同的名字/023

原则36研究再转化,不可行/024

原则37要承担责任/024

 

第3章需求工程原则/027

原则38低质量的需求分析,导致低质量的成本估算/027

原则39先确定问题,再写需求/28

原则40立即确定需求/028

原则41立即修复需求规格说明中的错误/029

原则42原型可降低选择用户界面的风险/030

原则43记录需求为什么被引入/030

原则44确定子集/031

原则45评审需求/031

原则46避免在需求分析时进行系统设计/032

原则47使用正确的方法/033

原则48使用多角度的需求视图/033

原则49合理地组织需求/034

原则50给需求排列优先级/035

原则51书写要简洁/035

原则52给每个需求单独编号/036

原则53减少需求中的歧义/036

原则54对自然语言辅助增强,而非替换/037

原则55在更形式化的模型前,先写自然语言/038

原则56保持需求规格说明的可读性/038

原则57明确规定可靠性/039

原则58应明确环境超出预期时的系统行为/039

原则59 自毁的待定项/040

原则60将需求保存到数据库/041

第4章设计原则/043

原则61从需求到设计的转换并不容易/043

原则62将设计追溯至需求/044

原则63评估备选方案/044

原则64没有文档的设计不是设计/045

原则65封装/045

原则66不要重复造轮子/046

原则67保持简单/046

原则68避免大量的特殊案例/047

原则69缩小智力距离/047

原则70将设计置于知识控制之下/048

原则71保持概念一致/049

原则72概念性错误比语法错误更严重/049

原则73使用耦合和内聚/050

原则74为变化而设计/050

原则75为维护而设计/051

原则76为防备出现错误而设计/052

原则77在软件中植入通用性/053

原则78在软件中植入灵活性/053

原则79使用高效的算法/054

原则80模块规格说明只提供用户需要的所有信息/054

原则81设计是多维的/055

原则82优秀的设计出自优秀的设计师/055

原则83理解你的应用场景/056

原则84无须太多投资,即可实现复用/056

原则85 “错进错出”是不正确的/057

原则86软件可靠性可通过冗余来实现/057

第5章编码原则/060

原则87避免使用特殊技巧/060

原则88避免使用全局变量/061

原则89编写可自上而下阅读的程序/061

原则90避免副作用/062

原则91使用有意义的命名/062

原则92程序首先是写给人看的/063

原则93使用最优的数据结构/063

原则94先确保正确,再提升性能/064

原则95在写完代码之前写注释/064

原则96先写文档后写代码/065

原则97手动运行每个组件/065

原则98代码审查/066

原则99你可以使用非结构化的语言/067

原则100结构化的代码未必是好的代码/067

原则101不要嵌套太深/068

原则102使用合适的语言/068

原则103编程语言不是借口 /069

原则104编程语言的知识没那么重要/069

原则105格式化你的代码/070

原则106不要太早编码/072

第6章测试原则/074

原则107依据需求跟踪测试/074

原则108在测试之前早做好测试计划/075

原则109不要测试自己开发的软件/076

原则110不要为自己的软件做测试计划/076

原则111测试只能揭示缺陷的存在/077

原则112虽然大量的错误可证明软件毫无价值,但是零错误并不能说明软件的价

值/077

原则113成功的测试应发现错误/078

原则114半数的错误出现在15%的模块中/079

原则115使用墨盒测试和白盒测试/079

原则116测试用例应包含期望的结果/080

原则117测试不正确的输入/081

原则118压力测试必不可少/081

原则119大爆炸理论不适用/081

原则120使用McCabe复杂度指标/082

原则121使用有效的测试完成度标准/083

原则122达成有效的测试覆盖/084

原则123不要再单元测试之前集成/084

原则124测量你的软件/085

原则125分析错误的原因/085

原则126对“错”不对人/086

第7章管理原则/088

原则127好的管理比好的技术更重要/088

原则128使用恰当的方法/089

原则129不要相信你读到的一切/089

原则130理解客户的优先级/089

原则131人是成功的关键/090

原则132几个好手要强过很多生手/091

原则133倾听你的员工/092

原则134信任你的员工/092

原则135期望优秀/093

原则136沟通技巧是必要的/094

原则137端茶送水/094

原则138人们的动机是不同的 /094

原则139让办公室保持安静/095

原则140人和时间是不可互换的/095

原则141软件工程师之间存在巨大的差异/096

原则142你可以优化任何你想要的优化的/096

原则143隐蔽地收集数据/097

原则144每行代码的成本是没用的/098

原则145衡量开发效率没有完美的方法/098

原则146剪裁成本估算的方法/099

原则147不要设定不切实际的截止时间/099

原则148避免不可能/100

原则149评估之前先要了解/100

原则150收集生产力数据/101

原则151不要忘记团队效率/101

原则152 LOC/PM与语言无关/102

原则153相信排期/103

原则154精确的成本估算并不是万无一失的/104

原则155定期重新评估排期/104

原则156轻微的低估不总是坏事/105

原则157分配合适的资源/106

原则158制定详细的项目计划/106

原则159及时更新你的计划/107

原则160避免驻波/108

原则161知晓十大风险/108

原则162预先了解风险/109

原则163使用适当的流程模型/110

原则164方法无法挽救你/111

原则165没有奇迹般提升效率的秘密/111

原则166了解进度的含义/112

原则167按差异管理/114

原则168不要过度使用你的硬件/114

原则169对硬件的演化要乐观/114

原则170对软件的进化要悲观/115

原则171人为灾难是不可能的想法往往导致灾难/115

原则172做项目总结/116

第8章产品保证原则/119

原则173产品保证并不是奢侈品/119

原则174尽早建立软件配置管理过程/120

原则175使软件配置管理适应软件过程/121

原则176组织SCM独立于项目管理/121

原则177轮换人员到产品保证组织/122

原则178给所有中间产品一个名称和版本/122

原则179控制基准/123

原则180保存所有内容/123

原则181跟踪每一个变更/124

原则182不要绕过变更控制/125

原则183对变更请求进行分级和排期/125

原则184在大型开发项目中使用确认和验证 (V&V) /125

第9章演变原则/128

原则185软件会持续变化/128

原则186软件的熵增加/129

原则187如果没有坏,就不要修理它/129

原则188解决问题,而不是症状/130

原则189先变更需求/130

原则190发布之前的错误也会在发布之后出现/131

原则191一个程序越老,维护起来越困难/131

原则192语言影响可维护性/131

原则193有时重新开始会更好/132

原则194首先翻新最差的/132

原则195维护阶段比开发阶段产生的错误更多/133

原则196每次变更后都要进行回归测试/133

原则197 “变更很容易”的想法,会使变更更容易出错/134

原则198对非结构化代码进行结构化改造,并不一定会使它更好/134

原则199在优化前先进性性能分析/135

原则200保持熟悉/135

原则201系统的存在促进了演变/136

参考资料索引/137

术语索引/147

标签:201,需求,不要,软件开发,原则,测试,使用,软件
来源: https://www.cnblogs.com/for-easy-fast/p/16413029.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有