design and implementation of software managed