meniu

logo <!-- Image Map Generated  --> <img src="redu logo.jpg" usemap="#image-map">  <map name="image-map">     <area target="" alt="" title="" href="" coords="" shape="rect"> </map>
Nicolae Ceausescu opposition to Moscow
07 decembrie 2022

Ce este software?

   Ce este software?

   Software-ul este o colecție de programe de calculator cu documente și informații aferente. Acest lucru este în contrast puternic cu hardware-ul cu care este construit sistemul pentru a face munca efectivă.

Codul executat la cele mai joase niveluri de programare constă în instrucțiuni în limbajul mașinii susținute de un singur procesor, de obicei o unitate centrală de procesare (CPU) sau o unitate grafica (GPU). Limbajul mașinii este format din seturi de valori binare care reprezintă instrucțiuni de procesare care schimbă starea computerului față de starea anterioară. De exemplu, o instrucțiune poate modifica o valoare stocată într-o anumită locație din memoria computerului, un efect care nu este direct vizibil pentru utilizator. O expresie poate apela, de asemenea, una dintre multele funcții de intrare sau de ieșire, cum ar fi B. afișarea textului pe ecranul computerului; aceasta determină o schimbare de stare care ar trebui să fie vizibilă pentru utilizator. Procesorul execută instrucțiuni într-o anumită ordine, cu excepția cazului în care i se spune să „sare” la o altă instrucțiune sau este întrerupt de sistemul de operare. Până în 2022, majoritatea computerelor, dispozitivelor inteligente și serverelor vor avea multiprocesoare sau mai multe procesoare care efectuează calcule împreună, făcând calculul o afacere mult mai mare ca niciodată.

Majoritatea programelor sunt scrise într-un limbaj de programare de nivel înalt. Este mai ușor și mai eficient pentru programatori, deoarece sunt mai aproape de limbajele naturale decât de limbajele de mașină. Limbile de nivel înalt sunt traduse în limbajul mașină de către un compilator sau un interpret sau o combinație a acestora. Software-ul poate fi, de asemenea, scris într-un limbaj de asamblare simplu, care se conformează instrucțiunilor computerului în limbajul mașinii și se asambla în limbajul mașinii.

Algorithm

Ada Lovelace a scris primul software de analiză predictivă în secolul al XIX-lea. A făcut o demonstrație pentru a arăta cum mașina calculează numerele Bernoulli. Este considerată prima programare pe calculator datorită dovezilor și algoritmilor. 

Prima teorie a software-ului de calculator așa cum îl cunoaștem astăzi a fost propusă de Alan Turing în lucrarea sa din 1936 despre numerele computaționale aplicate la problema deciziei. Acest lucru a dus în cele din urmă la crearea Diviziei de informatică și inginerie software; planuri de cercetare de domeniu și crearea acestora. Informatica este studiul teoretic al calculatoarelor si software-ului (teza lui Turing este un exemplu de informatica), în timp ce ingineria software este aplicarea principiilor de inginerie la dezvoltarea de software. 

În 2000, un bibliotecar de la Facultatea de Drept din Yale a publicat o scrisoare în care declară că lucrarea din 1958 a lui John Wilder Tuckey „Teaching Concrete Mathematics” conținea prima utilizare cunoscută a termenului „software” găsită în timpul unei căutări a OCDE în fișierul electronic. Acest lucru a condus la credința că Turcia a inventat termenul, în special în cărțile comemorative publicate în acel an, deși Tukey nu a revend what is software?icat niciodată o astfel de monedă. În 1995, Paul Netiquette a susținut că inițial a inventat termenul în octombrie 1953, deși nu a găsit nicio documentație care să susțină afirmația sa. Cea mai veche publicație cunoscută a termenului „inginer de software de mediu” a fost o lucrare de cercetare Rand Corporation din august 1953 de Richard R. Carhartt. 

Tipuri

Software-ul open source

poate fi împărțit în mai multe categorii mari.

Mixerele depășesc funcționarea de bază a computerului în sine Există multe tipuri de aplicații software, deoarece gama de sarcini care pot fi efectuate pe un computer modern este foarte largă. Software-ul de sistem controlează funcționarea hardware-ului pentru a oferi funcționalitatea de bază necesară utilizatorilor sau alt software pentru a funcționa corect atunci când este necesar. Software-ul de aplicație [14] include următoarele:

Controlerele, laserele automate, carcasele și sistemele de ferestre sunt componente cheie ale sistemelor de operare. Sistemele de operare vin cu software suplimentar (inclusiv software de aplicație), permițând eventual unui utilizator să lucreze cu un computer care are un singur sistem de operare.

Managerii de proiect controlează și gestionează un anumit tip de dispozitiv conectat la un computer. Fiecare dispozitiv necesită cel puțin un driver de dispozitiv adecvat; Deoarece un computer are de obicei cel puțin o imprimantă și cel puțin un dispozitiv de imprimare, computerul necesită adesea mai multe drivere de dispozitiv.

Calculatoarele sunt programe de calculator concepute pentru a ajuta elevii să-și întrețină și să-și întrețină propriile computere.

Programele malware sau software-ul rău intenționat sunt software conceput pentru a deteriora sau interfera cu funcționarea computerelor. Programele malware sunt strâns asociate cu vulnerabilitățile de securitate, deși unele programe malware pot fi create în mod rău intenționat.

Tipul de desktop sau intervalul de performanță, cum ar fi browsere web și Microsoft Office și LibreOffice și WordPerfect, precum și aplicații pentru smartphone-uri și tablete („Aplicații”).

Scriptul JavaScript este un software încorporat de obicei în paginile web și este executat direct în browser atunci când pagina web este încărcată, fără a fi nevoie de un plugin. Software-ul scris în alte limbaje de programare poate rula și într-un browser dacă software-ul este compilat din JavaScript sau dacă este instalat un plug-in de browser activat pentru JavaScript; Cel mai comun exemplu al acestora din urmă sunt scripturile ActionScript acceptate de pluginul Adobe Flash.

Software de server, inclusiv: aplicații web, care rulează de obicei pe un server web și afișează pagini web generate dinamic într-un browser, de exemplu. PHP, Java, ASP.NET sau JavaScript rulează pe server. Astăzi, acesta include adesea JavaScript, care rulează și în browser; dacă da, de obicei se întâmplă parțial pe server și parțial în browser.

Suplimentele  sunt software care extind sau modifică funcționalitatea altui software și vă solicită să utilizați software-ul pentru a funcționa

. Firmware-ul, ca software integrat al sistemelor integrate, este un dispozitiv de unică folosință sau consumabil, așa cum automobilele și televizoarele (cu toate că toate dispozitivele integrate, precum cipurile wireless, pot face parte dintr-un sistem informatic tradițional, ca computer sau un smartphone). .) . În contextul unui sistem încorporat, uneori nu există o separare clară între sistem și software. Cu toate acestea, sistemele încorporate View utilizează sisteme de operare încorporate, iar aceste sisteme fac diferența între software-ul de sistem și software-ul aplicației (deși acesta este de obicei doar un program staționar care rulează permanent).

Microcode este un tip de firmware special și relativ obscur care spune procesorului cum să folosească firmware-ul, deci este de fapt cu un nivel sub firmware. De obicei, este deținut de producătorul procesorului și orice actualizări software necesare pentru remedierea microcodurilor sunt disponibile pentru studenți (ceea ce este mult mai ieftin decât furnizarea de hardware de înlocuire a procesorului). Astfel, programatorul mediu nu a așteptat să aibă grijă de el.

Programare

 

instrumentele de programare sunt, de asemenea, software sub formă de programe sau aplicații pe care programatorii le folosesc pentru a crea, depana, întreține sau susține software. 

Software-ul este scris în unul sau mai multe limbaje de programare; există multe limbaje de programare și fiecare are cel puțin o implementare, fiecare constând din propriul set de instrumente de programare. Aceste instrumente pot fi programe relativ independente, cum ar fi compilatoare, depanatoare, interpreți, pasionați și editori de text care pot fi combinate pentru a îndeplini o sarcină; Cu toate acestea, ele pot forma un mediu de dezvoltare integrat (IDE) care combină majoritatea sau toate funcționalitățile acestor instrumente separate. IDE-urile pot face acest lucru apelând instrumentele personalizate adecvate sau implementând funcționalitatea în moduri noi. Un IDE poate facilita efectuarea anumitor sarcini, cum ar fi B. localizarea fișierelor într-un anumit proiect. Multe implementări ale unui limbaj de programare oferă posibilitatea de a utiliza instrumente sau IDE-uri individuale. 

 

Arhitectură

 

Utilizatorii computerelor moderne de uz general (spre deosebire de sistemele încorporate, computerele analogice și supercalculatoarele) văd adesea trei straturi de software care joacă roluri distincte: platformă, aplicație și sistem de operare.

Software-ul platformei - Platforma constă din hardware, drivere de dispozitiv, un sistem de operare și, de obicei, o interfață grafică cu utilizatorul care permite utilizatorului să interacționeze complet cu computerul și perifericele acestuia (periferice conectate). Software-ul platformei vine de obicei cu computerul dvs. În mod normal, puteți schimba software-ul din momentul în care porniți computerul.

Software: Software-ul este ceea ce se gândesc majoritatea oamenilor când se gândesc la software. Exemple tipice sunt suitele de birou și jocurile video. Software-ul este de obicei achiziționat separat de hardware. Uneori, programele vin la pachet cu computerul dvs., dar asta nu schimbă faptul că funcționează ca programe separate. Programele sunt de obicei programe independente de sistemul de operare, deși sunt adesea adaptate unor sisteme specifice. Majoritatea utilizatorilor consideră computere, baze de date și alte „software de sistem” ca niște programe.

Software scris de utilizator: Dezvoltarea utilizatorului final adaptează sistemele la nevoile specifice ale utilizatorului. Software-ul folosește șabloane de foi de calcul și șabloane de procesare de text. Filtrele de e-mail sunt, de asemenea, un tip de agent utilizator. Utilizatorii creează singuri acest software și adesea uită ce înseamnă. În funcție de cât de inteligent software-ul scris de utilizator este grupat în pachete de aplicații standard, mulți utilizatori ar putea să nu fie conștienți de diferența dintre adăugarea pachetelor native și construirea pachetelor. 🇧🇷

descărcare

Software-ul computerului trebuie să fie „încărcat” în memoria computerului (de exemplu, un hard disk sau un card de memorie). Odată ce software-ul este descărcat, computerul îl poate rula. Aceasta implică trimiterea de instrucțiuni de la software-ul aplicației prin software-ul de sistem către hardware, care primește instrucțiunile ca cod hardware. Fiecare instrucțiune determină computerul să efectueze o acțiune: transferă date, efectuează calcule sau schimbă fluxul de control al instrucțiunii.

Datele sunt de obicei transmise de la o persoană la alta. Acest lucru necesită uneori mutarea datelor între memorie și registre pentru a permite accesul rapid la date pe CPU. Transferul de date, în special de cantități mari, poate fi costisitor; Acest lucru poate fi evitat uneori prin utilizarea „indicatoarelor” către date. Calculele implică operații simple, cum ar fi adăugarea valorii unui registru variabil. Calcule mai complexe pot implica mai multe metode și date împreună.

Calitate și fiabilitate

Calitatea software-ului este foarte importantă, în special în software-ul comercial și software-ul de sistem. Dacă software-ul nu funcționează, vă poate distruge munca, vă poate bloca computerul și poate face alte lucruri neașteptate. Erori și erori sunt adesea găsite în timpul testării alfa și beta. Software-ul suferă adesea de ceea ce este cunoscut sub numele de uzură a software-ului, o scădere treptată a performanței cauzată de o combinație de erori ascunse.

Multe erori sunt găsite și remediate prin testarea software-ului. Dar testarea software-ului rezolvă rareori toate erorile; unii programatori spun: „Fiecare program are cel puțin un alt bug. Metoda Vattenfall de dezvoltare de software folosește adesea o echipă de testare dedicată, dar cu metode mai noi, cunoscute în mod colectiv sub numele de dezvoltare agilă de software, dezvoltatorii efectuează adesea toate testele ei înșiși și arată în mod regulat software către studenți/clienți pentru feedback. Software-ul poate fi testat prin testarea unitară, testarea regresiei și alte metode manuale sau, în general, automate, deoarece volumul de apă care trebuie testat poate fi important. Aplicațiile care conțin drivere software fac hardware-ul mai ușor de utilizat și permit sistemul de operare să lucreze împreună

O licență de software vă oferă dreptul de a utiliza software-ul în mediul licențiat și, în cazul unei licențe de software gratuit, alte drepturi, cum ar fi dreptul de a copia.

software-ul, poate fi împărțite în două tipuri :

gratuit software, care include categoria sau software-ul „probă gratuită” (în trecut, termenul shareware era adesea folosit pentru free/freemium printre software-ul autentic). După cum sugerează și numele, freeware-ul este gratuit, dar în cazul software-ului freemium sau de probă, uneori este disponibil doar pentru o perioadă limitată de timp sau cu funcționalitate limitată.

