CST438: Software Engineering – Week 8
This the final week of CST438 Software Engineering course. I have learned so much from the labs, assignments, module lectures, and the textbook “Software Engineering at Google” by Winters, Mantric and Wright. The 5 most important things that you learned in the course are:
1- Coding of a Spring Boot REST backend application.
2- React frontend application.
3- SDLC (software development life cycle) phases
4- Coding Selenium system test
5- Write full software requirements specifications (SRS).
The concept of REST (REpresentational State Transfer) was a great way to expand my knowledge of backend architecture. It was interesting to see how simple it is to exchange and manipulate data using HTTP methods (GET, POST, DELETE, PUT). The course also introduced Spring server and the use of JPA queries. The first lab was a hands-on REST project where we built a project from scratch using Spring Boot. By the end of the lab, we had created REST controllers, DTO classes, entity classes, and repository interfaces to experience a full working backend portal.
The frontend was built with React, which supports component-based development and optimizes the DOM. This was my first time working with React, and I learned how to use ES6 syntax to write HTML inside JavaScript. The course covered many core React concepts such as UI rendering, passing data with props, using hooks like useState, and handling events with controlled inputs.
Another important topic in the course was the Software Development Life Cycle (SDLC). It was helpful to study the different processes involved in producing and releasing software to a client. Our team project followed the Agile process to deliver the backend, frontend, unit tests, and system tests in a realistic software project setting. I also got valuable experience with team coding and code reviews using GitHub over three weeks.
For system testing, we used Selenium to automate web browsers. I learned how to navigate the browser automatically and use data to test frontend behavior. It was exciting to work with such a powerful tool that saves time and integrates well with other frameworks.
Finally, practicing how to write Software Requirements Specifications (SRS) was essential for learning how to gather requirements before coding. It gave me a solid understanding of IEEE SRS standards and helped me build the communication skills needed for working in the industry.
No comments:
Post a Comment