Co to jest ewolucja oprogramowania?

Ewolucja oprogramowania to proces, w którym komercyjny program komputerowy wymaga ciągłej aktualizacji, konserwacji i poprawy w czasie, aby pozostać realnym produktem. Pod tym względem ewolucja oprogramowania wynika z zewnętrznych potrzeb biznesowych i konsumenckich, które zmieniają się w miarę rozwoju innych oprogramowania i technologii. Czynnikiem napędzającym ewolucję oprogramowania jest jednak często wewnętrzny koncentruje się na zespole inżynieryjnym, który wyprodukował produkt i firmę, która jest zależna od jego sukcesu w zakresie rentowności. Imperial College of London, Anglia, po raz pierwszy ogłosił trzy podstawowe prawa ewolucji oprogramowania na początku lat siedemdziesiątych, które od tego czasu zostały rozszerzone do ośmiu przepisów od 2011 roku. Podjęto także inne próby, aby określić kwantyfikację procesu, takie jak ewolucja liniowa i modelu sekwencyjnego i prototypowego modelu, ale paradygmat, który przypomina Ewolucję Darwinian dla rzeczy dożylnej do życia, do ewolucji..

Podstawowe czynniki napędzające zmiany w architekturze oprogramowania przypominają te same siły, które motywują firmy do aktualizacji maszyn przemysłowych lub standardowych procedur operacyjnych, ponieważ zmieniają się potrzeby społeczne. W miarę coraz większej liczby oprogramowania nowe potrzeby lub funkcje stają się oczywiste, że należy je opracować w późniejszych wydaniach produktu. Wszystkie oprogramowanie jest również wydawane z nieznanymi wcześniej błędami, dlatego należy przeprowadzić okresowe łatki i procedury konserwacji w celu poprawienia sytuacji, takich jak luki bezpieczeństwa, które mogą sprawić, że firma podatna na atak przez samo oprogramowanie. Kluczem do ewolucji oprogramowania jest również fakt, że takie programy muszą być coraz bardziej dostosowywane do pracy nad różnymi rodzajami wyników sprzętu komputerowego i w różnych architekturach systemów operacyjnych, aby program miał szerszy urok.

zaspokojenie wszystkich tych potrzeb ma kluczowe znaczenie dla ustalenia, czyOprogramowanie pozostaje opłacalne, a ponieważ zasoby oprogramowania są tak kluczowym aspektem gospodarki informacyjnej od 2011 r., Ewolucja oprogramowania stała się podstawowym aspektem adaptacji i rozwoju biznesowego. Meir Lehman, informatyk z Imperial College of London, przypisuje się tworzeniu praw Lehmana, które zwięźle zdefiniowało proces ewolucji oprogramowania i kierując programiści w przyszłościowym myśleniu wizualizacji oprogramowania. Przepisy Lehmana opierają się na założeniu, że oprogramowanie ewoluuje wraz ze wzrostem informacji zwrotnych na temat jego wydajności, a jego nieunikniona tendencja jest coraz bardziej złożona.

Lehman stwierdził, że natura ewolucji oprogramowania odzwierciedla naturalne zmiany, takie jak mutacja u much owocowych, sposób, w jaki miasta rozszerzają się z czasem i sposób, w jaki struktury wojskowe stopniowo poprawiają systemy broni. Pierwsze trzy prawa procesu naśladują te trendy w zakresie szczegółów ciągłych zmian, rosnącej złożoności i tak zwanych dużych proGram ewolucja. Ciągła zmiana odnosi się do faktu, że program musi zostać dostosowany do aktualnych warunków biznesowych w świecie rzeczywistym, co odzwierciedla to rosnącą złożoność, ponieważ program musi zaspokoić stale rosnącą różnorodność nieoczekiwanych potrzeb. Duża ewolucja programu odnosi się do konieczności korekty błędów i nowych wydań programu, które są nieuchronnie związane z wymaganiami rynku.

Z pięciu pozostałych przepisów dotyczących ewolucji oprogramowania numer czwarty to stabilność organizacyjna i odnosi się do faktu, że wzrost programu nabiera własnego życia, niezależnie od poziomu zasobów celowo poświęconych temu, a numer piąty to ochrona znajomości, która stwierdza, że ​​stopniowy rozwój programu jest nieunikniony. Numer szósty w ośmiu przepisach Lehmana jest kontynuowany, co jest niezbędne do zaspokojenia popytu konsumentów, a numer siedem jest malejąca jakość, co podkreśla fakt, że całe oprogramowanie ostatecznie stoi przed limitami funkcjonalności.nie może się spotkać. Ostatnim prawem Lehmana dla ewolucji oprogramowania jest sam system sprzężenia zwrotnego, który łączy wszystkie siły wpływające na żywotność programu, aby szybko doprowadzić go do większego sukcesu lub nieuniknionego starzenia się i śmierci.

INNE JĘZYKI