Oversikt over designprosessen

Oversikt over designprosessen

Programvaren Design Process

Programvaren designprosessen beskriver alle aspekter av et program som skal bygges. Når programvaren kravene er definert, programvare ingeniører lage et design for å møte disse kravene, som produserer en slags blåkopi som skal følges i byggingen av programvareløsningen. Designprosessen omfatter planlegging av organisering, struktur, funksjoner og funksjonalitet i programvaren. I tillegg til å definere organiseringen av programvarekode som skal skrives, kan utformingen inkludere bruk av eksisterende programvare biblioteker og komponenter, layout og oppførselen til grafiske brukergrensesnitt, etablering av en dataordbok og oppførselen til programvaren når opplever feil . Det er mange programvare designmetoder. Prosessen kan være, uformell, litt mer enn å skissere en disposisjon på et hvitt bord eller formell, med omfattende dokumentasjon som beskriver det laveste nivået detaljene.

aktiviteter

Software design innebærer fire generelle aktiviteter, i varierende grad basert på prosjektkrav - Data Design, interface design, arkitektonisk utforming og prosessdesign. Data Design definerer dataobjekter, attributter og relasjoner, organisering av data i programvaren struktur og bruk av dataene ved programvaren. Grensesnitt design definerer samhandling internt i programvaren og eksternt med menneskelige brukere eller utenfor programmer. Arkitektonisk utforming beskriver programvaremodulene, interaksjon mellom modulene og grensesnitt som tillater data å strømme gjennom programvaren struktur. Prosedyre utforming angir prosedyrer og algoritmiske detaljer og vanligvis oppstår som den siste fasen av designprosessen.

Nærme seg

I nærmer utformingen av en programvareløsning, kan en programvare ingeniør velge en top-down eller bottom-up tilnærming. I en top-down tilnærming, ingeniøren studerer programvareløsning som helhet, dele løsningen til store abstrakte komponenter, og ytterligere foredler hver komponent ved å dele den videre inn i sub-komponenter, raffinering og legger til detaljer, noe som resulterer i en omfattende generelle design. Bruk av bottom-up tilnærming, er grunnkomponentene designet først uten en klar definisjon for hvordan disse komponentene forholder seg til den totale løsningen. Base nivå komponenter er design skrevet, testet og deretter koblet sammen til delsystemer, designe og bygge opp mot den totale løsningen. Mens top-down tilnærming gir en helhetlig utforming og forståelse av løsningen tidlig i designprosessen, gjør at bottom-up tilnærming programmerere til å begynne å skrive og testing kode tidligere. Moderne software engineering bruker vanligvis en kombinasjon av begge tilnærminger.

betraktninger

I tillegg til programvarekrav som bestemmer hvilke funksjoner og funksjonalitet programvareløsningen vil omfatte, er det flere hensyn å sikre at løsningen er fleksibel, stabil og vedlikeholdsvennlig. For eksempel, fordeler modularitet utviklingsprosessen ved å definere selvstendige, testbare komponenter og forenkler utformingen av gjenbrukbare komponenter, til slutt sparer tid og kostnader. Utvidelses tillater programvaren å imøtekomme for ekstra funksjoner og funksjonalitet uten å gjøre store endringer i design. Pålitelighet, feiltoleranse og robusthet sikre programvareløsningen er stabil under en rekke av forventede og uventede forhold, utvinne fra feil og sviktende grasiøst. Brukervennlighet og tilgjengelighet optimalisere for den menneskelige faktor, designe brukergrensesnitt som er enkelt å bruke og lære for omfanget av erfaring og evner til brukerne for hvem programvare er laget.

modellering

Oversikt over designprosessen


Programvare ingeniører bruker modellering for å illustrere og kommunisere en software design. Modelleringsspråk har standardiserte regler for å beskrive eller å illustrere komponentene i et design. Grafiske modelleringsspråk bruke symboler for å illustrere et design, visuelt beskriver organisering, flyt, komponent relasjoner og funksjonalitet av en programvareløsning. Moderne modelleringsprogrammer lette programvareutvikling prosessen ved å generere språkspesifikk kode basert på den modellerte design.

Design Patterns

Design mønstre er designmaler for å løse felles programvare design problemer. Design Patterns tillater designeren å umiddelbart utforme en programvarekomponent ved å tilpasse et forhåndsdefinert mønster til hans behov. Ved hjelp av design patterns, kan designeren skape den generelle design raskere, ved hjelp av løsninger som er kjent for å være fleksibel, stabil, gjenbrukbare eller gi andre spesifikke fordeler.