Software plătit care poate fi utilizat legal numai dacă este achiziționată o licență.

Software-ul cu sursă deschisă vine cu o licență de software gratuită care oferă destinatarului dreptul de a modifica și distribui software-ul.

Brevete 

Brevetele de software, ca și alte tipuri de brevete, sunt teoretic menite să ofere inventatorului o licență exclusivă, limitată în timp pentru o idee specifică (cum ar fi un algoritm) pentru a implementa software sau software. 🇧🇷 🇧🇷 Ideile despre lucruri utile pe care software-ul le poate face și cerințele utilizatorilor nu ar trebui să fie brevetate, nici implementările concrete (adică pachetele software reale care implementează brevete) să nu mai fie brevetate - sau să dureze în general. Este deja protejată prin drepturi de autor. Automat. Prin urmare, brevetele de software ar trebui să acopere calea de mijloc între cerințe și implementare practică. În unele țări, cerința ca invenția revendicată să aibă efecte în lumea fizică poate face, de asemenea, parte din valoarea unui brevet de software; deși orice software util are efecte în lumea fizică, această cerință este discutabilă. La acea vreme, legea drepturilor de autor din SUA se aplica multor aspecte ale scrierii codului software.

Brevetele de software sunt controversate în industria software, deoarece mulți oameni au opinii diferite despre ele. O sursă de controversă este că, în practică, avocații în brevete nu respectă distincția menționată mai sus între ideile originale și brevete, de exemplu, brevetele de programare orientată vizual (APP) destinate să revendice drepturi pentru orice tehnologie software. implementează conceptul AOP independent de implementare. Un alt punct de conflict este impactul asupra inovației, mulți experți și companii bine cunoscuți susțin că software-ul este o industrie în schimbare atât de rapidă încât brevetele de software nu fac decât să adauge costuri suplimentare uriașe și riscă litigii și înăbușe inovația. În discuțiile privind brevetele din afara Statelor Unite, s-a susținut că marile corporații și avocații în brevete din SUA ar putea beneficia de obținerea sau menținerea protecției prin brevet.

Planificare și implementare

 Planificarea și implementarea software-ului variază în funcție de complexitatea software-ului. De exemplu, Microsoft Word a durat mult mai mult pentru a proiecta și a construi decât Microsoft Notepad, deoarece primul are multe funcții de bază.

Software-ul este de obicei dezvoltat într-un mediu de dezvoltare integrat (IDE) precum Eclipse, IntelliJ și Microsoft Visual Studio, care poate simplifica procesul de creare a software-ului. După cum sa menționat într-un alt produs, software-ul este adesea construit pe software-ul existent și pe interfețele de programare a aplicațiilor (API) furnizate de software-ul de bază, cum ar fi GTK, Java Beans sau Swing. Bibliotecile (API) pot fi clasificate în funcție de scopul lor. De exemplu, Spring Framework este folosit pentru implementarea aplicațiilor de afaceri, biblioteca Windows Forms este folosită pentru a proiecta aplicații Graphical User Interface (GUI) precum Microsoft Word și Windows Communication Foundation este folosită pentru a proiecta servicii web. Odată ce o aplicație este proiectată, aceasta se bazează pe un API. De exemplu, o aplicație desktop Microsoft Windows poate închide sau deschide aplicația apelând funcții API din Biblioteca Windows Forms .NET, cum ar fi Form1.Close() și Form1.Show(). Fără aceste API-uri, dezvoltatorul trebuie să scrie singur aceste funcții. Companii precum Oracle și Microsoft oferă propriile API-uri, așa că multe aplicații sunt scrise folosind bibliotecile lor, care au adesea mai multe API-uri.

Structurile de date, cum ar fi tabelele hash, matricele și arborii binari, precum și algoritmii, cum ar fi Quicksort, pot fi utile în crearea de software.

Software-ul de calculator are caracteristici economice speciale care diferă de majoritatea celorlalte produse economice în ceea ce privește proiectarea, producția și distribuția.

O persoană care creează software se numește programator, inginer software sau dezvoltator de software și toate înseamnă același lucru. Există, de asemenea, termeni informali pentru programare, cum ar fi „coder” și „hacker”, deși utilizarea acestuia din urmă poate fi confuză, deoarece este mai frecvent folosit pentru a se referi la cineva care intră ilegal într-un sistem.

Free Start Counter
This is the title of the web page
Right Click is disabled for the complete web page.
Flag Counter