Re: What is analysis?

From: Jon Heggland <jon.heggland_at_ntnu.no>
Date: Wed, 05 Dec 2007 13:02:34 +0100
Message-ID: <fj641f$m36$1_at_orkan.itea.ntnu.no>


Quoth David Cressey:
> "Jon Heggland" <jon.heggland_at_ntnu.no> wrote in message
> news:fj1iog$vcc$1_at_orkan.itea.ntnu.no...

>> Yes, but despite my nifty definition, I still have a hard time
>> separating analysis and design/development. I find it very difficult to
>> imagine one without the other.

>
> I find it hard to imagine correct design/development without a correct
> understanding of the problem to be solved. Obtaining a correct
> understanding of the problem to be solved may be too informal a process for
> some people to give it a name like "analysis". Some people say they just
> sit down and chat with the users. But I think it's "analysis" whether it's
> a formal process or an informal one, and whether it's performed once at the
> outset of a project, or repeated between each iteration of an iterative
> development process.

Yes, but still I find it difficult to say "now I'm analysing" and "now I'm designing". To obtain a correct understanding of a problem, I create a model of it---or perhaps you could even call it a hypothesis---and I then evaluate and improve (or discard and recreate) this model/hypothesis iteratively. Analysis or design? Or both at the same time? Or am i rapidly oscillating between the two? The model/hypothesis is certainly designed, but it is also a product of analysis of the problem.

> I agree. And a specification of all the business rules probably captures
> (at least) all the information recorded in an ER model.

Far more, I'd say. ER hardly captures any constraints, for example. You can't even specify more than one key.

> Now it's time for me to ak a dumb question:
>
> What is a relvar?
> How is it different from a relational table?
> Is the difference mainly one of terminology?
> or is there a subtle concept here that I need to learn?
> What benefit was derived by introducing the term "relvar"?
> When was it introduced?

Bob Badour answered this; I'll just add a quote from Date's Introduction to Database Systems (2004):

In his [1970] paper, Codd uses the term /time-varying relations/ in place of our preferred /relation variables/ (relvars). But /time-varying relations/ is not really a very good term. First, relations as such are /values/ and simply do not "vary with time" (there is no notion in mathematics of a relation having different values at different times). Second, if we say in some programming language, for example, DECLARE N INTEGER ; we do not call N a "time-varying integer", we call it an /integer variable/.

(End quote)

> Do foreign keys represent anything, in your view?

They represent the same as other kinds of constraints: business rules.

-- 
Jon
Received on Wed Dec 05 2007 - 13:02:34 CET

Original text of this message