计算机软件一般是指计算机系统中的程序及文档;其中,程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性资料。
软件工程概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决出现的“软件危机”。
软件开发的本质可概括为:实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
实现这一映射的基本途径是系统建模。
关系:
需求规约是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个软件产品/系统的概念模型,有以下 4 个基本性质:
RUP 的设计模型是 RUP 设计的主要结果,它尽量保持该系统具有分析模型的结构,并作为系统实现的输入。它包括以下元素:
瀑布模型将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到产品。
瀑布模型存在的问题主要是:
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构系统模型。
模型是一个抽象,该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
黑盒测试将被测软件看成黑盒子,只通过外部的输入和输出来发现软件中的错误。
常见的黑盒测试技术有:定义域、等价类划分、边界值分析、因果图等。
螺旋模型是瀑布模型与演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。
螺旋模型关注解决问题的基本步骤,即标识问题,标识一些可选方案,选择一个最佳方案,遵循动作步骤并实施后续工作。其一个突出特征是.在开发的迭代中实际上只有一个迭代过程真正开发了可交付的软件。
合理的测试序列:单元测试、集成测试、有效性测试和系统测试。
单元测试关注每个独立的模块。
集成测试关注模块的组装。
有效性测试关注检验是否符合用户所见的文档。
系统测试关注检验习题中所有元素之间的协作是否合适,整个系统的性能功能是否达到。
需求具有如下 5 个基本性质: