Software

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă sunteți în căutarea altor semnificații, consultați Software (dezambiguizare) .

Software-ul (acronim SW , din limba engleză soft "soft, light" [1] și ware "goods, products", imitând termenul hardware ), care poate fi tradus ca o componentă logică, program de calculator sau suport logic , în informatică iar electronica este „setul de componente intangibile (strat logic / intangibil) ale unui sistem de procesare electronică; este opus hardware-ului, adică partea materială (stratul fizic / tangibil) al aceluiași sistem [2] .

În special, în informatică ne referim la date sau informații simple [3] sau mai corect instrucțiunile unui program codificat în limbajul mașinii sau în limbajul de programare ( cod sursă ), stocate pe unul sau mai multe suporturi fizice , sub formă de cod executabil . În ceea ce privește invenția termenului, americanul Paul Niquette susține că l-a inventat în 1953 , [4] însă se pare că este sigură prima apariție într-o publicație științifică din 1958 a American Mathematical Monthly de către statisticianul John Wilder Tukey . [5]

Istorie

Termenul ar fi fost creat în timpul celui de- al doilea război mondial ; tehnicienii Armatei Regale Britanice s - au angajat în decriptarea codurilor germane ale Enigmei , din care știau deja mecanica internă (numită hardware , component dur , în sensul fierului vechi) datorită serviciilor secrete poloneze. Prima versiune a Enigmei a folosit trei rotoare pentru a amesteca literele. După 1941 , un rotor a fost adăugat la Enigma , iar echipa de criptoanalizatori britanici, condusă de Alan Turing , a trebuit să nu mai fie interesată de structura sa fizică, ci de pozițiile în care au fost folosiți rotorii noii Enigma .

Deoarece aceste instrucțiuni au fost scrise pe pagini solubile în apă (pentru a fi distruse mai ușor, prevenind astfel căderea lor în mâinile inamicului), acestea au fost numite software ( componentă moale ), spre deosebire de hardware . Sensul modern al termenului derivă din instrucțiunile date computerelor și a fost folosit pentru prima dată în 1957 de John Wilder Tukey , un cunoscut statistic american . Din 1950, analogia dintre hardware și corpul uman și cea dintre software și mintea umană a devenit foarte puternică, deoarece Turing a susținut că progresul tehnologic va fi capabil să creeze mașini inteligente până în 2000. (adică capabil să „gândească” autonom) capabil de rezolvare a problemelor.

Începând cu cel de-al doilea război mondial , odată cu dezvoltarea hardware-ului , posibilitățile pentru dezvoltatori au crescut; în conformitate cu a doua lege a lui Moore , o amenințare la adresa vitezei de procesare, pe lângă costuri, provine din software. De fapt, ceea ce contează pentru un utilizator nu este atât viteza de procesare a procesorului, cât viteza efectivă de procesare a codului, calculată în funcție de timpul necesar procesorului pentru a efectua o operație (cum ar fi scrierea unui text, crearea de un dosar etc.).

Nathan Myhrvold, directorul Advanced Technology Group al Microsoft , a realizat un studiu asupra produselor Microsoft prin calcularea liniilor de codare pentru lansările ulterioare ale aceluiași software:

  • De bază: de la 4.000 de linii de cod în 1975 la 500.000 în 1995
  • Cuvânt: de la 27.000 de linii de cod în 1982 la 2.000.000 în 2002

Adăugarea continuă de noi funcții la software-ul existent justifică cererea constantă de procesoare mai rapide, amintiri din ce în ce mai mari și capacități mai mari de I / O (Input / Output).

De fapt, și alte tehnologii au evoluat în același ritm:

  • hard disk-uri de la 10 MB (1982) la 1 TB (2007);
  • modemuri analogice de la 110 biți / sec la 56 kbit / sec.

Myhrvold face o paralelă cu legea lui Moore: „ am mărit dimensiunea și complexitatea software-ului chiar mai repede decât prevădea legea lui Moore ”, „ utilizatorii software-ului au consumat întotdeauna cea mai mare capacitate de procesare la o viteză egală sau mai mare decât cea cu care au integrat producătorii de circuite le-au pus la dispoziție ”( Stewart Brand , 1995).

Descriere

În general, ne referim la setul de programe utilizate într-un sistem de procesare a datelor [2] care gestionează funcționarea unui computer [6] ; se face distincția între:

Termenul se opune în mod tradițional hardware-ului (componenta fizică a unui sistem de calcul), [2] ceea ce face posibilă rularea software-ului (componenta logică a acestuia). De-a lungul timpului, au intrat în utilizare și alți termeni care descriu elemente ale unui computer, cum ar fi firmware-ul . Sufixul -ware (a cărui semnificație este „componentă”) este utilizat și în alți termeni care indică anumite tipuri de programe: în funcție de rolul pe care îl au într-un sistem de calcul (de exemplu middleware ), de tipul de licență cu care sunt distribuite ( freeware , shareware ), ediție și multe altele. Software-uri speciale pot fi găsite pe cele mai disparate dispozitive (de exemplu, un televizor, o mașină, un termostat programabil, o mașină de spălat, dar și aplicații de producție).

Niveluri de abstractizare între utilizator și hardware .

Clasificare

Software-ul poate fi clasificat în funcție de diferite caracteristici:

  • gradul de permisivitate a licenței ( software gratuit sau software proprietar );
  • să fie instalat sau portabil sau utilizabil ca serviciu ( SaaS );
  • sistemul de operare pe care pot fi utilizate (OS etc.);
  • tipul interfeței vizuale a utilizatorului [8] ( text sau grafic , modul ecran tactil );
  • modul de execuție, lot atunci când lucrările sunt configurate astfel încât să poată fi rulate până la finalizare fără intervenția umană, online (sau programe interactive) care necesită în schimb intervenția umană pentru introducerea datelor și controlul postului;
  • funcție ( procesare text , foaie de calcul , sistem de gestionare a bazelor de date , grafică , sistem de operare , browser , player multimedia , e-mail și alte mii - având în vedere variabilitatea în ceea ce privește soluțiile de aplicație);
  • domeniul de aplicare: uz casnic ( acasă ) sau profesional (de afaceri ). În unele cazuri, un produs este valabil pentru ambele categorii, în multe altele un produs are versiuni specifice (de exemplu, un sistem de operare sau o suită de productivitate), în multe există doar pentru una dintre cele două, de multe ori cea corporativă (de exemplu o Sistem ERP );
  • stand alone (adică care poate rula complet autonom pe sisteme izolate) sau rețele (adică care funcționează într-un mediu de rețea ). Al doilea caz poate fi la rândul său împărțit în software în versiunea client-server (poate doar un agent poate fi instalat pe client sau întregul software care, totuși, se bazează pe o bază de date instalată pe un server sau pe un serviciu server [9] ), sau în modul terminal-server sau cloud (aplicații web ), de asemenea, în modul SaaS [10] . Exemple clasice de programe de rețea, într-un mediu de afaceri, sunt sistemul de management , e-mailul centralizat (adesea asociat cu modulele de planificare a activității și a resurselor), firewall-ul LAN .

Din punct de vedere ierarhic [11] software-ul poate fi împărțit în patru [12] categorii principale:

  • firmware ;
  • software de bază (care la rândul său este împărțit în sisteme de operare , compilatoare și interpreți , biblioteci );
  • șofer ;
  • programe de aplicație care este toți cei software care sunt folosite în viața de zi cu zi (acasă), de la programe de birou, la jocuri video, la browsere pentru a naviga pe internet , pentru clienții de poștă electronică , audio-video playere , chat - aplicații precum și numeroase produse specifice domeniul profesional / industrial (de afaceri ) pentru cele mai diverse nevoi / activități. Un sistem anti- malware este, de asemenea, o aplicație, precum și software de diagnosticare (hardware sau software) sau un instrument pentru gestionarea actualizărilor. În domeniile profesionale, programul utilizatorului pentru gestionarea unei mașini sau a unei instalații este, de asemenea, un software, precum și, în aplicații industriale (sau, pur și simplu, în panoul de control al unui lift comun), un PLC .

Termenul suită desemnează un software structurat în diferite programe / module, de obicei configurabil (în sensul de instalabil, activat) separat, dar care face parte dintr-o singură soluție. Microsoft Office sau AVG AntiVirus sau SAP ERP sunt exemple de suite software.

Realizare

Pictogramă lupă mgx2.svg Același subiect în detaliu: Dezvoltare software .

Un software este creat în mod normal printr-un proces de programare utilizând unul sau mai multe limbaje de programare de către un programator . Dacă proiectul devine complex, este recomandabil să împărțiți programul în unul sau mai multe module , care pot fi astfel încredințate diferiților programatori , modificați mai simplu și reutilizați în alte proiecte. Realizarea software-ului este o activitate complexă articulată în mai multe faze, din acest motiv software-ul este adesea asociat cu un produs de inginerie, dar diferă în principal pentru unele caracteristici:

  • este foarte „ maleabil ”;
  • este un produs intensiv pentru om (adică un produs care necesită un efort considerabil în resursele umane, deoarece se concentrează mai ales pe proiectare și implementare ).

