You are on page 1of 19

26/9/2017 Entorns de desenvolupament

E N TO R N S D E D E S E N V O L U PA M E N T

1. Desenvolupament de programari

Tota aplicaci informtica, ja sigui utilitzada en un suport convencional (com un ordinador de sobretaula o un ordi-
nador porttil) o sigui utilitzada en un suport de nova generaci (per exemple, dispositius mbils com ara un tel-
fon mbil de darrera generaci o una tauleta tctil PC), ha seguit un procediment planificat i desenvolupat detall
per detall per a la seva creaci. Aquest anir des de la concepci de la idea o de la funcionalitat que haur de satisfer
aquesta aplicaci fins a la generaci dun o diversos fitxers que permetin la seva execuci exitosa.

Per convertir aquesta concepci duna idea abstracta en un producte acabat que sigui efica i eficient hi haur molts
ms passos, moltes tasques a fer. Aquestes tasques caldr que estiguin ben planificades i que segueixin un gui que
pot tenir en compte aspectes com:

Analitzar les necessitats que tenen les persones que faran servir aquest programari, escoltar com el voldran,
atendre a les seves indicacions
Dissenyar una soluci que tingui en compte totes les necessitats abans analitzades: qu haur de fer el progra-
mari, quines interfcies grfiques tindr i com seran aquestes, quines dades shauran demmagatzemar i com es
far
Desenvolupar el programari que implementi tot all analitzat i dissenyat anteriorment, fent-lo duna forma al
ms modular possible per facilitar el posterior manteniment o manipulaci per part daltres programadors.
Dur a terme les proves pertinents, tant de forma individualitzada per a cada mdul com de forma complerta,
per tal de validar que el codi desenvolupat s correcte i que fa el que ha de fer segons lestablert en els requeri-
ments.
Implantar el programari en lentorn on els usuaris finals el faran servir.

Aquest apartat se centrar en el tercer punt, el desenvolupament de programari.

1.1. Concepte de programa informtic

Un primer pas per poder comenar a analitzar com cal fer un programa informtic s tenir clar qu s un programa
i qu significa aquest concepte. En contrast amb altres termes usats en informtica, s possible referir-se a un pro-
grama en el llenguatge colloquial sense haver destar parlant necessriament dordinadors. Es podria estar refe-
rint al programa dun cicle de conferncies o de cinema. Per, tot i que no es tracta dun context informtic, aquest
s ja aporta una idea general del seu significat.

Un programa infomtic s un conjunt desdeveniments ordenats de manera que se suc-


ceeixen de forma seqencial en el temps, un darrere laltre.

Un altre s habitual, ara s vinculat al context de les mquines i els autmats, podria ser referir-se al programa
duna rentadora o dun robot de cuina. En aquest cas, per, el que se succeeix sn un conjunt, no tant desdeveni-
ments, sin dordres que lelectrodomstic segueix ordenadament. Un cop seleccionat el programa que volem,
lelectrodomstic fa totes les tasques corresponents de manera autnoma.

Per exemple, el programa dun robot de cuina per fer una crema de pastanaga seria:

1. Espera que introduu les pastanagues ben netejades, una patata i espcies al gust.
2. Gira durant 1 minut, avanant progressivament fins a la velocitat 5.
3. Espera que introduu llet i sal.
4. Gira durant 30 segons a velocitat 7.
5. Gira durant 10 minuts a velocitat 3 mentre cou a una temperatura de 90 graus.
6. Satura. La crema de pastanaga est llesta!
Aquest conjunt dordres no s arbitrari, sin que serveix per dur a terme una tasca de certa complexitat que no es
pot fer dun sol cop. Sha de fer pas per pas. Totes les ordres estan vinculades entre si per arribar a assolir aquest
objectiu i, sobretot, s molt important la disposici en qu es duen a terme.

Entrant ja, ara s, en el mn dels ordinadors, la manera com sestructuren les tasques que han de ser executades s
similar als programes delectrodomstics anteriorment citats. En aquest cas, per, en lloc de transformar ingredi-

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 1/19
26/9/2017 Entorns de desenvolupament
ents (o rentar roba bruta, si es tracts duna rentadora), el que lordinador transforma s informaci o dades.

Un programa informtic no s ms que un seguit dordres que es porten a terme seqen-


cialment, aplicades sobre un conjunt de dades.

Quines dades processa un programa informtic? B, aix dependr del tipus de programa:

Un editor processa les dades dun document de text.


Un full de clcul processa dades numriques ubicades en un fitxer.
Un videojoc processa les dades que fan referncia a la forma i ubicaci denemics i jugadors, les interfcies gr-
fiques on es trobar el jugador, els punts aconseguits
Un navegador web processa les ordres de lusuari i les dades que rep des dun servidor ubicat a internet.
Un reproductor de vdeo processa els fotogrames emmagatzemats en un arxiu i ludio relacionat.

Per tant, la tasca dun programador informtic s escollir quines ordres constituiran un programa dordinador, en
quin ordre shan de dur a terme i sobre quines dades cal aplicar-les perqu el programa porti a terme la tasca que
ha de resoldre.

Executar un programa
Per executar un programa sentn fer que lordinador segueixi
totes les seves ordres, des de la primera fins a la darrera.

La dificultat de tot plegat ser ms o menys gran depenent de la complexitat mateixa dall que cal que el programa
faci. No s el mateix establir qu ha de fer lordinador per resoldre una multiplicaci de tres nombres que per pro-
cessar textos o visualitzar pgines a Internet.

Daltra banda, un cop fet el programa, cada cop que sexecuti, lordinador complir totes les ordres del programa.

De fet, un ordinador s incapa de fer absolutament res per si mateix, sempre cal dir-li qu ha de fer. I aix se li diu
mitjanant lexecuci de programes. Tot i que des del punt de vista de lusuari pot semblar que quan es posa en
marxa un ordinador aquest funciona sense executar cap programa concret, cal tenir en compte que el seu sistema
operatiu s un programa que est sempre en execuci.

1.2. Codi font, codi objecte i codi excutable: mquines virtuals

Editors de text simples


Un editor de text simple s aquell que permet escriure-hi noms
text sense format. En sn exemples el Bloc de Notes (Windows), el
Gedit o lEmacs (Unix).

