Posts

Showing posts from August, 2026

CST438 Learning Journal 8

The five most important things I learned in this course were the Software Development Life Cycle (SDLC), Agile development, testing practices, Git/GitHub, and REST service development with Spring . Software Development Life Cycle (SDLC) I chose SDLC because it provides the foundation for understanding how software is developed from beginning to end. Learning the different phases helped me understand that software development involves much more than just writing code. Planning, designing, developing, testing, deploying, and maintaining software are all important parts of producing a successful system. Agile Development Agile was important because it introduced concepts such as user stories, epics, backlog grooming, acceptance tests, story points, and team velocity. I chose this topic because Agile is widely used for managing software projects and allows teams to respond to changing requirements. Comparing Agile with the Plan and Document approach also helped me understand that different...

CST438 Learning Journal 7

This week working on these assignments, quizzes, and labs, I learned more about how software development processes affect the way a project is planned, documented, developed, tested, and deployed. One major topic was the difference between Agile and Plan and Document, also known as Waterfall. Plan and Document focuses on completing detailed requirements and design documentation before implementation begins. For example, we learned how a System Requirements Specification (SRS) documents functional and non-functional requirements so that developers, testers, managers, and other stakeholders have a common understanding of the system. Agile is more iterative. Instead of trying to completely define the system at the beginning, developers create working versions, receive feedback, and improve the system during short iterations. The SRS assignment helped me understand requirements more clearly. I learned how to create use cases with actors such as the Customer and Driver in our taxi service....

CST438 Learning Journal 6

This week I learned more about end-to-end system testing and how it differs from the unit testing we had been doing throughout the semester. While unit tests focus on verifying the behavior of individual components in isolation, system tests verify that the frontend, backend services, database, and messaging components all work together correctly. I implemented a Selenium system test that automated an instructor logging in, navigating to a course, creating an assignment, entering grades for students, and verifying that those grades were successfully saved. Building this test helped me understand how Selenium interacts with a real browser and how important it is to use reliable element identifiers and explicit waits to synchronize with the application's state. I also learned that preparing reliable test data is just as important as writing the test itself. Before creating the Selenium test, I updated the seed data in both the Registrar and Gradebook applications so that the require...