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

Project Planning: Putting It All Together (Coursera) Coursera
Google

Project Planning: Putting It All Together (Coursera)

This is the third course in the Google Project Management Certificate program. This course will explore how to map out a project in the second phase of the project life cycle: the project planning phase. You will examine the key components of a project plan, how to make accurate time estimates, and how to set milestones. Next, you will learn how to build and manage a budget and how the procurement processes work. Then, you will discover tools that can help you identify and manage different types of risk and how to use a risk management plan to communicate and resolve risks.

Jun 23rd 2026
5-12 Weeks
Project Management: Control using the Earned Value and Risk (Coursera) Coursera
Politecnico di Milano

Project Management: Control using the Earned Value and Risk (Coursera)

Project Management is a fundamental theme to understand and work in any business environments. Once projects are properly planned, the job of a Project Manager is just started. Indeed, PMs need to properly control, re plan, and manage risks during the execution of the project. During the course, the Earned Value Management System – the standard and most diffused technique to properly manage time and cost in a project – is presented.

Jun 22nd 2026
1 Week
Building Scalable Java Microservices with Spring Boot and Spring Cloud (Coursera) Coursera
Google Cloud

Building Scalable Java Microservices with Spring Boot and Spring Cloud (Coursera)

"Microservices" describes a software design pattern in which an application is a collection of loosely coupled services. These services are fine-grained, and can be individually maintained and scaled. The microservices architecture is ideal for the public cloud, with its focus on elastic scaling with on-demand resources. In this course, you will learn how to build Java applications using Spring Boot and Spring Cloud on Google Cloud Platform.

Jun 23rd 2026
2 Weeks
Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Jun 22nd 2026
4 Weeks
Management of Urban Infrastructures – part 1 (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Management of Urban Infrastructures – part 1 (Coursera)

Sustainability, Resilience and Efficiency are fundamental considerations for city managers in managing urban infrastructures. Today, more than 3.9 billion people, making up more than 54% of the global population, live in cities. Urbanization is expected to continue in the coming years, raising the urban population to 6.0 billion by 2045. This dramatic increase in urban populations will inevitably increase the demand for energy, mobility (transportation), water, and other urban services in every city around the world. Without functional governance and management structures that ensure efficient, resilient and sustainable performance in cities, the current urbanization growth might become a catastrophic risk threatening the quality of life of the humanity.

Jun 22nd 2026
5-12 Weeks
Project Management: Beyond planning and control (Coursera) Coursera
Politecnico di Milano

Project Management: Beyond planning and control (Coursera)

Project Management is a fundamental theme to understand and work in any business environments. Projects are the organizational way to make innovation happen and to realize any kind of custom solution or to change how an organization work. Project Management is the set of capabilities, skills and tools to properly work on projects. The course aims to define the concept of a project and to show how, in the management of a successful business, project management and process management must coexist and integrate.

Jun 22nd 2026
2 Weeks
Managing Project Risks and Changes (Coursera) Coursera
University of California, Irvine

Managing Project Risks and Changes (Coursera)

This course will help you manage project risk effectively by identifying, analyzing, and communicating inevitable changes to project scope and objectives. You will understand and practice the elements needed to measure and report on project scope, schedule, and cost performance. You will be equipped with the tools to manage change in the least disruptive way possible for your team and other project stakeholders.

Jun 22nd 2026
5-12 Weeks
Project Execution: Running the Project (Coursera) Coursera
Google

Project Execution: Running the Project (Coursera)

This is the fourth course in the Google Project Management Certificate program. This course will delve into the execution and closing phases of the project life cycle. You will learn what aspects of a project to track and how to track them. You will also learn how to effectively manage and communicate changes, dependencies, and risks. As you explore quality management, you will learn how to measure customer satisfaction and implement continuous improvement and process improvement techniques. Next, you will examine how to prioritize data, how to use data to inform your decision-making, and how to effectively present that data.

Jun 24th 2026
5-12 Weeks
Project Management Essentials (Coursera) Coursera
Howard University

Project Management Essentials (Coursera)

This introductory course provides a comprehensive overview of project management principles, methodologies, and best practice. The Project Management Essentials course is designed for professionals at various career stages, from beginners to those seeking a refresher. The course equips learners with a foundational understanding of the key elements of project management.

Jun 26th 2026
4 Weeks
Software Design Methods and Tools (Coursera) Coursera
University of Colorado System

Software Design Methods and Tools (Coursera)

Since many software developers are compulsive coders, they have created software over the years to help them do their job. There are tools which make design and its associated tasks easier. The course introduces some basic tools and techniques to help you with design. Tools aren’t always tangible, however. The last two lessons of this course discuss questions of Ethics in software development. The purpose here is, as with tools, to equip you to better carry our your responsibilities as a designer. Students will be required to have a prior knowledge of writing and delivering software and some programming knowledge in java.

Jun 22nd 2026
5-12 Weeks