Posts

Showing posts from August, 2025

Key Takeaways from Software Engineering

I found Software Engineering to be a meaningful course. It blended theory with practical applications and gave me insight into modern software development methods and tools. Below are the 5 more important things I believe I’ve learned in this course.             Agile and Plan-Driven Development Early in the course we were introduced to the Agile development method. Agile focuses on adaptability and iterative progress. It proves developers with flexibility. On the other hand Plan-Driven development relies on detailed upfront planning and a fixed process. Agile works well in projects where requirements are likely to change. It allows for quick adjustments and continuous delivery of value. Plan-Driven, on the other hand, is better suited for projects with well-defined requirements and a clear roadmap from the start. It was great to work with both methods so that I’m able to compare both. I personally liked Agile more, because too much documentation compli...

App Planning and Agile/Waterfall Comparison

Plan and Document This week I made a detailed requirements document for a rideshare service application similar to Uber. This involved creating a system environment diagram showing the customer app, driver app, and administrator dashboard interacting with a backend server. It also connected to GPS, payments, and notification services. As a former Uber driver (with a 4.99–5.0-star rating—just saying), I particularly enjoyed developing the entity relationship diagram, which required me to think through all the critical details an application like this would need, even though this version was simplified. I also built a UML use case diagram featuring three main actors (Customer, Driver, and Administrator) and outlined use cases like requesting or canceling rides, accepting rides, managing pickups and drop-offs, processing payments, providing ratings, reporting issues, and monitoring overall activity. Comparing Agile to Waterfall In past projects, we used Agile process which focuses on it...

Group's Final Stretch - Implementing System Tests with Selenium

This week, the group and I worked on implementing system tests with Selenium. We did these tests on top of what we had already built the throughout the past 3 weeks. My test covered an instructor login, selection of a section, and addition of a randomly named new assignment. Then a second rest resumed with entering grades for three students and saving the grades. I believe this will conclude the group project for Software Engineering. It seems we’ve gotten the hang of the workflow on GitHub organizations. We have learned together and have filled each other gaps in knowledge to sustain a dynamic work ethic and have built parts of an app from the bottom up. It was a pleasure. Shoutout to Walid and Jesus. Writing and debugging the Selenium system tests required lots of patience. Verifying that elements load in the right order, ensuring modal dialogs opened and closed properly, and checking that values were saved and persisted tested my understanding frontend behavior and backend integra...