Discover answers on How to Make Functional Dependencies in Visio. On the 'dependency' icon in. Angle Lines in Visio. A: Create a new Visio diagram or open an. You can import these models into Visio using the Dependency Network shape and then. Trial software. Used for working with data mining diagrams.
One of my customers is trying to create an interactive 'matrix' of interdependencies for the various applications used in their company (it's a travel&leisure company with around 2500 employees). The idea (still at the prototype stage) is to create a sort of Map, based on Visio or similar tool, which traces the communication and interdependencies between all the IT assets in the company, so that when someone asks for a change they can get an overview of the impacts. This was mentioned in a casual setting and it will not be my responsability to directly work on this, but I did contribute the little I know already in terms of vaguely related methodologies. I'd like to hear from the people in here if they know of methodologies, or tools, that may help this kind of effort, and if they have any specific experience to contribute. I'll digest the answers and send the result back to my customer, hoping this may be of some help with their task (which I consider a bit visionary and prone to all the pitfalls of any documentation project, but still well worth pursuing). N.B.: The question is not 'I have all this data I collected about the IT assets and I am unable to afford Visio or Google for Graphviz or convert it to a MindMapping tool or create a custom navigator using Jgraph etc.etc.'
The problem is 'how do I collect the relevant/useful information, and how should I organize these, considering I may have to update the data regularly, due to interface, version, and package changes?' This is not much of a Visualization problem, or not yet. We have to get to a good start with data collection and organization first. If you want to suggest a tool, it must also include the data collection and management part (e.g.: Rational System Architect). But in that case, please suggest it if you have some actual experience, or if you are pretty sure it's quite niche and not very well know (I can Google, thank you).
If you want to suggest some books/methodologies this is helpful too (I know only of the Zachman Framework, and not sure it's really a good fit). 'Just create an Excel file' or 'You could use SmartDraw, man!!!' Don't help much, I am afraid. Found which looks a very good fit!
Closed as off-topic by, Dec 25 '17 at 4:00 This question appears to be off-topic. The users who voted to close gave this specific reason:.
'Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, and what has been done so far to solve it.' – EJoshuaS, TylerH, Makyen, robinCTS, Shiladitya If this question can be reworded to fit the rules in the, please.
Correct me if I'm wrong. You're looking to use a diagram as a tool to trace the dependencies of a system. If that's the case the what you'd use to graphically map the layout would probably be a in UML. You map out the systems/servers/physical assets as box objects, then inside of those you map out the various applications, databases, components, and their inter-relationships with one-another. The problem with using UML is, programmers focus mainly on class diagrams (because of their direct relationship to data modelling within the software), so it's difficult to find 'good' resources and examples on the non-class UML diagrams. I have used this once in the past to map a relatively complex cross-system cross-application implementation and get my ideas down in a manner that could be shared with other developers while designing the system.
In short, it was simple and it did its job well. To create the diagram I used. If I had to do it all over again I would definitely use Visio because it's a lot easier to find pre-made, and if those don't have what you need it's very easy to roll your own stencils in Visio.
Note: I have a lot (hundreds of hours) of experience in Visio doing electrical designs so I would consider myself familiar enough with the tools to give an objective comparison. @pst that works great for plotting the internal structure of the applications themselves but he was looking specifically for something that 'traces the communication and interdependencies between all the IT assets in the company'. I interpreted that statement as 'to track physical as well as software assets and their inter-relationships' in which case you need a diagram that can accurately plot that specific level of granularity.
IMHO, in this specific case the Deployment Diagram fits the requirements best. – Jun 18 '10 at 5:57. If your customer wants to understand impact, you need to model what the artifacts are, what information flows between them, and how the parts of company interact with the artifacts. You might consider building an model. Boxes in SADT models represent processes.
Labelled data input arcs show what possibly compound information/resources is fed into a process; labelled output arcs show data/resources produced by it. Control arcs indicate 'large' signals that control the processing.
Resource/mechanism arcs show what resources are required to carry off the process (e.g., hardware systems, networks.). For your task, you would treat applications and company activities as SADT processes (the boxes). Data in/out and control arcs connect applications (SADT boxes) to other SADT boxes, or to external data sources and sinks (internal departments, staff, sales, shipping, e.g, corporate stakeholders). Thus you can model the information flows through the company via the various applications and what information they consume/process/produce/use, and what agents produce/use the data. (Doing all this is called 'Structured Analysis').
For sophisticated SADT models, each process box can be usefully recursively decomposed into sub SADT diagrams. I don't think you need this to model just the application dependencies; you don't need to know how the applications work inside unless they are truly complex and separating dataflows matter.
Any change to informaiton input/output, deletion of an application would then have an obvious correspondence in the SADT diagram, and thus would lead to a better understanding of what the consequences are. Its a big undertaking to this this right, and you'll have to work to keep it up to date, which is likely the place it will fail unless everybody is signed up for the long run. For those of you that have not tried using SADT, it is a remarkably simple system to grasp (this matches other answer's dictum keep it simple), and remarkably effective at breaking up complex processing tasks into chunks where you can see (and actually communicate) essentially everything, even to managers! A key to making SADT work is to avoid being sloppy; define the arcs and nodes carefully and do not skip information sources or sinks. If you do that, SADT pays handsomely. Most whiteboard box and arrow diagrams are awful: you can't tell what is really an action, what is really data, or if all the information is actually shown and who uses it.
IMHO it is interesting to note that SADT models capture the intuition behind, which model arbitrarily complex asynchronous computations, a generalizaton of, which are a generalization of finite state automata. I know at least two customers, two big financial institutions, that implemented a custom webapp allowing to achieve the same goal (finding dependencies to do impact analysis) and I humbly think that you don't need a map to 'visualize' things. Basically, store machines, services (app server, database, etc), applications (languages, functional domain, etc), and dependencies between applications and implement a query module allowing to find (optionally transitive) dependencies for a given app (depends on/depends from) and to print a report. I would implement this using a rapid CRUD application development framework like RoR, Grails, etc which is what they (the financial institutions above) did. Your first problem is how to build a conceptual framework to hold all this information (NB: I'm not talking about the format of the data, but rather how you attach meaning to it). This is harder than it looks, but luckily there's been (see Figure 1) so you don't need to start from a blank sheet of paper.
Then you need to collect the information. Thankfully the client isn't too big so you might be able to succeed at that, but for large organizations it is often the case that they have no idea what the real dependencies between different pieces of their IT infrastructure really are. (They may well think that they know, and will persist with that illusion up until they change something and the law of unexpected consequences bites.) I wish I was able to recommend some products (free or commercial) that could help with this, but all I've really got is a mix of war-stories and lack of satisfaction.
In particular, a lot of the more traditional tools for this sort of thing don't seem to cope well with virtualized servers. If there's something open-source for this sort of thing, I'd love to hear about it! Finally, you need to present the information. That's the easiest bit which most of the other answers here address. My only comment here is that the overall (conceptual) graph of information is probably going to be too complex to display in its entirety and remain understandable, so whatever you do you're going to be having to think about how to hide information so that only partial views are ever presented. I wrote 'methodologies, or tools, that may help this kind of effort, and if they have any specific experience to contribute' - the customer is already trying to use Visio the problem is that 'visualization' is the last step of the problem.
The problem is not 'I have all the info in text files but I can't Google for something showing them' the problem is 'I don't know how to collect and organize the information that will be shown by Graphviz, or Visio, or whatever'. You answer aims at the low-hanging fruit, and misses the point entirely. – Jun 14 '10 at 6:14. Please compare your answer (which boils down to 'use graphviz') with the one by Evan Plaice. The latter provides a methodology (Deployment Diagrams from UML), a tool (Dia), insight based on actual experience, and a bit of wisdom. The kind of Industry I'd like to work in favours experience and analytical reasoning, instead of googling for package names and providing this as a 'solution'.
Regarding the 'unethical' part, considering that the only answer (yours) missed the point entirely, I thought it was better to explain it more, before coughing up the bounty. – Jun 15 '10 at 7:42.
@p.marino the diagramming part of EAI/ESB products is usually not worth it for any moderately complex system. Biggest issue is that I still haven't seen one that can show the big picture and meaningful slices of the system without excessive manual tweaking.
You might want to check OS registry/repository thingies like Mule Galaxy, WSO2 Registyry or JBoss's similar product. I have experience on doing something along these lines with Mule Galaxy. You can define entities with attributes and dependencies of different type.
Each change is audit-tracked and can be promoted according to a lifecycle. The entity can be abstract or a file (e.g. Application's main configuration file). Also each entity or domain can have access permissions. This allows you to describe the logical structure of your system in maintainable way. For visualization, you would need to roll it yourself.
You can suck up the data via simple REST-style API. I am not working directly on this (just trying to do some recon for the customer and give them pointers) so I don't know all of their systems (they don't know themselves, probably, this is why they want to create this) but for sure they have: Lotus Mail, Progress, Jira and other Atlassian stuff,.NET, Java/PHP web applications, an Oracle based DataWareHouse, a custom CRM system, Nagios, and God knows what else. We are talking of a medium-sized company with lots of different systems, here - the idea you can address this with just a developer tool (Visual Studio) is a bit naive. – Jun 15 '10 at 6:56. Maybe good solution to store your data is to write simple custom web application. If you have requirements pointed clearly it should be a piece of cake. It should be cheaper than buying some customizable huge tool but may take some time to develop.
From my experience sometimes is better to do something that suits your needs exactly as you want rather than learning about some new, general-purposes tool that was designed to do everything and nothing. About visualization: I checked various tools for UML and related diagrams and I found 2 that are very good for most of tasks (very intuitive, easy to use and time-saving). corporate stuff, a lot of diagrams, powerful with quite easy interface recommended for your case I think. Might also have support for maintaining data you deal with.
my favourite one:) very simple and can do most of things that big players can. I not advice Visio for this case, I found it is useful for small diagram but your case doesn't sound like a small one. I don't know the scope of this problem exactly, or how much effort it would be worth investing in, but it seems to me that one of the most obvious ways of documenting how the people and systems interact, would be to start with a workflow. There are tons of workflow programs out there ranging from really functional to more documentation based.
The hey would be to figure out what all the players are in the workflow. Some with be people/job titles, while others would be systems. Through a workflow, even a rough one, it should be fairly straightforward to analyze what people interact with what systems through what actions. Not that this is a simple task, of course. To describe the tasks of each job is definitely an undertaking. The good thing with doing a workflow, though, is that it is easily understood. It could be distributed throughout the company, and be much more easily kept up to date, because it is something that any manager should be capable of maintaining for themselves and their team.
When considering the workflow software, just make sure that it is capable of describing the workflow with adequate detail, and also that the resulting data is easily analyzed through a program you could write and translate into a dependency graph. It would also serve as an excellent piece of documentation in its own right. While I think you could go down the route of an actual workflow management system or business process management, I meant it in more of the layman's terminology. Not something that would automate your system, as much as describe your system, possibly with a diagramming tool. This was meant to respond to your question of: 'how do I collect the relevant/useful information'. A workflow would not be the final form, but it would be an intuitive and obvious way to collect the data to begin with.
Any person in the business could give a list of their tasks and which systems those tasks use. – Jun 18 '10 at 14:00. For organizing and reporting information about applications, technologies, assets, etc., I quite like Iteraplan. It's an open source enterprise architecture modeling tool focused in 'IT Landscaping', which pretty much comes down to capturing data (lists and links) about your technology assets and producing reports. So it's good at answering questions such as 'what applications are used to do X across all of our lines of business' or 'what systems do we have running technologies that have been end-of-lifed' or 'what applications are running on this server' or 'what systems failed security audits'. For UML diagramming, Sparx Enterprise Architect is great and fairly cheap. Think of it as Visio that knows about what it's diagramming, so you're really building a model of your enterprise/applications in a database, and the diagrams are tied to that.
Very powerful. Friendlier and vastly cheaper than Rational.
Feature Highlights Lucidchart’s intuitive features bring you a diagramming tool that’s easy from the start. You can outfit your entire organization with Lucidchart for about half the cost of running Visio.
Not only will you save money, you’ll also experience productivity improvements! With Free, Basic, Pro, and Team accounts, you'll find a plan that fits your needs and budget. Easy diagramming Making diagrams shouldn’t be difficult. Lucidchart cuts through the learning curve to deliver a product that’s immediately accessible.
Enjoy the advantages of themed layouts, customizable templates, drag-and-drop technology, and a clean, intuitive interface. Visio compatible Import a Visio file (.vdx,.vsd, or.vsdx) with the click of a button. Once it's uploaded, you can view the file and make your own edits with our easy-to-use tools. Users can even export docs to Visio format. We even offer a free Visio viewer Chrome extension!
Fully integrated Our numerous integrations make Lucidchart the perfect solution for your team. If you are using Google Apps, you can integrate your domain with Lucidchart and organize your team from there. We also offer an easy-to-use team admin panel.
Simple sharing Since Lucidchart is hosted on the web, sharing is that much easier. Try posting a funny flowchart on social media, or share a sensitive document securely through email. You can also download your diagrams in a variety of image formats for web sharing or printing. More Examples.