先进、成熟的软件工程思想有哪些?

软件工程在过去几十年的发展历程中,也形成了一些鲜明的新思想。例如,IBM 提出了软件开发思想的4项要点——迭代开发、以系统架构为中心、持续的质量保证以及管理变更和资产,其中只有“持续的质量保证”和传统工业工程是十分吻合的,而其它3项具有软件特性所拥有的思想。软件的变更比较频繁,自然对其管理的高要求,进一步促进迭代开发的合理性。

客户和业务用户始终希望软件能够按时交付高质量的产品,又认可软件的灵活性,希望软件能够具有随需应变的能力,及时进行必要的修改来满足业务的新需求。同时,软件又是一种知识型产品,需要创造性,并依赖每个开发人员的创造力和积极性。所有这些引导人们新的思考,引导人们不断认识软件工程而建立独特的软件工程思想。

  • 迭代开发,以时间换空间,消除市场风险。
  • 敏捷开发或轻量级过程,以不变应万变。
  • 永远的Beta,不断推陈出新,永无止境。
  • 持续集成、持续构建、全程测试。
  • 知识管理,将软件工程纳入知识管理的范畴。
  • 面向对象是一种方法,也是一种思想。
  • 软件即服务(SaaS),面向服务架构(SOA)的开发思想。
  • 用例驱动开发,用户为本思想在软件中的体现。

 

同时,软件工程可以向传统工业工程学习,吸收传统工业工程上百年实践积累下来的经验、沉淀下来的思想。

  • 以顾客为中心的全面质量管理。
  • 过程决定结果。
  • 有效的持续改进过程。
  • 预防为主,检验为辅。
  • 验证和确认缺一不可,质量保证和测试融为一体。
  • 以架构设计为中心,体现设计为重的思想。
  • 生产标准化、产品标准化和技能标准化。
  • 软件工厂思想造就了组件、构件技术,包括自动化测试。
  • 围绕项目管理开展工作,包括风险预防、里程碑控制和关键路径法等。
欢迎大家讨论,提出新的思想或补充遗漏之处。

你可能感兴趣的:(架构设计,敏捷开发,测试,项目管理,产品,saas,6.,软件过程管理,7.软件工程)