软件规格说明软件规格说明方法目前, 对软件规格说明认识的深度远不如软件设计和程序开发
所以, 尽管大多数人认为软件规格说明应与软件设计和实现充分分离, 但是软件规格说明中的许多观点不可避免地继承了软件设计和实现的经验
软件规格说明方法研究的问题是如何产生软件规格说明
可以从空间和时间两方面来考察软件规格说明
1从空间的角度考察从空间的角度观察, 广义上来说, 软件规格说明描述的是整个软件系统; 狭义来说, 软件规格说明描述的是软件系统的组成部件
软件规格说明方法主要提供分解和精化的手段
例如, 结构化分析设计方法和逐步求精法均提供了这种手段
反过来, 软件规格说明方法还要提供抽象的手段
在产生软件规格说明的过程中需要对其组成部件进行抽象. 否则, 如果每一个组成部件都以自己特有的行为方式运转, 不同的组成部件交织在一起, 那么软件规格说明可能同软件实现一样复杂
这样也就失去了软件规格说明存在的意义
过程抽象和数据抽象是两种有用的抽象方法
过程抽象把一组输人映射到一组输出上, 包含了数据抽象, 并通过数据抽象的行为来定义
数据抽象提供了一组数据以及施加在这组数据上的操作
尽管这些操作也可视为一种过程抽象, 但是把数据抽象当作一个整体更能体现出它和现实世界实体的对应关系
2从时间的角度考察从时间的角度来观察, 广义来说, 软件规格说明方法适用于整个软件生命周期; 狭义上来说, 软件规格说明方法仅适用于软件生命周期的特定阶段
在软件生命周期的某些阶段采用软件规格说明方法往往要等到以后的阶段中方显示出它的促进作用
例如, 软件设计规格说明划分了软件模块使用者和实现者的责任, 避免了编码阶段可能出现的混乱
所以, 研究软件规格说明方法既要考虑到特定开发阶段的特点, 又要联系整个软件生命周期, 统筹规划
软件工程的传统观点认为软件规格说明方法仅针对于开发前期的需求分析和软件设计
目前, 软件过程是一个很活跃的研究领域
把软件生命周期分解成一系列软件过程便形成了软件过程模型, 不同的分解方法对应于不同的过程模型
研究软件规格说明方法同软件过程结合起来更有利于改进整体的效果
这样就扩充了软件规格说明的传统观点
困扩充后的软件规格说明方法要包括:① 源规格说明② 目标规格说明③ 从源规格说明开发出目标规格说明的方法④ 验证源规格说明到目标规格说明的更换是否正确的方法
应用领域和程序是软件规格说明抽象层次的两个极端
以下分别从这两个极端考察软件规格说明
( 1) 从应用领域考察软件开发的起点是根据用户需求产生软件需求规格说明
这是软件规格说明方法中的一个难点
应用领域包含着动态与静态、数据流与控制流、决策与计算、串行处理与并行处理等多种差别
我们可以从具体应用领域出发,探索适合特定应用领域的软件规格说明方法
于是,“ 需求工程” 这一概念便应运而生
商业上的应用总是显得迫不及待
各种各样的应用生成器a( 即ilc at io n ge en ar ot sr ) 纷纷推出. 这种工具通过分析应用领域的特点, 开发出专用问题描述语言, 并提供解决该语言所能描述问题的算法
当前应用生成器主要包括报表生成器, 屏幕窗口菜单生成器, 查询语言等
(2 ) 从程序出发考察程序是软件在最低抽象层次的上的描述
开发软件规格说明不能不考虑在计算机上实现的可能性
大多数高级语言( 如F O R T R A N、P as ed ) 均是基于过程的计算模型
这种模型反映了计算机硬件的处理机制
现代提出的新型计算模型则偏重于反映人们思考方式的特点
例如, 函数模型, 逻辑模型, 面向对象模型等
由此可见, 程序设计语言正吸取着软件规格说明中的精华, 使自身抽象层次不断提高
第四代语言(4 G L ) 在一定程度上提高了软件开发效率, 已被广泛应用于各种决策支持系统, 计算机辅助软件开发环境、专家系统、数据库等
但现有的第四代语言工具往往具有通用性不强、抽象层次不高等缺点, 所以, 不适合作为软件规格说明语言
软件维护和重用应在比程序更高的层次上进行
从原有的程序出发, 反向推导出软件规格说明是逆向工程的主要工作
这方面的研究也有利于加深对软件规格说明方法的理解
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。