9

I think what you're looking for here is a Sequence Diagram. These allow you to visualize the order in which various modules call eachother via the use of arrows. Constructing one is simple: Draw your starting class with a dotted line below it. Draw the next class/method in the call trace with a dotted line below that Connect the lines with an arrow, ...


7

In short, a flowchart is a type of diagram that represents an algorithm or process, showing the steps as boxes of various kinds, and their order by connecting these with arrows. You may also think of a flow chart as a process flow of application logic while connecting components in some type of flow of events. What about the constructors of classes, ...


7

Flowcharts and pseudocode often have the same level of expressiveness, but differ in linearization. Pseudocode is linear (i.e. a sequence of lines with instructions), a flowchart is not. Therefore, flowcharts are a higher abstraction level, used before writing pseudocode or for documentation. Flowcharts have, in my opinion, two strong advantages over ...


7

Effectively, a flow chart is just a fancy graph. So, you will have nodes and edges. Nodes will have text, (optionally) position/size, and unique ids. Edges will have a pair of nodes and a name. So, suppose we have, "Ask user their name. If their name is Bob, compliment them. Otherwise, hang up on them." Something like this: var JsonGraph = { Root:...


5

I think a call graph would be the most appropriate visualization. If you decide not to do it by hand, there's a nice little tool called pyan that does static analysis on a python file and can generate a visualized call graph by way of a graphviz dot file (which can be rendered to an image). There have been a couple of forks, but the most fully-featured one ...


4

I've not drawn a flowchart in over 20 years. Thank goodness. By the time the chart is done the code could have been written, debugged, and deployed. Flowcharts were OK at a time when everything was card-punched and batch processed on mainframe computers that were doing priority production runs w/ your development work squeezed in between; computer time was ...


4

The Wikipedia article covers this pretty well. Look under building blocks; if it's not there, a flowchart doesn't cover it. Flowcharts are mostly meant to illustrate a process that embodies an algorithm (a recipe for solving a problem). The flowchart illustrates the procedural steps that the computer would take to solve the problem.


3

This isn't really a "should" question. Does it work for you? Ok then do it. Scripts often have minimal debugging facilities so the old "printf" is jolly useful. Consider having a "verbose" mode and a "quiet" mode. If your programs get really complicated you're probably better off with a debugger (or perhaps just fix your unit tests...)


3

This can work and this could be a terrible idea and it really depends on what you're trying to achieve. Positive example: Arena is a simulation software that uses predefined blocks to create new simulations. This works great since the constructs are similar between any two simulations and working with a graphical tool is beneficial for that kind of work. ...


3

I'd use a graph data structure. They are often implemented using adjacency matrices or adjacency lists. The MSDN has a pretty solid tutorial. The article covers both of the aforementioned structures.


3

This question is very broad, so just some general advice. Is there a nice way tot do this without taking too much time and confusion ? I know only one: ask the authors of the system if they can give you some explanation. If you cannot grasp any of the authors, you will have to start reengineering - no shortcut. Are there any softwares or debugging ...


3

Yes, there is such a convention, but it is not based on true or false. The "happy flow" will always be pointing down and any exceptional or side-tracked flow will be pointing left/right. E.g. if you have a decision based on whether you are having to set up a new client or use an existing client, the existing client is the nice direction ==> go down.


2

Is the algorithm done once you remove one block that does not meet the threshold? If not, you need a loop that iterates over each block. You also need an exit condition if you have no blocks that fail to meet the threshold. Maybe something like this? Start | V Split signal | V /------ More blocks? &...


2

If you are using flowcharts, then you can have 3 separate flowcharts. 1 to represent the overall view showing the decision that leads to initiating the service in the 2 different ways you say you have in your case. The other two diagrams will detail the process in each scenario. Flow charting is a loose technique with hardly any rules beyond what the shapes ...


2

In an ordinary flowchart (not a UML diagram), any box that represents some other process, subroutine or method (returning back to the caller) would be represented by a box having double-vertical lines instead of single, the Predefined Process Symbol. Return to the calling entity is indicated by flow control passing through the box, and out the other side, ...


2

Not to intentionally be a contrary, but in answer to the question: "What types of processes have to be reflected in flowchart?" I think the answer is none of them. Flow charts have been around a long time. For developers, they are time consuming to produce, particularly in the quantity that would be needed for a commercial scope project. They also ...


2

Generally speaking, all Inputs (via I/O box), Outputs (via I/O box), Processings(via Proceesing box) and Decisions (via Diamond box) should be reflected in your flowchart. Talking about events, they can be depcited somewhat via the diamond box if you like. For example: if (user/system does that) then do this else do this For constructors, you ...


2

On Pseudo Code To be honest, I don't use pseudocode much. Typically it's faster to just write the code, so that when I'm done with my code, it's actual code. There are some cases when pseudo code may be helpful, but you're generally working on something very complex and just trying to break down the structure of a method or something. In those cases, I ...


2

When writing GoJS we solved this by having the following rules for data: Every node has a key, which must be unique Links can be represented one of two ways: In a Tree-like fashion (TreeModel), or as separate JSON object entities (GraphLinksModel) If the flowchart or diagram is created in a Tree-like fashion, with only one parent per Node, then you don't ...


2

I've recently done some flow-charting and struggled with the same issue, how to present subroutine calls, or perhaps method- and function -calls as you might call them these days. I settled on a convention that I separate subroutine CALLS from subroutine REFERENCES. For the former I use an ordinary rectangle showing the call with arguments being made, using ...


2

Flowcharts are to capture solution logic in a stable/readable form. If this is sufficient for your audience, that is all that matters. Is this for yourself or a different audience? What are the audiences expectations? Is there an established standard that they are expecting? If it is important to your logic that the variables be initialized, then add a ...


2

Flowcharts represent flow of control, not flow of information. Flowcharting formally captures steps and the linkages between them that describe the transfer of the flow of control that are often based on decisions: in particular, conditional branches and loops. Flow of control is about what is done or happens next, and (sadly) not about the required data ...


2

The correct or "best" means to describe functionality of an API depends on the specific functionality, there is no simple, braindead "one size fits all" solution for this. For some functionality, flowcharts may be a good option. For some, data flow diagrams may be better. Organizing process descriptions in terms of "input, processing, output" is a very old, ...


2

If your intend is to make an IDE for presenting blocks of code for existing languages, this will not be very practical: first, flowcharts are more adapted to procedural languages and logic. This will not be so practical for object oriented languages. It's neither of much use for structured languages in which blocks of code can be deeply nested. This would ...


1

Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. Example of a Business Process Model and Notation for a process with a normal flow. From Wikipedia. The XML Process Definition Language (XPDL) is a format standardized by the Workflow Management Coalition (WfMC) to ...


1

Flowcharts don't provide standard means for declaring or accessing variables, and they have no elements which directly relate to a specific programming language. One is free to put any kind of description into the boxes as long as the description matches the related step. So if you are using an OO programming language which provides things like classes or ...


1

I think you are still thinking like a developer or architect, and you need to think more like a user / product manager / business analyst. Can you describe the workings of the API in terms of user stories or use cases? These are less technical but have a high impact if done correctly.


1

My opinion: I think your model looks more like a business process diagram than a data flow diagram. I do understand that they are sometimes easily interchanged. Your model would have as well be done in such a way that the roles are depicted in stream lanes (bearing in mind that the data base runs beneath each action depicted in circles) A data flow diagram ...


1

Since this question remains unanswered, I'd like to expand on my comments. In a flow chart, you probably don't need to represent events at the level of detail that you are thinking. A flow chart is a representation of a workflow, process, or algorithm. At the most basic level, it contains terminals (a start condition or event and one or more stop conditions ...


Only top voted, non community-wiki answers of a minimum length are eligible