Introduction to Software Architecture

Concept, photos, videos, examples, construction



This lecture, recorded at the University of Colorado Boulder in September 2012, is an introduction to the major concepts of software architecture. The audience consisted of 70 seniors majoring in computer science. It is based on material taken from the book Just Enough Software Architecture. Most developers have no formal education in software architecture, yet a system's architecture has a big influence on its success. Software architecture has been intensively studied for more than twenty years now and studying it will help you do a better job of designing systems, give you names for the concepts and patterns, and help you choose between competing designs. Slides: http://georgefairbanks.com/assets/pdf/Intro-to-SA-CUBoulder-2012-09-18.pdf Book hardback: http://www.amazon.com/dp/0984618104 e-Book: http://georgefairbanks.com/e-book/ Major topics covered in this lecture include: * Architects focus on system qualities * Tradeoffs * Architecture, architecting, architects * Views * Quality attributes * Analysis * Standard notations * Guiderails * Architectural styles * Conceptual model * Engineering with models * Canonical model structure * Models and code * Process and risk The pacing of the lecture is considerably slower than when I give this lecture to industry practitioners because undergraduates need to be provided with more examples to ground the lessons. This lecture was just over 2 hours but with a different audience it would be about 75 minutes. I hope you enjoy it.

Comments

  1. Thanks for this lecture! Very insightful. As a systems engineering student I found this lecture very easy to follow and understand. It's like a summary of everything we've learnt back at Uni.
  2. 10:15 the interesting bit!
  3. This guys great I went to that school :D
  4. Thanks George. The lecture was very good. Instead of reading hundreds of pages of a book It provided the good base.
  5. Hi Mr Fairbanks. I just wanted to say thank you sir for the lecture. I've only just started in my career as a systems admin/architect but I'm already facing some pretty tough design challenges in regards to expanding our information systems etc. With only an associates level of education it can be difficult to find sources online that can teach or show how to approach a broad range of systems level challenges as a methodology instead of just a specific "here's how" tech solution/showcase for x problem. So thank you and hopefully i will find myself in a cs classroom soon and maybe if i'm lucky.. have someone as good as you to guide me.
  6. Thanks Sir for your valuable lecture. This is a great chance for me to study this subject from a developing country like Bangladesh.
  7. Nice lecture. It is always to the point and easy to understand for beginners.
    http://www.techcrashcourse.com/2015/10/design-patterns-tutorial-in-java.html
  8. I watched this video while looking for something different, but did enjoy the lecture anyway, thanks!

    I have a question, which is actually about what i was originally looking for, which is resources about how to structure embedded software, taking into account the constraints imposed by that kind of environment.
    Can you point out resources that could guide me? The languages of choice would be C and C++, but i'm mostly interested in the architectural choices, since i still lack some experience.
  9. great lecture, very insightful
  10. Link to the slides is no longer available . Please Advice
  11. "there is nothing inherent in whether you 'pit' your product development team or assign them to a specific development 'layer'." [summarized quote, not your exact words]

    how about downtime?
  12. Nice way to put across the things
  13. Loved your lecture. Very good instructor. Great examples (loved the phone book example). Also pulling questions from the people that weren't always raising their hands allows you to find the misconceptions and nip them in the bud. Something I learned from a Navy electronics instructor years ago.
  14. Nice Lecture! Thank you for sharing.
  15. Good Lecture but Software Architecture is new so I have some problem, I need some useful books that clearly explain the Software Architecture, so if you provide me the link.
    Thanks
  16. haha good teacher. I loved it when you gave the kids a break. I am a senior architect myself and this is a good refresher after many years of wandering off into a path of familiarity.
  17. Superb lecture! You made it look so simple and interesting! Will surely get the book..
  18. nice tutorial, thanks for sharing.
  19. Awesome lecture.. Looking forward to read your book.
  20. Great knowledge and expertise shared


Additional Information:

Visibility: 147708

Duration: 0m 0s

Rating: 767