本文最后更新于108 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
1,什么是软件工程:
把系统的,规范的,可度量的的途径应用于开发软件,运行,维护的过程
2,软件工程的本质特征:
1)关注大型程序的构造 2)分解问题,控制复杂性 3)考虑软件未来的可能变化 4)寻求开发和维护软件的更好更有效的方法和工具 5)和谐的合作是开发软件的关键
3,什么是软件危机:
软件危机是指在计算机软件开发,使用与维护过程中遇到的一系列严重问题和难题,如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
4,软件危机的表现:
1)对软件的开发成本和进度估计不准确
2)用户对已完成的软件不满
3)软件的产品质量靠不住
4)软件的开发和维护不当
5,消除软件危机的途径:
1)对计算机软件有一个正确的认识(软件≠程序)
2)一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目
3)推广使用在实践中总结出来的开发软件的成功技术和方法
4)开发和使用更好的软件工具
6,软件生命周期模型
什么是软件生命周期模型:跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。
一,瀑布模型
从上一阶段接受本阶段的工作对象,作为输入,利用输入,完成本阶段活动的内容, 本阶段的工作成果作为输出传入下一阶段。
二,快速模型
获得用户的基本需求说明,据此快速建立一个小型软件系统. 用户试用,对其评价; 开发人员按照用户的意见快速地修改原型系统,获得新的原型版本,再请用户试用,如此反复,直到满足用户的要求; 用户确认原型系统之后,开发人员据此书写规格说明文档,进行下一步开发。
三,其余模型对比
模型 | 优点 | 缺点 |
---|---|---|
瀑布模型 | 规范,文档驱动 | 实际的项目大部分情况难以按照该模型给出的顺序进行,系统可能不满足客户真正的需求 |
快速原型 | 克服了瀑布型的缺点 | 产品的先天性不足,因为开发者常常需要做实现上的折中,可能采用不合适的操作系统或程序设计语言,以使原型能够尽快工作 |
增量模型 | 开发早期回报明确,易于维护 | 要求开放的软件体系结构 |
螺旋模型 | 风险驱动,适用于大型项目开发 | 风险分析人员需要有经验且经过充分训练 |