软件需求与元模型的演化管理
1. 软件需求演化的重要性
在软件开发中,仅仅关注实现工件是不够的。需求才是最大化利益相关者价值的指导因素,因此理解、建模和推理不断演变的需求极为重要。
从软件演化的研究衍生出了需求演化的研究,并且出现了一些工业和学术上管理需求演化的方法。对于需求演化问题,有一种方法是使用需求知识基(REKB)作为工作台来逐步探索问题空间。由于系统会不断面临变化压力并持续演进,支持探索既可以实现初始问题的探索,也能在先前设定的内容发生变化时进行修正。
管理需求演化问题的愿景正逐渐接近自适应软件系统的愿景。二者都期望支持软件系统的快速且有保障的变更,在自适应情况下,还无需人工干预。目前,主要区别在于关注的工件不同。在运行时的需求方面,需求模型被视为系统理解的驱动因素。在运行时,需要监控系统相对于其需求的运行情况,最佳方式是将执行情况(跟踪)与需求的运行时版本进行比较,而非与实现的运行时模型进行比较。实现负责实际的系统,但在回答关于系统性能的问题(如质量属性或高层目标方面)时,只能通过理解需求的执行状态来直接回答这些问题。需求演化是一个复杂的问题,但支持对需求模型进行增量和迭代分析将有助于使软件更具适应性和效率。
2. 软件语言与元模型
在软件工程中,会使用各种人工语言,包括通用编程语言(如 Java)、领域特定语言(如 HTML)、通用建模语言(如 UML)、领域特定建模语言(如 BPMN)、数据格式(如 SVG)和本体(如 Web 服务建模本体)等,这些语言统称为软件语言。
软件语言会不断演化。就像其他软件制品一样,软件语言需要经过设计、开发、测试和维护。其需求、目的和范围会发生变化,因此必须适应这些变化
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



