一、软件:软件定义:软件=程序+文档+数据软件特点:1、具有抽象性 2、没有明显的制造过程 3、软件的维护比硬件的维护要复杂得多 4、对计算机系统有着不同限度的依赖性 5、尚未完全摆脱手工艺的开发方式 6、软件自身是复杂的 7、软件成本相称昂贵 8、相称多的软件工作涉及到社会因素软件的进展:程序设计、程序系统、软件工程软件危机:软件危机指的是软件开发和维护过程中碰到的一系列严重问题
软件危机的问题:如何开发软件,如何满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件
软件危机表现:1
开发成本难以控制,进度不可估计;2
软件系统的质量和可靠性很差,难以满意;3
软件文档相称缺少,软件系统不可维护;4
软件开发生产率很低,软件产品供不应求
软件产品成本十分昂贵
软件危机产生因素:1、软件自身的特点 2、对软件开发与维护存在许多错误结识和做法 3、软件开发与维护的方法不对的解决软件危机途径:1、将软件开发当作是一种组织严密、管理严格、各类人员协同配合共同完毕的工程项目
2、讨论和推广成功的软件开发技术和方法
3、开发和使用好的软件工具
软件生命周期:软件所经历的定义、开发、使用和维护直到废弃所经历的时期
程序设计环境:源程序编辑,编译或解释,链接,调试和运营工具的集合软件工程环境:软件定义,设计和实现,测试和维护等各个阶段所使用的软件工具的集合二、软件工程:软件工程定义:讨论如何应用一些科学理论和工程上的技术来指导软件的开发,用较少的投资获得高质量的软件的一门学科
软件工程性质:涉及计算机科学、工程科学、管理科学、数学等领域,着重于如何建造一个软件系统
用工程科学中的观点来进行费用估算、制定进度、制定计划和方案
用管理科学中的方法和原理进行软件生产的管理
用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等
软件工程三要素:方法、