Student Blogs - Carnegie Mellon Silicon Valley - Carnegie Mellon University

Student Blogs

MS in Software Engineering, Technical Track Blog

Wondering if a Carnegie Mellon degree is right for you? Read about our students' experiences through the MS in Software Engineering, Technical Track program.

Rahul is a full-time MS Software Engineering, Technical Track student. He loves traveling, trekking, swimming and is a complete movie buff.
Anthony is a 2nd year part time student in the MS Software Engineering, Technical track program and works at OSIsoft as a Software Engineer. He loves spending time with his family, hiking, biking, gardening, cooking, and sometimes photography.
Suma is an alumna of the MS Software Engineering, Technical Track program. A Mechanical Engineering undergrad, she loves writing and is passionate about music, shopping and dogs.
Minh is a Software Design Engineer at Microsoft and alumnus of the MS Software Engineering program. He is also a Vietnamese community activist, a cat-lover and passionate fan of film music.
Nick is a Software Engineer at Google and a first-year grad student at Carnegie Mellon Silicon Valley. He loves hiking, gaming, and both really extremely good and extremely bad movies.

Wednesday, August 22, 2007

Software Architecture Before and After (Part III)


The second half of the Software Architecture class consisted of applying the knowledge we had gained in the first half to the Movie Recommender product. For those who don’t know, the Movie Recommender product is a fictitious website/theme that follows us Carnegie Mellon West students throughout our entire two-year program. Last semester, we elaborated on the requirements of it in the Requirements class, this semester we architected it, and next semester we’ll actually implement it given our requirements and designs.

My team went through great lengths in analyzing the requirements that were given to us, and architected a system for a Movie Recommender product that combines a service-oriented architecture with an event-driven architecture, all while applying the typical Model-View-Controller and 3-tier architectural pattern. Sounds complicated and over-engineered? Well, we have our reasons for this architecture and if you care to hear why, you should read our 26-page architecture document.

It was very practical to apply our newly-learned knowledge about architecture to the Movie Recommender product, and it took our team numerous iterations to finalize the design. During the semester, we had to provide bi-weekly status reports as well as a “check-in” presentation to our VP of Engineering (role-played by a professor) on our current proposed architecture – a presentation that we thought we had mastered.

Boy, were we wrong. We were G-R-I-L-L-E-D during that presentation, seriously G-R-I-L-L-E-D by the VP of Engineering on many aspects of our architecture (for very good reasons, I must say). While we initially panicked, by the time our presentation ended (after taking up an hour more than we intended to speak), we realize that it was good that we had our VP of Engineering check on this before we delivered the final designs. As a result of his feedback, we continued to iterate over our designs, and then validated our designs by prototyping parts of our architecture using Java/J2EE/Derby and Apache, and finally delivered a convincing presentation on our sound architecture in the last week.

Looking back at this semester, I feel that I have learned a lot about architecture. I thoroughly enjoyed the research we did on the different architectural styles in the first half of the semester, and I thought it was neat for us to get our hands dirty with actually architecting a product from the ground up. While we did learn about documenting architecture (sequence/deployment/network/component & connector diagrams), I felt that it would have helped to learn more about official UML diagramming, but I’ve been told that that is yet to come in the next semesters.

The Software Architecture class has now come to an end, and with it my first half of the two year program at Carnegie Mellon West. Time flies so quickly when you’re busy. As I congratulate the Class of 2007 students who had their graduation ceremony just last weekend, I am telling myself that I am half-way there. Did I mention that there are only 356 days left until my graduation?

posted by Carnegie Mellon Silicon Valley @ 10:44 AM  0 comments

Previous Posts Archives