开发者

What is a logical requirement?

An SRS should specify "logical requirements" but not start "design".

My problem is in the IEEE SRS document (IEEE Std 830-1998) section 5.3.4 says:

5.3.4 Logical database requirements

This should specify the logical requirements for any information that is to be placed in a database. This may include the following:

开发者_JAVA技巧

  • a) Types of information used by various functions;
  • b) Frequency of use;
  • c) Accessing capabilities
  • d) Data entities and their relationships
  • e) Integrity constraints
  • f) Data retention requirements

So does d) mean drawing the ERD is ok? When does specifying the system to this level in REQUIREMENTS bleed in to DESIGN?


A Logical Data Diagram does not define actual data storage. It defines the Entities at a conceptual level. It's up to somebody else to figure out how to store those Logical Entities.

...so yes, an ERD would be acceptable.

This kind of activity would start to bleed into Design if you began to specify actual storage requirements (which data belongs in which tables, data types, etc.) rather than just defining the Entities at the conceptual level.


Here is a very useful reference that breaks down the difference between logical and physical database design:

http://www.developer.com/tech/article.php/641521/Logical-Versus-Physical-Database-Modeling.htm


An ERD is logical design.

The table-column logical schema is independent of any physical implementation. From the tables, columns (even indexes), you cannot determine anything about the physical infrastructure that supports that database.

Physical database design is tablespaces, filesystem, media, logging, etc.

Here's a summary: http://www.revision-zero.org/logical_data_independence

Here's a paper: http://www.sigmod.org/record/issues/9309/design.ps

Note that there's no clear and absolute division between "logical requirements" and "design". In principle, one is "what" and another is "how", but there's an infinite number of fine-grained what vs. how levels to any specification.

You can say that "code" is design. I say that "code" is a logical model and the circuits of the computer hardware that process that code is where the physical design happens. Someone else can say that the superficial hardware instruction set is just logical design, and it's the individual gate arrays that are physical design.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