Software Architecture for Developers med Simon Brown
Kurset "Software Architecture for Developers" er et todagers kurs som omhandler pragmatisk arkitektur laget
av programvare arkitekter som selv til daglig koder. Kurset vil gi deg et bredere perspektiv og gi deg et større
spekter av ferdigheter innen systemutvikling. Det vil gjøre deg mer oppmerksom på arkitektur i utviklingsprosessen
og gjøre deg istand til å utvikle bedre systemer. Kurset er rettet mot utviklere og arkitekter uavhengig av teknologi
og plattform, det passer like godt om du lager systemer for Java, .NET eller noe annet.
Det kommer an på øyet som ser; Simon er enten en softwarearkitekt som koder
eller en programvareutvikler som forstår arkitektur. Når han ikke utvikler
programvare med .NET eller Java, jobber Simon med rådgivning, coaching eller opplæring.
Simon har skrevet flere bøker om Java, han holder foredrag rundt om i verden, og har selv utviklet kurset som
han holder hos Bouvet.
Kursinnholdet er basert på det han skriver om på http://www.codingthearchitecture.com/
Kursvarighet: 2 dager fra klokken 09:00 til 17:00
Pris: kr 13.500,-
MELD DEG PÅ HER
What do we cover?
The course is broken up into five areas as follows, each tackling a different part of the software architecture story.
What is software architecture?
"Architecture" is a very misunderstood term within the software industry, so we start out by defining what it means to us, talking about how it differs to design and introducing the context for the rest of the course. We cover architecture at different levels; from application architecture through to enterprise architecture.
What is "architecture"?
What is "software architecture"?
How does architecture differ from design?
Why do we need software architecture?
What is the role of a software architect?
With a definition of architecture under our belts, we move on to clarify the role of an architect by looking at roles and responsibilities in software teams, which leads us to the conclusion that the architect role is different from that of a lead developer. We explore everything from the technical skills and knowledge needed by a hands-on software architect through to leadership and soft skills.
What is the role of a software architect?
How do you avoid becoming an "ivory tower architect"?
What sort of technical and soft skills do you need as a software architect?
How do you define software architecture?
Software architecture doesn't exist in a vacuum and is driven by the functional requirements, the non-functional requirements, constraints and principles. We take a look at all of them to understand the impact that they have and the trade-offs that need to be made when defining architectures. Architecture definition is a large part of the course and is reinforced by a case study.
What impact do functional requirements, non-functional requirements, constraints and principles have on software architecture?
How do you take a system vision through to a software architecture?
How do you design for non-functional requirements?
How do you share software architecture?
Architectures don't live in isolation and we focus on this to explore how software architecture involves more than a single view of the system, with those views being important to different stakeholders. We take a look at the various views that you might include in a software architecture document along with some other ways to collaborate on and share software architectures.
Who are the stakeholders that are interested in your software architecture?
How do you document your software architecture?
What other options are there for sharing your software architecture?
How do you deliver software architecture?
We look at the processes used by and involvement that an architect might have during a typical software development lifecycle, all of which is applicable regardless of whether you're using a traditional, iterative or agile methodology. We also look at how you can successfully evaluate, test and deliver a software architecture with complex non-functional requirements such as performance and scalability.
How does software architecture fit into the software development process?
How do you start delivering and evaluating your software architecture?
What about technology?
Although the course is technology agnostic, there is lots of technical content and we relate this back to Java and Microsoft .NET in order to provide some real world context and guidance. After all, this course is about architecture within the context of software development!