Posts

Showing posts from August, 2025

CST 438 - Module 8

 Week 8, For the last module of the Software Engineering course, we reviewed the course material we learned from, and there was a lot of information. However, I'll save you some time and talk about 5 of the most important things I learned. One important concept was the Plan and Document (PD) process in software engineering. A lot of thought has to go into designing a software project, and there are different ways to do it. The PD process takes a lot of planning in the beginning before any designing is implemented and is useful for large scale projects.  The Agile process, however, is designed iteratively and the customer would communicate what they want for the whole process and is useful for projects that are not quite as large. This is what we got more experience of in this course, and I've learned it is really useful for team velocity and the story points help communicate what a customer is looking for in the software being built. Another important concept is the Service Or...

CST 438 - Module 7

 Week 7, This week was rather interesting because of two parts. For one, we were tasked with pushing our work on the past few assignments into the Amazon Web Services (AWS). This allowed us to run our website's backend and front end in amazon's servers where they have many beneficial services to use in running it. It took a while for me to get running because somewhere along the lines I think I had a typo and I didn't catch it until the end.  The second part of this weeks module was making our own Software Requirements Specification (SRS). Whereas previous weeks, we've been following the Agile process to complete a project, this week gives us experience in the Plan & Document (PD) process. The SRS is part of PD process and it takes a good amount of time, especially if you are working on a large project. After reading up on it and already having an understanding of the Agile process, there are some key differences.  The main difference is that in PD, the project star...

CST 438 - Module 6

 Week 6, This week's material was split into continuing our work on our assignment and continuing our reading in the textbook Software Engineering at Google. The assignment involved us creating system tests using the chrome driver to automate the inputs for testing on the frontend, which in turn communicates to the backends. This essentially allows us to make sure the whole system works as intended. The reading was interesting because it involves something known as Compute as a Service (CaaS). This becomes necessary to consider as an organization grows and requires more resources to run its services. However, what is considerably important is how the resources are handled, especially in the case where a batch or service job fails. There are different ways to treat these resources (i.e. pets vs cattle), but also the need to consider how much "slack" is appropriate to handle multiple failures and re-organization of resources to batch/service jobs. Having engineers manually ...