Per crear un programa el que es far ser crear un arxiu i escriure a un fitxer el seguit dinstruccions que es vol que
lordinador executi. Aquestes instruccions hauran de seguir unes pautes determinades en funci del llenguatge de
programaci escollit. A ms, haurien de seguir un ordre determinat que donar sentit al programa escrit. Per
comenar nhi haur prou amb un editor de text simple.

Un cop sha acabat descriure el programa, el conjunt de fitxers de text resultants, on es tro-
ben les instruccions, es diu que contenen el codi font. Aquest codi font pot ser des dun
nivell molt alt, molt a prop del llenguatge hum, fins a un de nivell ms baix, ms proper al
codi de les mquines, com ara el codi assemblador.

En lapartat Tipus de llenguatges de programaci es descriuen les


caracterstiques dels llenguatges mquina, assemblador, dalt nivell
i de propsit especfic.

La tendncia actual s fer s de llenguatges dalt nivell, s a dir, propers al llenguatge hum. Per aix fa aparixer
un problema, i s que els fitxers de codi font no contenen el llenguatge mquina que entendr lordinador. Per tant,

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 2/19
26/9/2017 Entorns de desenvolupament

resulten incomprensibles per al processador. Per poder generar codi mquina cal fer un procs de traducci des
dels mnemotcnics que cont cada fitxer a les seqncies binries que entn el processador.

El codi objecte de les instruccions t aquest aspecte:


10101001000001101100110 10100101011100001110111

El procs anomenat compilaci s la traducci del codi font dels fitxers del programa en fitxers en format binari
que contenen les instruccions en un format que el processador pot entendre. El contingut daquests fitxers sano-
mena codi objecte. El programa que fa aquest procs sanomena compilador.

El codi objecte s el codi font tradut (pel compilador) a codi mquina, per aquest codi
encara no pot ser executat per lordinador.

El codi executable s la traducci completa a codi mquina, duta a terme per lenllaador
(en angls, linker). El codi executable s interpretat directament per lordinador.

L enllaador s lencarregat dinserir al codi objecte les funcions de les llibreries que sn necessries per al pro-
grama i de dur a terme el procs de muntatge generant un arxiu executable.

Una llibreria s un collecci de codi predefinit que facilita la tasca del programador a lhora de codificar un pro-
grama.

A la figura 1 es mostra un resum ordenat de tots els conceptes definits. El codi font desenvolupat pels programadors
es convertir en codi objecte amb lajuda del compilador. Aquest ajudar a localitzar els errors de sintaxi o de com-
pilaci que es trobin al codi font. Amb lenllaador, que recollir el codi objecte i les llibreries, es generar el codi
executable.

Figura 1.1. Procs de transformaci dun codi font a un codi executable

1.2.1. Mquina virtual


El concepte de mquina virtual sorgeix amb lobjectiu de facilitar el desenvolupament de compiladors que generen
codi per a diferents processadors.

La compilaci consta de dues fases:

La primera parteix del codi font a un llenguatge intermedi obtenint un programa equivalent amb un menor
nivell dabstracci que loriginal i que no pot ser directament executat.
La segona fase tradueix el llenguatge intermedi a un llenguatge comprensible per la mquina.

Arribat aquest punt es podria plantejar la pregunta: per qu dividir la compilaci en dues fases? Lobjectiu s que el
codi de la primera fase, el codi intermedi, sigui com per a qualsevol processador, i que el codi generat en la segona
fase sigui lespecfic per a cada processador. De fet, la traducci del llenguatge intermedi al llenguatge mquina no
se sol fer mitjanant compilaci sin mitjanant un intrpret, tal com es mostra en la figura 1.

Figura 1.2. Mquina virtual

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 3/19
26/9/2017 Entorns de desenvolupament

La mquina virtual Java


La mquina virtual Java (JVM) s lentorn en qu sexecuten els programes Java. s un programa natiu, s a dir,
executable en una plataforma especfica, que s capa dinterpretar i executar instruccions expressades en un codi
de bytes o (el bytecode de Java) que s generat pel compilador del llenguatge Java.

Codi de bytes
El codi de bytes no s un llenguatge dalt nivell, sin un veritable
codi mquina de baix nivell, viable fins i tot com a llenguatge
dentrada per a un microprocessador fsic.

La mquina virtual Java s una pea fonamental de la tecnologia Java. Se situa en un nivell superior al maquinari
sobre el qual es vol executar laplicaci i actua com un pont entre el codi de bytes a executar i el sistema. Aix, quan
un programador escriu una aplicaci Java, ho fa pensant en la JVM encarregada dexecutar laplicaci i no hi ha cap
motiu per pensar en les caracterstiques de la plataforma fsica sobre la qual sha dexecutar laplicaci. La JVM ser
lencarregada, en executar laplicaci, de convertir el codi de bytes a codi natiu de la plataforma fsica.

El gran avantatge de la JVM s que possibilita la portabilitat de laplicaci a diferents plataformes i, aix, un pro-
grama Java escrit en un sistema operatiu Windows es pot executar en altres sistemes operatius (Linux, Solaris i
Apple OS X) amb lnic requeriment de disposar de la JVM per al sistema corresponent.

El concepte de mquina virtual Java susa en dos mbits: duna banda, per fer referncia al conjunt despecificaci-
ons que ha de complir qualsevol implementaci de la JVM; daltra banda, per fer referncia a les diverses imple-
mentacions de la mquina virtual Java existents i de les quals cal utilitzar-ne alguna per executar les aplicacions
Java.

Als materials web es pot trobar una explicaci, pas a pas, de com
descarregar i installar la mquina virtual Java.

Lempresa Sun Microsystems s la propietria de la marca registrada Java, i aquesta sutilitza per certificar les
implementacions de la JVM que sajusten i sn totalment compatibles amb les especificacions de la JVM, en el pre-
faci de les quals es diu: Esperem que aquesta especificaci documenti suficientment la mquina virtual de Java per
fer possibles implementacions des de zero. Sun proporciona tests que verifiquen que les implementacions de la
mquina virtual Java operen correctament.

1.3. Tipus de llenguatges de programaci

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 4/19
26/9/2017 Entorns de desenvolupament

Establert el concepte de programa informtic i els conceptes de codi font, codi objecte i codi executable (aix com el
de mquina virtual), cal ara establir les diferncies entre els diversos tipus de codi font existents, a travs dels quals
sarriba a obtenir un programa informtic.

Un llenguatge de programaci s un llenguatge que permet establir una comunicaci


