软件是软件工程的研究对象,由程序,数据和文档组成。
程序:计算机可接受的一系列指令代码
数据:计算机程序可操作的数据结构
文档:描述程序的研制过程,使用方法等的资料
工程是将理论应用于实践的科学,从而有效解决实际问题
软件工程方法是为开发软件提供技术上的解决方法
软件会逐渐退化而不会磨损,其原因在于不断的变更使组件接口之间引起错误
软件固有的内在特性(本质的特性):复杂性,一致性,可变性,不可见性
软件工程的发展:史前时代,瀑布过程模型,质量标准体系,20世纪90年代至今
软件开发面临的主要问题:客户不满意,容易忽视风险,无力预测成本,项目过程失控,无力管理团队
软件工程的基本概念和内涵:将系统性的、规范化的、可定量的方法应用于软件的开发运行和维护,即工程化应用到软件上,以及对这种方法的研究。
软件工程的目标:创造足够好的软件(成本低,按时完成,可靠等)
好的软件:1、正确的软件:满足用户需求
2、软件运行正确:很少有缺陷
软件工程的三个基本要素:过程、方法、工具
方法经历了面向过程,面向对象,面向构件,面向服务四个过程
软件开发四个基本策略:软件复用(不从头做起,直接复用已有构件),分而治之(大问题分成小问题),逐步演进(自底向上逐步有序),优化折中(协调实现整体最优)
软件质量由软件过程、软件产品、产品效用组成:
如何实现软件的质量保证和测试管理:单元测试、集成测试、用户使用测试