ICS 414 Final Reflection

08 May 2023

Introduction

Software Engineering II (ICS 414) is a course that focuses on working with a client and developing a web application based on their needs and desired features. This course required the knowledge and skills of a prerequisite course, which is Software Engineering I (ICS 314). The goal of the course is to translate the client’s requirements into a functional web application.

In this course, our clients were faculty members from the Information & Computer Science department at the University of Hawaii at Manoa. They wanted a web application that would streamline equipment and room usage in real-time on the 3rd floor of POST, as well as provide information about the professors and computer science clubs.

Our task as students was to create a web application that met these requirements that was user-friendly, efficient, and reliable. We worked closely with the clients throughout the development process to ensure that their needs were being met and that the final product was satisfactory.

The New Things

Although most of the technology stack and team methodologies were similar to ICS 314, there were a few new things I learned in ICS 414. Instead of Semantic UI, we used React Bootstrap as our UI framework. The transition from one framework to another was not significant since Bootstrap was easy to use.

One new technique I learned was “user stories,” which describes a feature or functionality of the software system in a concise and understandable manner. For instance, “As an office member, I want to be able to change the status of a room so that people can see if a room is available or not at a specific time.” This method was interesting because it allowed the team and me to understand precisely what the customer wanted and why.

Code review was also a new thing introduced to me in this course. Although we used ESLint, having an actual person review and identify potential problems in the source code for quality was helpful. This is something I can apply in practical work.

Overall Reflection

Upon reflection, this course was a genuine test of my software development skills, self-management abilities, and teamwork. Having taken ICS 314 in Spring 2021 and not having used the technology stack for two years, returning to it for ICS 414 proved to be a formidable challenge. I had to refresh and review my skills in React JS, MongoDB, and Meteor.

Working with a customer offered our team and me a practical perspective. Nonetheless, we could have improved our communication with the client since we were occasionally left to speculate on their requirements. This led us to veer off course with the main features of the web application.

Despite this, our team was able to deliver a great web application called Manoa Inventory: POST (MI:P). The project helped us refine our technical and soft skills in team collaboration.

View Source Code