entre lhome i la mquina. El llenguatge de programaci identificar el codi font, que el pro-
gramador desenvolupar per indicar a la mquina, una vegada aquest codi shagi convertit
en codi executable, quins passos ha de donar.

Al llarg dels darrers anys ha existit una evoluci constant en els llenguatges de programaci. Sha establert una crei-
xent evoluci en la qual es van incorporant elements que permeten crear programes cada vegada ms slids i efici-
ents. Aix facilita molt la tasca del programador per al desenvolupament del programari, el seu manteniment i
ladaptaci. Avui en dia, existeixen, fins i tot, llenguatges de programaci que permeten la creaci daplicacions
informtiques a persones sense coneixements tcnics dinformtica, pel fet dexistir una creaci prcticament auto-
mtica del codi a partir dunes preguntes.

Els diferents tipus de llenguatges sn:

Llenguatge de primera generaci o llenguatge mquina.


Llenguatges de segona generaci o llenguatges dassemblador.
Llenguatges de tercera generaci o llenguatges dalt nivell.
Llenguatges de quarta generaci o llenguatges de propsit especfic.
Llenguatges de cinquena generaci.

El primer tipus de llenguatge que es va desenvolupar s lanomenat llenguatge de pri-


mera generaci o llenguatge mquina. s lnic llenguatge que entn lordinador
directament.

La seva estructura est totalment adaptada als circuits impresos dels ordinadors o processadors electrnics i molt
allunyada de la forma dexpressi i anlisi dels problemes propis dels humans (les instruccions sexpressen en codi
binari). Aix fa que la programaci en aquest llenguatge resulti tediosa i complicada, ja que es requereix un conei-
xement profund de larquitectura fsica de lordinador. A ms, sha de valorar que el codi mquina fa possible que el
programador utilitzi la totalitat de recursos del maquinari, amb la qual cosa es poden obtenir programes molt efici-
ents.

10110000 01100001
Aquesta lnia cont una instrucci que mou un valor al registre del processador.

Actualment, a causa de la complexitat del desenvolupament daquest tipus de llenguatge, est prcticament en
dess. Noms es far servir en processadors molts concrets o per a funcionalitats molt especfiques.

El segon tipus de llenguatge de programaci sn els llenguatges de segona generaci o


llenguatges dassemblador. Es tracta del primer llenguatge de programaci que utilitza
codis mnemotcnics per indicar a la mquina les operacions que ha de dur a terme. Aques-
tes operacions, molt bsiques, han estat dissenyades a partir de la coneixena de lestructura
interna de la prpia mquina.

Cada instrucci en llenguatge dassemblador correspon a una instrucci en llenguatge mquina. Aquests tipus de
llenguatges depenen totalment del processador que utilitzi la mquina, per aix es diu que estan orientats a les
mquines.

A la figura 1 es mostra un esquema del funcionament dels llenguatges de segona generaci. A partir del codi escrit
en llenguatge dassemblador, el programa traductor (assemblador) ho converteix en codi de primera generaci, que
ser interpretat per la mquina.

Figura 1.3. Llenguatge de segona generaci

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 5/19
26/9/2017 Entorns de desenvolupament

En general sutilitza aquest tipus de llenguatges per programar controladors (drivers) o aplicacions de temps real,
ja que requereix un s molt eficient de la velocitat i de la memria.

1.3.1. Caracterstiques dels llenguatges de primera i segona generaci


Com a avantatges dels llenguatges de primera i segona generaci es poden establir:

Permeten escriure programes molt optimitzats que aprofiten al mxim el maquinari (hardware) disponible.
Permeten al programador especificar exactament quines instruccions vol que sexecutin.

Els inconvenients sn els segents:

Els programes escrits en llenguatges de baix nivell estan completament lligats al maquinari on sexecutaran i
no es poden traslladar fcilment a altres sistemes amb un maquinari diferent.
Cal conixer a fons larquitectura del sistema i del processador per escriure bons programes.
No permeten expressar de forma directa conceptes habituals a nivell dalgorisme.
Son difcils de codificar, documentar i mantenir.

El segent grup de llenguatges es coneix com a llenguatges de tercera generaci o


llenguatges dalt nivell. Aquests llenguatges, ms evolucionats, utilitzen paraules i frases
relativament fcils dentendre i proporcionen tamb facilitats per expressar alteracions del
flux de control duna forma bastant senzilla i intutiva.

Els llenguatges de tercera generaci o dalt nivell sutilitzen quan es vol desenvolupar aplicacions grans i complexes,
on es prioritza el fet de facilitar i comprendre com fer les coses (llenguatge hum) per sobre del rendiment del pro-
gramari o del seu s de la memria.

Els esforos encaminats a fer la tasca de programaci independent de la mquina on sexecutaran van donar com a
resultat laparici dels llenguatges de programaci dalt nivell.

Els llenguatges dalt nivell sn normalment fcils daprendre perqu estan formats per elements de llenguatges
naturals, com ara langls. A continuaci es mostra un exemple dalgorisme implementat en un llenguatge dalt
nivell, concretament en Basic. Aquest algorisme calcula el factorial dun nombre donat a la funci com a parmetre.
Es pot observar com s fcilment comprensible amb un mnim coneixement de langls.

En Basic, el llenguatge dalt nivell ms conegut, les ordres com IF


comptador = 10 THEN STOP poden utilitzar-se per demanar a
lordinador que pari si la variable comptador s igual a deu.

' ------------------------------------------
' Funci Factorial
' -----------------------------------------
Public Function Factorial(num As Integer)As String
Dim i As Integer
For i = 1 To num - 1
num = num * i
Factorial = num
Next
End Function

Com a conseqncia daquest allunyament de la mquina i acostament a les persones, els programes escrits en llen-
guatges de programaci de tercera generaci no poden ser interpretats directament per lordinador, sin que s
necessari dur a terme prviament la seva traducci a llenguatge mquina. Hi ha dos tipus de traductors: els compi-
ladors i els intrprets.

Compiladors

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 6/19
26/9/2017 Entorns de desenvolupament

Sn programes que tradueixen el programa escrit amb un llenguatge dalt nivell al llenguatge mquina. El compila-
dor detectar els possibles errors del programa font per aconseguir un programa executable depurat.

Alguns exemples de codis de programaci que hauran de passar per un compilador sn: Pascal, C, C++, .NET,

A la figura 1 es pot veure, en un esquema, la funci del compilador entre els dos llenguatges.

Figura 1.4. Codi compilat

