搜索

ppt文档 No Silver Bullet – Essence and Accident in Software Engineering

1.43 MB 35 页 0 下载 79 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pptx
3
摘要
文档讨论了软件工程中'本质'与'偶然'任务的区别。本质任务涉及构建复杂的抽象概念结构,而偶然任务则与编程语言和硬件约束相关。过去,软件生产力的提升主要来自减少偶然任务的难度。然而,随着偶然任务的减少,现在需要更多关注本质任务,如快速原型设计、有机软件开发和培养优秀概念设计师。作者指出,没有单一的技术或管理方法能在十年内显著提高软件工程的生产力、可靠性和简洁性。
AI总结
《No Silver Bullet – Essence and Accident in Software Engineering》是Frederick P. Brooks Jr.撰写的一篇关于软件工程核心挑战的经典文献。文章的核心观点可以总结如下: 1. **核心观点** - 软件工程中不存在单一的技术或管理方法能够在十年内显著提升生产率、可靠性和简洁性(“没有银弹”)。 - 软件开发任务可以分为两类: - **本质任务**:构建复杂的抽象概念结构,这是软件的核心本质。 - **偶然任务**:将抽象结构转化为编程语言并映射到机器语言,这部分任务可以通过工具和方法改进,但无法带来数量级的提升。 2. **历史与现状** - 过去软件生产率的提升主要来自减少偶然任务的难度(如硬件限制、编程语言的改进等)。 - 如果当前的软件开发中超过90%的努力仍用于偶然任务,则消除这些任务不会带来显著改进。 3. **未来方向** - 需要关注软件开发的本质部分,例如: - 利用大众市场避免重复造轮子。 - 使用快速原型设计和迭代方法。 - 通过有机增长(在运行、使用和测试中逐步增加功能)来改进软件开发。 - 培养和发掘优秀的概念设计师。 4. **软件工程的固有挑战** - 软件的本质属性包括复杂性、一致性、可变性和不可见性,这些特性使得软件开发比其他工程领域更具挑战性。 - 复杂性不仅是技术问题,也是管理问题,人员流动会加剧这一负担。 5. **现代视角** - “Yak Shaving”( Yak shaving现象)体现了任务分解可能导致效率低下,这与偶然任务的复杂性有关。 总结而言,文章强调了软件工程中本质任务的不可忽视性,并呼吁行业关注核心问题,而非过度追求单一的技术突破。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 23 页请下载阅读 -
文档评分
请文明评论,理性发言.