Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Complete Software Engineering Course : Build Better Software
Rating: 4.4 out of 5(311 ratings)
7,021 students

Complete Software Engineering Course : Build Better Software

Learn Everything of Software Engineering : Plan, Design ,Develop, Test and Execute Software's using Software Engineering
Created byYogesh Dahake
Last updated 12/2024
English

What you'll learn

  • Software Engineering ,SDLC , SDLC Phases
  • SDLC Models like Waterfall, Iterative, Incremental, Spiral, V Model, Agile etc
  • SSDLC - Secure Software Development Lifecycle
  • All the Key Agile Concepts
  • SCRUM, KANBAN ,XP , CRYSTAL, LEAN RAD, FDD, SAFe
  • Software Engineering Industry Best Practices
  • Software Engineering Methods, tools , strategies, Principles, Guidelines everything

Course content

27 sections • 196 lectures • 15h 13m total length
  • Introduction5:06

    What is this course?

    Welcome to the The Complete Software Engineering Course|

    Are you ready to embark on an epic journey into the world of software Engineering? If you're seeking a comprehensive, easy-to-follow, well-organized, and immensely practical course that will take you from a complete beginner to a confident software engineer, then you're in the right place!

    I'm Yogesh, a software engineer with over a decade of experience in managing, designing, architecting, building, and delivering software solutions for multinational companies. In this course, I assume you know absolutely nothing about Software Engineering, and that's perfectly fine because we're starting from scratch. I'll meticulously explain every concept, big or small, so you not only understand what it is but also why, when, and how to use it effectively.

    In this course, we will dive deep into the Software Engineering carried out in the real-world software IT industry, where we'll explore how software projects are born, nurtured, developed, and ultimately brought to fruition – from inception to completion. Yes, you heard it right – everything you need is right here, eliminating the need to hop between random tutorials.

    Here's a glimpse of what we will cover for you:

    1. How software engineering projects start: In the field of software engineering how the project ideas evolve into a full-fledged software-engineered product?

    2. Variety of Software Engineering Pro jects: Then we will Discover the different types of software Engineering projects that real-life IT companies work on on a day-to-day basis.

    3. Most used Process in Software Engineering -SDLC then we will understand the most used Process in Software Engineering -SDLC, what is SDLC and will Delve into the various phases of the Software Development Life Cycle, which is mostly used in software engineering.

    4. The Language of Software Engineering(UML): While going through SDLC we will Get a quick overview of The Language of Software Engineering which is UML (Unified Modeling Language) and master all UML diagrams.

    5. Explore all SDLC Models: then we will Explore all the industry-standard SDLC models such as Waterfall, Incremental, Iterative, V Model, Spiral, and Agile, what are these, in software engineering why to use them, and what are pros and cons of using them.

    6. we will also learn the extension of SDLC which is SSDLC means a secure software development life cycle that is also getting used nowadays in software engineering

    7. The Power of Agile: Among the SDLC model, we will learn agile in-depth, what, why, and how of Agile, including famous methodologies like Scrum, Kanban, XP, Lean, Crystal, FDD, RAD, and SAFe everything we are going to understand here. Learn not just what they are but why and how to apply them during software engineering in real-world scenarios.

    8. Software Project Management Skills: during this journey you will also Acquire valuable software project management skills to keep project scope, schedule, and cost under control, ensuring timely delivery.

    But wait, this course isn't just theory; we'll back up every concept with real industry case studies, like the development of Y-Mart, an e-commerce application. Plus, you'll be equipped with all the essential tools used in real-world IT projects.

    If you follow along with me in this course then it's my promise to you that By the time you complete this course, you'll have:

    1. A profound understanding of the entire software engineering inside and out.

    2. Mastery of industry-standard methodologies and best practices.

    3. The ability to control project scope, schedule, and cost-effectively.

    4. Enhanced project outcomes, including higher-quality software, quicker delivery, and greater customer satisfaction.

    5. New career opportunities and prospects for advancement within your organization.

    6. Sharpened problem-solving skills, enabling you to identify and tackle issues and risks effectively.

    7. Improved communication and collaboration with cross-functional teams, promoting teamwork and productivity.

    In essence, this course is your one-stop-shop for mastering software engineering. It's packed with valuable content, and once you've conquered it, you won't need to look elsewhere for software engineering resources. Get ready to unlock your full potential in the world of software engineering! so let's get started.

    ===========

    Welcome to my Complete Software Development Life cycle course.

    in this course we are going to learn everything you need to know about Software development Life Cycle from basics to more advanced concepts so by the end of this course you will able to manage, plan, develop ,understand, execute the software project with confidence.

    if you are looking for comprehensive ,easy to follow ,well organized ,practical course that takes you from zero to hero then this is the right SDLC course for you.

    In this course , we are going to learn from scratch about how the Software projects are planned, managed ,developed and executed from inception to its Completion in the real world industry. YES you heard it right FROM INCEPTION TO COMPLETION , everything is at one place so you don't need to jump back and forth between random tutorials.

    My name is Yogesh and I am software engineer, I hold a decade of software development experience in managing, designing, architecting, building and Delivering software's in multinational companies.

    In this course I am assuming you know nothing about the SDLC that is software development Life Cycle and wanted to learn everything from the scratch. I will explain every small things and concepts in detail so that you will understand why to use it, when to use and how to use it

    In this course we are going to cover everything that real life IT software project goes through.

    First we will start with

    How the Start up project idea onboarded as software project.

    What all Different types of Software Projects Real Life IT companies working upon.

    From there we will go in detail of phase of software development life cycle in depth

    We will also have a quick overview of UML that is language of Software Projects, in that we will learn all the UML diagrams.

    then

    we will cover all the industry standard SDLC Models like waterfall, Incremental, iterative development, V Model, Spiral, agile.

    Then we will go in depth of AGILE, the most used SDLC Model.

    In that we will see what, why and how about Agile, Famous Methodologies of Agile that is SCRUM,KANBAN,XP,LEAN,CRYSTAL,FDD,RAD,SAFE

    in this you will learn, What are those, Why to use them and how to apply them in real world scenarios.

    While going through all this ,we will also learn the skills of software project management which will help us to keep project scope, schedule, and cost under control and deliver project on time.

    We will also dive deep into SSDLC that is secure Software development Lifecycle or secure product lifecycle in detail

    This is not going to be theoretical and boring course any more , we are learning all these concepts with the real industry case studies or projects for example of Y-Mart an Ecommerce application development.

    I will also equipped you with all the necessary tools used to achieve all this in real world IT project.

    Mark my words ,This course will make you familiar with all the concepts, Processes, things, Tools and Techniques which are use in real world software project.

    After going through this course you will have

    1. Better understanding of Entire software development process: Yes you will know every nook and corner of software development process.

    2. Better understanding of industry standards methodologies and practices:

    3. Better ability to control project scope, schedule and cost:

    4. Improved Project Outcomes, better quality software, quicker delivery, and enhanced customer satisfaction.

    5. Career advancement: This can open up new opportunities for advancement and increased responsibilities within their organization.

    6. Better problem solving skills: The course will teach you how to identify potential issues and risks, and develop strategies for dealing with them.

    7. Better communication and collaboration: The SDLC involves many different roles, including developers, testers, project managers, and others. this course will help these individuals understand each other's roles and responsibilities, leading to better collaboration and teamwork.

    This course is brimming with valuable content, and once you've completed it, you won't need to seek out any other SDLC resources.

  • Why you should take this Software Engineering Course ?5:45

    Why this course?

    In my career working with multiple companies I got a chance to work with many people, Software engineer, Senior software engineers, Module leads, Technical Lead, Architect, Tester, Business analysts, project managers, and all sorts of roles. I Found below the challenges

    1. Lack the Overall Understanding of software engineering The majority of these people are masters in their craft means the developer is well versed in coding, the Tester is well knowledgeable about testing, and the Business analyst is well aware of the requirements, and the same is the things with all the other roles people But do you know this According to a study done by Geneca around 75% of the business or IT executives feel that usually their projects are doomed from the initial phase. A report by Standish Group says that any new software application is challenged in 47% of the cases, successful in only 4% of the cases, and fails 49% of the time.

    if we have great people with skills then why is this failure rate so high because people lack the end-to-end knowledge of software engineering, they just finish their part means what is assigned to them, but they don't consider the next step, how the thing they developed is compatible with the next step, In software engineering everything affects everything. if requirements are captured poorly, design will be poor, coding will be poor, testing will be poor, and so forth, it's a snowball effect.

    just doing what is assigned restricts software engineers from contributing effectively to bigger project outcomes. This course is my effort to provide and equip you with all the knowledge so that you understand each and everything about real-life IT projects.

    1. The feeling Stuck in the same role in the team :

    we have seen software engineering is a vast field, it involves literally a lot of things, lot of work is going on in the typical software project. A lot of roles, an d responsibilities involved

    Many people if you see they feel that they are stuck in the same role or some are stuck with the same work even if they are getting promoted. Because they lack the bigger picture of the project, they don't know what the next level of work looks like, hence they can not ask and they are restricted to their own set of tasks, that hinder their career advancement.

    1. Lack of communication and Collaboration:

    I observed, that since everyone is specialized in their work, they don't know what is happening outside, who is working on what, how other people work, if they are stuck on whom to reach out to, who is responsible for what, lack all this understanding and that made communication and collaboration difficult within the software engineering team. and this leads to delay in project deliverables.

    1. Lack of understanding of Best practices of software engineering:

    we are working in an IT company, but you ask someone which methodology they follow, and what best practices they use in their projects, they struggle to answer this because they are restricted to their day-to-day work and lack exposure to the industry's best standards and practices .this leads to average quality software

    1. Bad Project Management:

    if you are managing the software project and not aware of the software engineering, SDLC flow, challenges, the risks at each stage of software project execution, not aware of the scope of work of individuals, such managers make the team burnt out and this ultimately lead to delay in the project deliverables and poor quality projects

    To address all these issues and empower the individual to work from a particular part of the project to an altogether project level, contribute to the project's success at a bigger level, and get the visibility of how their chosen career path looks like

    I have created this comprehensive software engineering course.

    One of my key objectives is to cultivate professionals who possess a holistic understanding of software projects. Picture having a team member who understands everyone's role workflow and best practices and can provide quick solutions during emergencies that pleasantly surprise others.

    This course aims to create an army of such individuals. They don't do different things; they do things differently because they understand t he broader context, and they are aware of complete software engineering which helps them progress quickly in their careers.

    To equip today's software engineers with end-to-end real-life, Practical software engineering knowledge and skills, I present this comprehensive software engineering course. It's the course I wish had been available when I began my career, and I believe it has the potential to 10X your career progression.

    This is my BIG WHY and motivation for offering this course. If it resonates with you in any way, I invite you to enroll. I am excited to take you through this exhilarating journey so get ready.


  • How to take up this Software Engineering Course1:58

    How to take up this course.

    This course is designed by keeping two specific groups of individuals in mind:

    1. Those who want to learn about software engineering from scratch

    2. Those who are already employed in the IT industry.

    Considering this, the course begins with foundational concepts and progresses to advanced topics. It caters to learners of all levels, from beginners to those seeking advanced knowledge.

    I assure you, that this course is comprehensive and covers every aspect of software engineering Projects in over 14+ hours of content. If you already possess knowledge of certain concepts, feel free to skip ahead to more advanced material.

    Furthermore, I have recorded the course at a deliberately slower pace to ensure that all learners can easily grasp the content. However, if you find the pace too fast or too slow, don't hesitate to adjust the video speed to your preference.

    This course also includes practical, hands-on exercises that will help reinforce the concepts you learn, ensuring they stick in your mind. Additionally, each module features quizzes to solidify your understanding of the course material.

    If you find yourself craving more details, seeking clarifications, or harboring any doubts about the concepts we've covered, don't hesitate to reach out. You can ask questions, send me a message, or leave a comment, and I'll do my best to address them promptly.

    So, muster your courage, tighten your shoelaces, and prepare for an epic journey. Let's get started!

  • Case Study for this course1:41

    Case Study

    In this exciting course, we'll dive into the world of software engineering through a real-life case study of the Y-Mart application. This is an online e-commerce portal of Yummy Food Company, built and developed by a third-party service provider called Y-Soft Solutions.

    We'll get an up-close and hands-on look at the entire software development process, from start to finish, for this project. You'll see

    While we won't actually code in this course, we will explore the best practices and concepts of coding, so you'll have a solid understanding of what's involved. Our primary focus is to give you a comprehensive understanding of software engineering and not to build a fully functional website, because that is altogether a different topic for the course. and when it comes to coding right, you can nowadays figure out it easily using Google. But what things to consider in real-life software engineering projects, how to arrange them, and how to manage and execute them to bring ideas into reality via software engineering is important here, that's where our focus going to be in this course.

    we will keep our case study forefront to understand each concept, so you will have a better view of how everything relates to each other.

    In this course, you'll gain a deep understanding of the intricacies of software engineering and SDLC through this real-life example. So, let's get started!