El procediment que haur de seguir un programador s el segent:

Crear el codi font.


Crear el codi executable fent s de compiladors i enllaadors.
El codi executable depn de cada sistema operatiu. Per a cada sistema hi ha un compilador, s a dir, si es vol
executar el codi amb un altre sistema operatiu sha de recompilar el codi font.
El programa resultant sexecuta directament des del sistema operatiu.

A la figura 1 es pot observar un esquema que representa la dependncia del sistema operatiu a lhora descollir i uti-
litzar compilador.

Figura 1.5. Codi compilat per SO

Els intrprets
Lintrpret s un programa que tradueix el codi dalt nivell a codi de bytes, per, a diferncia del compilador, ho fa
en temps dexecuci. s a dir, no es fa un procs previ de traducci de tot el programa font a codi de bytes, sin que
es va traduint i executant instrucci per instrucci.

Alguns exemples de codis de programaci que hauran de passar per un intrpret sn: Javascript, PHP, ASP

Algunes caracterstiques dels llenguatges interpretats sn:

El codi interpretat no s executat directament pel sistema operatiu, sin que fa s dun intrpret.
Cada sistema t el seu propi intrpret.

Compiladors davant intrprets


Lintrpret s notablement ms lent que el compilador, ja que du a terme la traducci alhora que lexecuci. A ms,
aquesta traducci es fa sempre que sexecuta el programa, mentre que el compilador noms la du a terme una
vegada. Lavantatge dels intrprets s que fan que els programes siguin ms portables. Aix, un programa compilat
en un ordinador amb sistema operatiu Windows no funcionar en un Macintosh, o en un ordinador amb sistema
operatiu Linux, a menys que es torni a compilar el programa font en el nou sistema.

1.3.2. Caracterstiques dels llenguatges de tercera, quarta i cinquena generaci


Els llenguatges de tercera generaci sn aquells que sn capaos de contenir i executar, en una sola instrucci,
lequivalent a diverses instruccions dun llenguatge de segona generaci.

Els avantatges dels llenguatges de tercera generaci sn:

El codi dels programes s molt ms senzill i comprensible.

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 7/19
26/9/2017 Entorns de desenvolupament
Sn independents del maquinari (no hi fan cap referncia). Per aquest motiu s possible portar el programa
entre diferents ordinadors / arquitectures / sistemes operatius (sempre que en el sistema de destinaci exis-
teixi un compilador per a aquest llenguatge dalt nivell).
s ms fcil i rpid escriure els programes i ms fcil mantenir-los.

Els inconvenients dels llenguatges de tercera generaci sn:

La seva execuci en un ordinador pot resultar ms lenta que el mateix programa escrit en llenguatge de baix
nivell, tot i que aix depn molt de la qualitat del compilador que faci la traducci.

Exemples de llenguatges de programaci de tercera generaci: C, C++, Java, Pascal

Els llenguatges de quarta generaci o llenguatges de propsit especfic. Aporten


un nivell molt alt dabstracci en la programaci, permetent desenvolupar aplicacions sofis-
ticades en un espai curt de temps, molt inferior al necessari per als llenguatges de 3a genera-
ci.

IDE sn les sigles en angls dIntegrated Development Environ-


ment, s a dir, Entorn Integrat de Desenvolupament.

Sautomatitzen certs aspectes que abans calia fer a m. Inclouen eines orientades al desenvolupament daplicacions
(IDE) que permeten definir i gestionar bases de dades, dur a terme informes (p.ex.: Oracle reports), consultes (p.
ex.: informix 4GL), mduls , escrivint molt poques lnies de codi o cap.

Permeten la creaci de prototipus duna aplicaci rpidament. Els prototipus permeten tenir una idea de laspecte i
del funcionament de laplicaci abans que el codi estigui acabat. Aix facilita lobtenci dun programa que reuneixi
les necessitats i expectatives del client.

Alguns dels aspectes positius que mostren aquest tipus de llenguatges de programaci sn:

Major abstracci.
Menor esfor de programaci.
Menor cost de desenvolupament del programari.
Basats en generaci de codi a partir despecificacions de nivell molt alt.
Es poden dur a terme aplicacions sense ser un expert en el llenguatge.
Solen tenir un conjunt dinstruccions limitat.
Sn especfics del producte que els ofereix.

Aquests llenguatges de programaci de quarta generaci estan orientats, bsicament, a les aplicacions de negoci i al
maneig de bases de dades.

Alguns exemples de llenguatges de quarta generaci sn Visual Basic, Visual Basic .NET, ABAP de SAP, FileMaker,
PHP, ASP, 4D

A la figura 1 es pot veure lentorn de treball i un exemple de codi font de FileMaker.

Figura 1.6. FileMaker: Llenguatge de quarta generaci

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 8/19
26/9/2017 Entorns de desenvolupament

Els llenguatges de cinquena generaci sn llenguatges especfics per al tractament de


problemes relacionats amb la intelligncia artificial i els sistemes experts.

En lloc dexecutar noms un conjunt dordres, lobjectiu daquests sistemes s pensar i anticipar les necessitats
dels usuaris. Aquests sistemes es troben encara en desenvolupament. Es tractaria del paradigma lgic.

Alguns exemples de llenguatges de cinquena generaci sn Lisp o Prolog.

1.4. Paradigmes de programaci

s difcil establir una classificaci general dels llenguatges de programaci, ja que existeix un gran nombre de llen-
guatges i, de vegades, diferents versions dun mateix llenguatge. Aix provocar que en qualsevol classificaci que
es faci un mateix llenguatge pertanyi a ms dun dels grups establerts. Una classificaci molt estesa, atenent a la
forma de treballar dels programes i a la filosofia amb qu van ser concebuts, s la segent:

Paradigma imperatiu/estructurat.
Paradigma dobjectes.
Paradigma funcional.
Paradigma lgic.

El paradigma imperatiu/estructurat deu el seu nom al paper dominant que exerceixen


les sentncies imperatives, s a dir aquelles que indiquen dur a terme una determinada ope-
raci que modifica les dades guardades en memria.

Alguns dels llenguatges imperatius sn C, Basic, Pascal, Cobol

La tcnica seguida en la programaci imperativa s la programaci estructurada. La idea s que qualsevol pro-
grama, per complex i gran que sigui, pot ser representat mitjanant tres tipus destructures de control:

Seqncia.
Selecci.
Iteraci.

