Powerful Tools in Software Engineering

09 May 2024

Overview

Configuration Management

Configuration management system is a helpful tool for large scale application development. In the recent decade, GitHub is one of the most powerful configuration management systems which helps developers and engineers in any field related to computer science. It allows us to oversee and maintain data concerning all the components required to deliver an IT service. For example, tracking configurations and managing the relationships between different components would be useful once you work on a group by group. This system easily detects the entries causing errors to push your project back to before the errors occurred. This system helps ensure that the IT infrastructure is aligned with specific needs and can adapt to changes efficiently. In my personal experience, our group faced conflicts a lot of times, however, we kept going on with our project without noticing. When we realized that we had a conflict, we had already put additional codes and files on conflicts that made us trace what merge caused the conflict, then we had to figure out the latest commit at where our project was safe, meaning it did not have errors. Fortunately, GitHub has a history function that stores all changes(merges, commits and overwrite). Thanks to the history function, we could easily find the part which caused a conflict then we can restart from there. That was a really cool experience and function. Most people just think that was a small useless function. However, as you know if you have any coding experience with a text editor such as Visual Code Studio, Eclipse, etc. Once you have overwritten your code and save it by pressing Ctrl-S, even though you can go back to the previous editing by Ctrl-Z, it is still difficult to go back to a version of your program that you want quickly after a ton of editing. That is a part of the most beneficial function of Configuration management.

User Interface Frameworks

User Interface (UI) frameworks deal with how a site appears to users when developing mobile applications and web development. Frameworks I’ve used in this class, such as React.js and Bootstrap5, turn monotonous functions written in simple programming into something more attractive and colorful. These frameworks additionally provide predefined components like buttons, forms, and navigation menus, which are user-friendly even for those new to web development, helping anyone to easily achieve excellent web development. User Interface is not for the developers, but also works for any users who want to use the website. Since the UI can be a silent guide for users. For example, if there is a button that says report or any related mark such as a yellow/red triangle, users can tell that is a sign of caution or report. If there is a shopping cart logo with a certain numbers, you can guess the number could represent the number of orders in your cart, and by clicking the cart icon, which allows you to check out. Those functions are also parts of wonderful benefits of user interface frameworks.