Requirements

  • No Prerequisites needed for taking this course

Description

This is the first-ever comprehensive Software Engineering course that covers almost everything that anyone aspiring to learn and progress in the Software field can take up and become as proficient as someone with nearly 10+ years of experience. This course is the gist of my entire decades of experience crafted in 14+ hours of content. Whatever I learned during my career concerning the real-world software Engineering I have included in this course. No boasting at all, Look at the course curriculum you will get the idea. In these 14 + Hours we are going to learn all the below concepts from scratch with a Real-life Case Study


Introduction

What is Software

What is Engineering

What is Software Engineering

Why Software Engineering is Important and worth learning for


Software Development

What is Software Development

What is Project Management in software engineering

How do software project ideas emerge?

After the Project Idea is finalized what all things happen?

Standards and Certifications of Service based companies should follow during software engineering


Types of Software Development

Introduction to Types of Software Development

Front End Development

Back-End Development

API Development

Data Science

Mobile Development

Desktop Development

Cloud Computing Development

Full Stack development

Video game development

Embedded System Development

Progressive web app development

Open source development

E-commerce App development

Enterprise App Development

Database Development

Artificial intelligence and machine learning development

How all these software development can be used in a real-life Case Study

Analysis of Case Study

Software Development Life Cycle SDLC

