Software Engineering

Develops a theoretical and applied understanding of the concepts and techniques of software engineering emphasizing agile methodologies, software architectures, project planning and management, risk management, requirements engineering, prototyping, goal modeling, design techniques and quality measures, security considerations and protections, quality assurance techniques, testing methodologies, configuration management and control, sustainment, and tool support.

Course Outcomes

Upon completion of this course, you will be able to do the following:

  1. Analyze requirements for a complex software system and identify appropriate architectural approaches.
  2. Design, implement, test, and maintain software to satisfy the requirements of a software system.
  3. Communicate software requirements and designs effectively in writing.
  4. Apply ethical reasoning together with professional standards to the development of software systems.
  5. Employ software project management principles to orchestrate team efforts, mitigate risks, and produce high quality software systems.
  6. Identify the appropriate software process model(s) for particular software system needs.
  7. Apply techniques from security and reliability engineering to create dependable software systems.

Announcements

subscribe via RSS