Engineering Practices for Building Quality Software

Intermediate Level
Approx. 17 hours
Flexible Schedule

Kevin Wendt

What You’ll Learn

You will learn how to quantiatively measure design quality attributes.

You will establish feasible and testable scenarios for evaluating quality attributes in software architecture.

You will develop skills to ensure quality in developing code beyond correct functionality alone.

You will understand quality approaches to post-development stages of the lifecycle.

Skills You’ll Gain

Engineering Software Development Testing Maintainability Quality Assurance Program Development Software Design Continuous Deployment Test Tools Application Security Continuous Delivery Software Design Patterns Software Engineering Object Oriented Design Development Environment Application Deployment Threat Modeling Software Quality (SQA/SQC) Code Review Software Quality Assurance Software Architecture

Shareable Certificate

Earn a shareable certificate to add to your LinkedIn profile.

Develop Your Specialized Knowledge

Learn new concepts from industry experts

Gain a foundational understanding of a subject or tool

Develop job-relevant skills with hands-on projects

Earn a shareable career certificate

There are 5 modules in this course

In this module, you will be introduced to the concept of quality as it relates to software.

In this module, you will learn about a variety of quality metrics including how to calculate them. A discussion of design patterns follows, allowing you to gain a deeper understanding of the quality they provide and exposure to several important patterns.

In this module, you will create Scenarios in order to document and verify quality attributes relevant to software architecture, including usability, performance, and more. Then, you will examine one specific quality attribute and its implications: security.

In this module, you will explore a variety of quality aspects of the implementation stage of the lifecycle. You will also evaluate coding style guides and static analysis tools. Finally, you will analyze self-documentation in open-source code and identify the capabilities of version control and automated build tools.

In this module, learners will discover quality in the final lifecycle stages: testing and deployment. Learners will first be instructed on the importance of test planning, understand what it means to evaluate tests and identify the benefits of test-first process. Then, a variety of resources will give learners understanding into continuous pipeline tools, allowing the learner to evaluate their potential benefits (and drawbacks) for their own projects.