Practical Software Engineering: Analysis and Design for the .Net Platform (Addison-Wesley Object Technology Series)