You learn a set of skills and a variety of approaches to advanced issues important in real-world applications. Particular attention is given to topics that improve the precision and quality of developed systems. After completing the course, you should be able to add precision to analysis and design models, deploy design by contract and create highly reliable and reusable components, decouple objects, improve flexibility and maintainability, deal correctly with multiple inheritance, choose and implement connectivity to relational and OO databases, select and design applications with distribution and component mechanisms, apply business rules and select their implementation, and identify issues in construction of supportable and modifiable systems. The course covers a variety of techniques encountered in today's complex, mission-critical applications and guides you through the best practices of complex system development. Particular attention is given to topics that present the most productive solutions and identify approaches that may cause deficiencies during the lifetime of the system.
Enrollment is limited and advance enrollment is required.