Learn how to apply an engineering approach to computer software design and development by focusing on topics like life cycle models, software requirements, specification, conceptual model design, detailed design, validation and verification, design quality assurance, software design/development environments, and project management.