Software Engineering Overview [Dev Concepts #30]

In this article of the series Dev Concepts, we take a look at Software Engineering, Quality Assurance, Unit Testing, Source Control and Project Tracking.
Dev-Concepts-Episode-30-Software-Engineering-Overview

For this article, we will make an overview of software engineering concepts like software development lifecycle, software quality assurance, unit testing, source control system, and project trackers. Each concept is essential for your development as a software engineer. You should have a basic knowledge of each area because they are daily used in software companies. Even if the technologies differ, the concept is still the same but with a different GUI and software.

sdlc-diagram

  • The Software Development Lifecycle is a process used by the software industry to designdevelop, and test high-quality software. It aims to produce high-quality software that meets or exceeds customer expectations reaches completion within times and cost estimates. The benefits of using it only exist if the plan is followed faithfully. Read our blog post about them here.

designer-work-with-internet-vector

  • Software Quality Assurance is a term that covers all aspects of guaranteeing a high-quality software product. It includes creating processes for each stage of development to reduce bugs and flaws during the build. Companies need it to measure the quality of the software. At the heart of the QA process is software testing. Read more about them in our separate blog post here.
  • Unit testing is an important concept and practice in software development. As a term, unit tests are pieces of code that test specific functionality in a certain software component.  Unit testing frameworks simplify, structure, and organize the unit testing process. It executes the test and generates reports. Examples of unit testing frameworks are JUnit for Java and Mocha for JavaScript. Read more here.

unit_testing_guidelines

  • Git is the most popular source control system in modern software development. It is a powerful tool for version control and team collaboration at the source code level. In our article, we work with Git and GitHub by showing a few examples. We clone the repositoryedit a local file, commit the local changes, and then publish the commit. You can read it here.

github-architecture

  • Project trackers, as a term, are a simple tool that manages the project schedule, planassignarrangetrack and visualize project tasks. They are a great way to make your tasks come to life and visualize your upcoming week or month’s tasks. You can read more about them in our blog post here.

trello-design

All of these concepts are important for your future development as a software engineer. Each topic can be separated into a course and studied in detail. Even if you are indifferent to all the concepts, you should know at least the basics about each topic. In almost every interview for a software developer, you will be asked if you are familiar with these areas. Each software company uses different technologies, but the concepts are the same.

Lesson Topics

In this tutorial we cover the following topics:
  • Software Development LifeCycle
  • Software Quality Assurance (QA)
  • Unit Testing and Testing Frameworks
  • Overview of Git and GitHub
  • Project Trackers, Kanban Boards, and Trello

Lesson Slides

Leave a Comment

Scroll to Top