Software modernisering - Software modernization
Ældre modernisering, også kendt som softwaremodernisering eller platformmodernisering, refererer til konvertering, omskrivning eller portering af et ældre system til moderne computerprogrammeringssprog , arkitekturer (f.eks. Mikrotjenester ), softwarebiblioteker, protokoller eller hardwareplatforme. Ældre transformation sigter mod at bevare og udvide værdien af den ældre investering gennem migration til nye platforme for at drage fordel af fordelene ved de nye teknologier.
Strategier
At træffe beslutninger om modernisering af software er en proces inden for en organisatorisk kontekst. "Real world" beslutningstagning i erhvervsorganisationer skal ofte træffes baseret på "afgrænset rationalitet". Derudover findes der flere (og muligvis modstridende) beslutningskriterier; sikkerheden, fuldstændigheden og tilgængeligheden af nyttige oplysninger (som grundlag for beslutningen) er ofte begrænset.
Ældre systemmodernisering er ofte et stort flerårigt projekt. Fordi disse ældre systemer ofte er kritiske i driften af de fleste virksomheder, indfører implementering af det moderniserede system på én gang et uacceptabelt niveau for operationel risiko. Som et resultat moderniseres ældre systemer typisk trinvist. I første omgang består systemet fuldstændigt af ældre kode. Når hvert trin er fuldført, falder procentdelen af ældre kode. Til sidst er systemet fuldstændig moderniseret. En migrationsstrategi skal sikre, at systemet forbliver fuldt funktionsdygtigt under moderniseringsindsatsen.
Moderniseringsstrategier
Der er forskellige drivere og strategier til software modernisering:
- Architecture Driven Modernization (ADM) er initiativet til at standardisere visninger af de eksisterende systemer for at muliggøre fælles moderniseringsaktiviteter som kode analyse og forståelse og software transformation.
- Business-Focus Approach: Moderniseringsstrategien er knyttet til den forretningsmæssige værdi, der tilføjes af moderniseringen. Det indebærer at definere skæringspunktet mellem kritikaliteten for en applikations forretning med dens tekniske kvalitet. Denne tilgang, som Gartner skubber til, sætter Application Portfolio Analysis (APA) som en forudsætning for moderniseringsbeslutninger for en applikationsportefølje til at måle softwares sundhed, risici, kompleksitet og omkostninger, hvilket giver indsigt i applikationsstyrker og svagheder.
- Model Driven Engineering (MDE) undersøges som en metode til reverse engineering og derefter videre engineering software -kode.
- Renæssancemetode til iterativ evaluering af ældre systemer fra tekniske, forretningsmæssige og organisatoriske perspektiver.
- WMU (Warrants, Maintenance, Upgrade) er en model til valg af passende vedligeholdelsesstrategier baseret på ønsket kundetilfredshedsniveau og deres virkninger på det.
Modernisering af risikostyring
Software modernisering er en risikabel, vanskelig, lang og meget intellektuel proces, der involverer flere interessenter. Softwaremoderniseringsopgaverne understøttes af forskellige værktøjer relateret til model-drevet arkitektur fra Object Management Group og processer som ISO/IEC 14764: 2006 eller Service-Oriented Migration and Reuse Technique (SMART). Software modernisering indebærer forskellige manuelle og automatiserede opgaver udført af specialiserede vidensarbejdere. Værktøjer understøtter projektdeltageres opgaver og hjælper med at organisere samarbejdet og sekventeringen af arbejdet.
En generel tilgang til softwaremodernisering, der eksplicit tager hensyn til risici (både teknologiske og forretningsmæssige mål), består af:
- Analyse af den eksisterende portefølje: måling af teknisk kvalitet og forretningsværdi. Konfronterer den tekniske kvalitet med forretningsmål for at definere den rigtige strategi: udskift, no go, lav prioritet, god kandidat.
- Identificer interessenter: alle personer, der er involveret i softwaremoderniseringen: udviklere, testere, kunder, slutbrugere, arkitekter, ...
- Forstå kravene: Kravene er opdelt i 4 kategorier: bruger, system, begrænsninger og ikke -funktionel.
- Opret Business Case: business case understøtter beslutningsprocessen ved at overveje forskellige tilgange, når beslutningstagere har brug for det.
- Forstå det system, der skal moderniseres: dette er et kritisk trin, da softwaredokumentation sjældent er opdateret, og projekter udføres af mange teams, både interne eller eksterne og normalt ude af syne i lang tid. Udtrækning af applikationens indhold og dets arkitekturdesign hjælper med at ræsonnere om systemet.
- Forstå og evaluer målteknologi: dette gør det muligt at sammenligne og kontrastere teknologier og muligheder mod krav og eksisterende system.
- Definer moderniseringsstrategi: strategien definerer transformationsprocessen. Denne strategi skal rumme ændringer, der sker under moderniseringsprocessen (teknologiske ændringer, yderligere viden, kravudvikling).
- Afstem strategi med interessenternes behov: Underforståede interessenter kan have forskellige meninger om, hvad der er vigtigt, og hvad der er den bedste måde at gå videre på. Det er vigtigt at have enighed mellem interessenterne.
- Estimere ressourcer: når tidligere trin er defineret, kan omkostninger evalueres. Det gør det muligt for ledelsen at afgøre, om moderniseringsstrategien er mulig i betragtning af de tilgængelige ressourcer og begrænsninger.
Moderniseringsomkostninger
- Softcalc (Sneed, 1995a) er en model og et værktøj til at estimere omkostninger ved indkommende vedligeholdelsesanmodninger, udviklet baseret på COCOMO og FPA.
- EMEE (Early Maintenance Effort Estimation) er en ny metode til hurtig estimering af vedligeholdelsesindsatsen, inden den egentlige vedligeholdelse påbegyndes.
- RENAISSANCE er en metode til at understøtte systemudvikling ved først at gendanne et stabilt grundlag ved hjælp af reengineering og efterfølgende kontinuerligt forbedre systemet med en strøm af inkrementelle ændringer. Fremgangsmåden integreres med succes med forskellige projektstyringsprocesser
Udfordringer i arvsmodernisering
Primære problemer med et ældre system inkluderer meget gamle systemer med mangel på dokumentation, mangel på SMV'er/ viden om de gamle systemer og mangel på teknologiske færdigheder, hvor de gamle systemer er blevet implementeret. Typiske gamle systemer har eksisteret i mere end to årtier. At migrere er fyldt med udfordringer:
- Manglende synlighed på tværs af store applikationsporteføljer - Store it -organisationer har hundredvis, hvis ikke tusinder af softwaresystemer. Teknologi og funktionel viden er i sagens natur distribueret, fortyndet og uigennemsigtig. Intet centralt synlighedspunkt for den øverste ledelse og Enterprise Architects er et topspørgsmål - det er udfordrende at træffe moderniseringsbeslutninger om softwaresystemer uden at have de nødvendige kvantitative og kvalitative data om disse systemer på tværs af virksomheden.
- Organisatorisk forandringsstyring-Brugere skal genuddannes og udstyres til effektivt at bruge og forstå de nye applikationer og platforme.
- Sameksistens mellem ældre og nye systemer - Organisationer med et stort fodaftryk af ældre systemer kan ikke migrere på én gang. En trinvis moderniseringsmetode skal vedtages. Dette medfører imidlertid sit eget sæt udfordringer som at levere komplet virksomhedsdækning med velforstået og implementeret overlappende funktionalitet, dataduplikering; smide systemer til at bygge bro mellem gamle og nye systemer, der er nødvendige i mellemfaserne.
- Dårlig styring af strukturel kvalitet (se softwarekvalitet ), hvilket resulterer i en moderniseret applikation, der bærer mere sikkerhed, pålidelighed og vedligeholdelsesproblemer end det originale system.
- Betydelige moderniseringsomkostninger og varighed - Modernisering af et komplekst missionskritisk arvssystem kan kræve store investeringer, og varigheden af at have et fuldt kørende moderniseret system kan løbe ind i år, for slet ikke at tale om uforudsete usikkerheder i processen.
- Interessenters engagement - Hovedorganisationens interessenter skal være overbevist om, at investeringen foretages til modernisering, da fordelene og en umiddelbar ROI muligvis ikke er synlige i forhold til de moderniseringsomkostninger, der investeres.
- Softwaresammensætning - Det er yderst sjældent, at udviklere i disse dage opretter 100% original kode i noget, der er bygget efter 2010. De bruger ofte tredjeparts- og open source -rammer og softwarekomponenter for at opnå effektivitet, hastighed og genanvendelighed. Dette medfører to risici: 1.) sårbarheder inden for tredjepartskoden, og 2.) open source -licensrisiko.
Sidst men ikke mindst er der ingen one-stop løsning, der passer til alle slags muligheder i moderniseringen. Med et væld af kommercielle og skræddersyede muligheder til modernisering, er det afgørende for kunderne, sælgerne og eksekutørerne at forstå forviklingerne ved forskellige moderniseringsteknikker, deres bedst anvendelige implementeringer, egnethed i en bestemt kontekst og de bedste fremgangsmåder, der skal følges før at vælge den rigtige moderniseringsmetode.
Moderniseringsmuligheder
I årenes løb er der kommet flere forskellige muligheder for ældre modernisering - hver af dem mødtes med varierende succes og adoption. Selv nu er der en række muligheder, som forklaret nedenfor, og der er ingen "muligheden" for alle gamle transformationsinitiativer.
- Vurdering af applikationer: Baselining af den eksisterende applikationsportefølje ved hjælp af Software intelligence til at forstå softwares sundhed, kvalitet, sammensætning, kompleksitet og cloud -parathed til at begynde at segmentere og prioritere applikationer til forskellige moderniseringsmuligheder.
- Applikationsopdagelse : Applikationskomponenter er stærkt sammenflettet, hvilket indebærer krav om at forstå kompleksiteten og løse indbyrdes afhængigheder af softwarekomponenter.
- Migration: Migration af sprog (3GL eller 4GL), databaser (ældre til RDBMS og et RDBMS til et andet), platform (fra et OS til et andet OS), ofte ved hjælp af automatiserede konvertere eller programtransformationssystemer til høj effektivitet. Dette er en hurtig og omkostningseffektiv måde at omdanne gamle systemer.
- Cloud Migration: Migration af ældre applikationer til cloud -platforme, der ofte bruger en metode som Gartners 5 Rs -metode til at segmentere og prioritere apps i forskellige modeller (Rehost, Refactor, Revise, Rebuild, Replace).
- Re-engineering: En teknik til at genopbygge ældre applikationer i ny teknologi eller platform, med samme eller forbedrede funktionalitet-normalt ved at vedtage Service Oriented Architecture (SOA). Dette er den mest effektive og smidige måde at transformere ældre applikationer. Dette kræver software-intelligens på applikationsniveau med ældre systemer, der ikke er velkendte eller dokumenterede.
- Re-hosting: Kørsel af de ældre programmer uden større ændringer på en anden platform. Forretningslogik bevares, når applikationer og data migreres til det åbne miljø. Denne indstilling kræver kun udskiftning af middleware, hardware, operativsystem og database. Dette bruges ofte som et mellemliggende trin for at fjerne ældre og dyr hardware. De mest almindelige eksempler omfatter, at mainframe -applikationer genhostes på UNIX- eller Wintel -platformen.
- Pakkeimplementering: Udskiftning af ældre applikationer, helt eller delvist, med off-the-shelf software (COTS) såsom ERP, CRM, SCM, Billing software osv.
En ældre kode er enhver applikation baseret på ældre teknologier og hardware, såsom mainframes, der fortsat leverer kernetjenester til en organisation. Ældre applikationer er ofte store og vanskelige at ændre, og skrotning eller udskiftning af dem betyder ofte også, at en organisations forretningsprocesser skal omdesignes. Imidlertid bliver flere og flere applikationer, der blev skrevet på såkaldte moderne sprog som java , gamle. Mens 'gamle' sprog som COBOL er øverst på listen for hvad der ville blive betragtet som arv, kan software skrevet på nyere sprog være lige så monolitisk, svært at ændre og dermed være kandidater til moderniseringsprojekter.
Genimplementering af applikationer på nye platforme på denne måde kan reducere driftsomkostninger, og de nye teknologiers ekstra muligheder kan give adgang til funktioner såsom webtjenester og integrerede udviklingsmiljøer. Når transformationen er fuldført og funktionel ækvivalens er nået, kan applikationerne tilpasses tættere på nuværende og fremtidige forretningsbehov ved at tilføje ny funktionalitet til den transformerede applikation. Den nylige udvikling af nye teknologier såsom programtransformation af softwaremoderniseringsvirksomheder har gjort den ældre transformationsproces til en omkostningseffektiv og præcis måde at bevare ældre investeringer og derved undgå omkostninger og forretningsmæssige konsekvenser af migration til helt ny software.
Målet med ældre transformation er at bevare værdien af det gamle aktiv på den nye platform . I praksis kan denne transformation have flere former. Det kan f.eks. Indebære oversættelse af kildekoden eller en vis grad af genbrug af eksisterende kode plus en web-til-vært-mulighed for at give kunden adgang, som virksomheden kræver. Hvis en omskrivning er nødvendig, kan de eksisterende forretningsregler ekstraheres for at udgøre en del af kravserklæringen for en omskrivning.
Software migration
Softwaremigrering er processen med at flytte fra brugen af et driftsmiljø til et andet driftsmiljø, der i de fleste tilfælde menes at være et bedre. For eksempel vil flytning fra Windows NT Server til Windows 2000 Server normalt blive betragtet som en migration, fordi det indebærer at sikre, at nye funktioner udnyttes, gamle indstillinger ikke kræver ændring og at tage skridt til at sikre, at nuværende applikationer fortsat fungerer i det nye miljø. Migration kan også betyde overgang fra Windows NT til et UNIX-baseret operativsystem (eller omvendt). Migration kan indebære at flytte til ny hardware, ny software eller begge dele. Migration kan være i lille skala, f.eks. Migrering af et enkelt system eller storstilet, der involverer mange systemer, nye applikationer eller et redesignet netværk.
Man kan migrere data fra en slags database til en anden slags database. Dette kræver normalt dataene i et fælles format, der kan udskrives fra den gamle database og input til den nye database. Da den nye database kan være organiseret anderledes, kan det være nødvendigt at skrive et program, der kan behandle migreringsfilerne.
Når en softwaremigration når funktionel ækvivalens, kan den migrerede applikation tilpasses tættere på nuværende og fremtidige forretningsbehov ved at tilføje ny funktionalitet til den transformerede applikation.
Migreringen af installeret software fra en gammel pc til en ny pc kan udføres med et softwaremigrationsværktøj. Migration bruges også til blot at henvise til processen med at flytte data fra en lagerenhed til en anden.
Artikler, papirer og bøger
Oprettelse af genanvendelig software
På grund af teknologiens udvikling i dag ved nogle virksomheder eller grupper af mennesker ikke vigtigheden af ældre systemer. Nogle af deres funktioner er for vigtige til at stå ubrugte og for dyre til at gengive igen. Softwareindustrien og forskere har for nylig lagt mere vægt på komponentbaseret softwareudvikling for at øge produktiviteten og fremskynde tiden til markedet.
Risikostyret modernisering
Generelt er tre klasser af informationssystemteknologi af interesse i ældre systemmodernisering: Teknologier, der bruges til at konstruere de ældre systemer, herunder sprog og databasesystemer. Moderne teknologier, der ofte repræsenterer nirvana for dem, der ligger i årtiers gammel teknologi, og som holder (det ofte uopfyldte) løfte om kraftfulde, effektive, let vedligeholdte virksomhedsinformationssystemer. Teknologier, der tilbydes af de ældre systemleverandører-Disse teknologier giver en opgraderingssti for dem, der er for forsigtige eller kloge til at hoppe først ind i den seneste bølge af it-tilbud. Ældre systemleverandører tilbyder disse teknologier af en enkel grund: at tilvejebringe en opgraderingssti til systemmodernisering, der ikke kræver at forlade komforten i "mainframe livmoderen." Selvom disse teknologier kan give en glattere vej mod et moderne system, resulterer de ofte i en acceptabel løsning, der ikke opfylder idealet.
Se også
Referencer
- ^ a b Gardner, D: "Ikke bare et nip og tuck, applikationsmodernisering forlænger livscyklussen for ældre kode -aktiver" , ZDNet , 24. oktober 2006
- ^ Simons afgrænsede rationalitet. Oprindelse og anvendelse i økonomisk teori
-
^
Stefan Van Der Zijden; Thomas Klinect. "Opbygning af en multiplatform -applikationsmodernisering Business Case" . Citer journal kræver
|journal=( hjælp ) - ^ a b Menychtas, Andreas; Santzaridou, Christina; Kousiouris, George; Varvarigou, Theodora; Orue-Echevarria, Leire; Alonso, Juncal; Gorronogoitia, Jesus; Bruneliere, Hugo; Strauss, Oliver; Senkova, Tatiana; Pellens, Bram; Stuer, Peter (2013), "ARTIST Methodology and Framework: A Novel Approach for Migration of Legacy Software on the Cloud" (PDF) , 2013 15. internationale symposium om symboliske og numeriske algoritmer til videnskabelig computing , 15. internationale symposium om symbolsk og numerisk Algorithms for Scientific Computing (SYNASC), IEEE, s. 424–431, doi : 10.1109/SYNASC.2013.62 , ISBN 978-1-4799-3036-4, S2CID 8150975
- ^ a b Menychtas, Andreas; Konstanteli, Kleopatra; Alonso, Juncal; Orue-Echevarria, Leire; Gorronogoitia, Jesus; Kousiouris, George; Santzaridou, Christina; Bruneliere, Hugo; Pellens, Bram; Stuer, Peter; Strauss, Oliver; Senkova, Tatiana; Varvarigou, Theodora (2014), "Software modernisering og cloudification ved hjælp af ARTISTs migrationsmetode og -ramme", Scalable Computing: Practice and Experience , 15 (2), doi : 10.12694/scpe.v15i2.980
- ^ ARTIST -forskningsprojektet
- ^ Ian Warren; Jane Ransom (2002). "Renaissance: En metode til understøttelse af software systemudvikling". 26. årlige internationale computersoftware og applikationskonference . s. 415–420. CiteSeerX 10.1.1.137.7362 . doi : 10.1109/CMPSAC.2002.1045037 . ISBN 978-0-7695-1727-8. S2CID 16563177 .
- ^ Izzet Sahin; Fatemeh 'Mariam' Zahedi (2001). "Politikanalyse for garanti, vedligeholdelse og opgradering af softwaresystemer". Journal of Software Maintenance: Research and Practice . 13 (6): 469–493. doi : 10.1002/smr.242 .
-
^ Jussi Koskinen; Jarmo Ahonen; Heikki Lintinen; Henna Sivula; Tero Tilus. "Estimering af virksomhedens værdi af software -moderniseringer" . Citer journal kræver
|journal=( hjælp ) - ^ Lewis, G .; Morris, E .; Smith, D .; O'Brien, L. (2005). "Serviceorienteret migration og genbrugsteknik (SMART)". 13. internationale IEEE -værksted om softwareteknologi og teknikpraksis (STEP'05) . s. 222–229. doi : 10.1109/trin.2005.24 . HDL : 10344/2208 . ISBN 0-7695-2639-X. S2CID 18912663 .
- ^ Lewis, Grace A .; Plakosh, Daniel; Seacord, Robert C. (2003). Modernisering af ældre systemer: Softwareteknologier, ingeniørprocesser og forretningspraksis . Addison-Wesley Professional. s. 27–37. ISBN 0321118847.
- ^ Mobilize.Net. "En hurtig vej til modernisering af software | Mobilize.Net" . www.mobilize.net . Hentet 2021-03-19 .
- ^ Andrea De Lucia; Eugenio Pompella & Silvio Stefanucci (juli 2002). "Estimation Estimation for Corrective Software Maintenance" (PDF) . Fortsættelse af den 14. internationale konference om software engineering og vidensteknik - SEKE '02 . SEKE '02 Ischia, Italien. s. 409. doi : 10.1145/568760.568831 . ISBN 978-1581135565. S2CID 10627249 .CS1 maint: placering ( link )
- ^ De Lucia, A .; Fasolino, AR; Pompelle, E. (2001). "En afgørende ramme for ældre systemstyring". Proceedings IEEE International Conference on Software Maintenance. ICSM 2001 . s. 642–651. doi : 10.1109/ICSM.2001.972781 . ISBN 0-7695-1189-9. S2CID 32184332 .
- ^ Koskinen, Jussi; Lintinen, Heikki; Sivula, Henna; Tilus, Tero. "Evaluering af softwaremodernisering Estimeringsmetoder ved hjælp af NIMSAD Meta Framework" (PDF) . Publikationer fra Information Technology Research Institute . CiteSeerX 10.1.1.106.2633 .
- ^ Santhosh G. Ramakrishna; VV (maj 2007). "Logistisk legacy modernisering" (PDF) . Infosys Technologies Limited.
- ^ C. Ghezzi (2018). "Understøtter pålidelig udvikling". I Gruhn, Volker; Striemer, Rüdiger (red.). Essensen af software engineering . s. 32–33. doi : 10.1007/978-3-319-73897-0 . ISBN 978-3-319-73897-0. S2CID 49187426 .
- ^ "Mainframe Modernisering i en nøddeskal" . Modernisering Hub . Hentet 2017-08-23 .
- ^ Serie, AS (ISO 9001: 2008). Ældre modernisering - Transformation til en agil virksomhed. Et whitepaper om ældre modernisering
- ^ SearchCIO.com
- ^ SK Mishra; DS Kushwaha; AK Misra (juli – august 2009). "Oprettelse af genanvendelig softwarekomponent fra objektorienteret ældre system gennem reverse engineering" . Journal of Object Technology . 8 (5): 133–152. doi : 10.5381/jot.2009.8.5.a3 .
- ^ Moltke, H. v. (Onsdag den 22. januar 2003 21:55). Risikostyret modernisering. Jawaharlal Nehru, tale til parlamentet New Delhi ,: Seacord.book.