Question

I am a little bit confused about the system model, and my question is:

Does use case diagram or class diagram can be shown as system model ? Or system model has a particular diagram ?

because when I search for system model I find different types of diagrams.

Was it helpful?

Solution

In theory (aka, what I was taught in college)

A use case diagram is not a diagram of the system's design (aka a "system model"). A use case diagram is a formalization of (what you, as a business analyst, understood about) the user's expectations of the system's functionality. The system's design is the solution that you, as a software engineer, came up with in order to meet the user's needs. As such, a system model is necessarily more detailed than a use case diagram, for it must contain the following information:

  1. The overall architecture of the system - including what components run on different machines (e.g., database server, application server, desktop/mobile clients, interfaces for exchanging data with legacy systems, etc.) and how these machines are connected with each other (network diagrams).

  2. For each software component that you will develop or customize, a description of the component's internal structure in terms of relatively high-level programming constructs, such as classes (in an object-oriented setting, e.g. Java), modules (in a procedural setting, e.g., Pascal) or whatever your implementation language of choice affords you. Your notation choices will be affected by this.

  3. If necessary (rarely) for efficiency reasons, even some low-level hints about what particular data structures and algorithms must be used.

TL;DR: No, a use case diagram is no replacement for a system model. What you decide to put into a system model diagram and even what notation you use for it depends on your design choices.


In practice (in my experience)

Nobody does any of this.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top