1、软件的生命周期
计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与维护(running maintrnacne)
2、软件的特性有哪些?
(1)软件是一种逻辑实体,具有抽象性;
(2)软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后, 通过复制就产生了大量软件产品;
(3)软件在使用过程中,没有磨损、老化的问题;
(4)软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题;
(5)软件的研发至今尚未完全摆脱手工作坊式的研发方式,生产效率低;
(6)软件是复杂的,而且以后会更加复杂;
(7)软件的成本相当昂贵。
3、软件质量的6大特征及其子特性是什么?
(1)功能性:适合性、准确性、互用性/互操作性、依从性、安全性。
(2)效率性:时间特性、资源特性。
(3)易用性:易理解性、易学性、易操作性。
(4)可靠性:成熟性、容错性、易恢复性。
(5)可维护性:易分析性、可修改性、稳定性、可测试性。
(6)可移植性:适应性、易安装性、易替换性、共存性。
4、软件的研发模型
- 瀑布模型,
特点
(1)瀑布模型非常强调产品的定义,开发或者代码编制阶段只是其中单独的一块;
(2)瀑布模型各步骤是分立的\没有交叉;
(3)瀑布模型无法回溯,一旦进入某个步骤,就要完成该步骤的任务,然后才能向下继续,无法回溯。 - 快速原型模型,特点
(1)克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的项目开发风险;
(2)适合预先不能确切定义需求的软件系统的开发;
(3)不适合大型系统的开发(适合开发小型的、灵活性高的系统);
(4)前提要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。 - 螺旋模型
特点
(1)开始不必详细定义所有细节;
(2)从小开始,定义重要功能,努力实现;
(3)接受反馈,进入下一次循环;
(4)测试活动贯穿于每个循环;
(5)螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估;
(6)在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。过多的迭代次数会增加开发成本,延迟提交时间。
5、软件复用的含义?构件包括哪些?
软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件