Role: Software Modeler
The Software Modeler uses modeling techniques to represent abstractions of the system under development for a specific purpose.
Relationships
Main Description

The primary kind of software modeling is the use of UML or one of its profiles (e.g. SysML or UPDM) to represent aspects of the software to be developed. A software modeler may focus on a particular part of a model, such as use case analysis, or architectural design, or may be involved in all aspects of the development. In general, the UML model being developed should be precise and executable, so that it can be validated against its requirements, and so that the design can generate production-quality code.

Other kinds of modeling are sometimes used, such as continuous mathematical modeling for algorithmic design.

Staffing
SkillsThe software modeler needs to understand the UML (or its used profile) as well as the process being used, the standards and guidelines in use for "good" work products, and how their model fits into the system model structure.
Key Considerations
The software modeler needs to produce models that meet their need - this usually means that the model must be well-formed (syntactically and semantically correct), and precise enough to be validated via execution or formal analysis.