我是个学者,现在正冒险进入软件工程领域,对许多术语似乎相互重叠的事实感到困惑。我正在读一些书,无法很好地区分/关联软件过程模型和软件工程方法。
例如,在软件工程中,instance将软件过程模型定义为:
软件过程的一种简化表示,从特定的角度呈现。
和软件方法(软件工程方法)如下:
软件开发的结构化方法,包括系统模型、符号、规则、设计建议和过程指导。
然而,维基百科对软件开发方法的定义如下:
软件工程中的软件开发方法或系统开发方法是用来构建、规划和控制信息系统开发过程的框架。
在我看来,Sommerville对软件过程模型的定义可以进入Wikipedia定义的范围。有人能在这个问题上启发我吗?例如,A是一个软件过程模型,B是一种软件工程方法(方法学)。
发布于 2012-02-09 21:25:17
对于每一项任务,都可以创建一个模型,其复杂程度足以描述该任务。但总有另一项任务,这个模型是无法涵盖的。但是--这是第一点--对于任何真正的任务来说,这样的模式都是无用的。
建立模型是为了从某一方面来看待任务或解决方案的过程,以便为主题的某些特性提供方便的理解。当然,模型由视图组成,这是正确的,但它本身也是视图。方法是过程的组织(相对于最终的产品和开始的任务)。对于任务/产品/过程或其部件/阶段,它可能需要许多模型。
当然,它可以包含一些模型(S),它从整体上看这个过程。但这种鸟的观点也不是方法。它甚至不是方法论的“根源”。试图将所有的方法都推进到一个模型中,只是造成了方法论的不完整。因为--这是第二个重要的观点--方法论比模型更有活力,更有变化。至少应该是这样。
发布于 2012-02-09 19:25:40
软件模型描述了一个假设的或现有的软件实例。软件方法论是创建软件实例的步骤,而不管其模型如何。
发布于 2014-04-14 09:45:17
软件过程模型是一个概念、事件或过程的抽象或可视化表示。建模主要用于帮助我们理解复杂的过程或事件,并决定如何处理它们。建模也被用于其他领域,如数学(数学模型)和经济学(金融模型)。
通过在软件工程上下文中应用上述定义,我们简单地对我们在需求收集过程中特别理解的软件过程建模。
软件开发方法仅仅是一种开发软件的指南,该软件由完成软件的步骤和可交付成果组成。开发方法由模型、工具和技术组成。开发软件最常用的方法或方法是SDLC,即瀑布模型,它由不同的阶段(例如规划、分析、设计、实现和维护)组成。每个阶段都可以通过使用技术(例如关系数据库设计技术、需求收集和分析技术)、模型(用例模型、数据流图、关系数据库模型等)来完成。和工具(Visio,Visio,Visible和其他软件工具)。今天,在业界专业人员和学术界的努力下,存在着各种方法;然而,这些方法各有优缺点,其技术、工具和模式可能与SDLC不同。(例如Scrum,统一过程和极端编程)。
https://softwareengineering.stackexchange.com/questions/134256
复制相似问题