of 25 /25
Software Architecture Fundamentals Part-1 Architecture soft skill By Freddy Munandar 26 Nov 2016

Software Architecture Fundamentals Part-1 Architecture soft skill

  • Author

  • View

  • Download

Embed Size (px)

Text of Software Architecture Fundamentals Part-1 Architecture soft skill

PowerPoint Presentation

Software Architecture Fundamentals Part-1Architecture soft skill

By Freddy Munandar26 Nov 2016

About Me

I'm an active member of IASA Global - An Association for All IT Architects and MAPA Microsoft Association of Practicing Architects . I'm also Certified Microsoft MCPD for ASP.NET.

Technology research is my favorite things especially in Software Development. I love transforming the research result by creating software that can make job or activity more faster to finish, more accurate and more fun.

Ongoing open source project www.aspknife.net



AgendaArchitecture aspectsTechnical knowledgeDiagram as communication tools3


Technical Knowledge first because I want to try bottom top approachFrom developer to architect.Which is developer may interact with many technology which is technical knowledge area


Technical KnowledgeStuff you knowStuff you have to maintainStuff you knowYou dont knowStuff you dont knowYou dont know


TechnicalbreadthFocus here5

Technical breadth is very important for Software architectBecause its will impact with the architecture solution.The more we know, we can do pragmatic approach


Technical Knowledge (continue)Multiplatform knowledge

Just Advice, better to have multiple knowledge thats is not vendor locking. You can integrate the best part of each.This is part of technical breadthThe more you know, it could be more effective and efficient to provide architecture solution6

Technical Knowledge (continue)Increase Technical BreadthRead Tech web such as https://techcrunch.com/ http://mashable.com/ http://www.zdnet.com/ etc. Going to tech meetup, seminar, event, workshop, conferencesRead magazine such MSDN magazine, Wired magazine, etc.Teaching, coaching, mentoring, sharingFollows big company such as Microsoft, Google, Facebook, etc.Technology Radars







Technology RadarA living document to assess the risks and rewards of existing and nascent technologies. Personal radar, to help guide career decisionsEnterprise radar, for employer, to help restore sanity to purchasing decisions and technology direction12

Sebuah dokumen hidup untuk menilai risiko dan manfaat dari teknologi yang ada dan baru lahir.radar pribadi, untuk membantu memandu keputusan karirPerusahaan radar, majikan, untuk membantu mengembalikan kewarasan keputusan pembelian dan arah teknologi12


Show Indonesia map13


Show zoom in map for Jakarta14


Map zoom in for Blibli office.


Imagine if we can zoom in and zoom out our code from low-level to high-level overview.

It would be nice, right? 16

Diagram as a communication tool and navigation17IntroduceC4 ModelThe "C4 model" is a simple hierarchical way to think about the static structures of asoftware systemin terms ofcontainers,componentsandclasses(orcode).

Showing Map as analogyDiagram to navigate each level into code17


A software system is made up of one or more containers,each of which contains one or more components,which in turn are implemented by one or more classes.

System context diagramLevel 119

The focus should be on people (actors, roles, personas, etc) and software systems rather than technologies, protocols and other low-level details. It's the sort of diagram that you could show to non-technical people.

Container diagramLevel 220

A container diagram shows the high-level shape of the software architecture and how responsibilities are distributed across it.

It also shows the major technology choices and how the containers communicate with one another.

It's a simple, high-level technology focussed diagram that is useful for software developers and support/operations staff alike


Component diagram(s)Level 321

Decompose each container.

The components diagram shows how a container is divided into components, what each of those components are, their responsibilities and the technology/implementation details.

Class diagram(s)Level 4This is optional, but draw one or more UML class diagrams if you want to illustrate specific component implementation details.22

C4 Model Demohttps://structurizr.com/public/21#Context


Robert C. Martin24

Uncle Bob references

When someone look at the top level diagram, they can saidOow.. This a churchOow. This ia a trading syste.24

For more informationThe Information Technology Architecture Body of Knowledge (ITABoK) from IASA - http://iasaglobal.org/itabok/OReilly Software Architecture - https://www.oreilly.com/topics/software-architectureSimon Brown - http://www.codingthearchitecture.com/https://www.thoughtworks.com/radar/faqhttp://nealford.com/memeagora/2013/05/28/build_your_own_technology_radar.htmlhttps://www.structurizr.com/https://8thlight.com/blog/uncle-bob/2011/09/30/Screaming-Architecture.html25