Posts

Showing posts from August, 2025

CST 438 Week 8 Learning Journal

Image
Five Important Takeaways from CST 438 CST 438 was a very interactive class in terms of the components of software engineering. From all of the readings, assignments, and group activities, there were five important takeaways.  1. REST APIs The first important takeaway was working with REST APIs. REST APIs were introduced in previous courses, but in this course, we were able to see their implementation in a project using Spring server before the frontend was completed. We were able to test our backend system (registrar and gradebook) using HTTP requests and become more familiar with using Postman to test them. This was valuable as it improved our ability to start REST APIs, troubleshoot errors, and interpret console responses during debugging.  2. Behavior-Driven Development Behavior-Driven Development was introduced during the first iteration process in Assignment 1 and helped us write detailed stories that described how a user can interact with the software. This process not o...

CST 438 Week 7 Learning Journal

Image
Agile & PD Comparison When engineering software for a customer, a team can use a variety of different methods to bring the software to life. Two of these methods are the Agile method and the Plan and Document (PD) method. While they both can help develop software to meet the needs of a customer, their processes differ in various ways.  The Agile method uses iteration to develop the software in short cycles and involves continuous customer interaction, which allows for flexibility in change. The design of the software evolves as iterations are completed. Its documentation is in the form of stories written using Behavior Driven Development (BDD), meaning that the stories describe how the user will interact with the software.  In contrast, PD is more of a sequential process and flows more like a waterfall rather than in iterations. While the PD method also uses BDD for its use cases, it focuses on heavy documentation and involves less frequent customer interaction than the Ag...

CST 438 Week 6 Learning Journal

Image
Compute as a Service An example of CaaS This week, we were assigned to read the chapter Compute As A Service from Software Engineering at Google . When the code is production-ready, it is important to find a compute service that will meet the organization's needs and follow best practices. Some best practices of a compute service include automation, workload types, data handling, and implementing distributed system concepts.  The first best practice for a service is to leverage automation. In this case, we are referring to handling failures such as container crashing or dealing with an unhealthy job or machine. Containers and machines should be used as "cattle" for services to be healthy, which means that when one crashes, another can pick up the job and continue forward.  The next best practice is handling different types of workloads. A service should be designed to handle batch jobs and serving jobs. Batch jobs are short-lived jobs that are split into small chunks by ...