Posts

Showing posts from August, 2025
  Week 8 – CST438 Software Engineering List the 5 most important things that you learned in the course, and why you chose them. This course provided us with a comprehensive list of modern tools and practices for software engineering. We covered topics ranging from development methods to cloud deployment. The five most important things I learned in this course include Agile development, Plan and Document development, using GitHub for version control, using Spring and React along with Selenium for writing software, and AWS deployment. Learning how to apply Agile project development along with Behavior-Driven Development and Test-Driven Development gave me a deeper understanding of how to design software with the user in mind and ensure proper functionality through early testing. BDD helps ensure that the final product meets the expectations of stakeholders and TDD helps build confidence in the project by writing tests first. These practices encourage maintainability and reduce ...
  Week 7 – CST438 Software Engineering Describe some of the differences between using an Agile process and using a Plan and Document (or Waterfall) process.  The are many differences between using an Agile process and using a Plan and Document process. Some of the more noticeable differences are found in their approach to planning, flexibility, and team structure.   In an Agile process, development planning is iterative and ongoing. The project is broken down into short cycles called sprints that lasts one or two weeks. In P&D, the planning details are set for the entire development before any work begins. This is because each phase relies on the previous phase being completed, like a waterfall. Flexibility in an Agile process is high. The stakeholders are actively involved in the process to ensure the product meets their expectations. They provide continuous feedback which may change the project requirements. Due to the iterative nature, it is easier and...
Week 6 – CST438 Software Engineering Write a weekly entry describing important things you learned this week. This week we read chapter 25, Compute as a service (Caas), from Software Engineering at Google. This chapter covers how Google uses compute as a service to abstract hardware issues which allows developers to deploy software without having to worry about the constraints of physical infrastructure. The chapter also brings up the concept of pets vs cattle. In this analogy, if your server is a pet, it is expected that you will look after it and nurse it back to health if something goes wrong with it. If your servers are cattle and something where wrong with it, you would use automation to replace it with a new one. They use this analogy to explain that developers must embrace the cattle and not pets mindset to make software scalable, resilient, and idempotent. From our assignment, Iteration 3 System Test, I learned how to deal with finding repeated React components that contai...