Așa-numita fază de compilare traduce fiecare fișier de cod sursă , scris în limbajul sau limbajele de programare, într-un fișier obiect care conține programul în limbajul mașinii adecvat pentru arhitectura hardware țintă. Apoi, toate fișierele obiect trec printr-o fază de conectare pentru a ajunge la produsul final: fișierul executabil .

Unele programe software nu sunt compilate deoarece instrucțiunile conținute în codul sursă sunt executate folosind un software numit interpret .

Modelul de dezvoltare

Pictogramă lupă mgx2.svg Același subiect în detaliu: Model de dezvoltare software .

Gestionarea procesului de dezvoltare se caracterizează prin alegerea unui model de dezvoltare software codificat în domeniul ingineriei software , există:

  • Clasic sau cascada model (cascada)
  • Modelul spiralat ( orientat obiect )
  • Metodologie agilă ( dezvoltare software agilă, ASD). Metodele Agile se opun modelul cascadă și alte tradiționale modele de dezvoltare , propunând o abordare mai puțin structurată axată pe obiectivul de a oferi clientului, rapid și în mod frecvent ( de livrare timpurie / livrare frecventă), software - ul și calitatea de funcționare.

Versiunile

Pictogramă lupă mgx2.svg Același subiect în detaliu: Controlul versiunilor .

De multe ori software - ul creat sunt eliberate sub formă de versiuni succesive și de presă , fiecare fiind identificat printr - un număr întreg progresiv cu adăugarea unuia sau a mai multor numere zecimale care identifică eliberarea: de obicei , ordinea de eliberare urmează o numerotare progresivă în cazul în care versiunea sau versiuni ulterioare reprezintă evoluțiile celor anterioare cu îmbunătățiri în ceea ce privește noile caracteristici și funcționalități adăugate și / sau erori remediate cu patch-uri adecvate. Ediția este etapa principală a unei evoluții, în timp ce versiunile reprezintă modificările minore.

Licențe de utilizare și distribuție

Arrows-folder-categorize.svg Articolele individuale sunt listate la Categorie: Licențe software
Diferitele categorii de software

Licența de utilizator este un document care însoțește software - ul și specifică drepturile și obligațiile celor care îl primesc și celor care îl distribuie.

Toate licențele de utilizare își derivă valoarea legală din regulile privind dreptul de autor ( drept de autor ).

Există licențe gratuite , licențe Open Source și licențe proprietare . Conținutul deschis s- a născut și mai târziu, cu scopul de a transfera licențe către alte lucrări decât software.

Licențele pentru utilizarea și distribuția software-ului gratuit și Open Source sunt numeroase, dar cele de fapt răspândite sunt puține. 89% dintre aceștia sunt GPL , LGPL și BSD ( licență istorică Unix , din nou utilizată de la apariția Linux ).

Câteva licențe gratuite:

Fiecare tip de licență diferă de celelalte în diferite privințe .

Brevetabilitatea software-ului

În Uniunea Europeană , software-ul nu poate fi brevetat , așa cum este cazul în Statele Unite . La 6 iulie 2005 , Parlamentul European a respins propunerea de directivă privind brevetabilitatea invențiilor implementate pe computer , susținută de Comisie [13] [14] .

Propunerea a fost respinsă la primul vot cu 648 de voturi împotrivă, 32 pentru, față de 680 de scrutine scrutate.

Cu o zi înainte de vot, Comisia Europeană a confirmat că, în caz de respingere, nu va fi prezentat niciun text nou pe această temă.

Meniul Ajutor

Acest meniu (prezent practic în fiecare program de aplicație care oferă interacțiune vizuală cu un utilizator uman), de obicei inserat în bara principală, este cel care oferă informații nominaliste despre programul relativ („Despre ...”: nume, producător, versiune, disclaimer), ajutor online, asistență etc. Adesea meniul este etichetat cu un semn de întrebare ( ? ).

Drepturi de autor

Software-ul, conform definiției dezvoltate de Organizația Mondială a Proprietății Intelectuale (OMPI), este definit ca:

„Exprimarea unui set organizat și structurat de instrucțiuni sub orice formă sau pe orice suport capabil, direct sau indirect, să aibă o funcție sau o sarcină îndeplinită sau realizată sau un anumit rezultat obținut prin intermediul unui sistem electronic de prelucrare a informațiilor”.

Din aceste definiții deducem și interpretăm apartenența software-ului la active juridice necorporale și în special la categoria creațiilor intelectuale; de aceea este protejat de art. 1 și 2 din Legea dreptului de autor (L. 633/41).

Obiectul protejat este programul de computer, sub orice formă exprimat atât timp cât este original, ca urmare a creației intelectuale a autorului. Materialul pregătitor pentru proiectarea programului este, de asemenea, inclus în protecție.

