UMUC

Graduate School of Management & Technology – Programs

Course Descriptions - SWEN

SWEN 603 Systems Engineering (3) (Formerly MSWE 603)

An examination of the systems engineering process, with special 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. Fundamental elements 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, which is an adoption of the Project Management Institute Guide to the Project Management Body of Knowledge. 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. The principles covered are applied by developing 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. Additional topics covered 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. 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 are reviewed. Strengths and weaknesses of the development methods are covered, along with traceability to requirements and code.

SWEN 647 Software Verification and Validation (3) (Formerly MSWE 647)

A study of the evaluation of software for correctness, efficiency, performance, and reliability. Specific skills covered include program proving, code inspection, unit-level testing, and system-level analysis. The difficulty and cost of some types of analysis are examined in addition to the need for automation of tedious tasks. Problem-solving skills are stressed, especially in analysis of code. The textbook world is contrasted with the real world using case studies from the book 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. The role of creation and maintenance in the software development process, as well as analysis and implementation of a software design, is reviewed. 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 are additional topics of discussion.

SWEN 670 Software Engineering Project (3) (Formerly MSWE 617)

A comprehensive examination covering the application of the tools, skills, and techniques the students have acquired in the course of their studies. Producing software while working in teams under the schedule constraints commonly experienced in industry provides experience in applying software engineering techniques. The instructor emulates the vagueness shown by typical customers in describing requirements. The instructor serves as a guide and mentor, not as a traditional teacher. The students are expected to have acquired the knowledge of what to do and how to do it from the prerequisite classes. It is up to the students to form their own teams (organization) and schedule their work to meet the deadlines imposed by the contract (syllabus).