Engineering Practices for Building Quality Software

所在平台: Coursera

课程主页: https://www.coursera.org/learn/engineering-practices-secure-software-quality

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:高质量软件构建的工程实践 课程概述: 在变化迅速的敏捷开发环境中,团队必须能够有效地对系统进行更改,以便更好地了解用户和市场。为了顺利进行这些更改,团队需要具备严谨的工程实践和卓越的一流能力,否则,拥抱变化将会变得非常痛苦和昂贵。本课程将教授敏捷与传统团队使用的工程实践和流程,以确保团队在面对变化时做好准备。此外,课程还将介绍有助于团队构建高质量软件的实践、技术和流程,并教会如何计算与软件质量相关的多种量化指标。 本课程适合具有一定软件开发背景的中级学习者。参与者应该具备现代编程语言(如Java、C#、Python、JavaScript)的开发经验,了解软件开发生命周期模型,熟悉UML图(类图和时序图),并希望进一步了解软件开发质量方面的内容,超越程序的正确性。 课程结束时,您将能够自信且有效地参与到各种技术和流程中,旨在构建安全和高质量的软件。 课程大纲: 1. 软件质量入门:介绍软件质量的概念。 2. 设计中的质量:学习各种质量指标,包括如何计算它们,并探讨设计模式,以加深对所提供质量的理解。 3. 架构中的质量:创建场景以记录和验证与软件架构相关的质量属性,包括可用性、性能等,并深入研究安全性这一特定质量属性及其影响。 4. 实施中的质量:探讨生命周期实施阶段的各种质量方面,评估编码风格指南和静态分析工具,分析开源代码中的自我文档化,并识别版本控制和自动构建工具的能力。 5. 测试与部署中的质量:认识生命周期最后阶段(测试与部署)的质量,学习测试规划的重要性,评估测试并了解先行测试流程的好处,同时获取有关持续集成工具的资源,评估其在自身项目中的潜在好处(和缺点)。 通过本课程,您将具备更强的能力,参与并提升软件开发的质量。

课程大纲

Name:Introduction to Quality Software

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

Name:Quality in Design

Description: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.

Name:Quality in Architecture

Description: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.

Name:Quality in Implementation

Description: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.

Name:Quality in Testing and Deployment

Description: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.

课程评论(0条)

课程详情

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.

课程标签

0人关注该课程

主题相关的课程