Next: Testing
Up: What is a software
Previous: Requirements Engineering
Subsections
Implementation amounts to building the desired system by manually or
(semi-)automatically transforming the design into software source code.
Consider the following hypothetical invention in Implementation/Tools:
- A profiling tool that indicates in a program's source code the amount of
energy that will be consumed by a program when it is executed on a specific
mobile device.
The state of the art consists of compiler construction, electronics, and
software engineering. The technical content are the techniques to map
instruction sequences for a specific device back to energy consumption
characteristics of the original source code and the ways to visualize this
information. The inventive step is the idea to associate energy consumption
with source code. A person skilled in the art is a compiler writer specialized
in energy-aware code generation or an electronics expert. A typical
infringement is a tool that implements this same idea.
Copyright can be used to protect the source code of the tool and its
documentation. However, the essential idea embodied in the tool can only be
protected by a patent.
Consider the following hypothetical invention in Implementation/Deliverables:
- A system that predicts the Dow Jones index.
The state of the art consists of software engineering and financial
mathematics. The technical content are the mathematical models used to make
predictions. The inventive step is the specific mathematical model used and
its specific implementation. A person skilled in the art is a software
engineer or financial specialist. A typical infringement is a software system
that implements the same mathematical model.
The main deliverable of software implementation is source code and copyright
can be used to protect it. However, the essential idea embodied in the
software can only be protected by a patent.
Next: Testing
Up: What is a software
Previous: Requirements Engineering
Paul Klint
2006-06-02