Daltra banda, tamb es proposa desenvolupar el programa amb la tcnica de disseny descendent (top-down). s a
dir, modular el programa creant porcions ms petites de programes amb tasques especfiques, que se subdivideixen
en altres subprogrames, cada vegada ms petits. La idea s que aquests subprogrames tpicament anomenats funci-
ons o procediments han de resoldre un nic objectiu o tasca.

Imaginem que hem de fer una aplicaci que registri les dades bsiques del personal duna escola, dades com poden
ser el nom, el DNI, i que calculi el salari dels professors aix com el dels administratius, on el salari dels administra-

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 9/19
26/9/2017 Entorns de desenvolupament
tius s el sou base (SOU_BASE) * 10 mentre que el salari dels professors s el sou base (SOU_BASE) + nombre dhores
impartides (numHores) * 12.

const float SOU_BASE = 1.000;

Struct Administratiu
{
string nom;
string DNI;
float Salari;
}

Struct Professor
{
string nom;
string DNI;
int numHores;
float salari;
}

void AssignarSalariAdministratiu (Administratiu administratiu1)


{
administratiu1. salari = SOU_BASE * 10;
}

void AssignarSalariProfessor (Professor professor1)


{
professor1. salari = SOU_BASE + (numHores * 12);
}

El paradigma dobjectes, tpicament conegut com a Programaci Orientada a Objectes


(POO, o OOP en angls), s un paradigma de construcci de programes basat en una abs-
tracci del mn real. En un programa orientat a objectes, labstracci no sn procediments
ni funcions sin els objectes. Aquests objectes sn una representaci directa dalguna cosa
del mn real, com ara un llibre, una persona, una comanda, un empleat

Alguns dels llenguatges de programaci orientada a objectes sn C++, Java, C#

Un objecte s una combinaci de dades (anomenades atributs) i mtodes (funcions i procediments) que ens perme-
ten interactuar amb ell. En aquest tipus de programaci, per tant, els programes sn conjunts dobjectes que
interactuen entre ells a travs de missatges (crides a mtodes).

La programaci orientada a objectes es basa en la integraci de 5 conceptes: abstracci, encapsulaci, modularitat,


jerarquia i polimorfisme, que s necessari comprendre i seguir de manera absolutament rigorosa. No seguir-los sis-
temticament, ometrels puntualment per pressa o altres raons fa perdre tot el valor i els beneficis que ens aporta
lorientaci a objectes.

class Treballador {
private:
string nom;
string DNI;
protected:
static const float SOU_BASE = 1.000;
public:
string GetNom() {return this.nom;}
void SetNom (string n) {this.nom = n;}
string GetDNI() {return this.DNI;}
void SetDNI (string dni) {this.DNI = dni;}
virtual float salari() = 0;
}

class Administratiu: public Treballador {


public:
float Salari() {return SOU_BASE * 10};
}

class Professor: public Treballador {


private:
int numHores;
public:
float Salari() {return SOU_BASE + (numHores * 15);}
}

El paradigma funcional est basat en un model matemtic. La idea s que el resultat dun
clcul s lentrada del segent, i aix successivament fins que una composici produeixi el

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 10/19
26/9/2017 Entorns de desenvolupament
resultat desitjat.

Els creadors dels primers llenguatges funcionals pretenien convertir-los en llenguatges ds universal per al proces-
sament de dades en tot tipus daplicacions, per, amb el pas del temps, sha utilitzat principalment en mbits
dinvestigaci cientfica i aplicacions matemtiques.

Un dels llenguatges ms tpics del paradigma funcional s el Lisp. Vegeu un exemple de programaci del factorial
amb aquest llenguatge:

> (defun factorial (n)


(if (= n 0)
1
(* n (factorial (- n 1)))))
FACTORIAL
> (factorial 3)
6

El paradigma lgic t com a caracterstica principal laplicaci de les regles de la lgica


per inferir conclusions a partir de dades.

Un programa lgic cont una base de coneixement sobre la que es duen a terme consultes. La base de coneixement
est formada per fets, que representen la informaci del sistema expressada com a relacions entre les dades i regles
lgiques que permeten deduir conseqncies a partir de combinacions entre els fets i, en general, altres regles.

Un dels llenguatges ms tpics del paradigma lgic s el Prolog.

Exemple de desplegament prctic del paradigma lgic

Determinarem si hem de prescriure al pacient estar a casa reposant al saber que es compleixen els segents
fets: malestar i 39 de temperatura corporal.
Regles de la base de coneixement:

R1: Si febre, llavors estar a casa en reps.


R2: Si malestar, llavors posar-se termmetre.
R3: Si termmetre marca una temperatura > 37, llavors febre.
R4: Si diarrea, llavors dieta.

Si seguim un raonament dencadenament cap endavant, el procediment seria:

Indicar el motor dinferncia, els fets: malestar i termmetre marca 39.

<code>Base de fets = { malestar, termmetre marca 39 }

El sistema identifica les regles aplicables: R2 i R3. Lalgorisme sinicia aplicant la regla R2, incorporant en la
base de fets posar-se el termmetre.

Base de fets = { malestar, termmetre marca 39, posar-se termmetre }

Com que no sha solucionat el problema, continua amb la segent regla R3, afegint a la base de fets febre.

Base de fets = { malestar, termmetre marca 39, posar-se termmetre, febre }

Com que no sha solucionat el problema, torna a identificar un subconjunt de regles aplicables, excepte les ja
utilitzades. El sistema identifica les regles aplicables: R1, tot incorporant a la base de fets estar a casa en
reps.

Base de fets = { malestar, termmetre marca 39, posar-se termmetre, febre, estar a casa en reps}

Com que reps est a la base de fets, sha arribat a una resposta positiva a la pregunta formulada.

El paradigma s mpliament utilitzat en les aplicacions que tenen a veure amb la Intelligncia Artificial, particular-
ment en el camp de sistemes experts i processament del llenguatge hum. Un sistema expert s un programa que
imita el comportament dun expert hum. Per tant cont informaci (s a dir una base de coneixements) i una eina
per comprendre les preguntes i trobar la resposta correcta examinant la base de dades (un motor dinferncia).

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 11/19
26/9/2017 Entorns de desenvolupament

Tamb s til en problemes combinatoris o que requereixin una gran quantitat o amplitud de solucions alternati-
ves, dacord amb la naturalesa del mecanisme de tornada enrere (backtracking).

1.5. Caracterstiques dels llenguatges ms difosos

