0

I'm studying systems analysis in my CS class and we've just been taught about Gantt charts, CPA diagrams, and modelling.

I'm a bit confused regarding data modelling and process modelling. From my vague understanding, the former involves visual illustrations while the latter involves written ones. Reading up on it seems to complicated for me.

4
  • Voting to close this question because, based on the phrasing and apparent lack of any nontrivial research effort, it ostensibly qualifies as a "do my homework for me" type of question, which is against the community standards. The close vote may be retracted, if you are able to edit the question to provide more details about the sources of your confusion, demonstrate research effort, and make the question more focused. Commented Jan 11, 2022 at 9:37
  • That said, there are already two answers, and I also don't want to leave you hanging, so let me provide some context: "modelling" just means coming up with a way to think about things, a "model" is just a description of something. Two different people can look at the same problem, and come up with two different models (descriptions) of what the features of the problem are. The two models will be similar in some general sense, but might differ in important (and less important) details 1/3 Commented Jan 11, 2022 at 9:51
  • (e.g. two people could look at the same data an organize it in slightly different data structures; one person might model something as two separate data structures, the other might find a way to generalize it and represent it with only one). Both models might be feasible to implement, but each could have different strengths and weaknesses. So modeling something just means the team saying: "OK, this is how we're going to look at the problem". The model is a conceptual thing - the details of which you can then flesh out (and communicate to others) using text, diagrams, math formulae, etc. 2/3 Commented Jan 11, 2022 at 9:51
  • So, in that light, the fundamental difference between data modeling and process modeling is about what is being modeled, what is being described. It's not about diagrams vs text, those are just tools used to communicate the model to others. 3/3 Commented Jan 11, 2022 at 9:51

2 Answers 2

1

Data Modeling involves describing how data is stored and related, including what kinds of data are needed. This could include transactional boundaries and other concepts like data normalization. Think: "application state".

Process Modeling involves describing the behavior necessary to perform a task. Typically process modeling is described from the viewpoint of the business or customer. Technical details, like database tables and user interface elements are not the focus when modeling a process. Think: "application behavior".

While both kinds of modeling focus on different aspects of an application, the data model can impose restrictions on the process model if done poorly. I recommend designing the process model first. After that, design the data model to support the process model.

5
  • 1
    I subscribe to the explanation and disagree with the final advise. In general I would start with state, not in the least because without it there will be nothing to process. Furthermore, you have data-heavy systems to which processing is uninteresting to irrelevant and vice versa. So the best place to start would depend on the type of system being modeled. Commented Jan 6, 2022 at 18:41
  • @Greg Burghardt good answer but was it copied from Google? Commented Jan 6, 2022 at 19:03
  • @MartinMaat: Point taken. I can see where you are coming from. I typically think in terms of behavior first, and then the data needed to support that behavior. Commented Jan 6, 2022 at 20:26
  • 1
    @EricHernandez: No, I did not copy this from Google. Just out of curiosity, where did you find a similar explanation? Commented Jan 6, 2022 at 20:28
  • @EricHernandez - Why do you ask? If it's because you want to copy it yourself for use in the class, and are trying to ascertain if it's safe to do so, please be aware that copying this text without attribution to Greg Burghardt would also be considered plagiarism, and that, now that the answer has been published here, it is practically a certainty that it'll come up in google search results if one googles for an exact phrase. Commented Jan 11, 2022 at 9:27
1

Data modeling is about describing structure and relationships of data. A typical example is Entity-Relationship modeling. But you may model data even if you don't have a database.

Process modeling is about describing a set of activities, actions and steps, that take some inputs to create some output. It is broader than just IT, since it can be about industrial process with flows of goods and resources on the top of data flows. Popular examples are flow-charts (sequence of steps in a process), or data-flow models (flow of data between related sub-processes) or activity diagrams (which allow for both and more). But very often process models are also about who performs what. Typicial examples are swimlanes diagrammin (a variant of flow-charts, and yet another feature of activity diagrams) and the more modern BPMN Business Process Models.

Gant charts and CPA (critical path analysis) are very specialised process models used in project management. Gant chart focuses on the relation of tasks with a view to timing. CPA focuses on interdependencies of tasks and the potential impact of dependencies on timing.

Should process be modelled before data or vice-versa ? This is a chicken-egg problem. You liven in a world where both are anyhow related:

  • This is why iterative approaches are so effective: they allow to advance on both aspects at the same time in little steps.
  • Moreover, with object oriented approaches, the separation of data and process is over: objects encapsulate both, and UML can be used to model both.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.