Online cursus – gecertificeerde professionele specialisatie in softwareontwerp en architectuur door Google en de Universiteit van Alberta

Bewuste strategieën voor het ontwikkelen van kwaliteitssoftware. Denk als een deskundige architect en creëer kwaliteitssoftware met behulp van ontwerppatronen en principes.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

starten

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • communicatieve vaardigheden
  • kritisch denken
  • tijdmanagement
  • teamwerk
  • probleem oplossen
  • Mogelijkheden voor gegevensanalyse
  • creativiteit
  • Omgaan met druk
  • leiderschapsvaardigheden
  • Zelfstandig leervermogen

What you will learn in the course

Courses for which the course is suitable

  • Software-ontwikkelaar
  • software-ingenieur
  • Ontwikkelaar van Android-apps
  • Software-architect
  • Java-ontwikkelaar
  • Ontwikkelaar van informatiesystemen
  • Fullstack-ontwikkelaar
  • Backend-ontwikkelaar
  • Front-end ontwikkelaar
  • Projectmanager technologie

Professionalisering – een reeks van 4-delige cursussen

In de software-ontwerp- en architectuurspecialisatiecursusreeks leer je hoe je ontwerpprincipes, patronen en architectuur kunt toepassen om applicaties en softwaresystemen te creëren die herbruikbaar en flexibel zijn. Je leert hoe je het ontwerp en de architectuur van een softwaresysteem kunt uitdrukken en documenteren met behulp van visuele notatie.

Praktische voorbeelden en mogelijkheden om uw kennis toe te passen, zullen u helpen bij het ontwikkelen van vaardigheden bij het zoeken naar werk en relevante training in de software-industrie.

Een praktisch leerproject

Het afstudeerproject omvat een op Java gebaseerde Android-applicatie, die je tijdens de vier cursussen van de specialisatie gaat bewerken en ontwikkelen. De applicatie zal evolueren van een applicatie voor één gebruiker die data lokaal opslaat, naar een Multi-User applicatie die data op afstand opslaat. In elke cursus krijgt u een codebasis in Java als uitgangspunt en zult u nieuwe inhoud moeten documenteren en implementeren met behulp van de kennis die u in de cursus heeft verworven.

U vindt er tutorials die u helpen de initiële codebasis te begrijpen en de basisprincipes van Android-ontwikkeling te leren.

vereisten

  • Het is vereist dat je basiskennis hebt van Java-programmeren.
  • Voor de capstone-applicatie moet u Android Studio gebruiken, een geïntegreerde ontwikkelomgeving.
  • Raadpleeg de tutorials voor Windows of Mac voor meer informatie over Android Studio.

Details of the courses that make up the specialization

Objectgericht ontwerp

  • Cursus 1 • 17 uur • 4,7 (2.315 beoordelingen)

Cursusdetails

wat ga je leren

Deze cursus brengt Java-beginners naar het volgende niveau door analyse en objectgeoriënteerd ontwerp te behandelen. Je ontdekt hoe je modulaire, flexibele en herbruikbare software kunt creëren door objectgeoriënteerde ontwerpprincipes en richtlijnen toe te passen. U kunt deze ontwerpen ook communiceren met behulp van een visuele notatie, de Unified Modeling Language (UML).

In het afstudeerproject word je uitgedaagd om je kennis van objectgeoriënteerd ontwerpen toe te passen door de Java-codebasis voor een Android-applicatie met passende UML-documenten te ontwikkelen en te vertrouwen.

Nadat u deze cursus heeft afgerond, kunt u:
  • Pas de cross-departementale collaboratieve verantwoordelijkheid (CRC)-techniek toe om het objectgeoriënteerde model voor het probleem te analyseren en te ontwerpen.
  • Principes van objectgeoriënteerde modellering en hun doelstellingen (bijv. abstractie, inkapseling, decompositie, generalisatie) uitleggen en toepassen.
  • Verschillende soorten overerving uitleggen en toepassen.
  • Leg het verschil uit tussen associatie-, aggregatie- en samenstellingsafhankelijkheden.
  • Druk objectgeoriënteerde modellen uit als klassendiagrammen in UML.
  • Vertalen tussen klassendiagrammen in UML en de bijbehorende Java-codebasis.
  • Pas ontwerprichtlijnen toe voor modulariteit, domeinscheiding, het verbergen van informatie en conceptuele integriteit om een ​​flexibel, herbruikbaar en onderhoudbaar ontwerp te creëren.
  • Leg het dilemma uit tussen holisme en connectiviteit.

Vaardigheden die je gaat verwerven

  • Categorie: Objectgericht ontwerp
  • Objectgericht ontwerp
  • Categorie: Objectgeoriënteerde analyse en ontwerp
  • Objectgeoriënteerde analyse en ontwerp
  • Categorie: Unified Modeling Language (UML)
  • Uniforme modelleringstaal (UML)

