System Modeling
The goal of any system modeling process is to define and document a conceptual model of some aspect of a system, usually focusing individually on one (or many) specific faces of that system. System models may be defined in a formal architecture description language, such as Unified Modeling Language (UML), and can, in those cases, get very detailed – down to the minimum required property and method members of classes. Details at that level are generally fluid – or at least not finalized – until the requirements analysis processes in Agile methodologies, and will be discussed in more detail in Chapter 4, Methodologies, Paradigms, and Practices.
At a higher, less granular level, there are still several system-model views that are of particular interest going into the development process, particularly with respect to the bigger picture:
- Architecture, both logical and physical
- Business processes and rules
- Data structure and flow
- Interprocess communication
- System scope/scale