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
    sarccom

  • View
    88

  • Download
    4

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

2

2

AgendaArchitecture aspectsTechnical knowledgeDiagram as communication tools3

4

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

4

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

Technicaldepth

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

5

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

7

7

8

9

10

11

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

13

Show Indonesia map13

14

Show zoom in map for Jakarta14

15

Map zoom in for Blibli office.

15

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

18

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

20

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

23

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