Ideile și principiile care stau la baza oricărui element al programului, inclusiv cele care stau la baza interfețelor sale, sunt excluse de la protecție.

Mai mult, articolul 12-bis din legea menționată precizează că, cu excepția cazului în care se convine altfel, angajatorul este proprietarul dreptului exclusiv de utilizare economică a programului de calculator creat de angajat în îndeplinirea atribuțiilor sale sau la instrucțiunile date de același angajator.

Drepturile de proprietate exclusive sunt [15] :

  • Publicarea și utilizarea economică (art.12, LDA)
  • Reproducere (articolele 13 și 64-bis litera A, LDA)
  • Modificare (articolele 18 și 64-bis litera B, LDA)
  • Distribuție (articolele 17 și 64-bis litera C, LDA)
  • Închiriere și împrumut (art. 18-bis LDA)
  • Executarea și reprezentarea în formă publică (art. 15 LDA)
  • Comunicare către public (art. 16 LDA)
  • Publicație în colecție (art. 18.2 LDA)

Următoarele sunt excluse din aceste drepturi:

  • Utilizarea și corectarea erorilor (articolul 64-ter.1 LDA)
  • Copie de rezervă (64-ter.2 LDA)
  • Studiu funcțional (articolul 64-ter.3 LDA)
  • Interoperabilitate (articolul 64-quater)

Notă

  1. ^ Compară lema "moale" pe «Il Sansoni - engleză» .
  2. ^ a b c d e f software în Vocabulary - Treccani , pe www.treccani.it . Adus pe 3 decembrie 2018 .
  3. ^ (EN) Software și date pe github.com. Adus la 30 septembrie 2018 .
    „Software-ul, deși este similar cu datele în ceea ce privește faptul că nu a fost citat în mod tradițional în publicații, este, de asemenea, diferit de date” .
  4. ^ Paul Niquette, Introducere: era software , "Sofisticat: revista", 1995.
  5. ^ David Leonhardt, John Tukey, 85 de ani, statistician; a inventat cuvântul „software” , New York Times , 28 iulie 2000 .
  6. ^ a b Software: definiție și semnificație a software-ului - Dicționar italian - Corriere.it , pe dictionari.corriere.it . Adus pe 3 decembrie 2018 .
  7. ^ Roberto Bocchini și Alberto Maria Gambino, Contracte de administrare și distribuție , UTET Giuridica, 2011, p. 270, ISBN 978-88-59-80718-6 .
  8. ^ Vizual, deoarece există și recunoașterea vorbirii ca interfață cu utilizatorul.
  9. ^ Mai ales în configurația în care numai agentul este instalat pe client.
  10. ^ Exemplu simplu: Facebook este o aplicație software web (aplicație web completă , deoarece nu necesită niciun agent instalat spre deosebire de, de exemplu, Skype)
  11. ^ Distincția este legată de gradul de „utilizare” și „proximitate” față de utilizator.
  12. ^ A cincea categorie de software ar putea fi, de asemenea, luată în considerare: „instrumente” ( instrumente în limbajul computerului). Acestea sunt programe pentru gestionarea unui periferic ( dispozitiv ), cum ar fi panoul de control al imprimantei, placa video, un disc extern etc. Acestea sunt programe software pentru interconectarea dintre sistemul de operare și periferic (și, prin urmare, driverele relative) care vă permit să ajustați ( configurați ) perifericul și funcționarea acestuia în raport cu sistemul de operare sau alte programe. Există, de asemenea, instrumente de gestionare a aplicațiilor software, cum ar fi panoul de control anti-malware sau panoul de supraveghere a aplicațiilor specifice producătorului computerului (OEM). În cele din urmă, există instrumente pentru gestionarea (instalarea, modificarea-dezvoltarea, actualizarea, întreținerea etc.) a firmware-ului sau a sistemelor de operare
  13. ^ Textul directivei propuse pentru brevetabilitatea software-ului [ link rupt ]
  14. ^ Argumente ale Comisiei Europene în sprijinul brevetabilității
  15. ^ Legea drepturilor de autor 2020 , pe altalex.com .

Bibliografie

  • G. Guglielmetti, Invenția software-ului. Brevete și drepturi de autor , ediția a II-a, Milano, Giuffrè, 1997.

Elemente conexe

Alte proiecte

linkuri externe

  • Software , în Treccani.it - ​​Enciclopedii online , Institutul Enciclopediei Italiene. Editați pe Wikidata
Controlul autorității LCCN (EN) sh85029534 · GND (DE) 4055382-6 · BNF (FR) cb133183707 (dată) · BNE (ES) XX530960 (dată) · NDL (EN, JA) 00.684.642