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