arkitektur

beskrivning i stora drag av ett system av mjukvara. Arkitektu­ren be­skriver vilka kom­po­nenter som ingår i systemet, vad komponenterna ska göra, hur de fungerar ihop och hur hård­vara och användare på­verkar systemet. – Termen används också om hård­vara i motsvarande bety­delse. – På engelska: architecture. – Se också it‑arki­tekt.

[systemutveckling] [ändrad 3 oktober 2019]

it-arkitekt

specialist på att utforma it-system så att de motsvarar kraven i den verksamhet de är avsedda för. – Uppgiften är att beskriva arkitekturen i stora drag, inte att realisera den i detalj. Man brukar skilja mellan olika typer av it-arkitektur:

  • Företagsarkitektur (enterprise architecture) beskriver företaget, dess delar och relationerna mellan dem;
  • Mjukvaruarkitektur (software architecture) är en utförlig beskrivning av de program och databaser som en organisation använder;
  • Infrastrukturarkitektur (infrastructure architecture) handlar om den grundläggande struktur av datorer, servrar och datakommunikation som en organisation behöver;
  • Informationsarkitektur (information architecture) handlar om hur organisationens information ska hanteras, lagras, spridas och skyddas;
  • Verksamhetsarkitektur (business architecture) är kopplingen mellan företagsarkitekturen och verksamheten, så som den uttrycks i it-systemet.

– En internationell organisation för it-arkitekter är IASA.

[systemutveckling] [yrken] [ändrad 30 januari 2019]

tjänsteorienterad arkitektur

(service-oriented architecture, SOA, på svenska skämt­samt även TjOA) – program­system som består av delar som lätt kan kombineras till olika applikationer. – Systemet byggs upp av delar (tjänster) med tydliga och avgränsade uppgifter (lön, kund, order) och dessa görs så att de lätt kan kombineras med varandra. Syftet är att en tjänst bara ska programmeras en gång i en organisation. – Tjänsteorienterad arkitektur kan ses som en reaktion på det faktum att många organisationer har många system som gör ungefär samma sak, men som inte fungerar ihop. I SOA sätts system vid behov ihop av komponenter i en behållare (container). Det som kallas för tjänster är alltså inte tjänster för slutanvändaren, utan tjänster i betydelsen färdigskrivna funktioner för programmeraren. – Dessutom ska de standardiserade gränssnitten göra det möjligt för program från olika leverantörer att utbyta tjänster direkt vid behov, utan att det behövs tilläggsprogram för översättning. – Tjänsteorienterad arkitektur är nära knutet till web services. – I mitten av 2010-talet började SOA‑trenden att ersättas av mikrotjänster – samma princip, men med mer finfördelade funktioner. – Jäm­för med informations­orienterad arkitektur.

[it-system] [systemutveckling] [ändrad 15 mars 2018]

agil systemutveckling

(agile software development) – arbetssätt för system­utveckling som betonar snabb­­het, informellt samarbete, täta kund­kontakter och möjlig­het att ändra under arbetets gång. (Se agil.) Även krav­specifikationen bör kunna revideras. Det är en rörelse, inte en en­­hetlig metod. – Manifestet för agil system­­utveckling (länk) publicerades 2001 av en grupp pro­grammerare som hade reagerat på strävan efter detaljerade kravspecifikationer, omfattande dokumentation och byrå­kratiserande metoder och processer. De bildade Agile Alliance (länk), och har sedan dess utvecklat verk­tyg och andra hjälpmedel. – Jäm­­för med devops, chatops, noops, extrem­programmering, lean software development, Scrum och DSDM. – Se också artikeln ”Agile software development is dead. Deal with it” från 2020.

[systemutveckling] [ändrad 3 februari 2020]

klass

i objektorienterad systemutveckling: ett antal objekt med gemensamma egenskaper. – Exempel: varje enskilt sparkonto i en bank tillhör klassen ”sparkonton” i bankens it‑system – de är instanser av den klassen. Varje sparkonto (varje objekt) innehåller individuell information (kontoställning, kontohavare, etcetera) som kan bearbetas av den programkod som alla objekt i klassen har gemensamt (metoder). Sparkonton kan i sin tur vara en subklass av klassen Konton. – Varje klass (utom den översta) ärver sina egenskaper, inklusive programkoden (metoderna) från närmast överordnade klass samt har ett antal egna tillägg och uteslutningar. Det innebär att en ändring i en högre klass automatiskt sprider sig (ärvs) till alla objekt i underordnade klasser. – Jämför med språket, där vanliga substantiv (som bil) motsvarar klasser. Individuella exemplar (min bil CPU 286) motsvarar objekt. Min bil är en instans av klassen bil. Om jag lär mig något nytt om bilar i allmänhet vet jag att det nya (troligen) gäller även för min bil CPU 286. – Klasserna kan ha subklasser (personbil). En klass har attribut (egenskaper, värden) och metoder (operationer som kan utföras). – På engelska: class.

[programmering] [systemutveckling] [ändrad 26 september 2018]

ontologi

i it: beskrivbar värld, begreppsvärld – de föremål, processer och begrepp som finns inom ett kunskapsområde; relationerna mellan dem. De ska vara namn­givna – se semantik. – I systemutveckling hör onto­logi och semantik nära samman. Systemet ska ju hantera företeelser i den yttre världen, och då krävs det att utvecklarna definierar vilka företeelser det ska vara, namnger dem, anger vilka egenskaper de ska ha i systemet och vilka relationer de har till varandra. Den semantiska webben förut­sätter till exempel detaljerade onto­logier. – Ordet ontologi är hämtat från filosofin, där ontologi är läran om vad som menas med existens och om vad som verkligen existerar. Onto- kommer av ett grekiskt ord som kan översättas med att finnas till.

[filosofi] [systemutveckling] [ändrad 3 juli 2019]

användningsfall

(use case) – i systemutveckling: inventering av de behov och krav som olika användare – kunder, opera­törer, reparatörer, andra anslutna apparater och maskiner – ställer på ett system. Det är den första fasen i systemutveckling enligt ett synsätt som lanserades av Ivar Jacobson i hans Objectory-metod, och som har anammats i objekt­orienterad systemutveckling, till exempel i UML. Det är en form av kravfångst. – Se videon Use case 2.0. – 2011 kom Ivar Jacobsons bok Use-case 2.0, som kan laddas ner här. Mer på Ivar Jacobsons webbsidor. – Språkligt: Ob­servera att användnings­fall är originaltermen. Use case är den engelska över­­­sättning som Ivar Jacobson själv använder. – Jämför med användarberättelse.

[systemutveckling] [ändrad 28 maj 2020]

Apollonsyndromet

Guden Apollon besegrar Python.
Guden Apollon besegrar Python.
  1. – när ett projekt miss­lyckas eller drar ut på tiden därför att be­gå­vade del­tag­are tvistar med var­andra;
  2. – när någon på svaga grunder påstår sig ha spelat en av­gör­ande roll i ett viktigt projekt;
  3. – när man avsiktligt drar ut på ett projekt för att det inte ska av­slutas.

– Benämningen kommer från den brittiske psyko­logen Meredith Belbin (länk), som avsåg be­ty­delse 1. Han beskrev feno­menet 1981 i sin bok Manage­ment teams (länk). Boken finns på svenska med samma titel. På engelska: Apollo syndrome. Namnet, efter den grekiska gud som på svenska heter Apollon, har ingen särskild inne­börd, utan valdes god­tyck­ligt.

Gantt

Gantt-schema – grafisk beskrivning av projektplanering. Ett Ganttschema består av horisontella ”stolpar” som följer tidsaxeln (diagrammets X‑axel). Varje ”stolpe” beskriver ett delprojekt. Stolparna kan delas upp för att markera etapper och hur långt man har kommit, och det går också att markera beroenden mellan olika delprojekt. – Uppkallat efter Henry Gantt, se Wikipedia.

[projektarbete] [ändrad 6 juli 2017]

process

  1. – i datorer: ett program eller del av ett program som körs i datorns processor. Varje aktivt program motsvaras av en eller flera processer. Dessutom är alltid flera processer igång som körs av operativsystemet. – I Windows kan man se vilka processer som är igång genom att trycka på ctrl‑alt‑delete. – I själva verket kan bara en process åt gången behandlas i processorn (såvida datorn inte har flera processorer eller en processor med flera kärnor). Operativsystemet ser till att det sker en växling mellan processerna (se multikörning) många gånger per sekund. Process i denna betydelse kallas på engelska också för task – uppdrag;
  2. – i systemutveckling: plan för hur man steg för steg bygger (realiserar) ett system i enlighet med en modell. Modeller i sin tur utvecklas med metoder. – Numera drar man inte en skarp gräns mellan metod och process – ofta används termen metod om båda. Det anses i praktiken inte möjligt att göra en detaljerad modell på förhand och att sedan realisera den utan ändringar;
  3. – affärsprocess – beskrivning hur man steg för steg utför något i ett företag tills man har fullföljt det hela. På engelska business process.

[företag och ekonomi] [programkörning] [systemutveckling] [ändrad 7 september 2018]