2

What is nice about UML is that it offers a unified suite of defined diagrams for expressing software architecture. However, the diagrams are about the system being built and do not help for helping represent requirements and understand user-level issues (use-case diagram is the highest level and it's still very specific, we are looking for diagrams to use as input into a use-case).

So we've been using a hodge-podge of diagrams leaning heavily on dataflow diagrams, but I was wondering if there was a standard with a suite of diagrams like UML in existence for gather requirements etc.

I've seen individual diagrams that are useful, but never a suite of them that are standardised and interwork.

Is there something like a RML "Requirements Modeling Language" which a family of related diagrams for requirements and other more abstract concerns?

Sled
  • 18,541
  • 27
  • 119
  • 168

6 Answers6

4

Depends what you mean by 'Higher Level'. Dataflow Diagrams are good - but to a large extent still define 'how' things work, not 'why'. I assume that since you've looked at DFDs you've also looked at and rejected business process diagrams in some form, e.g. bpmn/bpml.

Some other suggestions that may (or may not) be useful to you:

  • Feature Models, particularly useful for understanding Software Product Lines and the variability/commonality among variants;
  • Business Motivation Models which model the 'why's; objectives, constraints etc.
  • SBVR. A formalism for capturing business vocabulary & rules. Note it's textual rather than diagrammatic so might not be applicable.
  • Behaviour Trees, a notation for Behaviour Engineering.

That's a pretty broad spectrum. If you can be more specific about needs then it can be narrowed down. Worth noting however that none of the above have widespread industry acceptance; certainly not to the level UML has.

hth.

sfinnie
  • 9,854
  • 1
  • 38
  • 44
  • Well I've seen individual diagrams that are useful, but never a suite of them that are standardised and interwork. I'm kinda hoping there is something like a RML "Requirements Modeling Language" which a family of related diagrams. – Sled Nov 07 '13 at 19:40
  • OK - but what kind of things do you expect to see in such a model? Goals/Objectives? Constraints? Features? Descriptions of the Domain? What does a 'requirement' look like to you? – sfinnie Nov 07 '13 at 22:56
  • Well hopefullly the whole gamut from goals down to use cases, just like UML goes from use-cases down to sequence diagrams. – Sled Nov 08 '13 at 14:42
4

The Archimate modelling language is used for enterprise architecture modelling and might address some of your needs. The language is standardised by the OMG.

OMG page: http://www.opengroup.org/subjectareas/enterprise/archimate

A very useful blog from an experienced user of Archimate is here: http://masteringarchimate.com/ He has also written a useful book, sold through his web site.

Orbus Software have created a very nice Visio stencil for Archimate diagrams: http://www.orbussoftware.com/downloads/visio-starter-packs/archimate-starter-pack

A freely available single-user tool for Archimate modelling is Archi: http://www.archimatetool.com/

There are also a number of commercial tools including those from Orbus, BizzDesign, Corso, Avolution and others.

Eoin.

Phillipus
  • 455
  • 1
  • 5
  • 14
Eoin
  • 555
  • 3
  • 9
2

OMG, the standardization body which maintains UML, has a higher-level language for systems modelling: SysML.

SysML is intended to be higher-level than UML. It includes a "requirement" element type and omits many of UML's low-level constructs, but is still closely enough related that someone familiar with UML will recognize most of SysML.

Uffe
  • 10,396
  • 1
  • 33
  • 40
0

UML itself is a model in a higher modelling language: The Meta Object Facility (MOF) which you could consider the supreme abstraction, because MOF is defined by itself (i.e. there is a MOF model that represents the MOF language). You can use MOF to describe a modelling language which can then contain diagrams/classes that you can define.

Petr Hudeček
  • 1,623
  • 19
  • 30
  • I know about MOF and that's not what I meant by "higher". I meant more abstract in the sense that less concrete, less implementation focussed. Diagrams that could serve as inputs into a use case diagram or representing general rules. – Sled Nov 07 '13 at 19:48
0

Although UML is billed as a low level language you can certainly use it for higher level concepts either through UML profiles (See UML Profiles) or through a more developed extension. One such extension is UPDM which takes UML and SysML and extends it for use in architectures in the Defence industry (also applicable to more general uses) by representing the DoDAF and MODAF frameworks.

Just because UPDM is typically used to model lower level software architectures it doesn't mean that its extension mechanisms like MOF can't be used to model anything you want.

Peter Kelley
  • 2,350
  • 8
  • 26
  • 46
0

There is a modeling language called RML developed by Seilevel (full disclosure- I work there) that is specifically designed for requirements. You can read about it in this book

http://www.amazon.com/Visual-Software-Requirements-Developer-Practices/dp/0735667721/ref=sr_1_1?ie=UTF8&qid=1463064250&sr=8-1&keywords=requirements+models

Our blog has a lot of posts about it http://www.seilevel.com/requirements/

Models are designed to be friendly to business users. The categories of models are

Objectives (Business objectives model, requirements mapping matrix, objective chain etc)

People (Org chart, process flow, KPI model etc)

Systems (eco system map, system flow, system interface)

Data (business data diagram, data flow, data dictionary)