1软件工程的由来“软件工程”这个词是由NATO(NorthAtlanticTreatyOrganization北大西洋公约组织属下的一个研究组在1967年提出的,这个研究组提议召开一次会议,专门讨论“软件所面临的问题”
1968年,由NATO科学委员会主办的这次会议在德国加米施(Garmish)召开,会议提交的报告就被命名为《软件工程》
1968年NATO提出软件工程的概念,倡导以工程的原理、原则和方法进行软件开发,以期解决当时出现的"软件危机"
2软件危机的定义–软件危机定义•软件危机定义:软件开发和维护过程中遇到的一系列严重问题
•软件危机包含两方面的问题:–如何开发软件,以满足对软件日益增长的需求;–如何维护数量不断膨胀的已有软件
3产生软件危机的原因•1、软件本身的特点•软件是个逻辑实体,不是物理实体,具有抽象性→管理和控制软件困难•软件规模庞大→软件开发困难–软件故障是在开发过程中产生而在测试时没有发现的问题→软件故障修改困难–软件维护会产生新的错误→软件维护困难•2、人为因素,软件开发和维护的方法不正确1)软件开发技术落后、生产方式落后、开发工具落后2)对用户要求没有完整准确认识就匆忙着手编写程序3)只重视程序而忽视软件配置其余成分:•4)轻视维护:维护费用占软件总费用的55%-70%4软件危机的消除–缓解软件危机的途径1、更新观念:采用工程化的方法和途径来开发与维护软件2、汲取系统工程的理念,采用必要的组织管理和技术管理措施3、应该不断地发现、完善、推广、使用再实践中总结出来的开发软件的成功的技术和方法
4、开发和使用更好的软件工具,提高软件生产率
5软件工程、软件过程的定义软件工程–采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地