Programació d'ordinador)

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Un conjunt de manuals de programació.

La programació , en informàtica , és una fase d’ implementació de tot el cicle de desenvolupament de programari (vegeu enginyeria de programari ) amb l’objectiu final de satisfer les especificacions funcionals requerides pel client segons una anàlisi estructural predefinida del projecte de programari; més específicament, és el conjunt d’activitats i tècniques que realitzen una o més persones especialitzades ( equip ), programadors o desenvolupadors ( desenvolupador ) per crear un programa o aplicació , és a dir, un programari que pot executar un ordinador , escrivint el font de codi relatiu en un llenguatge de programació específic; juntament amb els sistemes i la ciència de dades , constitueix la branca o la línia de productivitat de les TI corporatives , anomenada terciària avançada .

Descripció

Icona de la lupa mgx2.svg El mateix tema en detall: Programa (informàtica) .

Els fonaments de programació indiquen els coneixements bàsics que ha de tenir un programador per programar en qualsevol llenguatge de programació . Per escriure línies de codi enllenguatges deprogramació, és suficient que un programador utilitzi un processador de textos normal o un programa ad hoc anomenat editor sovint inclòs dins d’un entorn de desenvolupament integrat (IDE). En el segon cas, el programari identifica automàticament els errors més trivials (per exemple , errors de sintaxi ) que pot cometre un programador .

Els passos amb els quals es desenvolupa un programa eficient són similars entre si en gairebé tots els contextos de programació (empreses, aficions, feina, etc.). Les primeres fases estan estrictament lligades a la lògica del que es crearà i al seu funcionament, mentre que les darreres s’orientaran cap al llenguatge de programació específic que s’utilitzarà.

La primera operació que cal dur a terme per a la creació de qualsevol programa és definir amb la màxima precisió i precisió possible quin problema volem resoldre. Això s'aplica tant a una funció matemàtica simple com a una base de dades complexa. L' entrada que rep el programa està relacionada amb la sortida que volem retornar després de processar-la. Aquesta fase pot presentar una gran complexitat a causa del treball abstracte que requereix que el programador imagini el resultat final i la seva formalització.

Disseny d'un programa

Icona de la lupa mgx2.svg Mateix tema en detall: enginyeria de programari .

