UMUC

Graduate School of Management and Technology

Course Descriptions - SWEN (Software Engineering)

SWEN 603 Systems Engineering (3)

(Formerly MSWE 603.) An examination of the systems engineering process, with emphasis on software engineering as a discipline within systems engineering. Topics include an overview of system theory and structures, elements of the system life cycle (including systems design and development), risk and trade-off analyses, modeling and simulation, and the tools needed to analyze and support the systems process.

SWEN 640 Software Project Management (3)

(Formerly MSWE 640.) A study of the current theory and practice of software development project management. Topics include integration, scope, time, cost, quality, human resources, communications, risk and procurement management as defined in the Institute of Electrical and Electronics Engineers (IEEE) standard for project management. The relationship between each knowledge area and the detailed processes required to manage software projects is explored. Various approaches to software project planning, software project estimating, networks and scheduling, tracking and control, and technical and support processes are analyzed. Principles are applied through the development of a software project management plan for a complex system.

SWEN 645 System and Software Standards and Requirements (3)

(Formerly MSWE 645.) An examination of major models of software requirements and specifications (sequential and concurrent systems), existing software standards and practices, and formal methods of software development. A comparative survey of various languages and methods serves to emphasize similarities and significant differences. Topics also include writing system and software requirements, formal specification analysis, formal description reasoning, models of “standard” paradigms and translations of such models into formal notations.

SWEN 646 Software Design and Implementation (3)

(Formerly MSWE 646.) A guide for the transition from programming-in-the-small to programming-in-the-large. Software development processes and the role of design as applied in those processes are discussed. Review covers major design methods and available computer-aided software engineering (CASE) tools, the proper application of design methods and techniques for estimating the magnitude of the development effort. Strengths and weaknesses of the development methods are covered, and traceability to requirements and code are examined.

SWEN 647 Software Verification and Validation (3)

(Formerly MSWE 647.) A study of the evaluation of software for correctness, efficiency, performance and reliability. Skills covered include program proving, code inspection, unit-level testing and system-level analysis. The difficulty and cost of some types of analysis and the need for automation of tedious tasks are examined. Problem-solving skills are stressed, especially in the analysis of code. The textbook world is contrasted with the real world using case studies and personal experiences. Industry attitudes toward reliability and performance are also discussed.

SWEN 648 Software Maintenance (3)

(Formerly MSWE 648.) A guide for the transition from programming for the short term to programming for the long term. Review covers the role of creation and maintenance in the software development process, as well as analysis and implementation of a software design. Topics also include the need for software maintenance and evolution, software maintenance process and performance issues, planning for extended software life and effective mechanisms to control software change.

SWEN 670 Software Engineering Project (3)

(Formerly MSWE 617.) A comprehensive examination of the tools, skills and techniques of software engineering and their application. Completion of a major team project is designed to integrate knowledge and skills gained through previous study and provide experience of the constraints commonly experienced in industry (such as scheduling and vagueness of clients). Project requires forming teams (organization) and scheduling work to meet the deadlines imposed by the contract (syllabus).