Coursera
Coursera Logo

UMN - Engineering Practices for Building Quality Software 

  • Offered byCoursera

Engineering Practices for Building Quality Software
 at 
Coursera 
Overview

Duration

18 hours

Start from

Start Now

Total fee

Free

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Engineering Practices for Building Quality Software
 at 
Coursera 
Highlights

  • Shareable Certificate Earn a Certificate upon completion
  • 100% online Start instantly and learn at your own schedule.
  • Course 4 of 4 in the Software Development Lifecycle Specialization
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Intermediate Level
  • Approx. 18 hours to complete
  • English Subtitles: Arabic, French, Portuguese (European), Italian, Vietnamese, German, Russian, English, Spanish
Read more
Details Icon

Engineering Practices for Building Quality Software
 at 
Coursera 
Course details

More about this course
  • 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.
  • 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, familiarity with UML diagrams (class and sequence diagrams), 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.
Read more

Engineering Practices for Building Quality Software
 at 
Coursera 
Curriculum

Introduction to Quality Software

What is Quality Software?

Welcome to the course

What is good design?

Measuring Coupling

Measuring Cohesion

Additional Measures of Quality

Introduction to Patterns and the Observer Pattern

Strategy Pattern

Adapter Pattern

Quality Attributes according to Microsoft

CMU SEI Technical Report on Quality Attributes

Coupling Factor

Lack of Cohesion of Methods

Lack of Documentation (as a metric)

Metric Definitions - SonarQube

Further Reading on Observer Pattern

Further Readings on Strategy Pattern #1

Further Readings on Strategy Pattern #2

Further Readings on Adapter #1

Further Readings on Adapter #2

Quality in Design

Quality in Architecture

What is Software Architecture?

Architectural Styles

View, Viewpoint, and Perspective

Writing Scenarios

Security Perspective

Attack Trees

Security Tactics

ISO/IEC/IEEE Systems and software engineering ? Architecture description

Quality in Implementation

Code Style

Code Style Examples

Debugging

Static Analysis

Commenting

Version Control Systems

Build Process

Tabs vs. Spaces

Bad Coding Standards

Static Analysis Tools

Git and GitHub

Intro to Make

A closer look at Apache Ant

Gradle

Comparison: Ant, Maven, and Gradle

Quality in Implementation

Quality in Testing and Deployment

Test Selection

Test Adequacy

Test-Driven Development

Continuous Integration

Continuous Delivery / Continuous Deployment

More Details of Code Coverage

MC/DC Example

Minimum Acceptable Code Coverage

Jenkins - Getting Started

Jenkins Pipelines

SonarQube

SQALE Indices and Indicators

SonarQube Open Source Project Hosting

ovirt-root on SonarCloud

Netflix's Spinnaker

Spinnaker

Textbook in the field

Deployment Best Practices

More Deployment Info

Beyond "Continuous"

Quality in Testing and Deployment

Engineering Practices for Building Quality Software
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 CoursesRight Arrow Icon
    qna

    Engineering Practices for Building Quality Software
     at 
    Coursera 

    Student Forum

    chatAnything you would want to ask experts?
    Write here...