ontwerp patronen

  • Cursus 2 • 15 uur • 4,7 (1.308 beoordelingen)

Cursusdetails

wat ga je leren

Deze cursus breidt objectgeoriënteerde analyse en ontwerp uit door ontwerppatronen op te nemen om interactieve toepassingen te creëren. Door een beoordeling van gevestigde ontwerppatronen verkrijgt u basiskennis voor complexere softwaretoepassingen. Ten slotte identificeert u problematische softwareontwerpen door de Code Smells Guide te raadplegen.

In het afstudeerproject word je uitgedaagd om een ​​bestaande Java-gebaseerde Android-applicatie opnieuw te ontwerpen om een ​​combinatie van ontwerppatronen te implementeren. Inspecteer ook een bepaalde Javascript-codebase op codegeuren.

Nadat u deze cursus heeft afgerond, kunt u:
  • Demonstreren hoe u ontwerppatronen kunt gebruiken om ontwerpproblemen van gebruikersinterfaces aan te pakken.
  • Identificeer het meest geschikte ontwerppatroon om het ontwerpprobleem van een bepaalde toepassing aan te pakken.
  • Pas ontwerpprincipes toe (bijvoorbeeld open-gesloten, omkering van afhankelijkheid, minimale kennis).
  • Auditcode door antistructuren te identificeren en te repareren.
  • Pas het architectuurpatroon model-view-controller toe.

software-architectuur

  • Cursus 3 • 9 uur • 4,5 (893 beoordelingen)

Cursusdetails

wat ga je leren

De manier waarop de softwarecomponenten – subprocedures, klassen, functies, enz. – zijn gerangschikt, en de interacties daartussen, wordt architectuur genoemd. In deze cursus leer je hoe je deze architecturen kunt weergeven, zowel in UML als in andere visuele tools. We presenteren de meest voorkomende architecturen, hun kenmerken en dilemma’s. We zullen praten over hoe architectuur wordt geëvalueerd, wat goede architectuur is en hoe architectuur kan worden verbeterd. We zullen ook praten over hoe de architectuur het softwareontwikkelingsproces beïnvloedt.

In het afstudeerproject documenteer je een op Java gebaseerde Android-applicatie met UML-diagrammen en evalueer je de architectuur van de applicatie met behulp van de Architecture Dilemmas Analysis Method (ATAM).

Nadat u deze cursus heeft afgerond, kunt u:
  • Vergelijk en contrasteer componenten, verbindingen, protocollen, topologieën, beperkingen, dilemma’s en variaties van verschillende soorten architecturale stijlen die worden gebruikt bij het ontwerpen van applicaties en systemen (bijvoorbeeld hoofdprogramma en subprocedure, objectgeoriënteerd, zeilen, pijpen en filters, datacenters, op basis van evenementen).
  • Beschrijf de kenmerken van architecturen met meerdere lagen en meerdere niveaus.
  • Maak UML-diagrammen die zijn ontworpen voor de verpakking, componenten en lay-out om de architecturale structuur van een systeem tot uitdrukking te brengen.
  • Leg het gedrag van een systeem uit met behulp van activiteitendiagrammen in UML.
  • Documenteer een systeem met meerdere applicaties en een architectuur met meerdere lagen.

Servicegerichte architectuur

  • Cursus 4 • 9 uur • 4,5 (570 beoordelingen)

Cursusdetails

wat ga je leren

Op basis van inzicht in architectuurstijlen bekijk je architecturen voor webapplicaties en verken je vervolgens de basisprincipes van Service-Oriented Architecture (SOA) in twee benaderingen: Web Services (WS*) en Representational State Transfer (REST) ​​architectuur. In het afstudeerproject maak je verbinding met een Java-gebaseerde Android-applicatie met Elasticsearch, een webservice met een REST application programming interface (API).

Nadat u deze cursus heeft afgerond, kunt u:
  • Beschrijf SOA (Service Oriented Architecture) voor het ontwerpen van netwerkgebaseerde systemen.
  • Uitleg over WS*-services (dwz SOAP via HTTP, WSDL, UDDI, BPEL).
  • Implementeer een REST-architectuur (dwz JSON via HTTP, URI).
  • Identificeer REST-ontwerpprincipes.
  • Creëer een systeem met behulp van REST-interfaces.
  • Implementeer een microservices-architectuur.

Vaardigheden die je gaat verwerven

  • Categorie: netwerkdiensten
  • netwerkdiensten
  • Categorie: Microservices
  • Microdiensten
  • Categorie: Representatieve staatsoverdracht (REST)
  • Representatieve staatsoverdracht (REST)
  • Categorie: Servicegerichte Architectuur
  • Servicegerichte architectuur