What is the SDLC Software Development Life Cycle

SDLC - Analysis and Planning Phase of SDLC

Analysis and Planning Phase of SDLC

Challenges of Analysis and Planning Phase of SDLC

Sample SDLC Process Timeline and Schedule

How the Budget estimation will be done

SOW Scope of Work or Statment of Work Overview

SOW Sample Template

Software Project Cost Estimation

Bottom Up Estimation

Top Down Estimation

Three-point estimation

Analogous Estimation

Parametric Estimation:


SDLC - Requirement Gathering Phase

Introduction

Requirement Gathering Phase of SDLC

Challenges of the Requirement Phase of SDLC

SRS document

Tools/Software Used in Requirement Gathering

Difference between Analysis and planning vs. Requirement gathering


UML Needed for SDLC

Introduction to UML

Why UML

What is UML

type of UML Diagram

Class Diagram

Sample Class Diagram Demonstration

Object Diagram

Sample Object Diagram

Component Diagram

Sample Component Diagram

Deployment Diagram

Sample Deployment Diagram

Package Diagram

Sample Package Diagram

Composite Structure Diagram

Sample Composite Structure Diagram

Profile Diagram

Sample Profile Diagram

Use Case Diagram

Sample Use Case Diagram

Activity Diagram

Sample Activity Diagram

