NSEN-6001 Software Engineering I (SE 710) 

Note: The following provides a suggested course description, objectives, and an outline. These may be modified pending discussion with the Faculty Chairs, proposing faculty, and other curriculum reviewers.

Course Description: The course is a graduate level introductory survey of the concepts and principles which underlie current and emerging methods, tools, and techniques for software development, validation, and maintenance. The class is not project oriented, but concentrates instead on reading and individual practice of the techniques presented. Topics include life-cycle process models, system requirements capture, prototyping, formal and informal specification, program validation, object oriented and functional design, testing and software project management .

Course Objectives: To develop an understanding of concepts and principles underlying current and emerging methods, tools, and techniques for software development, validation, and maintenance.

Course Outline by Topical Areas:

  • Software Engineering Introduction
  • Software Processes
  • Project Management
  • Requirements Engineering and Specification
  • Software Prototyping
  • Formal Specification
  • Architectural Design
  • Distributed Systems Architecture
  • Object-Oriented Design
  • Design with Reuse
  • Verification and Validation
  • Critical Systems Validation
  • Proofs of Correctness
  • Software Testing Techniques
  • Legacy Systems
  • Software Change
  • Process Improvement