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 |
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
Engineering Practices for Building Quality Software at Coursera Course details
- 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.
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
Other courses offered by Coursera
Student Forum
Useful Links
Know more about Coursera
Know more about Programs
- Engineering
- Instrumentation Technology
- Food Technology
- Aeronautical Engineering
- Artificial Intelligence and Machine Learning
- Metallurgical Engineering
- MTech in Computer Science Engineering
- VLSI Design
- Petroleum Engineering
- Aerospace Engineering
- BTech in Biotechnology Engineering
- Pharmaceutical engineering
- Silk Technology
- Microelectronics
- Agriculture & Farm Engineering