Barry Boehm的软件工程七原则与敏捷实践




大概在5年以前曾经从网上搜到了Barry Boehm提出的软件工程的七原则(Seven Basic Principles of Software Engineering),这是Barry Boehm1983年发表的文章,在网上搜到的是别人对这七个原则的转译与介绍,看后觉得怪怪的,总是觉得有些地方不能准确把握这七个原则的含义。于是去google搜其原文,未果,最近终于搜到了原文,因此更能准确把握Barry Boehm老先生的原意。


有人将题目翻译为软件工程的七个基本原理,其实,principles在此处还是翻译为原则更为准确。


依据原文我的对于各原则的理解如下:


原则一:使用分阶段的生命周期计划管理(manage using a phased life-cycle plan)

(1)一定要有项目计划;

(2)项目要划分生命周期阶段,每个阶段都要有计划;

(3)计划要分层或分阶段逐步细化;

(4)要使用项目计划管理项目,不能弃之不用。


原则二:执行持续确认(perform continuous validation)

(1)尽早发现错误。大部分缺陷是编码之前注入的,缺陷越早修复成本越低。

(2)尽早发现错误的措施:

深入评审;

设计阶段编写用户手册、使用手册、数据准备手册;

原型;

模拟;

自动化的检测工具;

设计审查与走查;

等等。


原则三:坚持规范的产品控制(maintain disciplined product control)

行配置管理,确保工作产品之间的一致性。


原则四:使用现代化的编程实践(use modern programming practices)

  采用现代化的开发方法、开发实践提升软件的效率与质量。


原则五:坚持结果的清晰的责任(maintain clear accountability for results)

对于项目的阶段产出、各个小组之间的承诺、每个人的产出与承诺要明确、要可验证。 


原则六:使用少而精的人员(use better and fewer people)

(1)人与人之间的效率差别达10倍甚至25倍以上,因此要使用精英团队。

(2)采用多种方式提升沟通的质量与效率:

不要通过加人的方式解决进度问题

项目的初期不要太多的人员

为高性能提供高的回报

淘汰低性能者

使用自动化的辅助工具


原则七:坚持过程改进的承诺(maintain a commitment to improve the process)

识别、分析技术与过程的改进,建立持续改进的机制。




如果仔细去分析敏捷的软件开发方法,则可以发现,恰恰敏捷的实践很好的满足了上述的七个原则:

Barry Boehm七原则

敏捷实践

原则一:使用分阶段的生命周期计划管理

采用迭代的生命周期模型
增量式交付
制定交付计划与迭代计划

原则二:执行持续确认

现场客户随时执行功能测试
测试驱动开发
持续集成
sprint review

原则三:坚持规范的产品控制

现场客户或product owner负责维护需求
持续集成

原则四:使用现代化的编程实践

系统隐喻
重构

原则五:坚持结果的清晰责任

时间箱管理
开发人员认领任务
用户故事的验收准则
每日站立会议
测试驱动开发
持续集成
现场客户功能测试
sprint review

原则六:使用少而精的人员

每个项目小组不超过10
采用一专多能,交叉职责的人员
自我管理的团队
每周工作40小时

原则七:坚持过程改进的承诺

sprint retrospective







<think>好的,我需要帮助用户找到Barry Boehm在1981年出版的《软件工程经济学》的PDF或在线阅读资源。首先,我要确认这本书的准确信息,包括作者、出版年份和书名是否正确。Barry Boehm确实是软件工程领域的权威,他在1981年确实出版了这本书,全名是《Software Engineering Economics》。接下来,我需要考虑如何引导用户获取这本书的合法资源。 用户可能希望免费获取这本书,但根据版权法,1981年出版的书籍可能仍受版权保护,因此直接提供下载链接可能不合法。我需要提醒用户注意版权问题,并建议合法途径,如图书馆、学术数据库或购买正版。 然后,我应该提供一些具体的资源渠道。比如,大学图书馆可能会有馆藏,或者通过WorldCat查找附近的图书馆。学术数据库如IEEE Xplore或SpringerLink可能收录了这本书,但需要订阅权限。此外,二手书平台如Amazon或AbeBooks可能有纸质版或电子版出售。 同时,用户可能对软件工程经济学的内容感兴趣,可以推荐相关的课程或资料,例如Coursera上的相关课程,或者Barry Boe姆的其他论文和报告,作为补充材料。还要确保回答中引用正确,用户提供的引用来自周伯生教授的学术报告,但可能当前问题关联不大,所以需要适当提及,但主要聚焦在用户的需求上。 最后,生成相关问题,帮助用户进一步探索该领域,比如软件工程经济学的应用、核心模型或CMM的关系等。确保所有回答符合格式要求,使用正确的中文和LaTeX排版,没有Markdown格式。</think>关于Barry Boehm的《软件工程经济学》(1981年),以下是相关信息资源获取建议: ### 1. 书籍基本信息 - **书名**:*Software Engineering Economics* - **作者**:Barry W. Boehm - **出版时间**:1981年 - **核心内容**:提出软件成本估算模型(如COCOMO模型)、软件生命周期经济学分析方法和风险决策框架[^1] ### 2. 合法资源获取途径 #### (1) 学术机构渠道 - **IEEE Xplore**:收录了Boehm多篇相关论文,可通过机构账号访问 - **SpringerLink**:部分章节可能收录在软件工程合集中 - **大学图书馆**:如北京大学图书馆、清华大学图书馆等均有馆藏记录(可通过WorldCat查询) #### (2) 开放资源 - **Google Scholar**:可找到引用该书的2000+篇论文 - **Boehm个人主页**(USC大学):提供最新研究成果及部分章节更新内容 #### (3) 购买渠道 - **Amazon**:二手纸质书约$30-$50 - **AbeBooks**:国际二手书平台有1981版库存 ```python # 示例:通过ISBN查询书籍状态(ISBN-10: 0138221227) import requests isbn = "0138221227" response = requests.get(f"https://openlibrary.org/api/books?bibkeys=ISBN:{isbn}&format=json") print(response.json()) ``` ### 3. 替代学习资源 若暂时无法获取原书,可参考: 1. Boehm后续著作《软件成本估算:COCOMO II模型方法》(2000年) 2. Coursera课程《Software Engineering Economics》(部分大学开设) 3. SEI(软件工程研究所)发布的《软件成本估算指南》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值