Engineering Practices for Building Quality Software (Coursera)

Engineering Practices for Building Quality Software (Coursera)
Course Auditing
Categories
Effort
Certification
Languages
Misc

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

Engineering Practices for Building Quality Software (Coursera)
Agile embraces change which means that team should be able to effectively make changes to the system as team learns about users and market. To be good at effectively making changes to the system, teams need to have engineering rigor and excellence else embracing change becomes very painful and expensive. In this course, you will learn about engineering practices and processes that agile and traditional teams use to make sure the team is prepared for change. In additional, you will also learn about practices, techniques and processes that can help team build high quality software. You will also learn how to calculate a variety of quantitative metrics related to software quality.

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

This is an intermediate course, intended for learners with a background in software development. To succeed in the course, you should have experience developing in modern programming languages (e.g., Java, C#, Python, JavaScript), an understanding of software development lifecycle models, and a desire to better understand quality aspects of software development beyond program correctness.

At the end of this course, you will be able to comfortably and effectively participate in various techniques and processes for building secure and high quality software.

Course 4 of 4 in the Software Development Lifecycle Specialization.


What You Will Learn

- You will learn how to quantitatively 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.


Syllabus


WEEK 1

Introduction to Quality Software

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

Quality in Design

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.


WEEK 2

Quality in Architecture

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.


WEEK 3

Quality in Implementation

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.


WEEK 4

Quality in Testing and Deployment

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.



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