The practical guide to structured systems design: 2nd edition