Continued from page 1
Top business experience is required in
analysis team in order to get in-depth understanding of
business itself.
Remember: Our model, at this stage in development, must reflect
business, not some constraints given by any tool or personal preferences. This happens all too often and usually with not-to-good results.
In
analysis team,
system analysts must have an expert level knowledge of business modeling. By business modeling, I mean exactly that. I do not mean expert knowledge of f.i. Entity Relationship modeling without relating it to
real world. However good a person may be educated, nothing beats
experience earned from several similar tasks at
equivalent level of complexity. How does one gain experience then? Participate under a tutor. I would never hire a consultant without experience and trust her to understand
complexity of my business, all by herself.
I will not go into detail as to
total project staff is composed. This will depend on many outside factors, such as degree of participation from each party, size of
project, formal requirements (public sector tends to require at higher level of project staffing, partly due to rigorous documentation requirements), etc. What we focus on is
tightly performing party that determines
final business model: The experts on
business together with
system analysts, preferably more than one in this phase.
Due to
increasing complexity that tends to be taken into systems development, I cannot imagine a development project of any noticeable size that should not use a development tool as support for
analysis team as well as for each stage other of development. I regard
tool(s) chosen as an integral part of
team. In many cases,
tool is also
communicator between
business and
analyst. I have often started a project by going through
way we communicate with each other. In my experience,
business soon finds Entity Relationship diagrams familiar, if not as familiar as to
system analysts. However, they are a means of communication that work. The same may be said for function diagrams, or function hierarchies. They are even easier to understand for a non-system person.
That is why
eBook on ‘Entity Relationship Modeling – Principles’ is in
writing, and soon will be published on this site as a free eBook, which you are free to use in your ongoing or upcoming projects.
As for choice of modeling tool, I give no concrete recommendations: I have used Oracle Designer (formerly Oracle CASE*Method) for
last 15 years, and I have found it to be a powerful and rich system, which delivers in many more areas than I have needed to use it for. I am probably a little biased here.
However, a toolset should include reusable objects: The results from
analysis phase should be
basis for generating tables and all other database objects for use in
design phase, as well as functions should be used for generating candidate modules. Furthermore,
database objects and candidate modules should be used to generate
DDL (Data Definition Language) scripts for physically building all
elements of
database, as well as
candidate modules should be used to generate running program modules. Not that I expect a system to be 100% generated – far from it. However, with such functionality you could show a prototype, which illustrated
resulting, needed functionality, but without
last finishing touch or
most advanced business constraints built into it.
For more visualization of this article, visit http://www.databasedesign-resource.com

The author has spent the last 15 years as a system analyst in manufacturing, government, private corporations and broadcasting, performing database analysis and design, based on Oracle Designer and Developer tools.