The process by which large software systems are built by teams of developers. Techniques for modeling data and process requirements are surveyed and illustrated using computer-aided software engineering (CASE) tools. Topics include information systems development life cycle and object-oriented systems analysis and design using UML.