UD1 Entornos de Desarrollo
December 13, 2022 | Author: Anonymous | Category: N/A
Short Description
Download UD1 Entornos de Desarrollo...
Description
ENTORNOS DE DESARROLLO D Deessaarrrroolllloo d dee aapplliiccaacciioon neess w weeb b JJoosséé LLuuiiss CCoom meessaaññaa
11
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Desarr arroll ollo o de sof softwa tware. re. Des Caso pr pr áctico
En BK Program Programación ación ttodos odos han vuelto vuelto yya a de ssus us vacaci vacaciones. ones. Les espera un sept septiembre iembre agitado agitado,, pues acaban de reci recibir bir una petici petición ón por parte parte d de e una ccadena adena hotelera para desarrollar un proyecto software. Ada, la superv supervisora isora d de e proyec proyectos tos de BK Progr Programación, amación, se reún reúne e con Juan y María ((traba trabajadores jadores de la empresa) empres a) para empezar a planificar el proyec proyecto. to. A Ana, na, cuy cuya a especia especialida lidad d es el dise diseño ño grá gráfic fico o de pági páginas nas web, aca acaba ba de te termi rminar nar el el Cic Ciclo lo de Grado Grado Medio Med io e en n S Sist istema emass Mic Microin roinfor formát mático icoss y Rede Redess y real realizó izó la F FCT CT en B BK K Pro Program gramaci ación. ón. Trab Trabaja aja en lla a empres emp resa a ayuda ayudando ndo en los dise diseños, ños, y aunq aunque ue est está á conte contenta nta co con n su traba trabajo, jo, le gust gustarí aría a parti participa cipar r ac acti tiva vame ment nte e en to toda dass las las fa fase sess en e ell proy proyec ecto to.. El pro proble blema ma es que carec carece e de los conoc conocim imie ient ntos os necesarios. Antonio se ha enterado de la posibilidad de estudiar el nuevo Ciclo de Grado Superior de Diseño de AplicacionesMultiplataform AplicacionesMultiplataforma a a distan distancia cia,, y está dispues dispuesta ta a hacerlo. (N (No o tendría que dejar el trabajo trabajo). ). Le coment comenta a sus plan planes es a su amigo amigo Anto Antonio nio (qu (que e tien tiene e cono conocim cimient ientos os básico básicoss de inf inform ormáti ática) ca),, y éste éste se une a ella. Después de todo… ¿qué puede pueden n perder?
1.- Softwar Sof Software Softtware waree y program programa. a. Tipos Tipo Tiposs de de software soft softwa software. ware. re.. Caso pr pr áctico
Todos en la empresa están entusia entusiasmados smados con el proyect proyecto o que tienen entre manos. Saben que lo más imp import ortant ante e es plan planifi ificar carlo lo tod todo o de ante antemano mano y eleg elegir ir el tipo tipo de sof softwa tware re más adec adecuado uado.. Ana les escucha escuch a hablar y no lleg llega a a ent entender ender por por qué hablan d de e "ti "tipos pos de sof software" tware".. ¿Acaso el softw software are no era la pa parte rte lógica del ordenado ordenador, r, sin más? ¿Cuáles son los tipos de ssoftwar oftware? e? Es de sobr sobraa con conoci ocido do que el orde ordenad nador or se com compone pone de dos par parte tess bien bien difere diferenci nciada adas: s: hardware hardware y software. software. El soft softwa ware re es el conj conjun unto to de pr prog ogra rama mass info inform rmát átic icos os qu quee actú actúan an sobr sobree el hard hardwa ware re pa para ra ejecuta ejecutarr lo que el usuar usuario io dese desee. e. Según su su funci función ón se dist distinguen inguen tres tipos de software: sistema operativo, s oofftware de programación y aplicaciones. El sistema operativo es el so soft ftwa ware re base base que ha de es esta tarr inst instal alad ado o y con confi figur gurad ado o en nue nuest stro ro ordenad orde nador or para para que la lass aplic aplicaci acione oness puedan puedan eje ejecut cutars arsee y funci funciona onar. r. Son eje ejempl mplos os de siste sistemas mas Linux,, Ma Macc OS X X ... operativos: Windows, Windows, Linux El
softwa sof softwar tware ree de programa programación ción es el co conj njunt unto o de herr herram amie ient ntas as que nos perm permit iten en de desa sarr rrol olla lar r
programas programas inform informáti áticos, cos, y las aplicaci conjunto nto de prog program ramas as que aplicaciones ones informáticas informáticas son un conju ti tiene enen n una finali finalidad dad má máss o meno menoss con concre creta. ta. S Son on ej ejemp emplos los de aplic aplicaci acione ones: s: un pro proces cesado adorr de textos, text os, una hoja de cálc cálculo, ulo, el softwa software re para reproducir reproducir músic música, a, un vi videojue deojuego, go, etc. etc. A su vez vez,, un p pro rogr gram amaa es un ccon onju junt nto o de inst instru rucc ccio ione ness escr escrit itas as en u un n le leng ngua uaje je de programación. En defini definitiva tiva,, dist distinguim inguimos os los sigui siguiente entess tipos de softw software: are:
‐ 2 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
En este tema tema,, nuest nuestro ro inte interés rés se cent centra ra en las apli aplicaci caciones ones informáti informáticas: cas: cómo se desa desarroll rrollan an y cuáles cuáles son las fas fases es por las las que nec necesa esaria riamen mente te han de pas pasar. ar. A lo larg largo o de esta esta prim primer eraa uni unida dad d vas a ap apre rende nderr los los co conc ncep epto toss funda fundame ment ntal ales es de soft softwa ware re y la lass fas fases es del ll llama amado do cic ciclo lo de vida vida de una apl aplica icaci ción ón info informá rmáti tica. ca. Tambié Tam bién n ap apren render derás ás a disti distingui nguirr los difere diferente ntess len lengua guajes jes de prog program ramac ación ión y los los proc proceso esoss que ocurre ocu rren n hasta que el pro progra grama ma func funcion ionaa y real realiza iza la acción acción des desead eada. a. Para saber más
En el si sigui guien ente te en enlac lace e en enco contr ntrar arás ás más in infor forma mació ción n de lo loss ti tipo poss de soft softwar ware e exi existen stente, te, así como co mo ej ejem empl plos os de cad cada a un uno o qu que e te ay ayud udará arán n a pro profu fund ndiz izar ar so sobre bre el tema. http://www.tiposdesoftware.com/
Reflexiona Hay varios sist sistem emas as oper operat ativ ivos os en el me merc rcad ado: o: Li Linu nux, x, Windo indows ws,, Ma Macc OS X et etc. c. El más más cono conoci cido do es Wi Wind ndow ows. s. A pesarde pesarde es eso, o, ¿por qué utiliz utilizamo amoss cada cada ve vezz más más Linux?
‐ 3 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
2.- Relació Relaciónn hardware-softw hardwa hardware-soft hardware-softwar re-softwar war are. e. Caso pr pr áctico
Después de ssaber aber ya d diferenc iferenciar iar los distintos distintos tipos de ssoftwar oftware, e, Ana sse e le plantea otra cuesti cuestión: ón: El sof softwa tware, re, sea d del el tipo tipo que sea, se e ejecu jecuta ta ssobre obre los disp disposi ositiv tivos os físicos físicos del orde ordenado nador. r. ¿Qué rel relació ación n hay ent entre re ellos ellos? ? Como Como ssab abem emos os,, al conj conjun unto to de disp dispos osit itiv ivos os físi físico coss qu quee co conf nfor orma man n un or orde dena nado dorr se le denomina denomi na hardwa hardware. re. Ex Exis iste te una re rela laci ción ón in indi diso solu lubl blee en entr tree és éste te y el so soft ftwa ware re,, ya que nece necesi sita tan n es esta tarr inst instal alad ados os y configurados confi gurados corre correctam ctamente ente para que el equipo funci funcione. one. El so soft ftwa ware re se ej ejec ecut utar aráá sobre sobre los dispositi dispositivos vos físi físicos. cos. La primera arquitectura hardwa dware con pr prog ogrrama almacena alma cenado do se esta establec bleció ió en 1946 por John Von Neumann: Esta Esta relac relación ión sof softwa twarere-har hardwa dware re la pode podemos mos pone ponerr de man manifi ifiest esto o desde dos punt puntos os de vista vista:: a.
Desde Des de el punto punto de vista vist vistaa del sis sistema sistem tema a operati oper operativ ativo voo El sistema operativo es el encargado de coordinar al hardware durante el funcion func ionami amient ento o del orde ordenad nador, or, actuan actuando do co como mo iinte nterme rmedia diario rio entre entre éste éste y las las aplicac apli caciones iones que está están n corriend corriendo o en un momen momento to dado. Todas las aplic Todas aplicac acione ioness necesi necesita tan n recu recurso rsoss hardwa hardware re dura durante nte su eje ejecuc cución ión (t (tie iempo mpo de CPU,, espacio en me memo mori riaa RA RAM M, tratamiento de interrupciones, interrupciones, g ges esti tión ón de los los CPU disposi dispositi tivos vos de Ent Entrad rada/ a/Sal Salida ida,, et etc.) c.).. Ser Seráá siempr siempree el siste sistema ma ope operat rativo ivo eell encarg encargado ado de cont contro rola larr todo todoss esto estoss aspe aspect ctos os de mane manera ra "o "ocu cult lta" a" pa para ra las las apli aplica caci cion ones es (y para para el usuario).
b.
Desde Des de el punto punto de vista vist vistaa de las aplicaci aplicaciones ones Ya hemo hemoss dich dicho o que una ap apli lica caci ción ón no eess otra otra co cosa sa que un co conj njunt unto o de progr program amas as,, y que éstos éstos es están tán eescr scrit itos os en al algún gún le lengua nguaje je de prog program ramac ación ión qu quee el hardwa hardware re del equ equipo ipo debe inte interpret rpretar ar y eje ejecuta cutar. r. Ha Hay y mul multi titu tud d d dee lengu lenguaj ajes es de pro progr gram amac ació ión n di dife fere rent ntes es (com (como o ya vere veremos mos en su momento). Si momento). Sin n emba embargo, rgo, ttodos odos tien tienen en al algo go en común: estar estar escr escritos itos con ssente entencias ncias de un idi idiom omaa que que el se serr hu huma mano no pue puede de apre aprend nder er y us usar ar fáci fácilm lmen ente te.. Po Porr otra otra pa part rte, e, eell hard hardwa ware re de un ord orden enad ador or só sólo lo es ca capa pazz de inte interpr rpret etar ar seña señale less el eléc éctr tric icas as (a (aus usen enci cias as o pr presenc esencias ias de tens tensión) ión) que, en infor informáti mática, ca, se tradu traducen cen en secuenci secuencias as de 0 y 1 (códig (código o binario).
‐ 4 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
Esto Esto nos hace hace plante plantearn arnos os una cue cuesti stión: ón: ¿Có ¿Cómo mo será será capaz capaz el orde ordenad nador or de "en "enten tender der"" al algo go esc escrit rito o en un len lenguaj guajee que no es el suy suyo? o? Como Como v ver erem emos os a lo llar argo go d dee esta esta un unid idad ad,, te tend ndrá rá qu quee pasa pasarr al algo go ((un un p pro roce ceso so d dee tr trad aduc ucci ción ón de có códi digo) go) para para que el ord orden enad ador or ejec ejecut utee las las inst instruc rucci cione oness es escr crit itas as en un lenguaje lengua je de progra programaci mación. ón.
Autoevaluación Para Para fab fabric ricar ar un progra programa ma inform informát ático ico que se eje ejecut cutaa en una com computa putadora dora:: Hay que escrib escribir ir las instru instrucci ccione oness en códi código go bina binario rio par paraa que las las entie entienda nda el hardwa hardware. re. Sól Sólo o eess necesa necesario rio es escri cribir bir el prog program ramaa en aalgú lgún n le lengua nguaje je de prog program ramaci ación ón y se ej ejec ecuta uta directamente. Ha Hay y qu quee esc scri ribi birr el prog progra rama ma en al algú gún n Le Leng ngua uaje je de Pr Prog ogrram amaaci ción ón y ccon onttar con herramientas herramient as softw software are que lo tr traduzc aduzcan an a código binari binario. o. Lo Loss prog progra ram mas infor nform máti áticos no se se pue pueden den es esccribi ribir: r: form formaan pa part rtee de los sist steema mass operativos.
‐ 5 ‐
Instalación Instal ación y uso de en ornos de desar desarrollo rollo
ENTORNO DE DE DESA SAR R OLLO OLLO
3.- D sarr llo de software Caso práct ico En BK p prog rograma reúne ne to bra. Ada reú toda da su pl pla ant ntill illa a para para d sarr sarrollar ollar el uevo ramación ción ya están están man s a l a o br proyecto. Ella sab sabe e ejor hab br qu sencil cillo lo y que ha que e pasar pasar por r una po una ser ser ie de eta ejor que que nadie etapa . Ana die qu que e no erá sen no quie quiere re erde eun ión,, qui re des descub cubri rir por qué h y que tomar ta erders rse e la r eunión tant ntas as an taci tacion ones es y antas molestias moles tias antes inclus empeza ezar r . incluso o de emp
Entendem s por el proc proces eso que ocur rrollo lo de Soft oftwar waree to o el ocur e des desde que se conc oncibe una por Des rrol idea idea hasta hasta que un pr en el or enador ramaa está está mplementado en enador y f ncionando pro o ram .
El pro proce ceso so de desa puede de parec llo, o, q que ue e un principio pue arecer er una tarea tarea sim simpl ple, cons consta ta de una desarr rr ll serie de asos de bligado c mplimiento, pu pues s lo así po remos ga an anttiza zarr que los programas cre read ados os son eficientes, fiables, seguros responde a las ne es esid idad ades es de los usuari usu arios os finales program ram ). llos os qu quee va a utiliz utilizar ar l prog nales (aque (aquell Como ver mos argo de la nidad, el esarrollo de softwa deteni ni iento iento a lo largo software re es un mos con con ás dete proceso q e con unaa seri seriee d pasos. Ge éricament , estos son llos os s iguientes: estos pasos son conlle lleva va un
Etapas en el desarr softw tw re: desarrol ol o de sof Como va os a ver en el el sigui siguient ente punt punto, o, ssee ún el orde y la for que se lle lleven ven a ca o las form m en que dell soft soft are. et etapa apass hablar icloss de vi a de larem emos os de diferentes iclo
La construcción de oftware e un proceso que pu de llegar ser muy complejo exige gra coordina ión y disciplin plina plina ad del el grupo de tr bajo que lo desarrol e.
que
Reflexion
randess proyectos deso tware fraca an Según esti aciones, el 26% de los Según los rande an,, el 48% eben modif icarse rotundo o éxito. drásticamente to. La principal causa fracas caso o de un proyec proyectt es la causa d l fra nte y só sólo lo el 26% tienen rotund falta de una buena pl nificación e las etapas y mala gest pasoss a s guir guir.. ¿P ¿Por or ué el stió ión n de lo paso porcentaje de fra ¿Porr qué iensas que estas causas so son n tan tan de erminantes grand nd ? ¿Po fracas caso o es tan gra
3.1.- Ciclo sso oft offtt are. vida del soft iic clo cllos os d vi Ya hemos hemos visto seg ir para para des desarroll arrollar ar un seri riee de asos a seg visto que la se programa s lo que Vida del del oftware. conoce ce co o Ciclo d Vida que se cono Ca Cada da et etap ap vend más de dett lle en el pun unto to de la plicada da con más vendrá rá e plica pres presen ente te unidad dedi ado fasess de dell esarrollo y ejecución ado a las las fase del softwa softwa e. Diversos utor odel elos os de cicl ciclos os de utores es ha planteado distintos od vida, pero los más conoc tilizado adoss s n los los qu quee aparecen a nocid idos os y tiliz continuación:
‐ 6 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
Siemp Sie Siempre mpre re se debe debe apl aplica ap aplic licar icar arr un m mode mod odelo elo lo de de ciclo ci cicl cloo de vida vida al des desarr de desa sarro arroll rrollo ollo llo o de cualq cualquie alqui uier err proyec pro proye proyect yecto cto too software. 1.
Modelo en Cascada Es el mode modelo lo de vida vida clá clásic sico o de dell sof softwa tware. re. Es prá prácticament ntee impos posible ble qu quee se pu pueeda uti utilizar, ya ya que que requie uiere conoc onoceer de antema antemano no todos los requis requisito itoss del sistem sistema. a. Sólo es apl aplic icabl ablee a peq pequeñ ueños os desarr desarroll ollos, os, ya que que la lass et etap apas as pa pasa san n de un unaa a otra otra sin sin re reto torn rno o po posi sibl ble. e. ((se se pres presup upon onee qu quee no h hab abrá rá errore erroress ni variac variacion iones es del sof softwa tware) re)..
2.
Modelo en Cascada con Realimentación Es uno de los mode modelos los más utili utilizad zados. os. Pr Provi oviene ene del mod modelo elo ante anterio rior, r, pe pero ro se introdu introduce ce una re real alim imen enta taci ción ón en entr tree etap etapas as,, de form formaa que pod podam amos os volve volverr at atrá ráss en cual cualqui quier er momento momen to pa para ra corre corregir, gir, modifi modificar car o de depurar purar algún aspe aspecto. cto. No obs obstant tante, e, si se prevén muchos muc hos cambi cambios os dura durante nte el des desarr arroll ollo o no es el mode modelo lo má máss idóneo idóneo.. Es el mode modelo lo p perf erfec ecto to ssii el proy proyect ecto o es rígido rígido (poc (pocos os cam cambios bios,, poc poco o ev evolu olutiv tivo) o) y lo loss requisitos están claros.
3.
Modelos Evolutivos Evolutivo Evolutivoss So Son n más más mo mode dern rnos os que los los an ante teri rior ores es.. T Tie iene nen n en en cue cuent ntaa la natu natura rale leza za ca cambi mbian ante te y evolutiva del softw evolutiva software. are. Distinguim Dist inguimos os dos varia variantes ntes:: 1.
Modelo Iterativo Incremental Está Está bas basado ado en eell mode modelo lo een n ca casca scada da con reali realimen mentac tación ión,, don donde de la lass fas fases es se repiten y ref repiten refinan, inan, y va van n propaga propagando ndo su mej mejora ora a las fase fasess sigui siguiente entes. s.
2.
Modelo en Espiral Es una com combin binac ación ión de dell mod modelo elo ante anterio riorr con el mode modelo lo en ca casc scada ada.. En él, el sof softwa tware re se va con constr struyen uyendo do repet repetida idamen mente te en for forma ma de versio versiones nes que son ccada ada vez mejor mejores, es, debido a que incr increment ementan an la funcio funcionali nalidad dad en cada versi versión. ón. Es un modelo bastante complejo.
Autoevaluación Si que quere remo moss co cons nstr trui uirr una ap apli lica caci ción ón peque pequeña ña,, y se prev prevéé que no sufr sufrir iráá gra grande ndess ca camb mbio ioss dur durant antee su vi vida, da, ¿¿ser sería ía el mode modelo lo de ciclo ciclo d dee vida en eespi spiral ral el más recome recomenda ndable ble?? Sí. No.
‐ 7 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
3.2.3.2 .- Herram Herramien ientas tas de de apoyo apoyo al desar desarrol rollo lo del ssoft oftwar ware. e. En la prá práct ctic ica, a, para para lle llevar var a cabo cabo var varias ias de las eta etapas pas vista vistass en el punt punto o anteri anterior or con conta tamos mos con herramientas herramient as inform informátic áticas, as, cuya final finalidad idad princ principal ipal es autom automatiz atizar ar las tare tareas as y ganar fiabi fiabilida lidad d y tiempo. Es Esto to nos va a perm permit itir ir ce cent ntra rarno rnoss en los los reque requeri rimi mien ento toss del del sist sistem emaa y el an anál ális isis is del del mi mism smo, o, que son las causa causass pri princi ncipal pales es de los fallos fallos del sof softwa tware. re. Las herra herramien tasobj u conj conjunt o es de yaplica apl icaci ciones ones se utili uti zan noran en el desarr des ollo oo de CASE so soft ftwa ware re mientas co con n el objet etiv ivo o son de un reduc renducir ir unto co cost stes ti tiem empo po de dell que proc proces eso, o, liza m mej ejor ando do po porarroll r ta tant nto la productividad productividad del proce proceso. so. ¿En qué qué fas fases es del proc proceso eso no noss pue pueden den ay ayuda udar? r? En el el diseñ diseño o de dell proyec proyecto, to, en llaa codif codifica icación ción de nuest nuestro ro di diseño seño a parti partirr de su aaparie pariencia ncia visua visual, l, detecci dete cción ón de error errores… es… El desarr desarroll ollo o rápido rápido de aplic aplicac acione ioness o RAD es un pro proce ceso so de desa desarr rrol ollo lo de soft softwa ware re que compre com prende nde el desarr desarroll ollo o iter iterat ativo ivo,, la con constr strucc ucción ión de prot prototi otipos pos y el uso de utili utilidade dadess CAS CASE. E. Ho Hoy y en día se suel suelee util utiliz izar ar pa para ra refe referi rirn rnos os al de desa sarr rrol ollo lo rá rápi pido do de inte interf rfac aces es gráf gráfic icas as de usuario usuar io o entornos entornos de desar desarroll rollo o inte integrado grado comple completos. tos. La te tecnol cnologí ogíaa CAS CASE E trata trata de aut automa omatiz tizar ar las fases fases del des desarr arroll ollo o de sof softwa tware re para para que mej mejore ore la cali calidad dad del proce proceso so y del resul resultado tado fi final. nal. En concreto, concreto, estas herra herramien mientas tas permi permiten: ten: • • • • • •
Mejorar la plani Mejorar planifica ficación ción del proyec proyecto. to. Darlee agilidad Darl agilidad al proce proceso. so. Poderr reu Pode reutil tiliz izar ar parte partess del sof softwa tware re en proy proyect ectos os fut futuros uros.. Hacer Hac er que la lass aplic aplicac acione ioness respond respondan an a estánd estándare ares. s. Mejor Mejorar ar la ta tarea rea del mante mantenim nimie iento nto de los prog program ramas. as. Mejor Mejorar ar el proc proces eso o de des desarr arroll ollo, o, aall permit permitir ir visual visualiz izar ar las fas fases es de form formaa grá gráfic fica. a.
CLASIFICACIÓN N Norm ormal almen mente te,, las las herram herramie ienta ntass CAS CASE E se se clasi clasific fican an en func función ión de las las fases fases del cic ciclo lo de vida del sof softwa tware re en la que ofr ofrec ecen en ay ayuda uda:: • • •
U-CASE: ofr ofrece ece ayu ayuda da en llas as fases fases de planif planifica icaci ción ón y anál análisi isiss de req requis uisit itos. os. ofrec ecee ayu ayuda da en aanál nálisi isiss y di dise seño. ño. M-CASE: ofr L-CASE: ay ayuda uda en llaa progr program amac ació ión n de dell so soft ftwa ware re,, de dete tecc cció ión n de er error rores es del del có códi digo, go, depur depurac ació ión n de pro progra grama mass y pr prue ueba bass y en la gene genera raci ción ón d dee la doc docum umen enta taci ción ón d del el proyecto.
Ejemplos Ejem plos de herra herramient mientas as CASE libre libress son: ArgoUML ArgoUML,, Use Case Make Maker, r, Objec ObjectBuil tBuilder… der… Para saber más
‐ 8 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
sigu guie ient nte e en enla lace ce se pr pres esen enta ta un una a am ampl plia iaci ción ón de los tipos y ay ayud udas as co conc ncre reta tass de la En el si herramientas herram ientas CASE. http://temariotic.wikidot.com/tema‐58‐boe‐13‐02‐1996
‐ 9 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
4.- Lenguajes de programación. Caso pr pr áctico
Una Una d de e llos os as aspec pecto toss del proy proyec ecto to que más más preoc preocup upa a a Ana Ana e ess la ele elecc cción ión del del len lengua guaje je de programación a utilizar. Necesita Necesi ta tener muy claros los requerimientos requerimientos del cliente para enfoca enfocarr correct correctamente amente la e elección lección,, pues seg según ún sean éstos éstos unos leng lenguaje uajess ser serán án más efe efecti ctivos vos que ot otros ros.. Ya diji dijimo moss ante anteri rior orme ment ntee qu quee lo loss pr prog ogra rama mass info inform rmát átic icos os está están n escr escrit itos os us usan ando do al algú gún n lenguaje lengua je de progra programaci mación. ón. Por tant tanto, o, podemos defin definir ir un Lengua Lenguaje je de Progra Programaci mación ón como un idio idioma ma cr crea eado do d dee for forma ma arti artifi fici cial al,, for forma mado do por por un cconj onjunt unto o de símbo símbolo loss y no norm rmas as que se apl aplic ican an sobre sobre un al alfab fabet eto o par paraa obte obtener ner un cód código, igo, que el har hardwa dware re de la com comput putador adoraa pued puedaa entender ente nder y ejecuta ejecutar. r.
Los lenguaj leng lenguajes uajes es de prog programa ramación ción son los que nos permite per perm miten itenn ccomun omunicar icarnos nos con el hardware hardware del ordenado ordenador. r. En ot otra rass pa pallabra bras, eess muy iimp mpor orttante nte tener ner mu muy y cl claara la fu func nciión d dee los len engu guaaje jess de pr progr ogram amac ació ión. n. Son los los inst instrum rumen ento toss que tene tenemos mos para para que el orde ordena nador dor re real alic icee la lass ta tarea reass que necesitamos. Hay mult multit itud ud de le lengua nguaje jess de prog program ramac ación, ión, ccada ada uno co con n unos sím símbol bolos os y unas es estru truct ctura urass di dife fere rent ntes es.. Ade Ademá más, s, ccad adaa leng lengua uaje je está está enfo enfoca cado do a la prog progra rama maci ción ón de ta tare reas as o ár área eass det determ ermina inadas das.. Po Porr ello, ello, la la elec elecció ción n de dell lengua lenguaje je a utili utiliza zarr en u un n pr proye oyecto cto es una cuesti cuestión ón de extrema extre ma importanci importancia. a. Los lengua lenguajes jes de progra programaci mación ón han sufri sufrido do su propia evoluc evolución, ión, como se puede aprec apreciar iar en la figura sigui siguiente ente::
Caracte Cara cterís rístic ticas as de los Lenguaje Leng Lenguaj uajes ess de Program Pro Programa Prog gramació ramación ación ción n •
Lenguaje máquina:
o o
Sus instru instrucc ccione ioness son comb combina inaci cione oness de unos y ceros ceros.. Es el úni único co lengu lenguaj ajee que en enti tien ende de dire direct ctam amen ente te el ord orden enad ador. or. (No (No nece necesi sita ta traducción). Fue el pri primer mer lengua lenguaje je utili utilizad zado. o. Es úni único co para para cada cada proc procesa esador dor (no es port portabl ablee de un eequi quipo po a otro). otro).
o
Hoy día nad nadie ie prog program ramaa en est estee lengua lenguaje je..
o o
•
Lenguaje ensamblador ensambla ensamblador dor:
Sustituyó Susti tuyó al lengua lenguaje je máq máquin uinaa para para facili facilita tarr la lab labor or de pro progra gramac mación ión.. En lugar lugar de uno unoss y cer ceros os se pro progr gram amaa usan usando do mne mnemot motéc écni nico coss (i (ins nstr truc ucci cione oness complejas). o Nec Necesi esita ta traduc traducci ción ón al lengua lenguaje je máq máquin uinaa par paraa pode poderr ejecu ejecuta tarse rse.. o Sus instru instrucc ccione ioness son sente sentenci ncias as que hac hacen en refere referenci nciaa ala ubi ubica cació ción n fís física ica de los archivo archivoss en el equ equipo ipo.. o Es difíc difícil il de utili utiliza zar. r.
o o
‐ 10 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
•
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
Lenguaj Leng Lenguaje uajee de alt alto o nivel nive nivell basados basados en código códi código go: Sustituyeron al lenguaje ensamblador para facilitar más la labor de programación. o En lugar lugar de mn mnem emot otéc écni nico cos, s, se util utiliz izan an se sent nten enci cias as y órde órdene ness deri deriva vada dass del del idiomaa inglé idiom inglés. s. (Ne (Neces cesita ita tradu traducció cción n al lengu lenguaje aje máqui máquina). na). o Son más más cerc cercanos anos al razo razonamie namiento nto h humano. umano. o Son utili utilizad zados os hoy día, día, aunqu aunquee la ten tenden dencia cia es que cada cada vez men menos. os. Lenguajes Lenguaje Lenguajess visuales visuales: o Están Están sust sustit ituye uyendo ndo a los len lengua guajes jes de alto alto nivel bas basado adoss en códi código. go. o En luga lugarr de sent senten enci cias as es escr crit itas as,, se pr progr ogram amaa grá gráfi fica came ment ntee usan usando do el ra rató tón ny o
•
diseñando dise ñando direc directame tamente nte la apari aparienci enciaa del softw software. are.
o Su correspondient correspondientee código se gener generaa automá automátic ticament amente. e. o Necesita Necesitan n trad traducci ucción ón al lengua lenguaje je máqui máquina. na. o Son compl completam etamente ente portab portables les de un equipo a otro. Para saber más En el siguiente enlace, verás la evolución entre los distintos tipos de Lenguajes de Program Pro gramació ación n en la hist historia oria.. http://www.monografias.com/trabajos38/tipos‐lenguajes‐programacion/tipos‐lenguajes‐ programacion.shtml
4.1.4.1 .- Concep Concepto to y caract caracterí erísti sticas cas.. Ya sabe sabemos mos que lo loss lengu lenguaj ajes es de progr program amac ació ión n han ev evol oluc ucio iona nado, do, y sig sigue uen n hac hacié iéndo ndolo lo,, siem siempre pre haci haciaa la ma mayor yor usab usabil ilid idad ad de los los mism mismos os (qu (quee el ma mayor yor núm númer ero o pos posib ible le de usua usuari rios os lo utilicen y exploten).
La elección elecc elección ión del lenguaje leng lenguaj lenguaje uajee de programa programación ción para para codificar codificar un programa programa depende depe depender nderá ráá de las característica caracter característic caracte rísticas ísticas ass del problema a resolver. reso res olver. lver.
CONCEPTO Un lenguaje lenguaje de prog program ramac ación ión es el conj conjunt unto o de:
•
Alfabeto: con conjunt junto o de sím símbol bolos os per permit mitido idos. s. Sintaxis: norm normas as de cons constr truc ucci ción ón pe perm rmit itid idas as de los los
•
Semántica: sign signif ific icad ado o de las las cons constr truc ucci cion ones es pa para ra
•
símbolos símbo los del lengua lenguaje. je. hacerr acci hace acciones ones váli válidas. das.
CARACTERÍSTICAS Po Pode demo moss cl clas asif ific icar ar los los dist distin into toss tipo tiposs de Leng Lengua uaje jess de Prog Progra rama maci ción ón en ba base se a dist distin inta tass características: •
Según Segú Según n lo cerca cer cerca ca que que est estéé del lenguaje leng lenguaj lenguaje uajee humano humano
‐ 11 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Lenguajes Lenguaj es de Prog Program ramaci ación ón De alto alto nive nivel: l: por su ese esenci ncia, a, es están tán má máss próx próximo imoss al razo razonamie namiento nto humano. o Lengua guajes de Progr graamación De ba bajjo nive vell: están más próx próxiimos al funcionami funci onamiento ento inter interno no de la comput computadora adora:: Lenguaje Lengua je Ensam Ensamblador blador.. Lenguaje Lengua je Máqui Máquina. na. Según la técnica de programación programación utilizada: o Len Lenguaj guajes es de Pro Progra gramac mación ión Estruc Estructur turado ados: s: Usa Usan n la téc técnic nicaa de prog program ramaci ación ón estructurada. Ejemplos: Ejemplos: Pascal, C, eetc. tc. o Lengua guajes de Prog Progrramación Orientados a Objetos os:: Usan la técnic nica de o
•
o
progra programaci mación ón orientada a objet objetos. os. Ejempl Ejemplos: os: C++, Java Java,, Ada, Delph Delphi, i, etc etc.. Le Lengu nguaj ajes es de Progr Program amac ació ión n Visu Visual ales es:: Ba Basa sados dos en las las té técn cnic icas as ante anteri riore ores, s, permite permiten n programa programarr gráfi gráficame camente, nte, sie siendo ndo el código cor correspon respondient dientee genera generado do de forma autom automátic ática. a. Ejempl Ejemplos: os: Visua Visuall Basi Basic.Ne c.Net, t, Borland Delp Delphi, hi, etc.
A pesar de la inmensa inmen inmensa sa cantidad cant cantida cantidad idad d de lenguaje leng lenguaj lenguajes uajes ess de programa programación ción ex exist exi existe istent stente entes, ntes, es, s, Java, Java Java,, C, C++, PHP PHP y Vi Visu Vissual sua ual all Ba Basi Bassic sicc co conc ncen entr tran an al alre rede dedo dorr de dell 60 60% % de dell in inte teré réss de la co comu muni nida dadd informática mundial. Para saber más Enla pág página ina web sigu siguien iente te enc encontr ontrarás arás un resu resumen men de las car caracte acteríst rísticasde icasde los Len Lenguaj guajes es de Program Pro gramació ación n más util utilizad izados os en la actualidad. http://www.larevistainformatica.com/LENGUAJES‐DE‐PROGRAMACION‐listado.html
4.2.- Lenguajes Leng Lenguaje uajess de de programaci progr programac programación amación ión ón estr estructu estructurado ucturados rados. s.. Au Aunq nque ue los los re requ quer erim imie ient ntos os actu actual ales es de soft softwa ware re son son ba bast stan ante te más más comp comple lejo joss de lo que que la té técni cnica ca de prog program ramac ación ión es estru truct ctura urada da es capaz capaz,, es nec necesa esario rio por lo men menos os con conoce ocerr la lass bases bases de los los Le Lengu nguaj ajes es de Pr Progr ogram amac ació ión n es estr truc uctu tura rados dos,, ya que a part partir ir de ello elloss se ev evol oluc ucio ionó nó hast hastaa ot otro ross le lengu nguaj ajes es y té técn cnic icas as má máss co compl mplet etas as (or (orie ient ntad adaa a ev even ento toss u obj objet etos os)) que son son la lass que se usan actualmente. La pr prog ogrram amaación ción est stru ruct ctur uraada se de defi fine ne como omo un unaa técnic nica pa para ra escri ribi birr le leng ngua uajjes de program programac ación ión q que ue permit permitee sól sólo o el uso d dee tres tres tip tipos os de sente sentenci ncias as o estru estruct ctura urass de cont control rol:: • • •
Sentencias secuencial secuenciales. es. Sentencia Sente nciass sele selectiv ctivas as (condi (condiciona cionales) les).. Sentencia Sente nciass repet repetitiva itivass (iteraci (iteraciones ones o bucle bucles). s).
Lo Loss le lengu nguaj ajes es de pro progra grama maci ción ón qu quee se basa basan n en llaa pro progr gram amac ació ión n es estr truc uctu tura rada da re reci cibe ben n el nombre de lengua lenguajes jes de progra programaci mación ón estructur estructurados. ados. Para saber más Enel sig siguie uiente nte en enlac lace e en enco contr ntrará aráss un br brev eve e do docu cume mento nto do dond nde e se ex expl plica ica pa para ra qu qué é sir sirve ve cad cada a senten sen tencia cia de cont control rol con uno unoss sen sencill cillos os eje ejempl mplos os escr escritos itos usan usando do el len lengua guaje je C. http://www.juntadeandalucia.es/educacion/adistancia/cursos/file.php/420/ http://www.juntadeandalucia.es/educac ion/adistancia/cursos/file.php/420/ED01/ED01_We ED01/ED01_Web/index. b/index. html#anexo_i_sentencias_de_control_de_la_programacin_estructurada.html
‐ 12 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
La progr program amac ació ión n es estr truc uctu tura rada da fue fue de gra gran n éx éxit ito o por su ssen enci cill llez ez a la hora hora de cons constr trui uirr y leer leer pro progra gramas mas.. F Fue ue sus susti titui tuida da por la prog program ramac ación ión modu modular lar,, que per permit mitía ía dividi dividirr los program programas as gran grande dess en tro trozo zoss má máss peque pequeños ños (sig (sigui uien endo do la co conoc nocid idaa técn técnic icaa "di "divi vide de y venc vencer erás ás") ").. A su vez, vez, lueg luego o ttri riunf unfar aron on llos os lengu lenguaj ajes es orie orient ntad ados os a objet objetos os y de ah ahíí a la progr program amac ació ión n vi visu sual al (si (siemp empre re es más sencil sencillo lo progra programar mar grá gráfic ficame amente nte que en códig código, o, ¿no cre crees? es? ).
VENTAJ VEN TAJAS AS DE LA PROGRA PROGRAMAC MACIÓN IÓN ESTRUC ESTRUCTUR TURADA ADA • • •
Los progra programas mas son fáci fáciles les de lee leer, r, senc sencillo illoss y rápido rápidos. s. El man mante tenim nimie iento nto de los prog program ramas as es sencil sencillo. lo. La estruc estructur turaa del prog program ramaa es se senci ncilla lla y clara clara..
INCONVENIENTES •
•
To Todo do eell progr program amaa se co conc ncen entr traa en un úni único co bloqu bloquee (si (si se hace hace dema demasi siad ado o gra grande nde es difícil difíc il manej manejarlo) arlo).. N No o permi permite te reutil reutiliz izaci ación ón eefic ficaz az de códi código, go, ya que todo todo va "en uno" uno".. Es por esto esto que a la pro progra grama maci ción ón eest struc ructu tura rada da le su sust stit ituyó uyó la progr program amac ació ión n mo modul dular ar,, dond dondee los los programas programas se codif codifica ican n por módulos y bloque bloques, s, permi permitie tiendo ndo mayor funcio funcionali nalidad. dad.
Ejemplos Ejem plos de lengu lenguajes ajes estr estructur ucturados: ados: Pascal, C, Fortran.
La Programación estructurada estru estructurada estructurad cturada a evolucionó evolucionó hacia la Programación Programación modular, modular, que divide el programa programa en trozos troz trozos os de código código llamados llamados módulos módulos con una funcion funcionalid alidad ad concreta, concr concreta concreta, eta,, que que podrán ser reutilizables. reutili reutilizables reutilizables. zables..
4.3.4.3.- Lenguajes Leng Lenguaje uajess de de programac programación ión orientado orie orien ntados tadoss a objetos. objet objetos. os. Después Des pués de com compre prende nderr que la prog program ramaci ación ón estruc estructur turada ada no es útil útil cuando cuando los prog program ramas as se hac hacen muy largos rgos,, es nec necesa sari riaa otra otra técnic nica de pr prog ogra rama macción ión que que soluc oluciione one este inconvenie inconv eniente. nte. Nace así la Progra Programaci mación ón Ori Orientad entadaa a Objet Objetos os (en aadelan delante, te, P.O.O. P.O.O.). ). Los Los le leng ngua uaje jess de pr prog ogra rama maci ción ón ori orien enta tado doss a ob obje jeto toss trat tratan an a los los prog progra rama mass no ccom omo o un conjunto ordena conjunto ordenado do de inst instrucci rucciones ones (tal como suce sucedía día en la progra programaci mación ón estr estructura ucturada) da) sino como un conjun conjunto to de objet objetos os que cola colaboran boran entre ello elloss para real realizar izar acciones acciones..
En la P.O. P.O.O. O. lo loss pr prog ogra rama mass se se comp compon onen en de ob obje objjeto jetos ettos oss in inde depe pend ndie ient ntes es entr entree ssíí qu quee colaboran colaboran para realizar realizar acciones. acciones. Los obje objetos objetos tos son reutilizab reutil reutilizab izables les para proyectos proyect proyectos os futuros futuros.. Su prime primera ra desve desventaj ntajaa es cla clara: ra: no es una progra programaci mación ón tan intui intuitiva tiva como la estr estructur ucturada. ada. A pesa pesarr de es eso, o, al alre rede dedor dor del del 55% del del so soft ftwa ware re que produ produce cen n las las em empr pres esas as se hace hace usan usando do esta esta téc técnica nica.. Razones: • •
El código es reuti reutiliza lizable. ble. Si hay algún algún eerror rror,, es más fácil fácil de local localiza izarr y depu depurar rar en un obj objet eto o que en un pro progra grama ma entero.
‐ 13 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Características: •
• •
•
Los Los ob obje jeto toss de dell prog progra rama ma tend tendrá rán n un unaa seri seriee de atri atribu buto toss qu quee los los dife difere renc ncia ian n un unos os de otros. Se defin definee clas clasee como una cole colecci cción ón de objet objetos os con cara caracter cterísti ísticas cas simi similare lares. s. Media Mediante nte los lla llamad mados os mét métodos odos,, los obj objeto etoss se com comuni unica can n con otro otross prod produci uciénd éndose ose un cambi cambio o de estado estado de los mis mismos mos.. Los obje objetos tos son son,, pue pues, s, com como o unidade unidadess indivi individua duales les e indivi indivisib sibles les que form forman an la base base de es este te ti tipo po de prog program ramac ación. ión.
Pri Princi ncipal pales es le lengua nguaje jess ori orient entados ados a objet objetos: os: Ada, C++, VB.NET, Delphi, Java, PowerBuilder, etc. Para saber más Enel sigu siguien iente te enl enlace ace hay un doc docume umento nto muy inte interes resante ante de intr introdu oducció cción n a la programación orienta ori entada da a obj objetos etos,, en con concret creto, o, del len lengua guaje je C++. http://mat21.etsii.upm.es/ayudainf/aprendainf/Cpp/manualcpp.pdf
‐ 14 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
5.- Fase 5.Fasess en en el des desar arro roll lloo y ejec ejecuc ució iónn del del software. Caso pr áctico áctico
En la reunión reunión de BK acerca del nuevo pr proyect oyecto o Ada, la super supervisora visora,, dejó bien claro que que lo prim primero ero y más import importante ante es tener claro qué queremo queremoss que haga el softw software are y con qué herramientas herramientas contam contamos: os: lo demás demás vendrí vendría a despu después, és, ya que si esto n no o está bien plan planteado, teado, ese er error ror se propagar propagará á a to todas das las fas fases es del pro proyec yecto. to. —¿Por dónde empezamos? —pregunta Juan. —ANÁLISIS —ANÁLI SIS de REQUISITO REQUISITOS S —conte —contesta sta Ada. Ya hemo hemoss vist visto o een n pu punt ntos os an ante teri rior ores es que debe debemo moss eleg elegir ir un m mode odelo lo de ci cicl clo o de vida vida para para el desarrollo de nuestro software. Ind Indepe ependie ndiente ntemen mente te del mode modelo lo eele legido gido,, siemp siempre re hay una serie serie de et etapa apass que deb debemo emoss seguir seguir para para con constr struir uir sof softwa tware re fiable fiable y de calid calidad. ad. Estas Estas eta etapas pas son son:: 1.
ANÁLISIS DE REQUISITOS. Se especifi especifican can los requi requisitos sitos funci funcionale onaless y no funcio funcionale naless del sist sistema. ema.
2.
DISEÑO. Se divi divide de el sist sistem emaa en par parte tess y se dete determ rmin inaa la func funció ión n de ca cada da una una..
3.
CODIFICACIÓN. Se el elige ige un Lengua Lenguaje jess de Pro Progra gramac mación ión y se codi codific fican an los prog program ramas. as.
4.
PRUEBAS. Se prueban prueban los pro progra gramas mas para para det detec ectar tar errore erroress y se dep depura uran. n.
5.
DOCUMENTACIÓN. De todas todas la lass etapa etapas, s, se doc docume umenta nta y gua guarda rda toda toda la informa informaci ción. ón.
6.
EXPLOTACIÓN. Instalamo Insta lamos, s, configur configuramos amos y prob probamos amos la aplic aplicaci ación ón een n los equipos del clie cliente. nte.
7.
MANTENIMIENTO. Se ma mant ntie iene ne el co cont ntac acto to co con n el clie client ntee para para ac actu tual aliz izar ar y mod modif ific icar ar la ap apli lica caci ción ón el futuro.
Autoevaluación ‐ 15 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
¿Crees que debemos esperar a tener completamente cerrada una etapa para pasar a la siguiente? Sí. No.
5.1.5.1 .- Anális Aná Análi Análisis lisis. sis. is.. Es Esta ta es la prim primer eraa fa fase se del del proye proyect cto. o. Una vez vez fina finali liza zada da,, p pasa asamos mos a la siguie siguiente nte (di (diseñ seño). o). Es la fa fase se de ma mayo yorr imp mpor orttanc nciia en eell des desarro arrolllo de dell proyecto proyecto y todo lo demás depende dependerá rá de lo bi bien en deta detalla llada da que esté. esté. Tam Tambié bién n eess la más com compli plicad cada, a, ya que no eestá stá aut automa omatiz tizada ada y depen depende de en gran med medida ida del ana anali lista sta que la realic realice. e.
Es la prim primer eraa eta etapa pa del del pr proy oyec ecto to,, llaa más más co comp mpli lica cada da y la la que que má máss depe depend ndee de la analista.. capacidad del analista ¿Q ¿Qué ué se hace hace en eest staa fa fase se?? Se espe especifi cifican can y anal analiza izan n los requi requisito sitoss funci funcionale onaless y no fu funciona ncionales les del sist sistema. ema.
Requisitos:
•
: Qu Quéé fu func ncio ione ness tend tendrá rá qu quee real realiz izar ar la apli aplica caci ción ón.. Qué Qué re resp spue uest staa da dará rá la Funcionales aplic aplicac ación ión an ante te toda todass las las ent entrad radas. as. C Cómo ómo se com comport portará ará la apl aplic icac ación ión en si situa tuacio ciones nes inesperadas.
•
Tieemp mpos os de resp respue uest staa de dell prog progrram ama, a, legi legisslaci ción ón apli plicabl blee, No funcionales: Ti trat tratamie amiento nto ante la simul simultane taneidad idad de peti peticione ciones, s, etc.
Lo fundam fundamen enta tall es la bue buena na co comu muni nica caci ción ón ent entre re el an anal alis ista ta y el clie client ntee para para que la ap apli lica caci ción ón que se va a desarr desarroll ollar ar cum cumpla pla con sus exp expec ectat tativa ivas. s. La culmi culminaci nación ón de esta fase es el docume documento nto ERS (Espe (Especifi cificaci cación ón de Requi Requisito sitoss Softwa Software). re). En este documento quedan espec especificados: ificados: • • • • •
La planif planifica icaci ción ón de las las reunio reuniones nes que van a tener tener lugar. lugar. Relac Relación ión de los obje objeti tivos vos del usu usuari ario o clie cliente nte y del siste sistema. ma. Relación Rela ción de los requis requisitos itos funci funcionale onaless y no funci funcionale onaless del sist sistema. ema. Relación Rela ción de objet objetivos ivos priori prioritari tarios os y temporiz temporizació ación. n. Reconocim Reco nocimient iento o de requi requisitos sitos mal plant planteados eados o que conll conllevan evan cont contradic radiccione ciones, s, etc etc..
Citas para pensar Todo Todo aqu aquell ello o que no se detec detecte, te, o res result ulte e mal entend entendido ido en lla a et etapa apa ini inici cial al provo provoca cará rá un fuerte fuer te impa impact cto o nega negati tivo vo en los los requ requis isit itos os,, prop propag agan ando do esta esta corr corrie ient nte e degr degrad adan ante te a lo increment incr ementando ando su per perjuic pe perj rjui juicio uici cio io o cuan cu cua cuanto anto nto to má máss la larg rgo o de tod todo el pro procceso de des desarr rro ollo llo e incrementando tar tardía día sea sea su detección detección(Bel (Belll y Thay Thayer er 1976)( 1976)(Davis Davis 1993). 1993).
‐ 16 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
Como ejem ejemplo plo de requi requisitos sitos funcio funcionale nales, s, en la apli aplicaci cación ón para nuest nuestros ros clie clientes ntes de las tiendas tiendas de cosmé cosmética tica,, habría que consi considera derar: r: • • •
• • •
Si dese desean an que la lect lectura ura de los los produ product ctos os se real realic icee me medi dian ante te códi códigos gos de barr barras as.. Si van van a deta detall llar ar las las fact factur uras as de co comp mpra ra y de qué ma mane nera ra la dese desean an.. Si los trabaj trabajado adores res de las las tie tienda ndass trabaj trabajan an a com comisi isión, ón, ten tener er inform informac ación ión de las ven ventas tas de ca cada da uno uno.. Si van a ope operar rar con tar tarje jeta tass de crédit crédito. o. Si desean desean un ccontrol ontrol del stock en al almacé macén. n. Etc.
5.2.5.2 .- Dis Diseño eño.. Caso pr áctico áctico
Jua Juan n está está agob agobiado iado por el proy proyect ecto. o. Ya han man manten tenido ido com comunic unicaci aciones ones con el cli client ente e y sab saben en perfectament perfec tamente e qué debe hacer la aplic aplicación. ación. También titiene ene una lista de las característ características icas hardwar hardware e de los los equi equipos pos de su cclien liente te y tod todos os los requ requisit isitos. os. Tien Tiene e tan tanta ta in infor formac mación ión que que no sabe sabe po porr dón dónde de empezar. Decide hablar hablar co con n Ada. Su super supervisora, visora, amable ccomo omo sie siempre, mpre, le sugier sugiere e que emp empiece iece a div dividir idir el problema problem a en las partes implica implicadas. das. —Vale, —Va le, Ada, pero pero,, ¿có ¿cómo mo lo divido? divido?
Dura Durant ntee es esta ta fa fase se,, dond dondee ya sabe sabemo moss lo que hay hay que hace hacer, r, el sigui siguiente ente paso es ¿Cóm ¿Cómo o ha hacerl cerlo? o? S e acion deb de beesdiv di vidir di elresiella stlas. em parrtes y establecer qu quéé relac rel iones hab habrá rárentre ent el s. a en pa Decidi Dec idirr qué hará hará exact exactame amente nte cada cada parte. parte. En defini definitiva, tiva, debem debemos os crea crearr un m modelo odelo funcio funcional-e nal-estruc structur ural al de los re requ queeri rimi mieentos ntos del del siste sistema ma global global,, para para pode poderr dividi dividirlo rlo y afront afrontar ar las par parte tess por se separ parado ado.. En este este punto, se deben toma tomarr deci decisione sioness import importante antes, s, ttale aless como: • • • •
Ent Entida idades des y relac relacion iones es de las las bas bases es de dat datos. os. Selecció Sele cción n del lengua lenguaje je de program programació ación n que s e va a util utiliz izar ar.. Selec Selecció ción n del Sistem Sistemaa Ges Gestor tor de Base Base de Dat Datos. os. Etc.
Citas para pensar De Desig sign n is not just just wh what at it lo looks oks like like and fee feels ls like. like. De Desig signis nishow howitw itwor orks. ks.Ste Steve ve Job Jobss (" ("El El dis diseño eño no es sól sólo o lo que par parece ece y ccóm ómo o pare parece. ce. Dis Diseño eño es cóm cómo o se tra trabaj baja a"). Reflexiona Según estim Según estimacion aciones, es, las organi organizacio zaciones nes y em empr pres esas as que que crec crecen en más más so son n la lass que más dinero dinero invier invierten ten en sus diseño diseños. s.
5.3.5.3.- Codificac Codi Codifica ficación. ción. ión. Tipos Tipos ddee código. código. ‐ 17 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Caso pr pr áctico
En BK, ya tienen el proyec proyecto to dividid dividido o en partes partes.. Ahora llega llega u una na parte cclav lave: e: codifi codificar car los paso pasoss y accion acciones es a seg seguir uir para qu que e el ordena ordenador dor los ejecute. ejecute. En otras otras palabras palabras,, program programar ar la aplicac aplicación. ión. Saben qu que e no sserá erá ffácil, ácil, pero af afortunad ortunadamente amente cuentan con herr herrami amient entas as CAS CASE E que lles es van a ser de gr gran an ay ayuda. uda. A Ana e ell gus gustar taría ía p part articip icipar, ar, pero cuan cuando do se habla habla d de e "c "código ódigo fuente fuente", ", "ejecu "ejecutable", table", etc. sabe que no tiene ni idea y que n no o ten tendrá drá m más ás remedio que estudiarlo estudiarlo si quiere cola colaborar borar en est esta a fase del proyect proyecto. o. Durant Dur antee la fase fase de cod codifi ifica caci ción ón se reali realiza za el pro proces ceso o de program programaci ación. ón. Consis Con siste te en el elegi egirr un det determ ermina inado do le lengua nguaje je de prog program ramaci ación, ón, ccodi odific ficar ar toda la inform informac ación ión anterior ante rior y lleva llevarlo rlo a código fue fuente. nte.
Esta Esta ta tarea rea la reali realiza za el el programa prog program programador ramador ador dor y ti tiene ene que cumplir cump cumplir lir exhaust exhaustivam ivament entee con todo todoss los datos dato datoss impuest impu imp impues uestos estos tos os en el el análisi análisiss y en el el dis diseño eño de de la aplic ap aplica licació ación. ción. n. Las cara caracter cterísti ísticas cas dese deseable abless de todo código son: 1. 2. 3. 4. 5.
Mo Modul dular arid idad ad:: que es esté té divi dividi dido do en troz trozos os má máss peque pequeños ños.. Corr Correc ecci ción ón:: que que ha haga ga lo qu quee se le pide pide real realme ment nte. e. Fác Fácil il de le leer: er: para para facil facilita itarr su de desar sarrol rollo lo y ma mante ntenim nimien iento to fu futur turo. o. Ef Efic icie ienc ncia ia:: que haga haga un bu buen en u uso so d dee los los recu recurs rsos os.. Por Porta tabi bili lida dad: d: que se pue pueda da im impl plem emen enta tarr en cu cual alqui quier er eq equi uipo. po.
Durant Dur antee esta esta fas fase, e, el códi código go pasa por difere diferente ntess estado estados: s: •
Código Fuente: es el es escr crit ito o po porr los los prog progra rama mado dore ress en algú algún n edit editor or de te text xto. o. Se escrib escribee usa usando ndo alg algún ún leng lenguaj uajee de prog program ramac ación ión de alto alto nivel y conti contiene ene el con conjun junto to de instrucciones necesarias.
•
código igo bin binari ario o resul resulta tado do de com compil pilar ar el cód código igo fue fuente nte.. Código Objeto: es el cód La co comp mpil ilac ació ión n es la trad traduc ucci ción ón de una so sola la vez vez del del progr program ama, a, y se re real aliz izaa util utiliz izan ando do un compilador. compilador. La inter interpreta pretación ción es la tradu traducció cción n y ejecuc ejecución ión simul simultáne táneaa del program programaa lí línea nea a lí línea nea.. El cód código igo obj objeto eto no es direc directa tamen mente te intel inteligi igible ble por el se serr huma humano, no, pe pero ro tam tampoc poco o por la computa com putadora dora.. Es un có códig digo o int interm ermedi edio o ent entre re el códi código go fu fuent entee y el eje ejecut cutabl ablee y sól sólo o exis existe te si el pr prog ogra rama ma se comp compil ila, a, ya qu quee si se inte interp rpre reta ta (tra (tradu ducc cció ión n lín línea ea a lí líne neaa del del código cód igo)) se traduc traducee y se ejecu ejecuta ta en un ssolo olo p pas aso. o.
•
Código Ejecutable: Es el có códi digo go b bin inar ario io rres esul ulta tant ntee de en enla laza zarr los los ar arch chiv ivos os de códi código go necesa sari rias as.. El sist sistem emaa ope opera rati tivo vo ser seráá el objeto con ciertas rutinas rutinas y bibliotecas nece encarg encargado ado de cargar cargar el códi código go eejec jecuta utable ble en mem memori oriaa RAM y pr proce oceder der a ej ejecu ecutar tarlo. lo. Tambié Tam bién n es cono conocid cido o ccomo omo códi código go m máqu áquina ina y ya sí es direct directame amente nte inteli inteligib gible le por la computadora.
Los programa programass interpr inte interpreta rpretad etados dos os no produce prod producen ucenn código códi códig código goo objeto. objeto. El paso paso de fuente fuente a ejec ejecutab utable le es directo dire dir direct ecto. cto. o..
5.4.5.4 .- Fases Fases en en la la obtenc obtención ión de código código.. ‐ 18 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
Caso pr áctico áctico
Juan y María yya a han decidi decidido do el Lenguajes de Program Programación ación que va van n a utiliza utilizar. r. Saben Sab en que el prog program rama a que re realic alicen en pas pasará ará po porr var varias ias fas fases es ant antes es de ser iimpl mpleme ementa ntado do en los equi equipo poss del del clilien entte. Toda Todass esas esas fases ases van a p pro rodu duccir trans ransfforma ormaci cion ones es en el códig ódigo. o. ¿Qué ¿Qué característ caract erísticas icas irá adopta adoptando ndo el código a medid medida a que avanza por el proces proceso o de codific codificación? ación?
5.4.1.5.4. 1.- Fuente. Fuente Fuente.. El cód código igo fue fuente nte es el conj conjunt unto o de instru instrucci ccione oness que la com comput putador adoraa deb deberá erá rea realiz lizar, ar, escrit escritas as por los prog program ramado adores res en al algún gún le lengua nguaje je de alto alto niv nivel el.. Este Este con conjunt junto o de instru instrucc ccione ioness no es direct directame amente nte ejecu ejecuta table ble por la máquin máquina, a, si sino no que deb deberá erá se serr traduci traducido do al lengua lenguaje je máq máquina uina,, que la com comput putado adora ra será será capaz capaz de entend entender er y ejecut ejecutar. ar. Un asp aspec ecto to m muy uy iimp mpor orta tant ntee en eest staa fase fase es la elab elabora oraci ción ón p pre revi viaa de un aalg lgori oritm tmo, o, q que ue lo defi defini nimo moss co como mo un co conj njunt unto o de paso pasoss a segui seguirr para para obt obten ener er la solu soluci ción ón del del probl problem ema. a. El algoritmo algor itmo lo di diseña señamos mos en pseudoc pseudocódigo ódigo y con él, llaa codif codificac icación ión poste posterior rior a algún Lenguaje Lenguaje de Progra Programaci mación ón det determi erminado nado sserá erá más rápi rápida da y dire directa. cta. Para Para obt obtene enerr el códi código go fue fuente nte de una apl aplica icaci ción ón inform informát ática ica:: 1. Se debe debe part partir ir de las las etap etapas as an ante teri rior ores es de anál anális isis is y dise diseño ño.. 2. Se dis diseñ eñaará un algo gorritmo itmo qu quee simb simbol oliice los pas pasos a se segu guiir pa para ra la re reso solu lucción del del problema. 3. Se elegir girá un unaa Leng ngua uajjes de Prog ogrramación de alto nive nivell aprop propiiado para las carac caracte terís rísti ticas cas del sof softwa tware re que se quie quiere re cod codifi ifica car. r. 4. Se proc proced eder eráá a la co codi difi fica caci ción ón del del algor algorit itmo mo an ante tess dise diseña ñado. do. La culmin culminaci ación ón de la obtenc obtención ión de cód código igo fue fuente nte es un doc docume umento nto con la cod codifi ifica caci ción ón de todos los módulos (Cada parte, con una funcionalidad concreta, en que se divide una aplicación), ffunc uncio ione ness (Parte de código muy pequeña con una finalidad muy concreta.), bibli bibliotec otecas as y pr procedi ocedimient mientos os ( Igual que las función, pero al ejecutarse no devuelven ningún valor.) neces necesari arios os para para cod codifi ificar car la apl aplica icaci ción. ón. Puesto que Puesto que,, como he hemos mos dicho dicho ant antes es,, est estee cód código igo no es inteli inteligib gible le por la máquin máquina, a, hab habrá rá que TRADUCIRLO TRADU CIRLO,, obteni obteniendo endo así un código eq equival uivalente ente pero ya tradu traducido cido a código bi binario nario que se ll llam amaa có códi digo go obj objet eto. o. Que no se será rá dire direct ctam amen ente te ejec ejecut utab able le por la co comp mput utad ador oraa si és éste te ha sido compilado. Un aspe aspecto cto import importante ante a tene tenerr en cuent cuentaa es su lice licencia ncia.. Así, en base a ella ella,, podemos disti distinguir nguir dos tip tipos os de cód código igo fue fuente nte:: •
•
Código Cód igo fue fuente nte abi abiert erto. o. Es aqu aquel el que está está disponi disponible ble par paraa que cualqui cualquier er usua usuario rio pue pueda da estudiarlo, modificarlo o reutilizarlo. Código fuente cerr cerrado. ado. Es aquel que no tene tenemos mos permi permiso so para editarlo editarlo..
Autoevaluación Para Para obt obtene enerr cód código igo fue fuente nte a par parti tirr de toda toda la inform informaci ación ón n nec ecesa esaria ria del prob problem lema: a: Se elige elige el Len Lenguaj guajee de Pro Progra gramac mación ión más ade adecua cuado do y se cod codifi ifica ca direct directame amente nte.. Se cod codifi ifica ca y desp después ués se elige elige el Len Lengua guaje je de Progra Programac mación ión más adecua adecuado. do.
‐ 19 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Se el elig igee el Leng Lengua uaje je de Prog Progra rama maci ción ón más más adec adecua uado do,, ssee dise diseña ña un al algo gori ritm tmo o y se codifica. Muy Muy bien bien.. El di señ seño o de dell algo algori ritm tmo o (l (los os pas pasos os a se segu guii r) r) nos nos ayud ayudar ará á a qu que e l a co codi difi fica caci ción ón po post ster eriior se real realii ce ce más más rápidamentey tenga menoserrores. rápidamentey
5.4.2.5.4.2 5.4.2..- Objeto. Objeto. El código obj objeto eto es un código int interme ermedio. dio. Es elaún re resu sult ado o deser tr trad aduc ucir irtado có códi digo goectame fue fuent nteente a un códi digo go equ equiv ival alen ente forma mado do por uno unoss y cer ceros os que noltad puede ej ejecu ecutad o direct dir amente porcó la com comput putado adora. ra.te for Es decir, decir, es el cód código igo res result ultant antee de la com compil pilac ación ión del códi código go fuent fuente. e. Consiste Consis te en un b byte ytecode code (Código binario resultante de la traducción de código de alto nivel que aún no puede ser ejecutado.) que es está tá dist distri ribui buido do en vari varios os arch archiv ivos os,, cad cadaa uno de los los cua cuale less corres correspond pondee a cad cadaa prog program ramaa fue fuente nte com compil pilado ado.. Sól Sólo o se se gene genera ra có códi digo go obj objet eto o una una vez vez que el có códi digo go ffue uent ntee es está tá libr libree de er error rores es si sint ntác ácti tico coss y semánticos. El proc proceso eso de traduc traducció ción n de cód código igo fue fuente nte a cód código igo objet objeto o puede reali realiza zarse rse de dos form formas: as: a.
Compilación : El proc proces eso o de de traduc traducci ción ón se reali realiza za sobr sobree todo todo el el cód código igo fue fuente nte,, en un so solo lo paso paso.. Se cr crea ea có códi digo go ob obje jeto to qu quee habr habráá que en enla laza zar. r. E Ell so soft ftwa ware re re resp spons onsab able le se
traduce, de una sola vez, un programa escrito en un ll llama ama com compil pilado adorr (Softwaredeque lenguaje de programación alto nivel en su equivalente en lenguaje máquina .). b. Interpretación : El pro proce ceso so de trad traduc ucci ción ón del có códi digo go fue fuent ntee se real realiz izaa lí líne neaa a lí líne neaa y se
eje ejecuta cuta simul simultáne táneament amente. e. No exis existe te código objet objeto o intermed intermedio. io. El softwa software re respon responsable sable se llam lama inté ntérp rpre rette (Software que traduce, instrucción a instrucción, un programa escrito en un lenguaje de alto nivel en su equivalente en lenguaje máquina ). El proc proces eso o de tr trad aduc ucci ción ón eess más más lent lento o qu quee en eell caso caso d dee la comp compil ilac ació ión, n, p per ero o eess re reco come menda ndabl blee cu cuan ando do el progr program amad ador or es inex inexpe pert rto, o, ya que da la dete detecc cció ión n de er erro rore ress es más detall detallada ada..
El código objeto es código binario, pero no puede puede ser ejecutado ejecutado por por la computadora com computador computadora putadora a
Para saber más En el sigu siguien iente te enl enlace ace pod podrás rás visi visitar tar una pág página ina web web,, qu que e te pe permi rmitir tirá á ap apre rend nder er má máss ace acerc rca a de la ge gene nera ració ción n de cód códig igos os ob obje jeto: to: http://www.monografias.com/trabajos11/compil/compil2.shtml#co
‐ 20 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
5.4.3.5.4. 3.- Ejecutable. Ejecutable. El códi código go eeje jecut cutabl able, e, resu result ltado ado d dee enlaz enlazar ar los archiv archivos os de cód código igo o obje bjeto, to, cons consta ta de un ún únic ico o ar arch chiv ivo o qu quee pue puede de ser ser dire direct ctam amen ente te ejec ejecut utad ado o po porr la co comp mput utad ador ora. a. No nece necesi sita ta ningu ninguna na aplicac apli cación ión exter externa. na. Este arch archivo ivo es ejec ejecutado utado y contro controlado lado por el sist sistema ema opera operativo. tivo. Pa Para ra obte obtene nerr un só sólo lo ar arch chiv ivo o eje ejecu cuta tabl ble, e, ha habr bráá qu quee enla enlaza zarr todo todoss los los ar arch chiv ivos os de códi código go obj objet eto, o, a tr trav avés és de un so soft ftwa ware re llam llamad ado o linke linkerr ( Enlazador. Pequeño software encargado de unir archivos para generar un programa ejecutable.) y obt obten ener er así así un ún únic ico o ar arch chiv ivo o que ya sí es ej ejecu ecutab table le direc directam tament entee por la com computa putadora dora.. Para saber más En el sigu siguien iente te enl enlace ace pod podrás rás visi visitar tar una pági página na web web,, qu que e te pe perm rmiti itirá rá ap apre rend nder er más ace acerca rca de la gen genera eración ción de eje ejecuta cutable bles: s: http://www.palomatica.info/juckar/sistemas/software/ge http://www.palomatica.info/j uckar/sistemas/software/generacion_de_ neracion_de_ejecutable.html ejecutable.html
En el el es esque quema ma de gene genera raci ción ón de có códi digo go eeje jecu cuta tabl ble, e, v vem emos os el pro proce ceso so completo pa completo para ra la gener generació ación n de ejecutabl ejecutables. es. A parti partirr de un eedit ditor, or, es escri cribim bimos os el lengua lenguaje je fue fuente nte con algún algún L Leng enguaj uajee de program programaci ación. ón. (En el eje ejemplo, mplo, se usa Java Java). ). A continua continuación, ción, el código fuente se compi compila la obteni obteniendo endo ccódigo ódigo objet objeto oo bytecode. Ese byt bytecode ode, a tra ravé véss de la má máqu quiina virt virtua uall (se (se verá verá en el siguie guient ntee punt punto) o),, pas pasa a códi ódigo má máqu quin inaa, ya dire direcctam ameente nte ejec ecut utaable ble por por la computadora.
Autoevaluación Re Rela laci ciona ona los los ti tipos pos de có códi digo go con su car carac acte terí ríst stic icaa má máss rele releva vant nte, e, es escr crib ibie iendo ndo el núm númer ero o asociado asoc iado a la cara caracte cteríst rística ica en el hueco ccorres orrespondie pondiente. nte. Ejercicio Ejercici o de relacionar Tipo de código. Relación. Código Fuente
2
Código Objeto
1
Código Ejecutable
3
Caracterí Características. sticas. Escrito en Lengua Lenguaje je Máqui Máquina na pero no ejecuta ejecutable. ble. 1. Escrito 2. Escri Escrito to een n aalgún lgún Lengua Lenguaje je de Progra Programaci mación ón de alto alto ni nivel, vel, pero no ejecutable. Escrito en Lengua Lenguaje je Máqui Máquina na y directa directament mentee ejec ejecutabl utable. e. 3. Escrito
El códi código go fuent fuente e esc escri rito to en algún algún len lengu guaj aje e de pro progra grama maci ción ón de al alto to ni nive vel, l, el obj objeto eto es escri crito to en lengu lenguaj aje e máqui máquina na sin sin se serr ejecutabley ejecuta bley el código código ejecutab ejecutable,escrito le,escrito tambi también én en lenguaje lenguaje máquina máquina y ya sí ej ejecutabl ecutable e por el ordenador,son ordenador,son las distintas distintas fases por donde pasan nuestros programas.
5.5.5.5.- Máquinas Máquinas virtuales. virtu virtuales virtuales. ales.. Una máq máquina uina virtua virtuall es un tip tipo o especi especial al de sof softwa tware re cuy cuyaa mis misión ión es separa separarr el func funcion ionami amient ento o del ord ordena enador dor de los com compone ponente ntess hardwa hardware re insta instala lados. dos.
‐ 21 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Esta Esta capa capa de soft softwa ware re dese desemp mpeñ eñaa un p pap apel el muy muy im impo port rtan ante te en eell func funcio iona nami mien ento to d dee los los lenguajes de programación, tanto compilado como iinterpretado. nterpretado. Con Con el uso uso de máqu máquin inas as virt virtua uale less po podr drem emos os de desa sarr rrol olla larr y eje ejecu cuta tarr un unaa apli aplica caci ción ón so sobr bree cua cualqu lquie ierr equ equipo ipo,, indepe independi ndient enteme emente nte de las las carac caracte terís rísti ticas cas concret cretas as de los los comp compon onen ente tess físi físicos cos insta instalados lados.. E Esto sto garan garantiza tiza la porta portabili bilidad dad (Capa Capacida cidad d de un programa programa para ser ejecut ejecutado ado aplic icaci acione ones. s. en cualquier arquitectura física de un equi equipo. po.) de las apl Las func funcione ioness pri princi ncipal pales es de una máquin máquinaa virtua virtuall son la lass siguie siguiente ntes: s: • • •
•
Conseguir que las aplic Conseguir aplicaci aciones ones sean portab portables. les. Re Rese serva rvarr me memo mori riaa para para los los obj objet etos os que se crea crean n y libe libera rarr la memoria no utiliza utilizada. da. Co Comu muni nica cars rsee co con n el sist sistem emaa don donde de se inst instal alaa la ap apli lica caci ción ón (hué (huéspe sped) d),, para para el co cont ntrol rol de los disposi dispositi tivos vos har hardwa dware re imp impli licad cados os en los p rocesos. Cumpli Cum plimie miento nto de las las norm normas as de se seguri guridad dad de las las apl aplica icaci cione ones. s.
CARACTERÍSTICAS DE LA MÁQUINA VIRTUAL Cuando el código fuent fuentee se compi compila la se obtie obtiene ne código objet objeto o (byt (bytecode ecode,, códi código go int interme ermedio). dio). Para Para eje ejecut cutarl arlo o en cualqu cualquie ierr máq máquin uinaa se requie requiere re ten tener er inde indepen penden dencia cia respec respecto to al hardwa hardware re concre con creto to que se vay vayaa a utiliz utilizar. ar. Para Para el ello, lo, llaa máq máquin uinaa virtua virtuall aísla aísla la aplic aplicaci ación ón de los detal detalles les físic físicos os del equ equipo ipo een n cue cuesti stión. ón. Fun Funci ciona ona co como u una na ca capa paitivos de so soft ftwa ware re de ba joema. n niv ivel el y ac actú túaa co como mo p pue uent ntee en entr tree el bytec bytecode ode de la apli aplicaci cación ónmo y los dispos dispositi vos físi físicos cos delbajo sist sistema. La Máqui Máquina na Virtua Virtuall verifi verifica ca todo todo el byte bytecod codee antes antes de ejec ejecuta utarlo rlo.. La Máqui Máquina na Virtua Virtuall prot protege ege direc direccio ciones nes de mem memori oria. a.
La máqu máquina áquin ina a virtu vir virt virtual tual ual al actúa act ac actú túa úaa de de puent pu pueente ntee ent entre en entr tre ree la apli aapl plicac plic icaci cación ación ión ón y el har hardwa hardw dware are re concr concre concreto cret eto too de del dell equi equipo equipo po donde donde se ins instale instal tale. e.. Para saber más En el sig siguie uiente nte en enla lace ce te pr pres esen entam tamos os el pr proc oces eso o de in insta stalac lació ión n de la JV JVM M (M (Máq áquin uina a Vi Virtu rtual al de Ja Java va)) y su aparie apariencia. ncia. http://www.unabvirtual.edu.co/ayuda/manuales_pdf/maquinavirtualjava.pdf
5.5.1.5.5.1 5.5.1..- Frameworks. Frameworks. Un framework (Plataforma, entorno, marco de trabajo del desarrollo rápido de aplicaciones ) progra grama mador dor,, en base base a la cu cual al pod podem emos os desa desarr rrol olla larr pro proye yect ctos os es una una estr estruc uctu tura ra de ayud ayuda al pro sin partir partir desde desde cero. cero. Se tr trat ata a de una plat pl ataf afor orma ma so soft ftwa ware re don donde de es está tán nr de defi nidos pr amas as sopor soporte te, , bi bibl teca s, etc. etc., , que ay ayuda uda a desa de sarr rrol olla lar y fini uni unir rdos los losprogr dife diogram fere rent ntes es módul mó dulos os o blio part paiote rtes escas, de lenguaje lengua je inte interpret rpretado, ado, un proyecto.
‐ 22 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
Co Con n eell uso uso de fr fram amew ewor ork k po pode demo moss pasa pasarr má máss tiem tiempo po aana nali liza zando ndo los los re reque queri rimi mien ento toss del del sist sistem emaa y la lass es espe peci cifi fica caci cione oness técn técnic icas as de nue nuest stra ra ap apli lica caci ción, ón, ya que la ta tare reaa la labor borio iosa sa de los los detalle deta lless de progra programaci mación ón q queda ueda resue resuelta. lta. •
•
Ventajas de util Ventajas utilizar izar un frame framework: work: o Desarrollo rápido de softw software. are. para otras apli aplicac caciones iones.. o Reutilización de part partees de código para o Diseño unif uniforme orme del sof softwa tware. re. comput utad ador or a otro otro,, ya qu quee los los byte byteco code dess o Portabilidad de apl aplica icaci cione ones de un comp ngua uaje je fu fuen ente te po podr drán án ser ser ej ejec ecut utad ados os sobr sobree que se generan a partir del leng cualquier cual quier máqui máquina na virtu virtual. al. Inconvenientes: o Gran dependenci dependenciaa del código res respect pecto o al frame framework work utili utilizado zado (si (sin n cambia cambiamos mos de fra framew mework, ork, h habr abráá que reesc reescrib ribir ir gra gran n part partee de la aplic aplicac ación) ión).. o La instal tación ión del frame framework work en nuestro equi equipo po consume instalac ación ión e imp imple lemen mentac recursos os del sistem sistema. a. bastantes recurs
Para saber más El uso creciente de frameworks hace que tengamos que estar reciclándonos constantemente. En el si sigu guie ient nte e en enla lace ce,,ayh un documento muy interesante de sus principales princip ales caracter características,ventajas ísticas,ventajas y for forma mass de us uso: o: http://www.maestrosdelweb.com/editorial/los‐frameworks ‐de‐php‐agilizan‐tu‐trabajo/
Ejemplos Ejem plos de Frame Frameworks: works: •
e el el fr.net" amew ork knos p par ara a facili desa desarr rrol olla lar ap apli caci cione ones s aplica sobr sobre e cione Wi Windo ndows O Ofr fre e ces .NET "Vi "Visua sualles Studio Stuun diofram .ne t"ewor que da fac ilidad dades esr par para alica con constr struir uir apl icaci ones s yws. su. mot motor or ".N ".Net et fra framew mework" ork" que per permit mitee eje ejecut cutar ar dichas dichas apl aplica icaci cione ones. s. Es un com compone ponente nte que se
•
insta instala la sobr sobree el siste sistema ma ope operat rativo ivo.. Spr Spring ing de Java. Java. Son cconju onjunto ntoss de biblio bibliotec tecas as (AP (API's I's)) par paraa el desarr desarroll ollo o y ejec ejecuci ución ón de aplicaciones.
Debes conocer conocer El pr proc oces eso o de in inst stal alac ació ión n y co conf nfig igur urac ació ión n de dell fr fram amew ewor ork k Sp Spri ring ng de Ja Java va,, as asíí com como o va vari rios os ejem ej empl plos os de us uso. o. En el sig sigui uien ente te en enlac lace e en enco contr ntrará aráss un una a gu guía ía mu muy y út útil il de deta talla lland ndo o los pa paso soss a seguir:
htt p://pablolg.wikispaces.com/file/view/spring_tutorial_v0.271.pdf
5.5.2.5.5. 2.- Entornos Entornos de ejecución. ejecución. Un entorno d ftwea psrara e e eje ejecuc cución ión es un servic servicio io de máquin máquinaa virtua virtuall que sirve sirve com como o obase bas la eje ejecuci cución ón de program programas. as. En oc ocasion asiones es pert pertenec enecee al propio sist sistema ema operat operativo, ivo, pero tambi también én se puede puede insta instalar lar com como o sof softwa tware re inde inde pendie pendiente nte que func funcion ionará ará por deba debajo jo d dee la aplic aplicac ación. ión. Es decir, decir, es un conju conjunto nto de utilid utilidade adess que per permit miten en la eje ejecuc cución ión de prog program ramas. as.
Se deno denomi mina na runt runtim imee al tiem tiempo po qu quee ta tard rdaa un pr prog ogra rama ma en ejec ejecut utar arse se en la computadora.
‐ 23 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Durant Dur antee la ej ejecu ecuci ción, ón, los ent entorn ornos os se enc encarg argará arán n de: •
•
•
Co Conf nfig igur urar ar la me memor moria ia prin princi cipa pall disp disponi onibl blee en el sist sistema. ema. Enlazar los archivos del del prog ogrrama con las bibl bliiot oteecas exis xistentes y con los biblio iote teca cass son son el conj conjun unto to de su subpr bprogr ogram amas as cr crea eados dos.. Consid Consider eran ando do que las las bibl sirven pa para ra des desarr arroll ollar ar o comun comunic icar ar com compone ponente ntess softwa software re pero pero que subprogramas que sirven ya exis existe ten n pr prev evia iame ment ntee y los los subp subpro rogr gram amas as se será rán n aaqu quel ello loss que que hemo hemoss cr crea eado do a propósito propósito para el progra programa. ma. De Depu pura rarr los pr prog ogrram amas as:: compr omprob obaar la exist xisteenci ncia (o no ex exiist steenc nciia) de err rror orees semánt sem ántico icoss del le lengua nguaje je (los (los sin sintác tácti ticos cos ya se det detec ectar taron on en la com compil pilac ación ión). ).
Funcionamiento Funciona Funcionamiento miento del entorno de ejecución: ejecuci ejecución: ón: El Entorno Entorno de Ejecuc Ejecución ión está está for formad mado o po porr la máq máquin uinaa virtua virtuall y los los API API's 's (bi (bibli bliote oteca cass de cl clase asess critaa en aalgún lgún Lengua Lenguaje je de Progra Programaci mación ón pue pueda da estándar, nece estándar, necesari sarias as para que la apli aplicaci cación, ón, escrit ser eje ejecut cutada ada). ). Es Estos tos dos com compone ponente ntess se sue suele len n dist distrib ribuir uir con conjun juntam tament ente, e, por porque que neces necesita itan n ser com compat patibl ibles es entre entre sí. sí. El en ento torno rno fu func ncio iona na co como mo in inte term rmed edia iari rio o ent entre re el lengu lenguaj ajee fuen fuente te y el si sist stem emaa ope opera rati tivo, vo, y consigue consi gue eje ejecuta cutarr apli aplicaci caciones. Sin emb embarg argo, o, ssii lo que quer queremo emoss es des desarr arroll ollar ar nue nuevas vas aplic aplicac acione iones, s, no eess sufic suficien iente te con el entorno entor no de ejec ejecución. ución. Ad Adel elan antá tánd ndon onos os a lo que que ve vere remo moss en la pr próx óxim imaa un unid idad ad,, par paraa de desa sarr rrol olla larr apli aplica caci cion ones es "algo go más" más" se llama llama ent entorno orno de des desarr arroll ollo. o. necesita nece sitamos mos algo más. Ese "al
Autoevaluación Señal Señ alaa la afi afirma rmació ción n fals falsaa respec respecto to de los entorno entornoss de eje ejecuc cución ión:: Su princ principal ipal utili utilidad dad es la de permi permitir tir el desa desarroll rrollo o rápi rápido do de apli aplicaci caciones. ones. Actúa como media mediador dor entre el sistema sistema opera operativo tivo y el código fuente fuente.. Es el con conjun junto to d dee la máq máquin uinaa virtua virtuall y bi bibli bliote oteca cass nec necesa esaria riass par paraa la ej ejec ecuci ución. ón.
5.5.3.5.5.3 5.5.3..- Java Java runtimeenvironment. runtimeenvi runtimeenvironme ronment. En esta esta secci sección ón de va a exp expli licar car el func funcion ionami amient ento, o, iinst nstala alaci ción, ón, cconf onfigur igurac ación ión y pri primer meros os aje Java Java (se (se hace hace ex exte tens nsib ible le a lo loss demá demáss le lengu nguaj ajes es de pasos del Run Runti timeE meEnvi nvironm ronment ent del lengu lenguaje programación).
Concepto. Se denomi denomina na JRE al Java Runti RuntimeEnvi meEnvironment ronment (ento (entorno rno een n ti tiempo empo de ejec ejecución ución Java Java). ). El JRE se com compone pone de un con conjun junto to de utilid utilidade adess que permit permitirá irá la eje ejecuc cución ión de prog program ramas as ja java va sobre cualq cualquier uier tipo de plat plataform aforma. a.
Componentes.
‐ 24 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
JRE está está formad formado o por: •
• •
Una Máquin Máquinaa virtua virtuall Ja Java va (JM (JMV V o JVM si con consid sidera eramos mos las siglas siglas en ingl inglés) és),, qu quee es el scrito en JJava. ava. progra programa ma que interp interpret retaa el cód código igo de la aplicación eescrito Bibli Bibliote oteca cass de cla clase se estánd estándar ar que imp implem lement entan an el API de Java. Java. API de Java Java so son n co cons nsis iste tent ntes es en entr tree sí sí,, por el ello lo son son dist distri ribui buida dass Las dos dos: JMV y API conjuntamente.
1.6.0. 6.0.21). 21). Lo primer primero o es desca descarga rgarnos rnos el prog program ramaa JRE JRE.. (Ja (Java2 va2 Ru Runti ntimeE meEnvir nvironm onment JRE 1. Ja Java va es sof softwa tware re lib libre, re, p por or lo que pode podemos mos des desca carga rgarno rnoss la apl aplica icaci ción ón li bremente. mienzaa el proce proceso so de inst instalac alación, ión, sigui siguiendo endo los pasos del asis asistent tente. e. Una vez descar descargad gado, o, co mienz Debes conocer conocer El pr proc oces eso o de de desca scarg rga, a, in insta stala lació ción n y con config figur uraci ación ón de dell en ento torno rno de ej ejecu ecuci ción ón de pr progr ogram amas as.. En el sig siguie uiente nte en enlac lace, e, se ex expl plica ican n lo loss pas pasos os pa para ra ha hace cerlo rlo ba bajo jo el sistema operat operativo ivo Linux.
http://www.java.com/es/download/help/linux_install.xml Para saber más En el si sigu guie ient nte e en enla lace ce en enco cont ntra rará ráss un tu tuto tori rial al de dell le leng ngua uaje je Ja Java va,, co con n su suss pr prin inci cipa pale less caracte car acteríst rísticasy icasy órd órdene eness y coma comando ndoss prin princip cipales ales.. http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/ Java2.pdf
55..6. .6.-P 6.- Prrruuueb eb ass.. Caso pr áctico áctico
María re úne tod todos os los cód códigos igos diseñad diseñados os y los pre prepara para para imp impleme lementa ntarlos rlos en el equipo equilpo iendel te. c Juan se se perca percata ta de e ello, llo, y le recu recuerda erda a su amig amiga a que aún no los han sometido sometido a pruebas pruebas.. Juan sse e acuerda bien de lla a vez que le pas pasó ó aquello: hace dos años, cuando ffue ue a pres presentar entar un una a aplica aplicación ción a sus clie cliente ntes, s, no par paraba aba d de e dar e error rrores es de to todo do titipo… po… llos os client clientes, es, por ssupue upuesto sto,, no la a acep ceptar taron on y Juan perdió perdió un mes de duro trabaj trabajo o y estuvo estuvo a punto de perder su empl empleo… eo… “—No tan tan depr deprisa isa Ma María, ría, tenemos que PRO PROBAR BAR la aplic aplicación”. ación”. Una vez obt obteni enido do el sof softwa tware, re, la sig siguie uiente nte fase fase del ciclo ciclo de vida es la rea realiz lizac ación ión de prue pruebas bas.. Nor Normal malmen mente te,, ésta éstass se realiz realizan an ssobre obre un cconj onjunt unto o d dee dat datos os de prue prueba, ba, que cons consist isten en een n un aplica icaci ción ón es som somet etida ida.. conjunto conjun to sele selecci ccionado onado y pr predef edefinido inido de datos lími límite te a los qu e la apl
La realiza rea realiz lización lizació ación ción n de de pruebas pruebas es impresc imprescind indible ible para para asegurar aseg asegu asegurar urar rar la validaci vali validac validación dación ión ón y verific veri verificació ficació ación n del softwar softwa software ree constr constru con consstruido truido. uido. ido.. Ent Entre re todas todas la lass prue pruebas bas que se efect efectúan úan sobr sobree el sof softwa tware re pode podemos mos disti distingui nguirr básic básicame amente nte:
PRUEBAS PRUEB AS UNITARIAS UNITARIAS Consi onsissten ten en prob probaar, un unaa a un unaa, las dife diferren enttes pa part rtees de sof ofttwa ware re y compr omprob obaar su fun funcio cionam namie iento nto (por se separ parado ado,, de man manera era indepe independi ndient ente). e). JU JUnit nit es el entorno entorno de prue pruebas bas pa ra Java.
PRUEBA PRU EBASS DE INTEGR INTEGRACI ACIÓN ÓN ‐ 25 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Se re real aliz izan an u una na vez vez que se han han re real aliz izad ado o co con n éx éxit ito o la lass pru prueb ebas as uni unita tari rias as y cons consis isti tirá rán n en comprobar el funcio comprobar funcionamie namiento nto del sist sistema ema compl completo: eto: con todas sus parte partess inte interrela rrelaciona cionadas. das. La prue prueba ba fi fina nall se de deno nomi mina na común omúnme ment ntee Beta Te Test st,, éést staa se rea realiz liza sobre obre el entor ntorno no de produ producc cció ión n dond dondee el so soft ftwa ware re va a ser ser utiliz tilizado ado por el clien cliente te (a ser pos posibl ible, e, en los equ equipos ipos del cliente cliente y bajo un funci funcionami onamiento ento norm normal al de su empre empresa). sa). El período período de prue prueba ba será será nor normal malmen mente te el pacta pactado do con el clien cliente. te.
Autoevaluación Si la lass prue pruebas bas uni unita taria riass se realiz realizan an con éxito, éxito, ¿es obli obligat gatori orio o reali realizar zar las de integr integrac ación ión?? Sí, si si la aplica aplicaci ción ón es está tá form formada ada por más de cin cinco co mó módulo duloss difere diferente ntes. s. Sí, en cualquier cualquier caso. Para saber más Puedes vi visi sitar tar la sig siguie uiente nte pá págin gina a we web, b, do dond nde e se de deta tall llan an lo loss ti tipo poss de pr prue ueba bass qu que e su suel elen en hace ha cerr al so softw ftwar are e y la fun función ción de cada una una.. http://www.sistedes.es/TJISBD/Vol‐1/No‐4/articles/pris‐07‐raja‐ctps.pdf
5.7.- Documenta Documentación ción.. Caso pr pr áctico
Ada h ha a qued quedado ado dent dentro ro d de e dos día díass con ssu u cli client ente. e. Pre Pregunt gunta a a Ma María ría por ttodos odos los dossiers dossiers de documentación. La pálida exp expresión resión de la jov joven en hace que Ada ar arda da en desespe desesperación: ración: "— ¿habéis No documen documentad tado o la lass eta etapas? pas? ¿Cóm ¿Cómo o vvoy oy a ex explic plicarle arle al clie cliente nte y sus emp emplead leados os el funcio funcionami namient ento o de dell software? ¿Cómo vamos a realizar su mantenimiento?".
Todas las etapas en el el desarrollo de de software deben qu quedar perfectamente documentadas. ¿P ¿Por or qué hay hay que doc docum umen enta tarr toda todass las las fase fasess del del pr proye oyect cto? o? Pa Para ra dar dar toda toda la info inform rmac ació ión n a los los us usua uari rios os de nu nues estr tro o ssof oftw twar aree y po pode derr acom acomet eter er futu futura rass revisiones revis iones del proyec proyecto. to. Te Tene nemo moss que ir doc docum umen enta tando ndo el pro proye yect cto o een n ttoda odass las las fase fasess del del mism mismo, o, para para pa pasa sarr de una a otra otra de for forma ma cla clara ra y def defini inida. da. U Una na correc correcta ta doc docume umenta ntaci ción ón per permit mitirá irá la reu reuti tiliz lizac ación ión de parte parte de los progra programas mas en otr otras as apli aplicac caciones iones,, sie siempre mpre y cuando se desa desarroll rrollen en con di diseño seño m modular odular.. Distinguim Dist inguimos os tres grande grandess docume documentos ntos en el desa desarroll rrollo o de softw software: are: Documentos a elaborar en el proceso de desarrollo de software
GUÍA TÉCNICA
‐ 26 ‐
GUÍA DE USO
GUÍA DE INSTALACIÓN
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
•
•
Quedan reflejados:
•
El dise diseño ño de la apli aplicaci cación. ón. La codificación de los programas. Las pruebas realizadas.
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
•
•
•
•
¿Cuál ál es ¿Cu su objetivo?
• •
•
•
¿A quién va dirigido?
Descripción d dee la Toda la información func nciion onaa-lidad d dee la nece necesari sariaa para: aplicación. Puestaa en marc Puest marcha. ha. Forma de comenzar a Explotación. eje ejecu-ta cu-tarr la apli aplicac cación. ión. Seguridad Seguri dad del sist sistema. ema. Ejemplos de uso d deel progra-ma. Re Reque queri rimi mien ento toss so soft ftwa ware re de la apl aplica icaci ción. ón. Solu Soluci ción ón de los los po posi sibl bles es
pr prob oble lema mass qu quee se pu pued eden en presentar. Al personal A llos os us usua uari rios os qu quee va van n a us usar ar Al perso personal nal inform informáti ático co re resstécni-co en la aplicación (clientes). pons ponsab able le de la inst instal alac ació ión, n, informática en colaboración con los (a (ana nali list stas as y prousuarios que que van van a usar la gramadores). aplicación (clientes). Fa Faci cili lita tarr un ccoo- Da Darr a los los usua usuari rios os fina finale less toda toda Dar toda la información rrecto desarrollo, la inform informaci ación ón nece necesar saria ia par paraa nece nece-s -sar aria ia pa para ra gara garant ntiz izar ar realizar cor orrrec- util utilizar izar la apli aplicac cación. ión. que que la impl mplanta ntaci ción ón de la ci ciones ones en los pro pro-aplicación ssee realice de gramass y permit grama permitir ir fo form rmaa segu segura ra,, con confi fiab able le y un precisa. mantenimiento futuro.
5.8.5.8.- Explotaci Expl Explotac otación. ión. ón. Caso pr áctico áctico
Llega el el día de la cit cita a con la cade cadena na hote hotelera. lera. Ada y Juan sse e dirige dirigen n al hotel sonde sse e va a instala instalarr y configurar la ap configurar aplicació licación. n. Si todo va b bien, ien, se irá irá iimplemen mplementando tando en lo loss demás hoteles de la la ca cadena. dena. Ada no quie quiere re que se le pase ni un det detalle: alle: lleva consigo consigo la guí guía a de uso y la guía de insta instalación. lación. De Desp spué uéss de toda todass la lass fase fasess an ante teri riore ores, s, una vez vez que las las prue prueba bass nos demue demuest stra ran n que el soft softwa ware re es fi fiab able le,, ca care rece ce de erro errore ress y hem hemos os do docu cume ment ntad ado o tod todas as las las fase fases, s, eell si sigu guie ient ntee paso paso eess la explotación. Aunque diver diversos sos autor autores es consi considera deran n la explot explotació ación n y el mant mantenimi enimiento ento como la mism mismaa etap etapa, a, nos nosotr otros os vam vamos os a difere diferenci nciarl arlas as en base base al mom moment ento o en q que ue se realiz realizan. an.
La explotac explotación ión es la fase fase en que los usuario usuarioss finales finales conocen con cono ocen cen la aplicac apl aplica aplicación icación ción ión y comienza comi comien comienzan enzan zan na utilizarla. La ex expl plot otac ació ión n es la inst instal alac ació ión, n, pu pues esta ta a pun punto to y fun funci ciona onami mien ento to de la ap apli lica caci ción ón en el equipo final del clie cliente. nte. En el proc proceso eso de instal instalac ación, ión, los prog program ramas as son tran transfe sferid ridos os al com comput putado adorr del usua usuario rio cli client entee y poste posteriorm riormente ente config configurados urados y verif verifica icados. dos.
‐ 27 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Es recome recomenda ndable ble que los fut futuros uros clie cliente ntess estén estén p pres resent entes es en eest stee mom moment ento o e irl irles es com coment entando ando cómo se va plant planteando eando la insta instalac lación. ión. En est estee mo mome ment nto, o, se su suel elen en llle leva van n a ca cabo bo la lass Be Beta ta Te Test st,, que so son n la lass úl últi tima mass pru prueb ebas as que se reali realizan zan en los prop propios ios equ equipos ipos del clien cliente te y bajo ca carga rgass norm normal ales es de trabaj trabajo. o. Una vez instal instalada ada,, pasamo pasamoss a la fase fase de con config figura uraci ción. ón. En ella ella,, as asigna ignamos mos los parám parámetr etros os de fun funcio cionam namie iento nto no norma rmall de la emp empres resaa y prob probamo amoss que la apl aplic icac ación ión eess ope operat rativa iva.. Tam Tambié bién n pued puedee ocu ocurri rrirr que la con config figura uraci ción ón la rea realic licen en los los prop propios ios usu usuari arios os finale finales, s, siempr siempree y ccuan uando do les les haya hayamos mos dad dado o p prev revia iamen mente te la guía de insta instalac lación ión.. Y ta tambi mbién, én, ssii la aplic aplicaci ación ón es más sencil sencilla la,, pode podemos mos prog program ramar ar la con config figura uració ción n de man manera era que se realic realicee automá automáti ticam cament entee tras tras instal instalarl arla. a. (S (Sii el sof softwa tware re es "a med medida ida", ", lo m más ás aconse aconseja jable ble es que la hag hagan an aaque quell llos os que la han fabric fabricado ado). ). Una Una vez vez se ha co conf nfig igur urad ado, o, el si sigui guien ente te y ú últ ltim imo o pa paso so es la fase fase de pro produc ducci ción ón norma normal. l. La apl pliicación ión p paasa a man anos os de los los us usua uari rios os fina finalles y se se da comie omienz nzo o a la expl xplota otación ión d deel software.
Es muy importan importante te tenerlo tene tenerlo rlo todo todo prepara pre preparad prep parado arado doo antes antes de presen pre present pressentarl entarle tarle arlee el product productoo al cliente clie cliente: nte:: será el el momento crítico del proyecto. proyecto proyecto.. Reflexiona Re Real aliz izas as un pr proy oyec ecto to sof softwar tware e po porr vez pr prim imer era a y no te das das cuen cuenta ta de docu docume ment ntar arlo lo.. Cons Consig igue uess vend vender erlo lo a buen buen prec precio io a una una em empr pres esa. a. Al ca cabo bo de un par par de mese mesess te pi pide den n que que actu actual alic ices es algunas de las las funciones, par para a tener tener may mayor or fun funcio cional nalida idad. d. Estás Estás con conten tento to o conten contenta ta porq porque ue eso signif significa ica un in ing greso reso ext extra. ra. Te pa para rass un mo mome ment nto. o... ..¿D ¿Dón ónde de est están lo loss códigos? ¿Qué ¿Qué ha hací cía a exac exacta tame ment nte e la apli aplica caci ción ón? ? ¿C ¿Cóm ómo o se dise diseñó ñó? ? No lo recu recuer erda das.. s.... Pr Prob obabl ablem emen ente te haya hayass pe perd rdid ido o un in ingr gres eso o ex extr tra ay unos buenos clientes. clientes.
5.9.- Mantenimi Mantenimiento ento.. Caso pr pr áctico
Ada reúne por ú última ltima vez durante durante est estas as semana semanass a su equipo. Todos celebran que el proyecto proyecto sse e ha implementado impleme ntado co con n éxito y que sus client clientes es han quedad quedado o satis satisfechos fechos.. —Esto —Es to aún no ha term terminad inado o —comenta —comenta Ada Ada—, —, nos qued quedan an much muchas as cos cosas as por hacer. hacer. Esta Esta tard tarde e me reúno con con los cliente clientes. s. ¿Cómo vvamos amos a gesti gestionar onar el manten mantenimiento imiento de la apli aplicación? cación? Sería lógico lógico pen pensar sar que con la entreg entrega a de nue nuestr stra a apl aplica icació ción n (la instal instalaci ación ón y configuración de nue nuestr stro o pro proyec yecto to en los equ equipo iposs del cli client ente) e) hemos hemos termin terminado ado nue nuestr stro o trabaj trabajo. o. En cua cualqu lquier ier otr otro o sector sector labora laborall es esto to es as así, í, pe pero ro el caso caso de la cons constr truc ucci ción ón de sof softwa tware re es muy diferente.
La etapa eta etapa pa de de mantenim mant manteni enimient enimien miento iento too es la más más larga larga de todo todo el el ciclo cic ciclloo de vida del softwa software. re. Por su nat natura urale leza, za, el sof softwa tware re es cambi cambiant antee y deber deberáá actua actualiz lizars arsee y evolu evoluci cionar onar con el ti tiemp empo. o. Debe Deberá rá ir ad adap aptá tándo ndose se de for forma ma para parale lela la a las las me mejo jora rass del del hard hardwa ware re en el me merc rcad ado o y afront afrontar ar situacio situ aciones nes nuevas que no exist existían ían cuando el softw software are se const construyó. ruyó.
‐ 28 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
Además Ade más,, siempr siempree sur surgen gen eerror rrores es que habr habráá que ir cor corrig rigie iendo ndo y nue nuevas vas versi versiones ones del prod product ucto o mejor mejores es que la lass anteri anteriore ores. s. Po Porr todo todo eell llo, o, ssee pact pactaa co con n el clie client ntee un sser ervi vici cio o de ma mant nten enim imie ient nto o de la ap apli lica caci ción ón (que (que también ttendrá también endrá un cost costee tempor temporal al y econó económico) mico).. El mant mantenimi enimiento ento se define como el proce proceso so de contro control, l, m mejora ejora y opti optimiza mización ción del softw software. are. Su dura duració ción n eess la may mayor or en todo todo eell cic ciclo lo de vida vida del sof softwa tware, re, ya que tam tambié bién n ccompr omprend endee la lass actuali actualizaci zaciones ones y evoluc evoluciones iones futura futurass del mism mismo. o. Los tip tipos os de cam cambios bios que hac hacen en nece necesar sario io el man mante tenim nimie iento nto del sof softwa tware re son los siguie siguiente ntes: s:
•
Perfectivos: Para Para mej mejora orarr la func funcion ionali alidad dad de dell sof softwa tware. re. Evolutivos: El clie client ntee tend tendrá rá en el futu futuro ro nu nuev evas as ne nece cesi sida dade des. s. Por Por ta tant nto, o, será serán n
•
Adaptativos: Modif odifiicacione ones, aacctua tualiza izacion ones es.. .... p paara ada dapt ptaars rsee a las nue nuevas vas
•
Correctivos: La apli aplica caci ción ón tend tendrá rá erro errore ress en el fu futu turo ro (s (ser ería ía utóp utópic ico o pens pensar ar lo
•
necesari nece sarias as modifi modificaci caciones, ones, expans expansiones iones o eliminac eliminaciones iones de código. tendencia tende nciass del merc mercado, ado, a nuevos compone componentes ntes hardwa hardware, re, etc.
contrario).
Autoevaluación ¿Cuáll es, en tu opinión ¿Cuá opinión,, la etap etapaa más import importante ante del desar desarrollo rollo de softw software? are? El anális análisis is de requis requisito itos. s. La codif codifica icación. ción. Las prueba pruebass y do documen cumentaci tación. ón. La explot explotació ación n y el mant mantenimi enimiento. ento.
‐ 29 ‐
Instalación Instal ación y uso de entornos de desarrollo
ENTORNOS DE DESARROLLO
Anexo I.- Sentencia Sen Sentencias tenciass de control cont control rol de la la programación program ación estructurada. estruc estructurada estructurada. turada.. SENTENCIAS SECUENCIALES Las senten sentencia ciass secuen secuencia ciale less son aque aquell llas as que se ejec ejecuta utan n una det detrás rás de la otra, otra, se según gún el orde orden n en que hayan sido escritas escritas.. Ejemplo en lenguaje C: pr i nt f ( " d e ec cl ar aci aci ón de va var i abl es") ; i ntnumero_ent ero; es espa paci ci o=es espac pacii o_ o_ii ni ci o + v vel el oc oc*t *t i empo;
SENTENCIAS SELECTIVAS (CONDICIONALES) Son aque aquell llas as en la lass que se ev eval alúa úa una co condi ndici ción. ón. S Sii el resu result ltad ado o de la condi condici ción ón es verda verdad d es ej ejecu ecuta tan n una se serie rie de acció acción n o acci acciones ones y si es falso falso se ejec ejecuta utan n otra otras. s. if
→
se seña ñala la la co condi ndici ción ón que se va a ev eval alua uar r
To Toda dass la lass ac acci cione oness que se en encu cuen entr tren en tras tras es esta ta pala palabr braa rese reserv rvad adaa se ej ejec ecut utar arán án si la f es cie condición del iif cierta rta (en C, se omi omite te esta esta pal palabr abra). a).
then→
else→
To Toda dass las las ac acci cione oness que se en encu cuen entr tren en tras tras es esta ta otra otra pala palabr braa rese reserv rvad adaa se ej ejec ecut utar arán án si i if f
la condic condición ión de
es falsa falsa..
Ejemplo en lenguaje C: i f ( a >= b) c= aa- b; el se c =a+b;
SENTENCIAS REPETITIVAS (ITERACIONES O BUCLES) Un buc bucle le it itera erativ tivo o de de una serie serie de accio acciones nes har harán án que éstas éstas se repit repitan an mie mientr ntras as o hasta hasta que una determina dete rminada da condic condición ión sea fals falsaa (o verda verdadera dera). ). while→
marca mar ca el com comie ienzo nzo del buc bucle le y va seguido seguido de la cond condic ición ión de parada parada del mis mismo. mo.
a part partir ir de es esta ta pala palabr braa rese reserva rvada da,, se en enco cont ntra rará rán n toda todass la lass ac acci cione oness a ej ejec ecut utar ar mi mien entr tras as se ej ejec ecut utee el buc bucle le (e (en n C, se omit omitee es esta ta pala palabra bra). ).
do→
ma marc rcaa el fi fin n de la lass ac acci cione oness que se van van a repe repeti tirr mi mien entr tras as es este temo moss dent dentro ro de dell buc bucle le (e (en n C, se se omi omite te esta esta palabr palabra). a).
done→
‐ 30 ‐
ENTORNOS ENTO RNOS DE DESA DESARROL RROLLO LO
Instalación Instal ación y uso de entorn entornos os de desarro desarrollo llo
Ejemplo en lenguaje C: i nt num; nu num m = 0; whi l e ( num
View more...
Comments