Abstracció (informàtica): diferència entre les revisions

Contingut suprimit Contingut afegit
m Afegint plantilla:Viccionari-lateral
format
Etiqueta: editor de codi 2017
Línia 1:
{{FR|data=novembre de 2015}}
L''''abstracció''' és l'eina de gestió de la complexitat per a un sistema de [[computació]]. Consisteix a aïllar un element dels elements que l’acompanyen i/o el componen. Per exemple, quan en una capa del sistema es treballa amb nombres, no interessa posar atenció als detalls de la representació dels nombres ( com per exemple la seva representació al hardware[[maquinari]] en forma de [[bits]]), així que simplement s'abstrauen aquests detalls, amagant-los en capes inferiors, permetent treballar directament amb els nombres. En altres paraules, l'abstracció és el que permet oblidar-se dels detalls innecessaris a cada moment i centrar-se en el problema immediat.<ref>{{Ref-web|url = http://www.fing.edu.uy/iie/investigacion/grupos/bicoti/bicoti1/SoftEngineering/softeng02.htm|títol = Conceptos Básicos en Ingeniería de Software II|consulta = 11/02/2015|llengua = Castellà|editor = Facultad de Ingeniería de la Universidad de la República d'Uruguay|data = }}</ref>
 
== Classificació ==
L'abstracció tant pot aplicar-se a control com a dades: L'abstracció de control és l'abstracció d'accions i consisteix en la utilització de [[subprogrames]] i l'establiment del [[flux de control]] (les particions i l'ordre en què s'avalua i executa un programa), mentre que la de dades és l'abstracció d'[[Estructura de dades|estructures de dades]] i consisteix en la partició de les dades en fragments autocontinguts i amb sentit.
 
