Introduction to Software Architecture

  Рет қаралды 282,271

George Fairbanks

George Fairbanks

Күн бұрын

Пікірлер: 106
@georgehfairbanks
@georgehfairbanks 11 жыл бұрын
Thank you all for the kind comments. I'm delighted that you like the lecture!
@GyroCoder
@GyroCoder 10 жыл бұрын
As an ex-Computer Science student who had to drop out for financial reasons, thanks for putting this on the web.
@rogueanimus9243
@rogueanimus9243 10 жыл бұрын
I feel ya, im on the brink of dropping out due to circumstances.
@sumitlahiri209
@sumitlahiri209 4 жыл бұрын
@@rogueanimus9243 The passion for software architecture and engineering has no bounds. Even if you drop out, always remember that there are tons of ways to make things. A degree is important but it is the last thing that can define you. Your passion and knowledge of CS are what is going to drive and make you successful.
@micromaddy
@micromaddy 10 жыл бұрын
George,I could not stop watching this session. You are giving real time example to understand the concepts.. Whoever attended this session they are gifted if they pay 100 % attention. it will take many years to understand lots of info which you have given in 2 hrs.. Thanks Again..
@vijnp
@vijnp 12 жыл бұрын
Comprehensive introduction into software architecture. I watched it three times (which is over 6 hours in total!) to grasp every detail. Time well spent. Well structured, great examples. George's ten year 'in the trenches' is certainly paying off in his brilliant lecture. Thanks for making it publicly available.
@rum81
@rum81 6 жыл бұрын
2012 I discovered hadoop and started learning, and here you are talking about not just DFS but even NOSql like mongo. Can't imagine what exposure/knowledge you have in 2018. Please share more videos
@codewithnacho
@codewithnacho 5 жыл бұрын
This is an amazing talk. I can't believe I pushed this on my watch later for so long. Now this video is on my favorites
@bradleytaniguchi1187
@bradleytaniguchi1187 6 жыл бұрын
Learned more in this lecture than I did in an entire semester of undergrad. Great video that will stand the test of time, thanks for the upload!
@MrJay269
@MrJay269 8 жыл бұрын
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.
@nebimertaydin3187
@nebimertaydin3187 6 жыл бұрын
this is pure gold, it makes much more sense if you have industry experience.
@suerayss
@suerayss 9 жыл бұрын
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.
@mattaereal
@mattaereal 7 жыл бұрын
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.
@andersmagnusson9023
@andersmagnusson9023 4 жыл бұрын
Thank you, very good show. It might be that we who has some years of work experience fascinates about about this talk, hope the students got the message. Try working as an architect in a rather large automotive company for the complete set of "embedded" software I quite often do similar internal presentations because architecting and architecture maturity is surprisingly low.
@josephfernando4867
@josephfernando4867 10 жыл бұрын
Sir this was truy enlightening, I am an architect myself and it would be helpful to see a video on how design could be done with UML I mean the approach.
@AKMSaifulHoque
@AKMSaifulHoque 4 жыл бұрын
I loved this lecture is so much. Specially the way of delivery the lecture pretty interesting and engages curiosities. Thank you.
@deadvulcano
@deadvulcano 5 жыл бұрын
I remember the guy who made the comment at 1:43:40, was I in this class? I don't remember this lecture at all, but now I'm probably receiving this lecture again after 6 years. I feel like college should have a 1 year break between each year of lecture to focus purely on real world programming. This information makes far more sense after dealing with real code bases.
@pats-us
@pats-us 10 жыл бұрын
Thanks George for explaining such a complex stuff in a very simple language of trade offs.
@mistrykam
@mistrykam 9 жыл бұрын
Great lecture! You presented Software Architecture concepts very clearly. Will definitely purchase your book on this topic.
@conw_y
@conw_y 9 жыл бұрын
Awesome talk. Architecture makes way more sense to me now.
@Zultralord
@Zultralord 8 жыл бұрын
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.
@renegaed
@renegaed 11 жыл бұрын
great presentation. I'd be very interested to know what these comp science students are majoring in.
@manuelacosta8617
@manuelacosta8617 7 жыл бұрын
Excellent lecture George. Finally, I've got time to watch it. Thanks again for contributing in my Software Architect career!!
@errahulverma
@errahulverma 9 жыл бұрын
Superb lecture! You made it look so simple and interesting! Will surely get the book..
@jkodilkar
@jkodilkar 10 жыл бұрын
Thanks for revealing complex subject like Software Architecture, good tour
@Bhou123
@Bhou123 7 жыл бұрын
Thank you so much for this informative and interesting lecture ..
@MarimuthuUdayakumar
@MarimuthuUdayakumar 4 жыл бұрын
This is excellent explanation of software architecture. I like you very much that the way you explained and your body languages is simply awesome. I love to copy your style. :)
@AhmedAli-ib2go
@AhmedAli-ib2go 11 жыл бұрын
Many thanks George. Excellent lecture I now understand better.
@akhilez
@akhilez 9 жыл бұрын
I don't know if I should ask this here, but I'm currently studying computer engineering, in very early stage, I'm really into computers, networks, architectures. What are the steps to learn to master these? I can do basic C and Python programs, and I'm good at it compared to other students. What's next? I want something more that what my college offers, I understood this video like how a beginner does, I wanna understand this better, what are the prerequisites?
@jefftspang
@jefftspang 8 жыл бұрын
+D18rulez Try to involve yourself in projects in challenging spaces, and employ design patterns and then try to think about how it scales. Normally most problems are not apparent when the software is small, it is when lots of huge amount of data and/or users are involved is when problem start appearing and when TRADEOFFS you make with design become obvious. As as to where to find yourself in projects in challenging spaces, start your own pet project and participate in open source
@Zinzin09
@Zinzin09 7 жыл бұрын
Really good primer. I cant wait to get stuck into the book.
@JerreMuesli
@JerreMuesli 5 жыл бұрын
Great book btw. I noticed the examples used in this lecture where indeed the ones you also use in the book
@mhcbon4606
@mhcbon4606 7 жыл бұрын
i wish i had a good teacher like that during my cs education.
@DemandCapture
@DemandCapture 4 жыл бұрын
That's a great lecture George, lots of value. I'm trying to get a grip on things in coding. In that light, would you approach a platform like Salesforce as a software or website? TIA
@francescobenacci8428
@francescobenacci8428 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.
@georgehfairbanks
@georgehfairbanks 8 жыл бұрын
+Francesco Benacci The best book I know of on embedded systems architecture is the (expensive) book Better Embedded System Software by Phil Koopman (koopman.us/).
@francescobenacci8428
@francescobenacci8428 8 жыл бұрын
+George Fairbanks Whoa, it is pretty expensive indeed, but it does have great feedback. I might end up buying it, thanks!
@Qamarkhan007
@Qamarkhan007 9 жыл бұрын
Awesome lecture.. Looking forward to read your book.
@kmusaied
@kmusaied 10 жыл бұрын
More than GREAT , Thanks a lot George
@aneeshsebastian1
@aneeshsebastian1 6 жыл бұрын
Really awesome lecture . It's fun and good to listen
@sapphiresk1
@sapphiresk1 9 жыл бұрын
My problem is I don't think my program in CS is giving us the information we need to succeed on their own assignments! They've done away with a comprehensive textbook and post links to webpages. Without tutors (some of them very expensive) I would be failing. Am I missing something?
@georgehfairbanks
@georgehfairbanks 9 жыл бұрын
Synthesis is hard and professors in CS aren't (yet) rewarded for doing it. In more established fields it's a great honor to be asked to write the survey paper. CS is moving very fast and much of the innovation takes place in industry, which is often out of sight of professors. I'm delighted if this lecture, which is very much a synthesis, has been helpful. When I was learning about software, there were really just a handful of books and no web yet, so although you may feel you are drowning in info at least you have access to it from anywhere on the planet and even on your cell phone.
@georgehfairbanks
@georgehfairbanks 11 жыл бұрын
Thanks, fixed. Somehow the prefix was doubled, maybe something about the KZbin account upgrading?
@mvaliente2001
@mvaliente2001 11 жыл бұрын
Excellent talk, the best I've seen in youtube. Thanks!
@ctwoodwa
@ctwoodwa 10 жыл бұрын
Thanks for posting this, very informative.
@PROcrastiDRIVESVofficial
@PROcrastiDRIVESVofficial 10 жыл бұрын
Thank you Uni of Colorado! This is just what I was looking for. Such a broad topic and I needed something that could start explaining things and give useful examples. 3 Cheers for Colorado! First the Forza Horizon festival and now this!
@dip06ece
@dip06ece 9 жыл бұрын
Nice lecture!!! Is there any consecutive lectures? please share if any.
@georgehfairbanks
@georgehfairbanks 9 жыл бұрын
1) Most or all of the videos are linked from my website: RhinoResearch.com/blog. 2) I'll be speaking at the SATURN software architecture conference at the end of the month: www.sei.cmu.edu/saturn/2015. 3) It's a bummer but I'm unable to link in videos of me speaking that are posted by others, but you will find a couple of additional videos by searching youtube and vimeo.
@AshrafGardizy
@AshrafGardizy 9 жыл бұрын
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
@georgehfairbanks
@georgehfairbanks 9 жыл бұрын
+Ashraf Nikokar Gardizy I've got an overview of good software architecture books in this video: kzbin.info/www/bejne/fqDImnRnr8aajbc.
@georgehfairbanks
@georgehfairbanks 11 жыл бұрын
They are linked in the video description. At least right now, you have to press "Show more" to expand the description to see the links.
@azizzainul
@azizzainul 11 жыл бұрын
Very well explained. Thanks
@iamanalyst4u
@iamanalyst4u 9 жыл бұрын
Great knowledge and expertise shared
@rajeshchaurasia6221
@rajeshchaurasia6221 8 жыл бұрын
Nice way to put across the things
@withoutmalicexo
@withoutmalicexo 10 жыл бұрын
Don't want to sound rude, but 70 seniors out of which only 20% knew about Design Patterns and even lesser knew about a Normalized Database, is astonishing. Maybe the lecture was attended by a mix of a few seniors and a lot of non CS folk, which is OK.
@ScottDuffy
@ScottDuffy 9 жыл бұрын
withoutmalicexo I was surprised at the apparent lack of basic computer science knowledge in the audience. Has anyone heard of three-tier? No one.
@VoyivodaFTW1
@VoyivodaFTW1 7 жыл бұрын
withoutmalicexo yeah lots of people go for things like financial programming or for mathematics
@VoyivodaFTW1
@VoyivodaFTW1 7 жыл бұрын
Scott Duffy they've likely heard of it but as a different name. sounds like MVC to me
@tiannimyers1204
@tiannimyers1204 6 жыл бұрын
I knew what it was and I’m self taught lol
@nathanaeljacob
@nathanaeljacob 4 жыл бұрын
Nice presentaton. Thank you.
@Kirkrrr
@Kirkrrr 11 жыл бұрын
Excellent lecture, thank you.
@drfabraz
@drfabraz 11 жыл бұрын
George, The link to the presentation is broken. Could you possibly fix it? Thanks
@lalitagokhale18
@lalitagokhale18 9 жыл бұрын
Nice Lecture! Thank you for sharing.
@ntcuong01ct1
@ntcuong01ct1 2 жыл бұрын
Dear Friends We will build IT infrastructure according the software architecture requirements, right?
@FritzGillis
@FritzGillis 8 жыл бұрын
"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?
@GooshieStarLine
@GooshieStarLine 10 жыл бұрын
Really interesting and really well delivered!
@agfaps1486
@agfaps1486 11 жыл бұрын
yes.. i really enjoyed it and waiting for another video lecture from you.. :)
@SachinFromDev
@SachinFromDev 9 жыл бұрын
nice tutorial, thanks for sharing.
@aseemmakkad
@aseemmakkad 7 жыл бұрын
Nice lecture was very useful!!!
@bilelbouchlaghem
@bilelbouchlaghem 7 жыл бұрын
Thank You
@svenka1984
@svenka1984 11 жыл бұрын
Sveyda Excellent video. thank you
@nikhilpingle2006
@nikhilpingle2006 11 жыл бұрын
Nice video- thanks! Very interesting and important topic but audience was not answering :(
@michaelrempel9025
@michaelrempel9025 10 жыл бұрын
I often get asked about the value an Architect brings to the table. (I am one, not just by title). My biggest challenge has always been to bring this kind of simple language to the discussion. I usually end up trying to architect the solution the client wants in front of them, rather than focusing on this kind of talk. Your presentation here is quite good for developers. I could use a similar one for clients if you have one. If not, I think I will make it myself. But I prefer to show something more along the lines of a consensus view. One of my current projects does similar risk assessment for management decision making. Too many design processes look at risk as a bad feeling, and you dont quantify it in this lecture well. I hope the book does a better job. Most companies need to quantify it somehow. I prefer to do an escalating cost analysis. 1 failure, 10 failures, 100 etc. Delivery timeframes get a similar analysis. Asking domain experts for a value statement about what if we delivered x y z dates, what would the value be to the company. Usually they talk about it in terms of existing commitments. That is ridiculous at the design stage but vital to them at the budgeting stage that got them to the design phase. I usually walk away from projects that have a poverty mentality because quality is always the sacrifice they are willing to make first. I understand avoiding the topic in front of students engaged in learning the techniques. We need to address the anxieties of clients with compassionate but clear language. That is area I have often struggled in. I know how to be detailed and clear in my analysis, with good architectural choices. I know how to dialogue about process, security, data and so on each in it's own hierarchy of needs and wants. But I often dont know how to dig out the unspoken angst of clients. And I think this is one of those make or break skills that we ( or at least I) could use training in. I can do excellent architecture in my sleep. I can talk to experienced developers and get world class results pretty quickly. (have done so for decades on lots of projects with lots of developers) Handling clients still keeps me up nights. Some things one cannot discover ahead of time, like the time a client made a lame excuse to end the project because we were going to succeed where they thought it would not be possible to do so. It was about sending work to India. They thought my experience with distributed development only had limited applicability and no chance of success. But there are many things we can mitigate and I would like a better check list than the one I get from past experience alone.
@yoanadimitrova8760
@yoanadimitrova8760 7 жыл бұрын
Michael Rempel is this a comment or an essay?
@sayhongtan8993
@sayhongtan8993 10 жыл бұрын
Thank you very much!
@ManojKumar-jg5cf
@ManojKumar-jg5cf 5 жыл бұрын
Which college u teach
@ZWATER1
@ZWATER1 6 жыл бұрын
Ty
@trinaths
@trinaths 11 жыл бұрын
excellent...!
@SiriJustDoIt
@SiriJustDoIt 11 жыл бұрын
Where do i get slides
@SiriJustDoIt
@SiriJustDoIt 11 жыл бұрын
Very good one
@drfabraz
@drfabraz 11 жыл бұрын
Thanks!
@dennis-the-menace4116
@dennis-the-menace4116 5 жыл бұрын
I run Linux,my life sucks, A+ failed my network+ 2 years of computer information systems wgole community hates me,becuase they think I'm talking down to them..got any advice, btw still can't type. oh I play TW2...help me!
@mohammedabulsoud517
@mohammedabulsoud517 10 жыл бұрын
thanks man you awesome person
@hanialers1678
@hanialers1678 7 жыл бұрын
10:15 the interesting bit!
@nebimertaydin3187
@nebimertaydin3187 6 жыл бұрын
btw, what does he saying at 1:11:37
@georgehfairbanks
@georgehfairbanks 6 жыл бұрын
Mert Aydin Sorry, I skipped some steps in that explanation. In a three tier system, the UI is not expected to circumvent the middle tier and query or update the database. The middle tier has the job of interpreting the DB data and enforcing invariants across the data. (The DB schema can express some but not all constraints).
@nebimertaydin3187
@nebimertaydin3187 6 жыл бұрын
I'm speechless right now, you're legend to me, my advisors in Binghamton University suggest your videos while we're trying to find research ideas. It's an honor to be replied by a living legend, thank you for your reply!
@ajones1274
@ajones1274 6 жыл бұрын
46:17 : "it's much easier to teach people this stuff when they've heard it before". Obviously, but isn't this an introduction to software architecture ? A lot of this lecture he goes on about stuff and asks does everyone know this, one person probably nods their head just to agree, and this is enough for him to believe everyone knows it. It doesn't mean everyone understands
@georgehfairbanks
@georgehfairbanks 6 жыл бұрын
That was meant as an aside and I probably should not have said it aloud. I was assuming a different experience level of the audience and recognizing that I'd have to replan on the fly to make connections then build back up to the points in the talk. What I said was "It's much easier to teach people who have done this stuff before," meaning that once people have built systems, preferably larger ones, they've come across the issues themselves, wrestled with them, and probably have heard a bunch of terminology even if it's not fully natural yet. That makes it easier to reveal the principles because we share some experiences. It is possible to learn the principles without that shared experience by giving assignments that reveal the problems, but this was a single lecture and I didn't have that opportunity.
@XnecromungerX
@XnecromungerX 6 жыл бұрын
Hey, thank you very much for the video. I was wondering while watching this, how much do you think terminology is changing over time? I don't really hear the verb normalised in terms of databases just whether it's relational. Hear it all the time in terms of vectors with a lot more people programming games now normalising vectors.
@georgehfairbanks
@georgehfairbanks 6 жыл бұрын
The concept of data normalization (or denormalization) applies equally to relational and other databases. en.wikipedia.org/wiki/Database_normalization. The big idea is that you want to express something once and only once, or else sooner or later you'll end up changing one of the duplicates but not the others. Terms do get used differently across fields, so "normalizing" of vectors is not the same as "normalized" data layout in CS, which has used this term consistently since the 70's.
@XnecromungerX
@XnecromungerX 6 жыл бұрын
Ah, thank you for the response George.
@ejiromary2508
@ejiromary2508 8 жыл бұрын
great lecture, very insightful
@MrCealicuca
@MrCealicuca 11 жыл бұрын
excellent. i would wholeheartedly atent such a class.
@micromaddy
@micromaddy 10 жыл бұрын
Between, George , most of the developers and Sr. Developers are not getting opportunity to these areas..It may not useful for another min 5 years...
@drfabraz
@drfabraz 11 жыл бұрын
presentation slides...
@MrCealicuca
@MrCealicuca 11 жыл бұрын
*attend
@ZWATER1
@ZWATER1 5 жыл бұрын
👍
@auto_ego
@auto_ego 7 жыл бұрын
Way too audience-interactive for KZbin video. Hard to follow. I'll just read the book.
@yolan51
@yolan51 7 жыл бұрын
Wtf, 70 graduating student and only 14 of them , know design pattern o,O
@mudassarmehmood2913
@mudassarmehmood2913 8 жыл бұрын
Link to the slides is no longer available . Please Advice
@georgehfairbanks
@georgehfairbanks 8 жыл бұрын
+Mudassar Mehmood georgefairbanks.com/assets/pdf/Intro-to-SA-CUBoulder-2012-09-18.pdf I'll update the link, thanks.
@mudassarmehmood2913
@mudassarmehmood2913 8 жыл бұрын
+George Fairbanks So nice of you.
@khalidsamir392
@khalidsamir392 11 жыл бұрын
thank you
@TsegayTikue
@TsegayTikue 11 жыл бұрын
thank you
Intellectual control (O'Reilly Software Architecture New York 2020)
19:37
George Fairbanks
Рет қаралды 2,8 М.
Life hack 😂 Watermelon magic box! #shorts by Leisi Crazy
00:17
Leisi Crazy
Рет қаралды 80 МЛН
Когда отец одевает ребёнка @JaySharon
00:16
История одного вокалиста
Рет қаралды 15 МЛН
啊?就这么水灵灵的穿上了?
00:18
一航1
Рет қаралды 77 МЛН
Software Architecture Tips I WISH I Knew Sooner
18:04
Continuous Delivery
Рет қаралды 45 М.
An Enterprise Architecture introduction
1:25:49
EnterpriseArchitects
Рет қаралды 187 М.
A Philosophy of Software Design | John Ousterhout | Talks at Google
1:01:40
NSA Releases Internal 1982 Lecture by Computing Pioneer Rear Admiral Grace Hopper
1:29:36
The Black Vault Originals
Рет қаралды 263 М.
Software Architecture Principles From 5 Leading Experts
15:44
Continuous Delivery
Рет қаралды 34 М.
Can Great Programmers Be Taught? - John Ousterhout - Agile LnL
1:02:44
Agile LnL (Agile Lunch & Learn)
Рет қаралды 24 М.
Minimum Viable Architecture • Randy Shoup • YOW! 2022
47:40
GOTO Conferences
Рет қаралды 55 М.
Lecture 1: Introduction
1:19:35
MIT 6.824: Distributed Systems
Рет қаралды 574 М.