Students are introduced to the different software process models and management of modular
inter-communication, software engineering tools, software testing and project management
including resource estimation, team organization and review. Students learn software engineering
techniques for dependable and secure systems, reliability engineering, software evolution,
software maintenance, quality management, configuration management, reuse, and ethical issues in
After successfully completing this course, students will be able to:
- Explain the key components of various process models.
- Utilize a variety of strategies for testing simple programs.
- Identify the principal issues associated with software evolution and explain their impact on
the software lifecycle.
- Identify methods to create software architecture that is reliable, dependable and
- Apply the basic principles of software project management in a team environment.
- Analyze the ethical issues involved in developing software.
- Unit 1: Introduction to Software Engineering
- Lesson 1: Software Processes
- Lesson 2: Agile Software Development
- Lesson 3: Testing
- Lesson 4: Software Evolution
- Unit 2: Dependability and Security
- Lesson 5: Dependable Systems
- Lesson 6: Security Engineering
- Lesson 7: Resilience Engineering
- Unit 3: Advanced Software Engineering
- Unit 4: Software Management
- Lesson 9: Project Management
- Lesson 10: Project Planning
- Lesson 11: Quality Management
- Lesson 12: Configuration Management
- Unit 5: Computer Reliability and Ethics
- Lesson 13: Computer Reliability and Ethical Issues
- Lesson 14: Professional Ethics and the ACM/IEEE Software Engineering Code of Ethics
Required text and materials
Sommerville I. Software Engineering, 10th Edition, Pearson Higher Education
Please be aware that due to COVID-19 safety guidelines all in-person exams have been suspended. As such, all final exams are currently being delivered through ProctorU, which has an approximate fee of $35 involved. There will be more information in your course shell, on how to apply, if your course has a final exam.
In order to successfully complete this course, students must achieve a passing grade of 50% or
higher on the overall course and 50% or higher on the mandatory Final Exam.
|Assignment 1: Software Process Model
|Assignment 2: Software Testing and Software Evolution
|Assignment 3: Security Engineering
|Assignment 4: Software Reuse
|Assignment 5: Project Management and Planning
|Assignment 6: Configuration Management Tool Review
|Assignment 7: Professional Ethics
|Quizzes: (7 at 3% each)
Open Learning Faculty Member
An Open Learning Faculty Member is available to assist students. Primary communication is
through the Learning Environment’s “mail” tool or by phone. Students will receive the necessary
contact information at the start of the course.