Software Engineering: Software Design and Project Management (Coursera)

Software Engineering: Software Design and Project Management (Coursera)

Software Development Life Cycle (SDLC) is the process of developing software through planning, requirement analysis, design, implementation, testing, and maintenance. This course focuses on the project planning and analysis/design phases of SDLC, and you will learn about different architectural patterns and design patterns to solve common problems in software design. It covers project planning, scheduling, and cost estimating, which are the principal tasks of software project managers.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Basic object-oriented programming (OOP) concepts are required to understand different design patterns covered in this course. System design is driven by the UML models derived from requirement analysis. It is recommended to take the course "Software Engineering: Modeling Software Systems using UML" before attempting this course, but it is not a hard requirement.
Course 3 of 3 in the Software Engineering Specialization.

Syllabus

WEEK 1
System Analysis and Design
Welcome to the first module of this course! In this module, you will learn: (1) The purpose and importance of system analysis and design. (2) The major activities that take place during system analysis and design. (3) How to realize design goals and deal with the implementation environment. (4) What are architectural patterns and design patterns and when to use them.
State Machine Diagram
In this module, you will learn: (1) How to use a state machine diagram to describe the behavior inside an object.

WEEK 2
Design Patterns
In this module, you will learn: (1) A design pattern is a general reusable solution to a commonly occurring problem in software design. (2) Strategy Pattern. (3) Observer Pattern.
More Design Patterns
In this module, you will learn: (1) Mediator Pattern. (2) Proxy Pattern. (3) Bridge Pattern. (4) Singleton Pattern. (5) Factory Pattern. (6) When to use design patterns. (7) Anti Patterns.

WEEK 3
Software Quality Assurance
In this module, you will learn: (1) The quality assurance process and the central process activities of quality assurance, quality planning and quality control. (2) The quality assurance process and the central process activities of quality assurance, quality planning and quality control. (3) The principles of software development process improvement and why process improvement is worthwhile.
Managing Software Development
In this module, you will learn: (1) The principal tasks of software project managers. (2) The need of project planning in all software projects. (3) Requirements for staffing and scheduling in software projects. (4) Techniques for estimating the size and cost of software development. (5) Project tracking and control.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Iniciação e Planejamento de Projetos (Coursera) Coursera
University of California, Irvine,Universidade de São Paulo, Brasil

Iniciação e Planejamento de Projetos (Coursera)

Informações sobre o curso: O Programa de Cursos Integrados de Introdução aos Princípio se Práticas ae Gestão de Projetos é uma produção em parceria com a UC Irvine. Projetos bem-sucedidos exigem um planejamento cuidadoso. Neste curso, você aprenderá os principais papéis e responsabilidades do gestor de projeto e da equipe do projeto.

Jul 27th 2026
5-12 Weeks
Planning a Patient Safety or Quality Improvement Project (Patient Safety III) (Coursera) Coursera
Johns Hopkins University

Planning a Patient Safety or Quality Improvement Project (Patient Safety III) (Coursera)

This course provides students with a set of tools and methodologies to plan and initiate a Problem Solving or Quality Improvement project. The first module presents methods for selecting, scoping and structuring a project before it is even initiated. It also introduces the project classifications of implementation and discovery. The second module describes the A3 problem solving methodology and the tool itself. Further in that same module, the student is shown tools to identify problems in flow, defects, and waste and to discover causes, brainstorm, and prioritize interventions. Module 3 shows a methodology within the implementation class. These methods are designed to overcome emotional and organizational barriers to translating evidence-based interventions into practice. The fourth and last module looks at one more way to approach improvement projects in the discovery class. These tools are specifically for new, out-of-the-box design thinking.

Jul 27th 2026
4 Weeks
Software Architecture for the Internet of Things (Coursera) Coursera
EIT Digital

Software Architecture for the Internet of Things (Coursera)

This course will teach you how to design futureproof systems that meet the requirements of IoT systems: systems that are secure, interoperable, modifiable and scalable. Moreover, you'll learn to apply best-in-class software architecture methods to help you design complex IoT and other applications. Lastly, you'll come to understand the business impact of the technical decisions that you make as an IoT system architect.

