Saturday, April 21, 2018

CST 438 Week 8

CST 438 Week 8

This course was very informative as to the design process of larger scale projects as a software engineer. The agile and waterfall processes were explored. The course emphasized the importance of communication and quality of product throughout the development cycle. It was discovered that there are many design patterns utilized by software engineers and I feel that I have just touched the surface of this. Implementing design patterns is a skill that only gets better with more practice. We were also able to explore the importance of continuous testing throughout the design process. A good piece of code has high cohesion with low coupling. Also as has been drilled in me throughout my studies, detailed commenting is essential to be a successful software engineer and part of a larger team. I enjoyed working with the team on this project.

Tuesday, April 17, 2018

CST 438 Week 7

CST 438 Week 7

This week we further explored the various design patterns that a software engineer can implement. There are many different ways to tackle your problem and it is apparent that practice is the only way to get better at implementing design patterns to be a successful programmer. These patterns help to simply the code, DRY the code (Don't repeat yourself), follow SOLID design principle, and help to make the code extensible and reusable. 

I looked at our project and decided to implement the Filter Pattern aka the Criteria Pattern. This was a perfect use case for filtering our movies to be able to choose from the best movie and can easily be implemented should the code be expanded on. A Filter pattern is a design pattern that enables developers to filter a set of objects using different criteria and chaining them in a decoupled way through logical operations. This design pattern falls under a structural pattern.

Tuesday, April 10, 2018

CST 438 Week 6

CST 438 Week 6

This week we learned about the various design patterns and principles. It is good to be familiar with design patterns as they help developers learn software design easier and faster. Design patterns can be categorized as Creational, Behavioral, and Structural. Creational patterns allow for creating objects while hiding the creation logic. This gives the code more flexibility. Behavioral patterns are concerned with communication between objects. Structural patterns involve inheritence to create intefaces and define ways to compose objects to obtain new functionalities.

As for our project, this week I was able to get movies.html? to sink with the appropriate movieId
along with pictures for each movie. I also created a method to automatically move a movie to nowPlaying when it is passed it's release date. 

Tuesday, April 3, 2018

CST 438 Week 5

CST 438 Week 5

This week we learned about Gantt charts. I have studied Gantt charts before but this was a good refresher on the topic. We also learned about earned value and velocity for measing progress in our project through Agile development. We also applied the test-driven development process in our projects. We had to create test cases in JUnit to test our methods. The ability to understand github and branching within github has been essential to our development process. Our team was able to get a prototype website up for our Moviehouse website. The initial site can access our in memory database. We have built our website with Java Springboot framework while utilizing Thymeleaf for web development. This project has been challenging so far but I am grateful that we chose to do the project in a way that we are unfamiliar. It has been good to put another form of web development in my belt.