Asad Khan
Asad Khan

Reputation: 513

What is software physical specification and logical specification?

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?

Upvotes: 0

Views: 1172

Answers (2)

Mohsen Khosroanjam
Mohsen Khosroanjam

Reputation: 521

I understand from your question that you asked for differences between software physical and logical specification (not physical and logical data models).

Let's dive into software physical and logical specification;

  • Physical specification:

Refers to the hardware aspects of the system which includes how the software operates in a physical environment. For example, hardware requirements (processor, memory, storage), system config (os, network), and compatibility (supported hardware, third-party integrations).

For instance, a mobile app requires at least 4 GB RAM to run efficiently.

  • Logical specification:

It refers to the abstract design aspects of the software, focusing on its functionality and behavior. For example, functional requirements (Features, expected behaviors), data model (database schema, attributes, relationships), process flows (user journeys, workflows).

For instance, a web app that processes customer orders and update inventory database

Upvotes: 0

Christophe
Christophe

Reputation: 73530

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.

Upvotes: 1

Related Questions