Graduate Certificate in Engineering Courses

ENPM611 Software Engineering (3)
Prerequisite:Competency in one programming language and must have completed an undergraduate software engineering course or permission of course instructor. 
Software engineering concepts, methods, and practices important to both the theorist and the practitioner will be covered. The entire range of responsibilities expected of a software engineer are presented. The fundamental areas of requirements development, software design, programming languages, and testing are covered extensively. Sessions on supporting areas such as systems engineering, project management, and software estimation are also included.
ENPM612 System and Software Requirements (3)
Prerequisite: ENPM611. 
Focus will be placed on the theoretical and practical aspects of requirements development. Students will recognize the place of requirements, how to work with users, requirements methods and techniques, the various requirements types, how to set requirements development schedules, requirements evolution, how to model and prototype requirements, how to evaluate and manage risk in requirements, techniques to test requirements, how to manage the requirements process, and how to write an effective requirements document.
ENPM613 Software Design & Implementation (3)
Software design concepts and practices within the field important to both the practitioner and the theorist will be covered. Architectural and detailed designs are included for batch, client/server, and real-time systems. Design considerations for structured, object-oriented, and Web-based systems are covered. Design of databases, user interfaces, forms, and reports are also included. Implementation issues that affect the design, including error handling, performance, and inter-process communication, are presented.
ENPM614 Software Testing & Maintenance (3)

Prerequisite: ENPM611.
Aspects of software development after coding is completed will be covered. Students will understand the various levels of testing, techniques for creating test data, how to manage test cases and scenarios, testing strategies and methods, testing batch, client/server, real-time, and Internet systems, and the development of an effective test plan. Software maintenance will include the creation of easily maintained software; preventive maintenance, corrective maintenance, and enhancements; configuration management practices; and assuring quality in software maintenance.


Office of Advanced Engineering Education

2105 J.M. Patterson Building
University of Maryland
College Park, MD 20742

Copyright © 2017 University of Maryland. All rights reserved.

English French German Italian Portuguese Russian Spanish