Skip to main content
CIT831Sciences3 Unitsintermediate

Software Engineering Methodologies

This course introduces the basic principles of software engineering. It explores software engineering methodologies, including software processes and models. The course also covers professional and ethical responsibilities expected of software engineers. Students will learn about traditional software engineering process models, agile development methods, and requirements engineering processes. The course also covers system modeling and design, software testing, evolution, and maintenance.

Take a practice test or generate AI study notes to help you excel in this course.

156h
Study Time
13
Weeks
12h
Per Week
basic
Math Level
Course Keywords
Software EngineeringMethodologyRequirementsTestingMaintenance

Course Overview

Everything you need to know about this course

Course Difficulty

Intermediate Level
Builds on foundational knowledge
65%
intermediate
Math Level
Basic Math
📖
Learning Type
Theoretical Focus

Course Topics

Key areas covered in this course

1

Software Engineering Methodology

2

Professional Ethics

3

Software Process Models

4

Agile Development Methods

5

Requirements Engineering

6

System Modeling and Design

7

Software Testing and Validation

8

Software Evolution and Maintenance

Total Topics8 topics

Requirements

Knowledge and skills recommended for success

Basic Programming Concepts

Introduction to Computer Science

💡 Don't have all requirements? Don't worry! Many students successfully complete this course with basic preparation and dedication.

Assessment Methods

How your progress will be evaluated (3 methods)

assignments

Comprehensive evaluation of course material understanding

Written Assessment

tutor-marked assessments

Comprehensive evaluation of course material understanding

Written Assessment

final examination

Comprehensive evaluation of course material understanding

Written Assessment

Career Opportunities

Explore the career paths this course opens up for you

Software Engineer

Apply your skills in this growing field

Software Developer

Apply your skills in this growing field

Systems Analyst

Apply your skills in this growing field

Software Architect

Apply your skills in this growing field

Quality Assurance Engineer

Apply your skills in this growing field

Industry Applications

Real-world sectors where you can apply your knowledge

Information TechnologyTelecommunicationsFinanceHealthcareEducation

Study Schedule Beta

A structured 13-week journey through the course content

Week
1

Module 1: Introduction

4h

Unit 1: Software Engineering Methodology – Basic Notions

2 study hours
  • Define software engineering methodology.
  • Describe software engineering as a discipline.
  • Explain the concept of software and its types.
  • List and discuss the attributes of good software.

Unit 2: Professional and Ethical Responsibilities

2 study hours
  • Describe the professional and ethical responsibilities of a software engineer.
  • Outline and explain the eight principles of IEEE-CS/ACM code of ethics.
  • Discuss areas of professional responsibility like confidentiality and intellectual property rights.
Week
2

Module 1: Introduction

4h

Unit 3: Software Process

2 study hours
  • Describe a software process and its importance.
  • Outline and describe the software process activities: specification, development, validation, and evolution.
  • Distinguish between software process and software engineering methodology.

Unit 4: Software Process Models

2 study hours
  • Define software process model.
  • Explain the Waterfall model, its phases, and problems.
  • Distinguish between the Waterfall model and the V-Model, including applications and disadvantages.
Week
3

Module 1: Introduction

2h

Unit 5: Evolutionary and Incremental Development

2 study hours
  • Describe the objectives of evolutionary development.
  • Discuss the problems and applications of evolutionary development.
  • Outline the advantages of incremental development.
Week
4

Module 2: Introduction To Software Engineering Methodology

4h

Unit 1: Prototyping

2 study hours
  • Describe the prototyping model and its benefits.
  • Understand the problems associated with prototyping.
  • Identify situations where prototyping is most applicable.

Unit 2: Spiral Development

2 study hours
  • Describe the spiral development process.
  • Discuss the advantages and problems of the spiral model.
  • Explain how the spiral model incorporates risk analysis.
Week
5

Module 2: Introduction To Software Engineering Methodology

3h

Unit 3: Agile Development Methods

3 study hours
  • Define Agile software development method.
  • Understand the differences between Agile and plan-based methods.
  • List the characteristics of Agile methods and their applications.
  • Understand the Agile Manifesto and its principles.
Week
6

Module 2: Introduction To Software Engineering Methodology

3h

Unit 4: Extreme Programming

3 study hours
  • Discuss Extreme Programming (XP) as an agile method.
  • List and explain the techniques of extreme programming: User Stories, Refactoring, Test-First Development, and Pair Programming.
  • Understand the criticisms of Extreme Programming.
Week
7

Module 2: Introduction To Software Engineering Methodology

3h

Unit 5: The Dynamic System Development Method (DSDM)

3 study hours
  • Discuss the Dynamic System Development Method (DSDM) as an agile method.
  • List the phases of the DSDM lifecycle and explain the DSDM principles.
  • Explain the techniques of the DSDM and identify the individual roles in the DSDM.
Week
8

Module 3: Introduction

3h

Unit 1: Requirements

3 study hours
  • Define requirements engineering and a requirement.
  • Explain requirements imprecision and list the types of requirements: User, System, Functional, Non-Functional, and Domain.
  • Understand requirements completeness and consistency.
Week
9

Module 3: Introduction

3h

Unit 2: Functional and Non-Functional Requirements

3 study hours
  • Describe functional requirements and give examples.
  • Describe non-functional requirements and their classifications.
  • Understand the problems associated with non-functional requirements and how to measure them.
Week
10

Module 3: Introduction

3h

Unit 3: Domain Requirements

3 study hours
  • Explain domain requirements and give examples.
  • State the problems associated with domain requirements: understandability and implicitness.
  • Discuss the challenges software engineers face in capturing domain requirements.
Week
11

Module 3: Introduction

3h

Unit 4: Requirements Design and Writing

3 study hours
  • List guidelines for writing requirements.
  • Explain system requirements and describe the requirements document.
  • Understand the IEEE requirement standard.
  • Differentiate between user requirements and system requirements.
Week
12

Module 3: Introduction

3h

Unit 5: Requirement Elicitation and Analysis

3 study hours
  • Describe requirements engineering processes.
  • Explain requirements elicitation and its processes.
  • Discuss the challenges of requirements elicitation.
Week
13

Final Revision

4h

Final Revision

4 study hours
  • Review all modules and units.
  • Work on assignments and TMAs.
  • Prepare for final examinations.

This study schedule is in beta and may not be accurate. Please use it as a guide and consult the course outline for the most accurate information.

Course PDF Material

Read the complete course material as provided by NOUN.

Access PDF Material

Study Tips & Exam Preparation

Expert tips to help you succeed in this course

1

Review all module introductions to understand key concepts.

2

Create concept maps linking software development lifecycle stages.

3

Practice answering self-assessment exercises at the end of each unit.

4

Focus on understanding the differences between software process models.

5

Study the IEEE/ACM code of ethics for software engineers.

6

Review examples of functional and non-functional requirements.

7

Practice drawing data flow diagrams for different scenarios.

8

Understand the principles of agile development and extreme programming.

9

Review past TMAs and identify areas of weakness.

10

Allocate time for thorough revision of all course materials.

Related Courses

Other courses in Sciences that complement your learning