State Machine Diagrams final

Sample State Machine Diagram

Sequence Diagram

Sample Sequence Diagram

Communication Diagrams

Sample Communication Diagram

Timing Diagram

Sample Timing Diagram

Interaction Overview Diagram

Sample Interaction Overview Diagram

Diagrams


SDLC Design and Prototyping of SDLC

Introduction

Design and Prototyping of SDLC Phase

Why Design and prototyping is so important in SDLC Process

Challenge of Design and Prototyping Phase in SDLC Process

High-level diagrams

Data Flow Diagram

Low-Level Diagram

UI UX

Wireframe Diagram

High Fidelity and Low Fidelity Diagram

Database Schema Design Diagram


Software Design and Architecture

Introduction

Software Architecture

Architecture Patterns

Monolithic Architecture

Layered Architecture

Tiered Architecture

Microservices architecture

Serverless Architecture

Event-Driven Architecture

Software Design

Software Design Principle- SOLID principle

Other software design principles

Design Patterns

4+1 Architectural View


Version Control System

What is a Version Control System

Source Code Management

Git Branching Strategies

Software application versioning

Application Environments


SDLC- Development or Implementation Phase

Development or Implementation Phase

Challenges of the Development Phase

Code Coverage

Developers Manual

Synchronous code and Asynchronous code

Language vs Framework


Testing in the SDLC process

Introduction

Testing Phase of SDLC

Challenges of the Testing Phase in the SDLC Process

Testing Methods

Testing Levels


Types of Testing

Functional Testing

Load Testing

Performance Testing

Security Testing

Integration Testing

Usability Testing

Compatibility Testing

Regression Testing

Sanity Testing

Accessibility Testing

Unit Testing

System Testing

User Acceptance Testing (UAT)