Existeixen molts llenguatges de programaci diferents, fins al punt que moltes tecnologies tenen el seu llenguatge
propi. Cada un daquests llenguatges t un seguit de particularitats que el fan diferent de la resta.

Els llenguatges de programaci ms difosos sn aquells que ms es fan servir en cadascun dels diferents mbits de
la informtica. En lmbit educatiu, per exemple, es considera un llenguatge de programaci molt difs aquell que
es fa servir a moltes universitats o centres educatius per a la docncia de la iniciaci a la programaci.

Els llenguatges de programaci ms difosos corresponents a diferents mbits, a diferents tecnologies o a diferents
tipus de programaci tenen una srie de caracterstiques en com que sn les que marquen les similituds entre tots
ells.

1.5.3. Caracterstiques de la programaci estructurada


La programaci estructurada va ser desenvolupada pel neerlands Edsger W. Dijkstra i es basa en el denominat
teorema de lestructura. Per aix utilitza nicament tres estructures: seqncia, selecci i iteraci, essent inneces-
sari ls de la instrucci o instruccions de transferncia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o mltiples
RETURN).

Daquesta forma les caracterstiques de la programaci estructurada sn la claredat, el teorema de lestructura i el


disseny descendent.

Claredat
Hi haur dhaver prou informaci al codi per tal que el programa pugui ser ents i verificat: comentaris, noms de
variables comprensibles i procediments entenedors Tot programa estructurat pot ser llegit des del principi a la fi
sense interrupcions en la seqncia normal de lectura.

Teorema de lestructura
Demostra que tot programa es pot escriure utilitzant nicament les tres estructures bsiques de control:

Seqncia: instruccions executades successivament, una darrere laltra. A la figura 1 es pot observar un exem-
ple de lestructura bsica de seqncia, on primer sexecutar la sentncia A i, posteriorment, la B.
Figura 1.7. Exemple de seqncia

Selecci: la instrucci condicional amb doble alternativa, de la forma si condici, llavors SentnciaA, sin Sen-
tnciaB. A la figura 1 es pot observar un esquema que exemplifica lestructura bsica de selecci.

Figura 1.8. Exemple de selecci

Iteraci: el bucle condicional mentre condici, fes SentnciaA, que executa les instruccions repetidament
mentre la condici es compleixi. A la figura 1 es pot observar un esquema que exemplifica lestructura bsica
diteraci.
https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 12/19
26/9/2017 Entorns de desenvolupament
Figura 1.9. Exemple diteraci

Disseny descendent
El disseny descendent s una tcnica que es basa en el concepte de divideix i vencers per tal de resoldre un pro-
blema en lmbit de la programaci. Es tracta de la resoluci del problema al llarg de diferents nivells dabstracci
partint dun nivell ms abstracte i finalitzant en un nivell de detall.

A la figura 1 es pot observar un exemple del disseny descendent. A partir del problema1 sobtenen diversos subpro-
blemes (subproblema 1.1, subproblema 1.2 i subproblema 1.3). La resoluci daquests subproblemes ser molt ms
senzilla que la del problema original per tal com se nha redut considerablement labast i la mida. De forma itera-
tiva es pot observar com aquests subproblemes es tornen a dividir, a la vegada, en altres subproblemes.

Figura 1.10. Disseny descendent

La visi moderna de la programaci estructurada introdueix les caracterstiques de programaci modular i tipus
abstractes de dades (TAD).

Programaci modular
La realitzaci dun programa sense seguir una tcnica de programaci modular produeix sovint un conjunt enorme
de sentncies lexecuci de les quals s complexa de seguir, i dentendre, amb la qual cosa es fa gaireb impossible
la depuraci derrors i la introducci de millores. Fins i tot, es pot donar el cas dhaver dabandonar el codi preexis-
tent perqu resulta ms fcil comenar de nou.

Quan es parla de programaci modular, ens referim a la divisi dun programa en parts ms manejables i indepen-
dents. Una regla prctica per aconseguir aquest propsit s establir que cada segment del programa no excedeixi,
en longitud, dun pam de codificaci.

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 13/19
26/9/2017 Entorns de desenvolupament

En la majoria de llenguatges, els mduls es tradueixen a:

Procediments: sn subprogrames que duen a terme una tasca determinada i retornen 0 o ms dun valor. Suti-
litzen per estructurar un programa i millorar la seva claredat.
Funcions: sn subprogrames que duen a terme una determinada tasca i retornen un nic resultat o valor. Suti-
litzen per crear operacions noves que no ofereix el llenguatge.

Tipus abstractes de dades (TAD)


En programaci, el tipus de dades duna variable s el conjunt de valors que la variable pot assumir. Per exemple,
una variable de tipus boole pot adoptar noms dos valors possibles: vertader o fals. A ms, hi ha un conjunt
limitat per ben definit doperacions que tenen sentit sobre els valors dun tipus de dades; aix, operacions tpiques
sobre el tipus boole sn AND o OR.

Els llenguatges de programaci assumeixen un nombre determinat de tipus de dades, que pot variar dun llen-
guatge a un altre; aix, en Pascal tenim els enters, els reals, els booleans, els carcters Aquests tipus de dades sn
anomenats tipus de dades bsics en el context dels llenguatges de programaci.

Fins fa uns anys, tota la programaci es basava en aquest concepte de tipus i no eren pocs els problemes que aparei-
xien, lligats molt especialment a la complexitat de les dades que shavien de definir. Va aparixer la possibilitat de
poder definir tipus abstractes de dades, on el programador pot definir un nou tipus de dades i les seves possibles
operacions.

Exemple dimplementaci dun tipus abstracte de dades implementat en el


llenguatge C

struct TADpila
{
int top;
int elements[MAX_PILA];
}

void crear(struct TADpila *pila)


{
Pila.top = -1;
}

void apilar(struct TADpila *pila, int elem)


{
Pila.elements[pila.top++] = elem;
}

void desapilar(struct TADpila *pila)


{
Pila.top--;
}

1.5.4. Caracterstiques de la programaci orientada a objectes


Un dels conceptes importants introduts per la programaci estructurada s labstracci de funcionalitats a travs
de funcions i procediments. Aquesta abstracci permet a un programador utilitzar una funci o procediment conei-
xent noms qu fa, per desconeixent el detall de com ho fa.

Aquest fet, per, t diversos inconvenients:

Les funcions i procediments comparteixen dades del programa, cosa que provoca que canvis en un dells afec-
tin a la resta.
Al moment de dissenyar una aplicaci s molt difcil preveure detalladament quines funcions i procediments
necessitarem.
La reutilitzaci del codi s difcil i acaba consistint a copiar i enganxar determinats trossos de codi, i retocar-
los. Aix s especialment habitual quan el codi no s modular.

Lorientaci a objectes, concebut als anys setanta i vuitanta per estesa a partir dels noranta, va permetre superar
aquestes limitacions.

Lorientaci a objectes (en endavant, OO) s un paradigma de construcci de programes


basat en una abstracci del mn real.

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 14/19
26/9/2017 Entorns de desenvolupament

En un programa orientat a objectes, labstracci no sn els procediments ni les funcions, sn els objectes. Aquests
objectes sn una representaci directa dalguna cosa del mn real, com ara un llibre, una persona, una organitzaci,
una comanda, un empleat

Un objecte s una combinaci de dades (anomenades atributs) i mtodes (funcions i proce-


diments) que ens permeten interactuar amb ell. En OO, doncs, els programes sn conjunts
dobjectes que interactuen entre ells a travs de missatges (crides a mtodes).

Els llenguatges de POO (programaci orientada a objectes) sn aquells que implementen ms o menys fidelment el
paradigma OO. La programaci orientada a objectes es basa en la integraci de 5 conceptes: abstracci, encapsula-
ci, modularitat, jerarquia i polimorfisme, que s necessari comprendre i seguir de manera absolutament rigorosa.
No seguir-los sistemticament o ometrels puntualment, per pressa o altres raons, fa perdre tot el valor i els benefi-
cis que aporta lorientaci a objectes.

Abstracci
s el procs en el qual se separen les propietats ms importants dun objecte de les que no ho sn. s a dir, per
mitj de labstracci es defineixen les caracterstiques essencials dun objecte del mn real, els atributs i comporta-
ments que el defineixen com a tal, per desprs modelar-lo en un objecte de programari. En el procs dabstracci no
ha de ser preocupant la implementaci de cada mtode o atribut, noms cal definir-los.

En la tecnologia orientada a objectes leina principal per suportar labstracci s la classe. Es pot definir una classe
com una descripci genrica dun grup dobjectes que comparteixen caracterstiques comunes, les quals sn especi-
ficades en els seus atributs i comportaments.

Encapsulaci
Permet als objectes triar quina informaci s publicada i quina informaci s amagada a la resta dels objectes. Per
aix els objectes solen presentar els seus mtodes com a interfcies pbliques i els seus atributs com a dades priva-
des o protegides, essent inaccessibles des daltres objectes. Les caracterstiques que es poden atorgar sn:

Pblic: qualsevol classe pot accedir a qualsevol atribut o mtode declarat com a pblic i utilitzar-lo.
Protegit: qualsevol classe heretada pot accedir a qualsevol atribut o mtode declarat com a protegit a la classe
mare i utilitzar-lo.
Privat: cap classe no pot accedir a un atribut o mtode declarat com a privat i utilitzar-lo.

Modularitat
Permet poder modificar les caracterstiques de cada una de les classes que defineixen un objecte, de forma indepen-
dent de la resta de classes en laplicaci. En altres paraules, si una aplicaci es pot dividir en mduls separats, nor-
malment classes, i aquests mduls es poden compilar i modificar sense afectar els altres, aleshores aquesta aplica-
ci ha estat implementada en un llenguatge de programaci que suporta la modularitat.

Jerarquia
Permet lordenaci de les abstraccions. Les dues jerarquies ms importants dun sistema complex sn lherncia i
lagregaci.

Lherncia tamb es pot veure com una forma de compartir codi, de manera que quan sutilitza lherncia per defi-
nir una nova classe noms sha dafegir all que sigui diferent, s a dir, reaprofita els mtodes i variables, i especia-
litza el comportament.

Per exemple, es pot identificar una classe pare anomenada treballador i dues classes filles, s a dir dos subtipus
de treballadors, administratiu i professor.

Figura 1.11. Exemple dherncia

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 15/19
26/9/2017 Entorns de desenvolupament

A la figura 1 es pot observar la representaci en forma de diagrama de lexemple explicat anteriorment: les classes
administratiu i professor que hereten de la classe treballador.

Lagregaci s un objecte que est format de la combinaci daltres objectes o components. Aix, un ordinador es
compon duna CPU, una pantalla, un teclat i un ratol, i aquests components no tenen sentit sense lordinador. A la
figura 1 es pot observar un exemple dagregaci en qu la classe ordinador est composta per les altres quatre clas-
ses.

Figura 1.12. Exemple dagregaci

El polimorfisme
s una caracterstica que permet donar diferents formes a un mtode, ja sigui en la definici com en la implementa-
ci.

La sobrecrrega (overload) de mtodes consisteix a implementar diverses vegades un mateix mtode per amb
parmetres diferents, de manera que, en invocar-lo, el compilador decideix quin dels mtodes sha dexecutar, en
funci dels parmetres de la crida.

Un exemple de mtode sobrecarregat s aquell que calcula el salari dun treballador en una empresa. En funci de
la posici que ocupa el treballador tindr ms o menys conceptes a la seva nmina (ms o menys incentius, per
exemple).

El mateix mtode, que podrem anomenar ClculSalari quedar implementat de forma diferent en funci de si es
calcula el salari dun operari (amb menys conceptes en la seva nmina, la qual cosa provoca que el mtode rebi
menys variables) o si es calcula el salari dun directiu.

La sobreescriptura (override) de mtodes consisteix a reimplementar un mtode heretat duna superclasse exacta-
ment amb la mateixa definici (incloent nom de mtode, parmetres i valor de retorn).

Un exemple de sobrecrrega de mtodes podria ser el del mtode Area(). A partir duna classe Figura que cont el
mtode Area(), existeix una classe derivada per a alguns tipus de figures (per exemple, Rectangle o Quadrat).

La implementaci del mtode Area() ser diferent a cada una de les classes derivades; aquestes poden implemen-
tar-se de forma diferent (en funci de com es calculi en cada cas lrea de la figura) o definir-se de forma diferent.

1.6. Fases del desenvolupament dels sistemes d'informaci


https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 16/19
26/9/2017 Entorns de desenvolupament

1.6. Fases del desenvolupament dels sistemes d'informaci