=== Abstracció de control ===
- L'abstracció de control consisteix en la utilització de subprogrames i l'establiment del flux de control (les particions i l'ordre en què s'avalua i executa un programa).
Una computadora, per efectuar operacions simples com les aritmètiques, necessita efectuar accions com moure bits d’un lloc a un altre, fer comparacions, etc. A l’hora de codificar, però., Aquestsaquests passos s’ometen, i simplement se li especifica a la computadora l'operació aritmètica, abstraient-se dels detalls de l’execució. El mateix passa amb totes les accions: els detalls més complicats de l'execució s’abstrauen en altres accions a nivells més baixos.<ref>{{Ref-llibre|cognom = |nom = |títol = Introducción a la Programación|url = https://books.google.es/books?hl=es&lr=&id=QBVlCQAAQBAJ&oi=fnd&pg=PA17&dq=%22abstracci%C3%B3n+de+control%22&ots=q6hs7YzC9U&sig=6PnbIr2m5KwwzF88sQLvNvLebTE#v=onepage&q=%22abstracci%C3%B3n%20de%20control%22&f=false|edició = 1|llengua = Castellà|data = 2015|editorial = |lloc = |pàgines = 57, 58|isbn = 978-1-312-76385-2}}</ref>
 
=== Abstracció de dades ===
- L'abstracció de dades consisteix en la partició de les dades en fragments autocontinguts i amb sentit.
Qualsevol [[aplicació]] té gran quantitat de dades relacionant-se i interacuantinteractuant. L’abstracció de dades ens permet posar ordre entre les relacions i abstraure’ns de la implementació de la seva interacció.<ref>{{Ref-llibre|cognom = |nom = |títol = Introducción a la programación|url = https://books.google.es/books?hl=es&lr=&id=QBVlCQAAQBAJ&oi=fnd&pg=PA17&dq=%22abstracci%C3%B3n+de+control%22&ots=q6hs7YzC9U&sig=6PnbIr2m5KwwzF88sQLvNvLebTE#v=onepage&q=%22abstracci%C3%B3n%20de%20control%22&f=false|edició = 1|llengua = Castellà|data = 2015|editorial = |lloc = |pàgines = 117, 118|isbn = 978-1-312-76385-2}}</ref> És a dir, definim, diferenciem i identifiquem totes les dades de manera que cada element tingui el seu significat, i deixem clar el comportament d’aquestes dades abstraient-nos de la implementació concreta d’aquest comportament, capacitat que permet, a tall d'exemple, que la [[programació orientada a objectes]] estableixi interfícies<ref>{{Ref-web|url = http://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html|títol = Interfaces|consulta = 02/11/2015|llengua = anglés|editor = Oracle|data = |obra = The Java™ Tutorials}}</ref> per a diferents classes (mateix comportament, diferent implementació).
 
== Abstracció de control ==
Una computadora, per efectuar operacions simples com les aritmètiques, necessita efectuar accions com moure bits d’un lloc a un altre, fer comparacions, etc. A l’hora de codificar, però. Aquests passos s’ometen, i simplement se li especifica a la computadora l'operació aritmètica, abstraient-se dels detalls de l’execució. El mateix passa amb totes les accions: els detalls més complicats de l'execució s’abstrauen en altres accions a nivells més baixos.<ref>{{Ref-llibre|cognom = |nom = |títol = Introducción a la Programación|url = https://books.google.es/books?hl=es&lr=&id=QBVlCQAAQBAJ&oi=fnd&pg=PA17&dq=%22abstracci%C3%B3n+de+control%22&ots=q6hs7YzC9U&sig=6PnbIr2m5KwwzF88sQLvNvLebTE#v=onepage&q=%22abstracci%C3%B3n%20de%20control%22&f=false|edició = 1|llengua = Castellà|data = 2015|editorial = |lloc = |pàgines = 57, 58|isbn = 978-1-312-76385-2}}</ref>
 
== Abstracció de dades ==
Qualsevol aplicació té gran quantitat de dades relacionant-se i interacuant. L’abstracció de dades ens permet posar ordre entre les relacions i abstraure’ns de la implementació de la seva interacció.<ref>{{Ref-llibre|cognom = |nom = |títol = Introducción a la programación|url = https://books.google.es/books?hl=es&lr=&id=QBVlCQAAQBAJ&oi=fnd&pg=PA17&dq=%22abstracci%C3%B3n+de+control%22&ots=q6hs7YzC9U&sig=6PnbIr2m5KwwzF88sQLvNvLebTE#v=onepage&q=%22abstracci%C3%B3n%20de%20control%22&f=false|edició = 1|llengua = Castellà|data = 2015|editorial = |lloc = |pàgines = 117, 118|isbn = 978-1-312-76385-2}}</ref> És a dir, definim, diferenciem i identifiquem totes les dades de manera que cada element tingui el seu significat, i deixem clar el comportament d’aquestes dades abstraient-nos de la implementació concreta d’aquest comportament, capacitat que permet, a tall d'exemple, que la [[programació orientada a objectes]] estableixi interfícies<ref>{{Ref-web|url = http://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html|títol = Interfaces|consulta = 02/11/2015|llengua = anglés|editor = Oracle|data = |obra = The Java™ Tutorials}}</ref> per a diferents classes (mateix comportament, diferent implementació).
 
== Nivells d'abstracció ==
Des de la gestió de recursos de la màquina fins a les [[Interfície d'usuari|interfícies d’usuari]], l’abstracció es fa més pronunciada a través de diferents capes o nivells. D’aquesta manera, com més detallem com funciona tot (nivell de màquina) més baixa és l’abstracció, i com menys ens centrem en els detalls i més es restringeix l’accés als recursos, més alta és l’abstracció.
 
Podríem dir, per tant, que el nivell de [[Maquinari|hardwaremaquinari]] és el nivell 0, i que els usuaris es troben a la capa més alta, trobant per mig a [[Programador|programadors]], desenvolupadors de software, dissenyadors de [[Sistema operatiu|sistemes operatius]] i [[Arquitectura de computadors|arquitectes de hardware]], cadascun a un nivell més baix que l’anterior.
 
== Referències ==