Non-functional Testing

QA Testing

API Testing

AB Testing

Globalization Testing

Compliance Testing

Exploratory Testing

Automation Testing


Deployment phase of SDLC

Deployment Phase in SDLC

Challenges of the Deployment Process in SDLC Process

Request for Change(RFC) Process

PGLS

Retrofit/Hotfix

Maintenance Phase of SDLC

Business As Usual(BAU)

Maintenance Phase in SDLC

Challenges of the Maintenance Phase in the SDLC Process

System Improvement Program

Support Process: Raise Issue, Ticket and SLAs

Keep It Current Process

Support Teams Structure


Disaster Planning

Business Continuity Planning (BCP)

Difference between Disaster planning and BCP


Secure Software Development Life Cycle SSDLC

What is SSDLC

Principles of Information Security

Risk Threat and Vulnerability

Principles of Protections

Practices of SSDLC

OWASP Open World Application Security Project


SDLC Models used in SDLC

Waterfall Model

What is the Waterfall Model of SDLC

When and Where to Use Waterfall Model

Pros and Cons of Using the Waterfall Model


Incremental Model

What is the Incremental Model of SDLC

When and where to use the Incremental Model

Pros and Cons of the Incremental Model


Iterative Model

What is an iterative Model of SDLC

When and Where to Use Iterative Model

Pros and Cons of Using the Iterative Model


V model

What is the V model of SDLC

When and Where V model

Pros and Cons of the V model


Spiral Model

What is the Spiral Model

When and Where Spiral Model

Pros and Cons of Spiral Model


Agile Model

Traditional vs. Agile Model

What is the Agile Model of SDLC

When and Where Agile Model

Pros and Cons of the Agile Model

Agile Manifesto

Agile Principles


Key Agile Concepts

Minimum Viable Product

User Stories

Burndown chart


Agile Methodologies

SCRUM - Agile Methodology

KANBAN - Agile Methodology

Extreme Programming - Agile Methodology

Lean Methodology - Agile Methodology

Crystal Agile Methodology - Agile Methodology

Feature-Driven Development (FDD) - Agile Methodology

Rapid Application Development (RAD) - Agile Methodology

Scaled Agile Framework (SAFe) - Agile Methodology


All these things we will learn via the Real Life examples and case studies. All of the above things are covered in just over 14+ hours of high-quality content. This is equivalent to a book with more than a thousand pages! in a very clear and concise manner doesn't waste a single minute of your precious time!


You're not going to get this information in One Place Anywhere over the Web.


And on top of all these, you'll get:


Closed-captions generated by a human, not a computer! Currently, only the first few sections have closed captions but new captions are being added every week.


Offline access: if you are traveling or have a slow connection, you can download the videos and watch them offline.


Downloadable resource


PREREQUISITES


There is no such Prerequisite for this course anybody who has an interest in learning the Software development process can take up this course. We will learn everything from scratch in this course.


30-DAY FULL MONEY-BACK GUARANTEE


This course comes with a 30-day full money-back guarantee. Take the course, watch every lecture, and do the exercises, and if you are not happy for any reason, contact Udemy for a full refund within the first 30 days of your enrolment. All your money back, no questions asked.


ABOUT YOUR INSTRUCTOR


Hi! My name is Yogesh Dahake! I'm a passionate Lead Software engineer with a decade of experience and I've taught over a thousand people about software development and Coding via my course and YouTube channel.


My goal is to enable people not just to learn but in an Optimal, efficient, and effective way and Generate that Spark of learning. That's why my courses are simple, pragmatic, and free of clutter


So, what are you waiting for? Don't waste your time jumping from one tutorial to another. Enroll in the course Acquire the LIFE Changing Skill in just 14 hours


Who this course is for:


1. People who are starting their careers in the software industry.

2. People who are students of Software Engineering.

3. People who are already working in the software company.

4. Developer, Lead, Technical Architect, Tester anybody who is directly or indirectly involved in the process of software development

5. People who want to develop quality software


On a higher note,


Anybody who has an interest in Software, From Students to Teachers, From People who are about to start their careers to Professionals in the software industry.

Who this course is for:

  • Students who are learning Software Engineering
  • Students who are starting their career in software Engineering
  • IT Professionals who are already working in IT industry in Software Engineering
  • People who wants to build the quality software's implementing the best software engineering methodologies
  • Anyone who has a interest in IT and wants to know what happens in IT industry