2018年四川理工学院软件工程考试大纲(软件工程概述)
1.1.2、软件的定义
1 软件 = 程序 + 数据 + 系列文档 2 PS:从软件工程的观点来看,软件是指计算机系统中与硬件相互依存的另一部分,软件包括程序(program)、相关数据(date)、及其说明文档(document)
1.2、什么是软件危机
1 软件危机是指在计算机软件“开发”和“维护”是所遇到的一系列问题 2 PS:软件危机主要包括:①、如何开发软件以满足社会对软件日益增长的需求,②、如何维护数量不断增长的已有软件
1.3.1、软件工程的概念
1 软件工程是计算机软件“开发”和“维护”的一门工程学科
1.3.4、软件工程方法学包含那3个要素
1 方法、工具、过程
1.4、软件的生命周期
1 问题定义 ==> 可行性研究 ==> 软件分析 ==> 软件设计 ==> 软件实现 ==> 软件运行与维护 ==> 软件废弃
2 问题定义 ==> 可行性研究 ==> 需求分析 ==> 软件设计 ==> 程序编码 ==> 软件测试 ==> 运行维护
1.5、软件开发的模型
1 瀑布模型(根据软件生命周期的时间线模型,并且,每一个阶段都会向上一个阶段产生循环反馈) 2 快速原型模型(是一种比瀑布模型快的模型,所不同的是,并不是每一个阶段都向上一个阶段产生循环反馈,而是完成了几个阶段之后再向上反馈,需求用户的意见,知道用户满意) 3 增量模型(引进了增量包概念,也就是说,我们不用等到每一个环节都perfect了,再去做下一个环节,而是直接完成软件开发周期的时间线,后面再通过增量的添加增量的形式,对原系统进行更改) 4 螺旋模型(强调了其他模型所忽视的风险分析,适合于大型且复杂的系统开发) 5 智能模型(适应于特定领域的软件开发,所谓特定领域,指的是涉及到大量专业知识的领域)
1.1.3、软件的特性
1 ①、软件没有老化、磨损过程,只有过时、失效 2 ②、软件运行的效率,会因为硬件的不同,而有所区别 3 ③、软件是可剪裁、可扩充的 4 ④、不同的开发人员会有其不同的开发风格,所开发的产品也会有所不同 5 ⑤、软件的开发是一个复杂的过程
1.2、软件危机产生的原因
1 ①、随着软件的规模变大,功能增加,其开发也变的越来越复杂 2 ②、软件制造商忽视软件的维护 3 ③、软件开发技术落后、生产方式和开发工具落后,生产率提高缓慢