第四章软件工程基础
软件工程基本概念
软件定义与软件特点
特点
①,软件是一种逻辑实体,而不是物理实体,具有抽象性
②,软件的生产与硬件不同,他没有明显的制作过程
③,软件在运行使用期间不存在磨损和老化问题
④,软件的开发运行对计算机系统具有依赖性,瘦计算机系统的限制
⑤,软件复杂性高,成本昂贵
⑥,软件开发涉及诸多社会因素
按照功能分类,可分为:应用软件,系统软件,支撑软件
软件危机与软件工程
软件危机主要表现在
①,软件需求的增长得不到满足
②,软件开发成本和进度无法控制
③,软件质量难以保证
④,软件不可维护和维护程度非常低
⑤,软件的成本不断提高
⑥,软件开发生产率的提高,赶不上硬件的发展和应用需求的增长
软件过程与软件生命周期
软件过程
软件过程是将软件工程的方法和工具综合起来,以达到合理及时的进行计算机软件开发的目的,软件过程应确定方法使用的顺序要求交付的文档资料,为保证质量和适应变化所需要的管理,软件开发各个阶段完成的任务
软件生命周期
通常情况下,将软件产品从提出实现使用维护到停止使用退役的过程,称为软件生命周期
软件生命周期可以分为定义阶段,开发阶段,维护阶段,三个阶段
定义阶段
确定软件开发工作必须完成的目标,确定工程的可行性
开发阶段
具体完成设计和实现定义阶段所定义的软件,通常包括总体设计,详细设计,编码和测试,其中总体设计和详细设计又称为系统设计,编码和测试又称为系统实现
维护阶段
使软件在运行中持续的满足用户需要,具体的说,当软件在使用过程中发生错误时应加以改正,当环境改变时应修改软件以适应新的环境,当用户有新的需求时应及时改进软件,以满足用户需求的更便
软件工程的目标与原则