Software Engineering

Nature of Software, Overview of Software Engineering, Professional software development, Software engineering practice, Software process structure, Software process models, Agile software Development, Agile process models, Agile development techniques, Requirements engineering process, Functional and non-functional requirements, Context models, Interaction models, Structural models, behavioral models, model driven engineering, Architectural design, Design and implementation, UML diagrams, Design patterns, Software testing and quality assurance, Software evolution, Project management and project planning, configuration management, Software Process improvement.

Certificate on Completion

About Course

This course provides a practical introduction to leadership principles and modern management practices used to guide individuals and organizations toward success. Learners explore leadership styles, communication strategies, motivation techniques, decision-making, planning, and team management. It focuses on how effective leaders solve problems, manage change, build strong workplace culture, and improve performance. Real-world examples and case-based learning help students develop confidence in handling managerial responsibilities. By the end of the course, learners gain the skills needed to lead teams effectively and manage organizational goals professionally.

Authorship and Attribution

This course has been curated by Riphah International University faculty and staff using publicly available third-party content and Open Educational Resources (OER) for self-paced learning. Learners will engage with curated open-access materials to achieve the course learning outcomes. All third-party content is used under open-access or fair-use policies, while any original materials are developed specifically for this learning experience.

Source and Credits:

  • Instructor: Gate Smashers
  • Provider: YouTube (@GateSmashers)
  • License: Standard YouTube license

Source and Credits:

  • Instructor: KnowledgeGATE by Sanchit Sir
  • Provider: YouTube (@KNOWLEDGEGATE_kg)
  • License: Standard YouTube license

What You'll Learn

By the end of this course, you will be able to: 

  • Understand the fundamental principles of software engineering and its relation to traditional engineering practices
  • Explain key development activities, roles, and artifacts, along with their inter-dependencies in a structured development process
  • Compare various software development process models in terms of structure, applicability, strengths, and limitations
  • Apply software engineering concepts and models to design and develop software solutions based on defined requirements

Prerequisites

To be successful in this course, learners should have:

To be successful in this course, learners should have a basic background in programming and fundamental computer science concepts. They should be familiar with at least one programming language such as C++, Java, or Python, and understand core concepts like variables, functions, and object-oriented principles. A foundational knowledge of data structures and problem-solving techniques is also recommended. Prior completion of courses like Programming Fundamentals and Object-Oriented Programming will help students grasp software engineering concepts more effectively.

Who Can Take This Course?

This course is designed for undergraduate students in Computer Science, Software Engineering, and Information Technology programs, particularly those in their 2nd or 3rd year of a BS degree who are beginning to study formal software development methodologies.

Course Outline

Nature of Software

Into to Software Engineering Course (Video)

Overview of Software Engineering

Software Engineering Basics(Video)

Software Process Structure / SDLC

Software Development Lifecycle and Waterfall model (Video)

Modified Waterfall Model (Video)

Incremental Model

Incremental Model in Software Engineering (Video)

Prototype Model

Prototype Model in Software Engineering (Video) (Video)

Spiral Model

Spiral Model in SE(Video)

V-Model

V Shaped Model With Examples(Video)

Evolutionary Model

Evolutionary Model in SE(Video)

Agile Software Development Overview

Agile in Software Engineering (Video)

Agile Process Models (Scrum, XP)

Scrum Model in Software Engineering (Video) (Video)

Requirements Engineering Process

Software Requirement Engineering Steps (Video)

Functional & Non-Functional Requirements

Requirements Analysis (Functional and Non-Functional Requirements) (Video)

Architectural Design Concepts

Functional and Object-Oriented Design approaches (Video)

UML Overview

Introduction to UML (Video)

Context Models -Case Diagram

Use Case Diagram (Video)

Interaction Models (Sequence Diagram)

Sequence Diagram (Video)

Structural Models (Class Diagram)

Class Diagram (Video)

Behavioral Models (Activity Diagram)

Activity Diagram (Video)

Software Testing Levels

Types of Testing (Video)

White Box Testing (Video)

Black Box Testingn (Video)

Unit Testing (Video)

Integration Testing (Video)

System Testing (Video)

Software Evolution / Maintenance

Types of Software Maintenance (Video)

Maintenance Metrics (Video)

Project Management & Planning

Software Project Management (Video)

Software Estimation

Project Estimation Techniques (Video)

Skills You Will Gain

Leadership Styles Team Management Strategic Thinking Decision Making Conflict Handling Effective Communication Problem Solving Motivation Techniques

Course Information

Duration

Approximately 04 Hours

Course Information

Difficulty Level

Beginner

Learning Mode

Fully Online (Asynchronous)

Learning Type

Self Paced

Instructor/Curator

Course Instructor
  • Ishtiaq Ali profile image
    Ishtiaq Ali Lecturer, Faculty of Computing (FC), Riphah International University