Software Engineering Principles and Tools

ArielliOrtega_Vipling avatar
ArielliOrtega_Vipling
·
·
Download

Start Quiz

Study Flashcards

10 Questions

What do SOLID principles aim to achieve in software design?

Make software designs more understandable, flexible, and maintainable

According to the Single Responsibility Principle, how many reasons should a class have to change?

One reason

What is the main purpose of GitHub repositories?

Hosting and sharing source code

What does Azure DevOps boards offer in terms of project management?

Project planning and tracking tools

Which feature of GitHub supports version control for software projects?

GitHub Repositories

What does Azure DevOps Boards provide?

A centralized location to track work items

How can teams use Azure DevOps Pipelines to improve collaboration?

By setting up continuous integration and delivery

What type of access does a public GitHub repository allow?

Access to anyone with internet access

What is the primary purpose of version control systems like Git?

Storing, retrieving, and managing versions of code

How do GitHub repositories facilitate collaboration among developers?

By providing a transparent process for tracking improvements over time

Study Notes

Software Engineering

Overview

Software engineering is the practice of designing, developing, testing, and maintaining software using a systematic and structured approach. The field encompasses a wide range of techniques, tools, and methodologies aimed at producing high-quality, reliable, and maintainable software. In this article, we will explore several subtopics related to software engineering, including SOLID principles, GitHub repositories, Azure DevOps boards, Azure DevOps pipelines, and GitHub version control.

SOLID Principles

SOLID principles are five fundamental principles of object-oriented programming aimed at making software designs more understandable, flexible, and maintainable. These principles include:

  • Single Responsibility Principle: A class should have one, and only one, reason to change.
  • Open-Closed Principal: Software entities should be open for extension, but closed for modification.
  • Liskov Substitution Principal: Derived classes must be substitutable for their base classes.
  • Interface Segregation Principal: Clients should not be forced to depend on interfaces they do not use.
  • Dependency Inversion Principal: Depend on abstractions. Do not depend on concrete classes.

These principles promote cleaner code, easier debugging, and better overall software structure.

Github Repositories

GitHub is a platform for hosting and sharing source code. A repository on GitHub can contain a complete directory tree and all its contents, such as files, folders, submodules, documentation, and even other GitHub repositories. Repositories can either be private, which means only specific collaborators have access, or public, which allows anyone with internet access to view the code.

AzureDevops Boards

Azure DevOps Boards provides a centralized location to track work items across your entire development team. Work items could represent a bug report, feature request, task, feedback item, or other type of issue. With Azure DevOps Boards, teams can plan, prioritize, and execute their backlog while enabling visibility throughout the development lifecycle.

AzureDevops Pipelines

Azure DevOps Pipelines automates building, testing, and deploying applications, allowing developers to move faster and focus on development. By setting up continuous integration and delivery, teams can reduce errors, save time, and improve collaboration through built-in dashboards and reports. Additionally, Azure DevOps Pipelines supports multiple languages, platforms, and deployment targets.

GitHub Version Control

Version control systems, like Git, enable developers to store, retrieve, and manage versions of their code. Each commit represents changes between two versions, capturing modifications and adding comments if necessary. This helps keep track of the history of a project, facilitating collaboration and preventing issues caused by conflicts between different versions of the codebase. When combined with GitHub, developers can share their version history publicly, creating a transparent process for tracking improvements and bug fixes over time.

Explore fundamental principles of object-oriented programming like SOLID principles along with tools like GitHub repositories, Azure DevOps boards, pipelines, and version control systems. Understand how these concepts contribute to the systematic and structured approach of software engineering.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser