Systemdesign fasens/aktivitetens mål er at specificere en løsning (eller flere) for det pågældende systemudviklingsforløb i form af en model af de relevante elementer og relationer indenfor systemets domæne samt systemets grænseflader til og interaktion med omgivelserne. som eventuelt skal implementeres som et fungerende system. Systemdesignet omfatter således data, processer og tilstande/adfærd som udgør de centrale elementer for at implementere det funktionelle system. Designet af grænsefladerne omfatter eventuel brugergrænseflade design og/eller teknisk interface design samt specifikation af procedurer for brug af systemet og kommunikationsprotokoller.
Systemdesign i struktureret systemudvikling sker med udgangspunkt i systemanalysens modeller i form af dataflowdiagrammer og entitetsrelationsdiagrammer. Dataflowdiagrammer omformes til hierarkiske strukturdiagrammer med angivelse af dataoverførsel mellem forskellige moduler suppleret med specifikation af bearbejdnings- og kontrolprocedurer i struktureret naturligt sprog. Entitetsrelationsdiagrammer "partitioneres" og "normaliseres" med henblik på eventuel databaseimplementering. Information Engineering omfatter tilsvarende systemdesign aktiviteter. Med objektorienteret systemudvikling foregår systemdesign på samme måde som systemanalysen i form af objekt strukturdiagrammer og interaktionsdiagrammer. Objekterne omformes dog fra forretningsorienterede objekter til implementeringsorienterede objekter, som kan være væsentligt forskellige.
Systemdesign af grænsefladerne omfatter i struktureret systemudvikling og Information Engineering design af skærmbilleder/rapporter og relationer mellem disse uden nærmere retningslinier for dette. Objektorienteret systemudvikling omfatter ligeledes design af skærmbilleder/rapporter samt objekter til håndtering af disse og sammenkobling med andre objekter.
Der anvendes således mange og meget forskellige metoder til systemdesign, hvoraf ingen med rette kan siges at være mere korrekte end andre. Systemdesign omfatter grundlæggende de samme elementer i form af data og processer, men de forskellige systemudviklingsmetoder tager udgangspunkt i og fremhæver forskellige aspekter ved elementerne og systemet. Systemudviklingsmetodologier er som regel begrænset til én synsvinkel på systemet.
Fælles for systemdesign metoderne gælder at systemdesign modellerne adskiller sig væsentligt fra de relaterede systemanalyse modeller. En del systemdesign modelleringssprog anvender helt andre koncepter og præsentationsformer end de relaterede systemanalyse modelleringssprog. Selv hvis modelleringssprog koncepterne og præsentationsformerne er indholdet væsentligt anderledes således at der reelt er tale om separate modeller for henholdsvis systemanalyse og systemdesign.
Systemdesign metoderne har desuden begrænset fleksibilitet idet de kun omfatter nogle få programmeringsorienterede beskrivelseselementer. Systemdesign modelleringssprogene er naturligt mere programmeringsorienterede end de relaterede systemanalyse modelleringssprog som traditionelt mellemtrin mellem systemanalyse og implementering. Systemdesign modelleringsprogene afspejler således i vid udstrækning koncepterne fra de anvendte programmeringssprog.
Generel systemmodellering bør således omfatte integreret modellering af det funktionelle system såvel som systemets grænseflader til omgivelserne, og modelleringen af det funktionelle system bør kunne rumme både det computerbaserede system og eventuelle ikke computerbaserede omgivelser. Den generelle systemmodellering bør løbende kunne skiftes mellem forskellige synsvinkler uden at være direkte eller indirekte bundet til bestemte implementeringssprog.
|