Next: The patent-aware software life
Up: Baseline: an IPR-based software
Previous: Baseline: an IPR-based software
In software engineering, the software life cycle is a
frequently used manner of organizing the software development
process. Figure 2 shows a strongly simplified version of
the life cycle taken from a standard textbook [35]. It consists of
the following phases:
- Requirements engineering: collect the requirements and expectations from
the future owners and users of the system.
- Design: translate the requirements in a specification that describes the
global architecture and the functionality of the system.
- Implementation: build the system.This amounts to transforming the design
into software source code.
- Testing: test that the implemented system conforms to the specification.
- Maintenance: install, maintain and gradually improve the system.
It should be emphasized that the software life cycle covers design and
construction of a software product as well as its use.
Each phase contains a Validation and Verification (V&V) sub-phase in which
the quality of the deliverables of that phases are controlled. Also note the
backward arrows that make this into a real ``cycle'': it is possible to
discover in later phases that decisions made in a previous phase have to be
revised.
We will now proceed in three steps. First, a defensive Patent-aware Software
Life Cycle is sketched that ensures that the software development organization
does not infringe patents of third parties. Next, a more offensive Patent-based
Software Life Cycle is described that also considers the options to file
patent applications for knowledge that has been generated in each phase of the
life cycle. Finally, the IPR-based Software Life Cycle extends the previous
one to all IPR options: secrecy, copyrights and patents.
Next: The patent-aware software life
Up: Baseline: an IPR-based software
Previous: Baseline: an IPR-based software
Paul Klint
2006-05-22