Lighten Creating Entity Relationship Diagrams by Leaps and Bounds

May 7th, 2008

If you are a database designer or developer, you may be racking your brains trying to find the most suitable software to help you with your database design-related tasks. There are pretty many tools for designing and modeling database structures available in the market. However, the question is what features and facilities they offer, what the quality is, how easy-to-use (or complicated…) their interface is, how many databases they support and finally what the price and maintenance costs are.

Putting myself in your shoes, I can imagine how tired you can be of evaluating tens of database modeling tools that don’t live up to your expectations and if do, their price is not acceptable. (Believe me, I have the same experience…) Let’s face it, considering all the aspects mentioned above, the offer suddenly narrows down especially if your budget is tight…

I don’t want to make any marketing research or analyze all database modeling tools in the market. I’ve just wanted to draw your attention to one, quite inconspicuous db modeling tool - CASE Studio 2 (CS2). As a user of this software, I’d like to share my experience on this product with you.

This tool has been designed by Charonware, s.r.o., a software company established in the Czech Republic (member of European Union), and is really worth taking up.

The main CS2 features include particularly: Entity relationship diagrams (ER diagrams), automatic generating of SQL (DDL) scripts, generating of HTML and RTF reports and reverse engineering. CS2 allows users to create ER diagrams for more than thirty databases like Oracle, MySQL, MS SQL, Advantage, Interbase, Informix, Firebird and much more. Also, you can take advantage of the reverse engineering feature and load already existing db structure to CS2 very easily. After ER diagram is created, you are allowed to generate SQL scripts automatically.

Besides these main features, I’ve come across another great one - the possibility to customize the software as I need. Via the CS2 Templates Editor, you can modify system templates, import new templates that are available for free on Charonware’s website, or even create your own templates. CS2 also contains MS Scripting dialog for modifying the scripts.

This way you can customize generation of SQL scripts, modify design and content of HTML and RTF reports etc. This feature makes this product much more flexible and more responsive to each customer’s needs and requirements, which I really do appreciate.

Among other helpful features belong: export into XML format, support for text objects like triggers, procedures, views, sequences etc., Data Flow diagrams, Model conversion, Version Manager and more.

Information on CS2 can be found on Charonware’s website (http://www.casestudio.com). Except the free CS2 trial, there’s also a great range of online resources including support documentation, movie tutorials, add-ins, scripts etc.

My friend says: “When you feel like you’re working hard but not getting what you need, it’s pretty frustrating. I need a software that is stable, allows me to do just what I need, is easy to use and… that I can get at a good price!” - That’s it!

Taking into account the CS2 features, functionality and price (Apropos, Charonware provides free updates and free, time-unlimited technical support!), CASE Studio 2 comes out very well!

###

Thierry Brochot is a freelance consultant of database-related issues with a focus on designing and developing database structures.

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

A Time-Saving Programming Tactic that Doesn’t Work

March 12th, 2008

Let’s say that you have a software project that’s under severe time pressure. Let’s say that this deadline is so tight that you already know it will involve many late nights of black coffee and frenetic programming. What can you do to make this process go faster?

I honestly don’t know, since the correct answer will depend on one’s individual circumstances. However, I can tell you how many programmers do respond under such circumstances. They decide to save time by skipping over the software planning and design phase, and immediately start coding away.

To an inexperienced or otherwise undisciplined programmer, this seems to make sense. After all, the finished product is what truly matters, right? The customer doesn’t care about flowcharts, class diagrams or software architectures. All they want is something that works.

It seems to make sense, but it’s a foolhardy approach. That way lies madness. We’ve all heard that an ounce of planning is worth a pound of cure, but in the world of software development, this adage is often forgotten.

If a real estate developer needs to get a house built quickly, does he save time by skipping over the architectural design phase? Does he decide to dispense with blueprints, and just start laying down concrete? Of course not. He knows that the results would be chaotic, and that work will progress more slowly without careful forethought and a concrete plan.

Yet that’s the approach that many people take when it comes to software. They decide to just start coding away, thinking that this makes the software development process more efficient. On fairly simple projects, this might work. On anything of moderate complexity though, such an approach is doomed to fail. Sure, you may save time at first. However, without a concrete software plan and a carefully considered design, problems are bound to catch up with you before long. Many of these problems won’t become clear until the testing phase comes around, and by then, it may be too late.

Sadly, such reckless thinking is often encouraged in the corporate world. Due to time constraints, a misguided manager may instruct his team to skip over the design work and just start hacking away. This makes the team seem focused and productive, but this strategy can wreak havoc on the project timeline. What’s more, the resultant code is often a tangled, poorly documented, chaotic mess. If this software must be maintained for years to come, then you have a recipe for disaster.

Mind you, I’m not saying that an elaborate design is always necessary. If time is short, then one might not have the luxury of an intricate software plan with exhaustive design documentation. However, one should at least have a general software architecture laid outone which is detailed enough to make the software development process smoother and easier. Programmers rarely err on the side of over-planning, but they frequently fall into the trap of insufficient design detail. Don’t make this mistake, if you really want to save time.

About the author:

V. Berba Velasco Jr. is proud to work as a senior electrical and software engineer at Cellular Technology Ltd (http://www.immunospot.com, http://www.elispot-analyzers.de, http://www.elispot.cn) a biotechnology company that prides itself on its standards of excellence.

Tags: , , , ,

Close
E-mail It