跳到主要内容

CMU 15-313 软件工程基础

课程名称: Foundations of Software Engineering
课程官网地址:CMU 15-313课程官网
先修课程:
重要程度:
课程评点:

课程说明

成功的软件项目需要的不仅仅是技术专长。弄清楚客户想要什么,在团队中协作,管理复杂性,降低风险,按时和按预算,以及在各种限制条件下确定产品何时足以交付,这些至少是同样重要的主题,通常有重要的人力成分。本课探讨了这些问题,同时广泛涵盖了现代软件工程的基础知识。

假设具备相当扎实的编程技能(包括单元测试和代码级设计),我们将探讨以下主题:

  • 软件开发的过程考虑:如何及早避免问题?何时设计,设计多少?何时测试,测试多少?何时以及如何让客户参与?敏捷方法...
  • 需求获取、文档和评估:如何弄清楚客户真正想要什么?还有谁感兴趣?我们如何客观地衡量成功?我们如何可靠地记录期望?...
  • 质量属性设计:我们如何设计一个能够扩展到数百万用户的系统?我们如何将安全性设计到系统中?...
  • 质量保证策略,包括测量、检查以及静态和动态分析:哪种质量保证策略最适合给定系统?我们可以自动化什么,什么时候应该让人工参与?应该进行多少测试和什么样的测试我们做什么?除了功能正确性之外,还有哪些品质对于确保重要?我们可以评估可用性、可扩展性、可靠性、性能吗?我们如何静态地保证不存在某些安全问题?...
  • 软件工程中的经验方法:我们如何衡量性能、安全性和可靠性等质量属性?我们如何衡量用户与系统的交互方式?我们如何知道差异是否重要?...
  • 时间和团队管理:如何估算项目的持续时间和成本?如何监控进度和风险以及早发现问题?如何协调团队中的开发人员?如何组建和发展团队?如何选择和激励团队成员?如何处理团队动态,例如社交游荡?...
  • 软件开发经济学:商业模式、外包、开源……