Una aplicaci informtica necessitar moltes petites accions (i no tan petites) per ser creada. Shan desenvolupat
moltes metodologies que ofereixen un acompanyament al llarg daquest desenvolupament, proporcionant pautes,
indicacions, mtodes i documents per ajudar, sobretot, els caps de projecte ms inexperts.

Dintre daquestes metodologies hi ha Mtrica v3.0. Ha estat desenvolupada pel Ministeri dAdministracions Pbli-
ques. Es tracta duna metodologia per a la planificaci, desenvolupament i manteniment dels sistemes dinformaci
duna organitzaci. Per al desenvolupament de programari cal fixar-se en la part que fa referncia al desenvolupa-
ment dels sistemes dinformaci (SI), dins la metodologia Mtrica. Divideix el desenvolupament en 5 fases, que se
segueixen de forma seqencial.

Tamb s important tenir clarament identificats els rols dels components de lequip de projecte que participaran en
el desenvolupament de laplicaci informtica. A Mtrica aquests perfils sn:

Parts interessades (stakeholders)


Cap de Projecte
Consultors
Analistes
Programadors

A la figura 1 hi podeu observar les cinc fases principals de la metodologia Mtrica v3.0.

Figura 1.13. Fases de desenvolupament duna aplicaci

1.6.5. Estudi de viabilitat del sistema


El propsit daquest procs s analitzar un conjunt concret de necessitats, amb la idea de proposar una soluci a
curt termini. Els criteris amb qu es fa aquesta proposta no seran estratgics sin tctics i relacionats amb aspectes
econmics, tcnics, legals i operatius.

Els resultats de lestudi de viabilitat del sistema constituiran la base per prendre la decisi
de seguir endavant o abandonar el projecte.

1.6.6. Anlisi del sistema d'informaci

El propsit daquest procs s aconseguir lespecificaci detallada del sistema dinforma-


ci, per mitj dun catleg de requisits i duna srie de models que cobreixin les necessitats
dinformaci dels usuaris per als quals es desenvolupar el sistema dinformaci i que seran
lentrada per al procs de Disseny del sistema dinformaci.

En primer lloc, es descriu el sistema dinformaci, a partir de la informaci obtinguda en lestudi de viabilitat. Es
delimita el seu abast, es genera un catleg de requisits generals i es descriu el sistema mitjanant uns models inici-
als dalt nivell.

Es recullen de forma detallada els requisits funcionals que el sistema dinformaci ha de cobrir. A ms, sidentifi-
quen els requisits no funcionals del sistema, s a dir, les facilitats que ha de proporcionar el sistema, i les restricci-
ons a qu estar sotms, quant a rendiment, freqncia de tractament, seguretat

Normalment, per tal defectuar lanlisi se sol elaborar els models de casos ds i de classes, en desenvolupaments
orientats a objectes, i de dades i processos en desenvolupaments estructurats. Daltra banda, saconsella dur a
terme una definici dinterfcies dusuari, ja que facilitar la comunicaci amb els usuaris clau.

1.6.7. Disseny del sistema d'informaci

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 17/19
26/9/2017 Entorns de desenvolupament

El propsit del disseny s obtenir la definici de larquitectura del sistema i de lentorn tec-
nolgic que li donar suport, juntament amb lespecificaci detallada dels components del
sistema dinformaci. A partir daquesta informaci, es generen totes les especificacions de
construcci relatives al propi sistema, aix com lespecificaci tcnica del pla de proves, la
definici dels requisits dimplantaci i el disseny dels procediments de migraci i crrega
inicial.

En el disseny es generen les especificacions necessries per a la construcci del sistema dinformaci, com per
exemple:

Els components del sistema (mduls o classes, segons el cas) i de les estructures de dades.
Els procediments de migraci i els seus components associats.
La definici i revisi del pla de proves, i el disseny de les verificacions dels nivells de prova establerts.
El catleg dexcepcions, que permet establir un conjunt de verificacions relacionades amb el propi disseny o
amb larquitectura del sistema.
Lespecificaci dels requisits dimplantaci.

1.6.8. Construcci del sistema d'informaci

La construcci del sistema dinformaci t com a objectiu final la construcci i la


prova dels diferents components del sistema dinformaci, a partir del seu conjunt despeci-
ficacions lgiques i fsiques, obtingut en la fase de disseny. Es desenvolupen els procedi-
ments doperaci i de seguretat, i selaboren els manuals dusuari final i dexplotaci, aquests
ltims quan sigui procedent.

Per aconseguir aquest objectiu, es recull la informaci elaborada durant la fase de disseny, es prepara lentorn de
construcci, es genera el codi de cada un dels components del sistema dinformaci i es van duent a terme, a
mesura que es vagi finalitzant la construcci, les proves unitries de cada un dells i les dintegraci entre subsiste-
mes. Si fos necessari efectuar una migraci de dades, s en aquest procs on es porta a terme la construcci dels
components de migraci i dels procediments de migraci i crrega inicial de dades.

1.6.9. Implantaci i acceptaci del sistema

Aquest procs t com a objectiu principal el lliurament i lacceptaci del sistema en la


seva totalitat, que pot comprendre diversos sistemes dinformaci desenvolupats de manera
independent, i un segon objectiu, que s dur a terme les activitats oportunes per al pas a
producci del sistema.

Un cop revisada lestratgia dimplantaci, sestableix el pla dimplantaci i es detalla lequip que el portar a terme.

Per a linici daquest procs es prenen com a punt de partida els components del sistema provats de forma unitria i
integrats en el procs de construcci, aix com la documentaci associada. El sistema sha de sotmetre a les proves
dimplantaci amb la participaci de lusuari doperaci. La responsabilitat, entre altres aspectes, s comprovar el
comportament del sistema sota les condicions ms extremes. El sistema tamb ser sotms a les proves daccepta-
ci, que seran dutes a terme per lusuari final.

En aquest procs selabora el pla de manteniment del sistema, de manera que el responsable del manteniment
conegui el sistema abans que aquest passi a producci.

Tamb sestableix lacord de nivell de servei requerit una vegada que sinici la producci. Lacord de nivell de servei
fa referncia a serveis de gesti doperacions, de suport a usuaris i al nivell amb qu es prestaran aquests serveis.

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 18/19
26/9/2017 Entorns de desenvolupament

https://ioc.xtec.cat/materials/FP/Materials/IC_S_INF/INF_IC_S_M05/web/html/WebContent/u1/a1/continguts.html 19/19

You might also like