Kursarrangør:
Bouvet
|
|
Sted: Oslo
|
|
Type:
Åpent kurs / gruppeundervisning
|
|
Pris:
13.500
|
|
Undervisningstid:
Ta kontakt for avtale
|
|
Varighet:
2 dager
|
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. The Instructor: Simon Brown Depending on your viewpoint, Simon is either a software architect who codes or a software developer who understands architecture. When he´s not developing software with .NET or Java, Simon can usually be found consulting, coaching or training. Simon has also written books about Java, presented at industry events and has put together a training course called Software architecture for developers, which is based upon his software architecture writing at Coding the Architecture.
What is "Software Architecture for Developers"? Designing software given a vague set of requirements and a blank sheet of paper is a good skill to have, although not many people get to do this on a daily basis. However, with agile methods encouraging collective ownership of the code, it´s really important that everybody on the team understands the big picture. And in order to do this, you need to understand why you´ve arrived at the design that you have. In a nutshell, everybody on the team needs to be a software architect.
"Software Architecture for Developers" is a two-day training course about pragmatic software architecture, designed by software architects that code. It will show you what "just enough" up front design is, how it can be applied to your software projects and how to communicate the big picture through a collection of simple effective sketches. It´s aimed at software developers and architects regardless of whether you´re building software in Java, .NET or something else. Join us for a mixture of presentation, discussion and deliberate practice.
How does it work? The course is interactive: with a combination of presentation, group discussion and group working. Throughout the course you´ll solidify everything you learn by defining the architecture for a small software system through a series of exercises focused around a case study.
Who designed the course? This course has been designed by Simon Brown and Kevin Seal: both hands-on software architects with experience of complex software systems built using Java and the Microsoft .NET framework. They are also the founders of Coding the Architecture (a website for pragmatic, hands-on software architects), have written a number of books about Java EE and regularly speak at software development events.
What do we cover? The course is broken up into five areas, 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.
1.What is "architecture"? 2.What is "software architecture"? 3.How does architecture differ from design? 4.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.
1.What is the role of a software architect? 2.How do you avoid becoming an "ivory tower architect"? 3.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.
1.What impact do functional requirements, non-functional requirements, constraints and principles have on software architecture? 2.How do you take a system vision through to a software architecture? 3.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.
1.Who are the stakeholders that are interested in your software architecture? 2.How do you document your software architecture? 3.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.
1.How does software architecture fit into the software development process? 2.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!
What is the agenda? Here´s a breakdown of what we cover on the course, although the timings are indicative rather than set in stone because we like to foster discussion rather than cut it short.
Day 1 •[09:00 - 09:30] Introductions and setting the scene •[09:30 - 10:30] What is software architecture?
?What is architecture? ?Types of architecture ?Design versus architecture ?Why do we need architecture?
•[10:30 - 11:00] Break •[11:00 - 12:30] What is the role of a software architect?
?How does a software architect fit in to a development team? ?How are software architects and lead developers different? ?What sort of skills does a software architect need? ?What does the overall role look like?
•[12:30 - 13:30] Lunch •[13:30 - 15:00] How do you define software architecture?
?What drives software architecture? ?How do functional requirements drive architecture? ?How do non-functional requirements drive architecture? ?How do you design for non-functional requirements? ?How do constraints drive architecture? ?How do principles drive architecture? ?How do you design software given a blank sheet of paper?
•[15:00 - 15:30] Break •[15:30 - 17:00] Case study (defining an architecture for a software system)
Day 2 •[09:00 - 10:30] Case study (defining an architecture for a software system) •[10:30 - 11:00] Break •[11:00 - 12:30] Case study (review and wrap-up) •[12:30 - 13:30] Lunch •[13:30 - 15:00] How do you share software architecture?
?Should software systems be documented? ?Who needs to know about your architecture? ?How do you write a software architecture document (SAD)? ?What other methods are there for sharing architecture?
•[15:00 - 15:30] Break •[15:30 - 16:30] How do you deliver software architecture?
?When should a software architect be involved in a project? ?How does software architecture fit into iterative development? ?How does software architecture fit into agile development? ?How much software architecture do you need to do? ?How do you evaluate your architecture? ?What is load testing and how do you do it?
•[16:30 - 17:00] Discussion, questions and wrap-up
|
|
|
|
|
Ønsker du mer informasjon om dette kurset?
|
Bouvet
Bouvet er et konsulentselskap som leverer utviklings- og rådgivningstjenester innen informasjonsteknologi. Våre styrker er bred kompetanse, lang erfaring og evner til kreativ problemløsning. Bouvet har omlag 500 ansatte og 10 kontorer i Norge og Sverige.
Bouvet leverer et integrert tjenestespekter bestående av områdene portaler, systemutvikling, systemintegrasjon, SAP, Business Intelligence, applikasjonsforvaltning og kurs.
|
|
|
|
|
Tips en venn
|
|