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.

Tuesday, March 27, 2018

CST 438 Week 4

CST 438 Week 4

This week we learned about the importance of gathering and documenting requirements during the development cycle. We learned to use class responsibility collaboration as a design tool for creating class diagrams. We were also able to learn and create UML diagrams for our project. The UML diagrams utilized were use case, class, sequence, and deployment diagrams. All of these diagrams are useful in creating a blueprint for how to code and design your project.

I mainly worked on the design class and deployment diagrams:



Wednesday, March 21, 2018

CST 438 Week 3

CST 438 Week 3

This week we learned about the differences of white box and black box testing. White box testing takes into account the internal mechanism of a system. Black box testing has no visibility to the code and the test cases are written based on input and output functionality. Although black box testing is not controlled, meaning it only finds symptoms of problems, it is still necessary to find different types of faults that white box testing may miss.

During the assignment, I had trouble with question #10 which asked to develop test cases for different scenarios. I felt the text did not provide adequate instruction for me to efficiently figure out this last problem. I hope to get good feedback from the professor as to how to go about this problem.

This week we were able to get a simple hello world program written in the language and framework we will be using for our group project. Our next step is to build a database to utilize for the movie house website that we will be developing for.

Tuesday, March 13, 2018

CST 438 Week 2

CST 438 Week 2

This week we learned about how to effectively utilize github for project management. It was explored how to properly use branches for version control. We were also introduced to using Pivotal Tracker as an effective project management tool.

We met for the first time as a group and I liked how quickly we were able to come to an agreement for our project. We decided to build a movie ticketing system for a local movie house. We created our git repository, slack site for communication, and pivotal tracker page for project management. We decided to hold our sprint planning on Sundays at 6pm and scrum meetings on Thursdays at 7pm. I am looking forward to seeing the outcome of this project.

Sunday, March 11, 2018

CST 438 Week 1

CST 438 Week 1

This week proved to be extremely challenging. We were tasked to create a hangman game and implement on AWS. I have never used AWS before or a framework and I could not figure out how to get the code implemented in a framework in AWS. I was able to get a working code on my own computer using a local server but could not figure out how to get the framework on AWS. My hope is that I can learn from someone on how to get a working framework up on AWS. It seems that a problem for me is that I am on a Windows system and everything I looked up was from a reference of using a Linux terminal.

This week we also learned about the differences in development approaches for large scale projects. These can include the agile and waterfall approach.