Un cop superada la definició del problema a resoldre, cal dissenyar possibles solucions, comparar-les entre elles i tornar a la més eficient (recordant que una solució ineficient per a un determinat problema podria ser útil per al desenvolupament d'altres programes). Per comparar la diferència real entre una solució i una altra, es poden utilitzar dues eines diferents:

  • Un d’ells és el diagrama de flux : amb un gràfic molt intuïtiu podeu il·lustrar un procés en totes les fases que el caracteritzen. Cada fase està connectada a les altres per línies de flux que indiquen la direcció del procés dins del programa .
  • Un mètode de disseny eficaç és el pseudocodi , una forma de codificació similar al llenguatge que parla el programador . La seva redacció és similar a una línia d’operacions que es defineixen quan s’ha de realitzar una acció determinada. L’escriptura del pseudocodi ha de ser com a mínim tan detallada com el codi final, però no es requereix una sintaxi precisa respecte a aquest, deixant al programador lliure de concentrar-se en els principals problemes del programa .

Elecció de l'algorisme

Icona de la lupa mgx2.svg El mateix tema en detall: Algorisme .
Exemple de diagrama de flux d'un algorisme

Per crear un programa de manera eficient hem de dissenyar amb cura l' algorisme . Per exemple, podríem crear un algorisme que realitzi els passos següents:

  1. Examineu una llista de números i reconegueu el menor;
  2. Assigneu el nombre més petit a la variable X;
  3. Imprimeix la variable X;

És important especificar que la llista de passos ha de contenir instruccions clares, precises i sense ambigüitats, és a dir, el significat de les quals no depèn del context en què està escrit, sinó que és clarament identificable.

Els programes d'ordinador són molt més complexos que un procés lineal, com ara l'addició de dos nombres. Per dotar el programa d’una estructura més complexa, s’utilitzen les eines següents:

  • Les branques consisteixen a proporcionar al codi funcions que poden canviar el desenvolupament de l' algorisme d' acord amb el resultat de la condició expressada.
  • Els bucles són seqüències d’instruccions que s’executen repetidament fins que es compleix una determinada condició. Cada repetició s’anomena iteració.

Els programes també es poden dividir en seccions de manera que es poden realitzar diverses tasques mitjançant seqüències de passos més senzilles. Amb aquesta finalitat, el programa es divideix en funcions . El programador expert sovint salta aquesta fase de desenvolupament en termes d’algorisme i passa directament a la següent fase pensant directament en la solució algorítmica del problema donat en termes de llenguatge de codificació o llenguatge de programació o en pseudocodi .

Elecció de tècniques: paradigmes de programació

Icona de la lupa mgx2.svg El mateix tema en detall: paradigma de programació i eines de control .

Hi ha diverses tècniques de programació, les més habituals i utilitzades són les següents:

  • Programació no estructurada : el programa està format per un bloc d'instruccions (anomenat principal ) que s'executen de manera seqüencial.
  • Programació procedimental : hi ha blocs d’instruccions que actuen com a subprogrames i realitzen funcions ben definides.
  • Programació modular : on podeu utilitzar els procediments disponibles per altres programes i permetre'ls utilitzar els seus propis.
  • Programació orientada a objectes: es creen "objectes" que poden funcionar de manera autònoma o interactuar entre ells. Cada objecte té per si mateixes propietats i funcions específiques (si assumim un cotxe com a objecte, una característica serà el seu color o la seva marca i les funcions s’acceleraran o s’alentiran). Cada paradigma pot explotar un o més llenguatges de programació amb un nivell d’abstracció baix, mitjà o alt.

Llenguatges de programació

Icona de la lupa mgx2.svg El mateix tema en detall: Llenguatge de programació i plataforma (ordinador) .
Mostra del codi font escrit en llenguatge C ++
Exemple de programa escrit en Java

Hi ha molts llenguatges de programació i es divideixen principalment en dues categories: interpretats i compilats .

Els llenguatges interpretats més habituals són:

A més, també s’interpreten els scripts shell (els anomenats fitxers batch ) i altres scripts utilitzats a Internet ( Jscript , VBScript , Batch ...). El codi d’un programa interpretat es desa tal qual i el llegeix un intèrpret , que és un programa que s’executa al vostre sistema operatiu . Els llenguatges de programació compilats, en canvi, requereixen que el codi, un cop acabat, sigui processat per un compilador que, convertint-lo en llenguatge de màquina , permeti executar-lo per la CPU .

Els idiomes compilats més famosos són:

Els programes interpretats són més lents però més fàcils de crear i executar en molts sistemes operatius, sempre que tinguin el mateix intèrpret i el dialecte de la llengua sigui comú. Els llenguatges compilats, sovint, tenen normes ISO , o en tot cas regles universals, que us permeten compilar un programa sense modificacions en diverses arquitectures, fins i tot des d’una única màquina, sempre que tingueu un compilador adequat.

Java es pseudocompila, és a dir, es tradueix a un llenguatge intermedi, anomenat bytecode , que és un tipus de llenguatge de màquina, que després es passa a l'intèrpret, que ha d'estar disponible per al tipus de màquina que vulgueu utilitzar. Visual Basic , en canvi, no és un llenguatge estàndard, sinó un entorn de desenvolupament creat per desenvolupar programes en un Basic orientat a objectes desenvolupat per Microsoft i, com a tal, disponible només al seu sistema operatiu. Com que no hi ha cap estàndard reconegut, no es garanteix la compatibilitat entre versions posteriors i no és possible utilitzar-lo completament en altres sistemes operatius o CPU diferents dels suportats per Microsoft.

Codificació del programa

Icona de la lupa mgx2.svg El mateix tema en detall: teorema de Böhm-Jacopini , codi font , entorn de desenvolupament integrat i entorn d’execució .
Codi font escrit en Python

En aquesta fase, es fa l'elecció del paradigma de programació i del llenguatge de programació relatiu amb el qual desenvolupar el projecte (per exemple, Java , C ++ , BASIC , Perl , etc.), passant de diagrames de flux o pseudocodi a un més rigorós sintaxi i especificació de l'idioma escollit, elaborant el codi font .

En aquest sentit, un teorema de la informàtica teòrica (el teorema de Böhm-Jacopini ) estableix que per a la codificació de l'algorisme en el codi font d'un determinat llenguatge és necessari l'ús adequat, possiblement combinat, de només tres estructures per controlar el flux d'execució: la seqüència o bloc d' instruccions , selecció i iteració que depèn de l'ús de variables , constants , tipus de dades, indicadors , operadors aritmètics i lògics , estructures de dades , funcions , paràmetres , entrada estàndard , sortida estàndard i error d' instruccions estàndard, etc. .

L'operació de codificació és la que està més subjecta a errors de naturalesa lògica i sintàctica. En teoria, el programa podria estar llest en aquesta etapa, però en realitat presenta errors ( errors ) en gairebé tots els casos, que s’analitzaran en la següent etapa. Normalment, el desenvolupament d’una aplicació es realitza localment al PC del desenvolupador, que podrà realitzar una primera fase de prova verificant la bondat o no de la sortida del programa realitzat.

De vegades, un projecte de programari el porta a terme una comunitat d’usuaris distribuïts a la xarxa actius a través de grups de notícies , com passa per exemple per a diverses distribucions GNU / Linux . Quan un projecte de programari en desenvolupa un altre sobre el mateix tipus de programa, però realitzat per una altra comunitat, s’anomena bifurcació .

Comprovació del resultat: errors de programació

Icona de la lupa mgx2.svg El mateix tema en detall: errors i depuració .
Activitats de depuració

Un cop finalitzat el programa , són freqüents els errors de programació o errors derivats de diversos motius que poden sorgir durant el desenvolupament i l'execució d'un codi. Aquests errors es poden dividir bàsicament en tres categories principals: errors de sintaxi, errors lògics i errors en temps d'execució. Tots aquests errors s’han d’eliminar necessàriament sota la pena de mal funcionament o bloqueig de l’execució del programa.

La fase de verificació i desenvolupament del programa té el propòsit de trobar i corregir els errors trobats i s’anomena depuració . Aquesta és una fase molt llarga i important en què el programador verifica la bondat del seu treball. Si solucioneu un error, podríeu provocar nous errors, de manera que heu de tenir molta precaució.

Per evitar depurar un programa massa complex i articulat, és preferible crear un prototip , que sigui una versió del resultat final que no presenti en si mateix totes les funcions proporcionades pel projecte original, obtenint una major velocitat de correcció de els principals errors . Al final d'aquesta fase, tindrem el producte acabat. Les operacions realitzades durant el desenvolupament s'han de documentar adequadament per tal de facilitar una futura modificació.

Exemple: suma de dos nombres

El primer programa educatiu que escriu un programador format sol ser Hello world . Un altre programa senzill i intuïtiu és sens dubte el que, prenent dos números com a entrada , retorna la seva suma com a sortida . Segons el llenguatge de programació utilitzat, l’estructura canvia i s’articula d’una manera diferent.

Desenvolupament de programari en l'entorn empresarial

Icona de la lupa mgx2.svg Mateix tema en detall: enginyeria de programari .
Algunes fases del desenvolupament de programari

El desenvolupament d’un sistema de programes dins d’una empresa forma part d’un procés d’anàlisi i disseny molt més ampli que sol implicar tot un equip d’analistes / desenvolupadors. A més de ser eficient, el resultat ha de satisfer les peticions específiques de l’activitat empresarial per a la qual està dissenyat.

Inicialment procedim amb una anàlisi detallada dels requisits que pretén resoldre (necessitats) la creació del programa, també anomenada anàlisi funcional . L'analista ha de proposar aquesta informació i elaborar propostes adequades en la fase de disseny. El document de sortida d’anàlisi pren diversos noms: especificació funcional, especificacions, llista de requisits, però sovint s’utilitzen termes en anglès. Els requisits solen significar no només funcions, sinó també: rendiment, condicions d’ús, especificacions de tecnologia i maquinari, etc. En la lògica de la gestió de projectes , el document de definició de requisits també pot anar acompanyat dels relacionats amb: temps, costos, responsabilitats, riscos, etc.

Un cop finalitzada l’anàlisi, passem a la fase de disseny real del nou sistema. Aquesta operació implica un gran nombre de persones i idees. Els millors projectes seran seleccionats i desenvolupats amb vista a l’eficiència i el guany econòmic. Un cop aprovat el millor projecte, passem al desenvolupament real. Això consisteix en la compra del material de programari (i possiblement el de maquinari ) necessari per verificar el funcionament del nou sistema. Després segueix la fase de proves de l'aplicació per part d'un equip independent que transmet qualsevol error o error als desenvolupadors per a la seva resolució.

Per a moltes empreses, el programari del mercat sovint no és adequat per a les seves necessitats i és necessari desenvolupar programes personalitzats o modificar-ne els existents. Amb aquesta finalitat, hi ha altres empreses especialitzades en aquest tipus de serveis que, per tant, es subcontracten ( empreses de consultoria informàtica ).

Instal·lació

Icona de la lupa mgx2.svg El mateix tema en detall: desplegament .

Un cop creat i verificat el nou sistema, s’instal·la a l’ empresa i ja és completament operatiu. Aquest impacte pot ser traumàtic per a una empresa acostumada a sistemes antics, motiu pel qual procedim de diferents maneres, segons els casos:

  • Instal·lació directa , en què desactiveu el sistema antic i el substituïu pel nou que acabeu de crear. Si aquesta substitució té problemes no previstos en el desenvolupament, no hi ha cap còpia de seguretat dels antics programes , cosa que provoca enormes problemes. Aquesta solució només s’adopta en absència d’alternatives vàlides.
  • La instal·lació paral·lela , en què el treball previst per al nou sistema es distribueix a parts iguals sobre ell i sobre l’ obsolet , per tal d’afrontar un possible problema del nou mitjançant l’ús temporal de l’antic. Quan el nou sistema assoleix un nivell decent de fiabilitat, substitueix totalment l’antic.
  • La instal·lació esglaonada , en què el nou sistema s’introdueix gradualment, a mesura que es resolen els errors trobats, substitueix l’antic en diverses etapes. En adoptar aquesta solució, qualsevol problema tindrà conseqüències menys desastroses que afectaran només una fase. L’inconvenient d’aquest tipus d’instal·lació és el temps molt llarg.
  • La instal·lació pilot , en què el nou sistema només s'utilitza per a una petita part de les activitats de l'empresa i, si funciona regularment, s'estén a tota l' empresa . En cas de problemes, es limitaran només a la part de l’activitat que adopti el nou sistema, sense perjudici de tota l’activitat de l’empresa.

Implementació

Un cop finalitzada la instal·lació, el programa proporcionarà a l’ empresa un servei que requereix, però, manteniment, en què es resolguin els problemes trobats i s’introdueixin canvis funcionals per millorar el rendiment dels programes.

Àrees de programació

Depenent de l’ús previst del codi, hi ha diversos tipus de programació, com ara:

Bibliografia

  • Dennis P. Curtin, Kim Foley, Kunal Sen, Cathleen Morin, Informàtica bàsica , Mc-Graw Hill, 2005

Articles relacionats

Altres projectes

Enllaços externs

Control de l'autoritat Thesaurus BNCF 7541 · LCCN (EN) sh85107310 · GND (DE) 4076370-5 · BNF (FR) cb11932648m (data) · BNE (ES) XX526555 (data) · NDL (EN, JA) 00.569.223
Informàtica Portal de TI : accediu a les entrades de Viquipèdia relacionades amb TI