What is software physical specification and logical specification? I understand about logical specifications which could be derived from user requirements like identifying attributes, entities and use-cases and draw the software using UML in graphical depiction. But what is the physical specification of software?
-
Whoever voted it down could have bother to write me answer. I was not able to find in internert. – Asad Khan Aug 04 '21 at 15:01
-
https://en.wikipedia.org/wiki/Physical_property in other words: you nail down what you want to measure physically in SW. I don't guess that this is a common term, though. Further I don't know what this got to do with UML. – qwerty_so Aug 04 '21 at 15:23
1 Answers
Logical vs physical terminology
The terminology logical vs. physical specification is related to the idea of an implementation-independent specification (logical) that is then refined to take into account implementation details and related constraints (physical).
This distinction can be made for any system view-point, such as architecture, data-flows and process design. But the terms are mainly used in the context of data modeling (ERD):
- the logical specification describes how data meets the business requirements. Typically, you'd describe entities, their attributes and their relationships;
- the physical specification describes how a logical data model is implemented in the database, taking into consideration also technical requirements and constraints. Typically, you'd find tables, columns, primary keys, foreign keys, indexes and everything that matters for the implementation.
Remark: The term "physical" probably dates back to the times where you had to design carefully the layout of the data in data (e.g. in COBOL you had to define the fields of a record at the byte level and that layout was really used to physically store the data on the disk; it was also very difficult to change it afterwards).
Purpose oriented terminology
Nowadays, specifications or models tend to be named according to their purpose. But how they are called and whether they are independent models or successive refinements of the same model is very dependent on the methodology. Some popular terminology:
- Requirement specification / Analysis model, to express the business needs (i.e. problem space)
- Design specification / model, to describe the solution (i.e. solution space)
- Implementation specification / model, with all the technical details (i.e. one-to-one with the code, and therefore difficult to keep in sync).
- Domain model, to express the design of business objects and business logic in a given domain, but without any application-specific design (i.e. like design model but with only elements that are of interest for the business).
UML
UML is UML and the same kind of diagrams may be used for different purposes. For example:
- A use-case diagram represents in general user goal and tend to be mapped to requirements ("logical"). But use-cases can also show the relationship of an autonomous device / independent component to technical actors in its environment ("physical").
- A class diagram can be used to document a domain model ("logical"). But a class diagram can also document the implementation details ("physical"). See for example this article with an example of logical vs. physical class diagram.

- 68,716
- 7
- 72
- 138