Aug 3rd 2026
5-12 Weeks
Fundamentals of Project Planning and Management (Coursera) Coursera
University of Virginia

Fundamentals of Project Planning and Management (Coursera)

Projects are all around us. Virtually every organization runs projects, either formally or informally. We are engaged in projects at home and at work. Across settings, planning principles and execution methodologies can offer ways in which projects can be run more effectively and efficiently. Project management provides organizations (and individuals) with the language and the frameworks for scoping projects, sequencing activities, utilizing resources, and minimizing risks.

Jul 27th 2026
4 Weeks
IBM COBOL Software Development Practices (Coursera) Coursera
IBM,LearnQuest

IBM COBOL Software Development Practices (Coursera)

This course is aimed at anybody interested in COBOL or or software development. In this course, you will be introduced to core practices, systems, and methodologies associated with IBM COBOL software development. You will learn about COBOL as a self-documenting language. You will review working with existing coding. This course also covers quality assurance (QA), technical support and project management.

Jul 27th 2026
3 Weeks
Object-Oriented Design (Coursera) Coursera
University of Alberta

Object-Oriented Design (Coursera)

This course takes Java beginners to the next level by covering object-oriented analysis and design. You will discover how to create modular, flexible, and reusable software, by applying object-oriented design principles and guidelines. And, you will be able to communicate these designs in a visual notation known as Unified Modelling Language (UML). You will be challenged in the Capstone Project to apply your knowledge of object-oriented design by evolving and documenting the Java codebase for an Android application with corresponding UML documentation.

Jul 27th 2026
4 Weeks
Project Execution and Control (Coursera) Coursera
University of Illinois at Urbana-Champaign

Project Execution and Control (Coursera)

The focus of this course is on the process of managing projects. After planning is done, we need to know how to successfully execute the plan and deliver within the allocated timeframe and cost. This course will focus on how execution and progress evaluation is performed in a waterfall approach, as well as the agile approach to project management. The goal is to learn the tools and techniques offered by both of these approaches and empower the project managers to utilize what works for a given project.

Jul 27th 2026
4 Weeks
Financing and Initiating Major Engineering Projects (Coursera) Coursera
University of Leeds

Financing and Initiating Major Engineering Projects (Coursera)

To successfully lead major projects you have to understand typical investor and project financing approaches. In this course, you’ll learn to interpret some key contractual instruments that are relevant for the financing of major engineering projects so that you are in a position to ensure the financially secure delivery of your project. You’ll explore the concept of “time value of money” and be able to compute key indicators such as “Pay-back time”, “Net Present value” and “Internal Rate of Return”.

Jul 27th 2026
5-12 Weeks
Programación en Python (Coursera) Coursera
Universidad de los Andes

Programación en Python (Coursera)

¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes! El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos.

Aug 3rd 2026
4 Weeks
Engineering Project Management: Risk, Quality, Teams, and Procurement (Coursera) Coursera
Rice University

Engineering Project Management: Risk, Quality, Teams, and Procurement (Coursera)

Many Project Managers focus only on the scope, schedule and budget. However, a successful project requires that you manage risk, control the quality of the deliverables, engage and manage people and procure goods and services. This course will focus on these key support functions that make the difference between a highly successful project and an average one. During the course, you will prepare a Qualitative Risk Analysis and Evaluate the Cost of Quality for a provided Case Study.

Aug 3rd 2026
5-12 Weeks
Visual Basic Programming: Inheritance and Polymorphism (Coursera) Coursera
LearnQuest

Visual Basic Programming: Inheritance and Polymorphism (Coursera)

This course is the third course in a series that aims to prepare you for a role working as a programmer. In this course, you will be introduced to the four main concepts in programming: Advanced String Operations and Dates, Modeling Classes, Development of Classes and Collections. Labs will allow the students to apply the material in the lectures in simple computer programs designed to re-enforce the material in the lesson.

Jul 27th 2026
4 Weeks