AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
BREVE HISTORIA DEL SOFTWARE Las computadoras pueden ser descritas por dos elementos básicos el !ard"are !ard"are # # el so$t"are so$t"are%% El !ard"are es la parte parte de una una compu computad tador ora a &ue &ue es 'isibl 'isible e # tan(ib tan(ible le%% En cambi cambio) o) el so$t" so$t"ar are e es el pro(r pro(ram ama a para para computadoras) es decir) el *ue(o de instrucciones &ue controla el !ard"are% Inicialmente) el (asto en computaci+n era principalmente de !ard"are # el so$t"are era (ratuito) o era incluido en el precio del !ard"are% ,on la e'oluci+n de la t-cnica) los costos del !ard"are !an disminuido en $orma cont.nua) mientras &ue el costo del so$t"are se !a trans$ormado en la parte más importante del (asto en tecnolo(.a in$ormática% /na idea mu# e0tendida en la (ente es &ue el !ard"are es más importante &ue el so$t"are% ,omo concepto (eneral) el so$t"are puede di'idirse en 'arias cate(or.as dependiendo del tipo de traba*o reali1ado% Las dos cate(or.as primarias de so$t"are son •
•
Sistem Sistemas as oper operati ati'o 'os s 2o so$t" so$t"are are del del sistem sistema3 a3 &ue &ue contro controla lan n el traba traba*o *o # $uncio $unciona namie miento nto del del computador) So$t" So$t"ar are e de aplica aplicaci+ ci+n n &ue &ue entre entre(a (a soluci soluci+n +n a tareas tareas espec espec.$i .$icas cas para para las las &ue &ue se utili1 utili1a a el computador%
Otras cate(or.as son so$t"are de red 2para el $uncionamiento de redes # comunicaciones3 # so$t"are de len(ua*e 2utili1ado para escribir pro(ramas3 Además de estas cate(or.as cate(or.as basadas en tareas) 'arios tipos de so$t"are se describen basándose basándose en su m-todo de distribuci+n% Entre ellos se encuentran los so$t"are empa&uetados) empa&uetados ) desarrollados por compa4.as para ser 'endidos principalmente principalmente a tra'-s de distribuidores5 el $ree"are $ree"are o o so$t"are (ratuito) &ue se o$rece sin costo al(uno5 el s!are"are s!are"are)) similar al $ree"are pero con limitaciones adicionales% E0isten tambi-n las licencias libres) en particular a&uellas cop#le$t cop#le$tcomo como la 67/ 68L 68L)) # las permisi'as permisi'as como como por e*emplo la Licencia BSD # BSD # la Licencia 9IT% 9IT% Las licencias libres se caracte caracteri1a ri1an n por brindar brindar al licenciat licenciatario ario el permiso permiso de usarlo usarlo con cual&uier prop+sito) estudiarlo) distribuirlo # modi$icarlo%
Historia # e'oluci+n de la industria del so$t "are •
•
•
• •
•
:;<=>:;?= 6randes computadoras centrales 2 main$rames main$rames33 dominaban las (randes corporaciones% Los usuarios se limitaban a terminales terminales sin sin poder de procesamiento% 8rincipio de los @=s Se !ace realidad tener un computador de escritorioC 2 8, 8, 8ersonal ,omputer3% ,omputer3% 8aralelamente nace el so$t"are de escritorioC) &ue promue'e la producti'idad personal) como planillas de calculo # procesadores de te0to% 9ediado 9ediados s de los @=s @=s Los 8,s se comien1a comien1an n a conectar conectar 2Redes # Ser'idor Ser'idores3% es3% Se comparte comparten n arc!i'os) discos duros e impresoras% Se populari1an aplicaciones como el correo electr+nico # electr+nico # a(endas compartidas% 8rincipio de los ;=s Es el dominio de sistemas clienteser'idor% 9ediados de los ;=s Irrumpe con $uer1a la red (lobal Internet Internet%% En sus inicios pá(inas estáticas entre(an in$ormaci+n) pero rápidamente se utili1a como medio de acceder a aplicaciones dinámicas e interacti'as% Ho# en d.a las empresas e0tienden sus bra1os sobre la red para eliminar intermediarios # acercar los procesos a los usuarios internos 2 intranet intranet33 o e0ternos 2e0tranet 2 e0tranet33 a tra'-s de aplicaciones% 7acen nue'os ne(ocios basados en Internet e>commerce% 8rincipio del === Las redes inalámbricas) dispositi'os m+'iles # celulares irrumpen con $uer1a en los campos del entretenimiento) la mGsica # los 'ideos en Internet Internet%% Internet es usado normalmente para buscar buscar in$ormaci+n in$ormaci+n a tra'-s tra'-s de buscadores de Internet 2 Internet 26oo(le 6oo(le)) a!oo # otros3 # publicar in$ormaci+n personal en Blo(s Blo(s%%
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
Desarrollo) producci+n # 'enta El costo de producci+n de un pa&uete de so$t"are es insi(ni$icante) si se compara con el alto costo de su desarrollo% Las empresas de so$t"are amorti1an el desarrollo con la 'enta de una (ran cantidad de pa&uetes de so$t"are% El $abricante &ue más 'enda dispondrá de ma#or dinero para el desarrollo) marJetin() distribuci+n) etc%) además de (anar crecientes econom.as de escala% Es por ello &ue el mercado del so$t"are tiene tendencia al monopolio% Las compa4.as pe&ue4as desaparecen o se $usionan con empresas más (randes) debido a su pe&ue4a base instalada de usuarios) ba*o soporte t-cnico # presupuestos de desarrollo escasos% En esta industria el proceso de acumulaci+n de (anancias puede ser mu# rápido% ,uando el producto es e0itoso (enera importantes (anancias) a di$erencia de uno &ue no) perderá mercado # será despla1ado por otros &ue lo sustituirán # sus (anancias caerán abruptamente% 8or esta ra1+n una 'e1 &ue un $abricante !a lo(rado una porci+n del mercado lo de$iende a toda costa% Las t-cnicas !abituales para de$ender su posici+n en el mercado son cambio permanente 2nue'as 'ersiones3) comple*idad innecesaria # uso de la propiedad intelectual% Al(unas t-cnicas de marJetin( con el mismo $in es el 'apour"are) &ue es cuando el so$t"are se promociona muc!o antes de ser presentado o simplemente nunca lle(a% Las compa4.as de so$t"are se encar(an de tener poderosas $uer1as de 'enta # canales de distribuci+n Los (astos iniciales en desarrollo) marJetin( e in$raestructura de soporte t-cnico para las 'ersiones iniciales son si(ni$icantes% El desarrollo de nue'as 'ersiones basadas en una anterior re&uiere menos (astos para desarrollar por&ue están basadas en la misma t-cnica de desarrollo% Los már(enes (ruesos en el ne(ocio del so$t"are son a menudo ?=K o @=K #a &ue se necesitan mu# pocos (astos para soportar una compa4.a de so$t"are% El traba*o del recurso !umano es el ma#or .tem #a &ue el desarrollo de so$t"are a menudo in'olucra el traba*o en e&uipo de <) : o incluso :== personas% En la industria es comGn las compras !ostiles o a(resi'as) Ha# &uienes dicen &ue la $usi+n de dos compa4.as es muc!o más costosa &ue desarrollar sus propios productos Mpor &ui-nN% /n e*emplo es IB9) &ue en el pasado !a ad&uirido compa4.as como Ti'oli) ,orepoint) Lotus De'elopment # recientemente In$ormi0 2base de datos &ue compite contraOracle3% Es usual &ue las compa4.as de so$t"are ten(an pro(ramas para reclutar socios de ne(ocios 2business partners pro(ram3) con la cual ampl.an su marco de acci+n% Ha# &ue distin(uir &ue la 'enta de so$t"are empa&uetado es di$erente a la 'enta de so$t"are a la medida o para empresas% En (eneral el so$t"are empa&uetado es instalado por el usuario # está listo para ser usado% O$rece una soluci+n comGn a todos a di$erencia de un so$t"are a medida &ue satis$ace e0actamente las necesidades del usuario% Además el soporte t-cnico se limita a un soporte tele$+nico cita re&uerida% La distribuci+n de so$t"are empa&uetado está a car(o de distribuidores ma#oristas &ue compran a $abrica 'olGmenes considerables a precios &ue les permiten una re'enta con un cierto mar(en% El producto lle(a al usuario $inal a tra'-s de resellers o tiendas retail% Los már(enes de un distribuidor ma#orista pueden 'ariar entre un P>QK) mientras &ue el reseller (ana en torno al :=K Al(unos de ellos son In(ram>9icro ) 9erisel
So$t"are para desarrollo E0iste una cate(or.a de so$t"are &ue re&uiere &ue se le a(re(ue 'alor) como pueden ser los so$t"are de desarrollo 2len(ua*es de desarrollo o so$t"are &ue necesita sea adaptado e inte(rado3% Este tipo de so$t"are 'a diri(ido a empresas # es 'endido por re'endedores con un conocimiento ma#or &ue entre(an ser'icios adicionales a la simple 'enta de una ca*a 2VAR Value Added Resellers3% En la 'enta de so$t"are para (randes empresas o corporaciones) en (eneral) se in'olucran directamente las marcas de so$t"are #a &ue les interesa tomar los pro#ectos (randes # poder 'ender adicionalmente capacitaci+n) desarrollo) soporte) licencias # actuali1aciones # consultor.a% Los a'ances en tecnolo(.a del !ard"are # so$t"are de los Gltimos a4os !an con'ertido al ne(ocio de la computaci+n en al(o comple*o% Es mu# poco probable &ue las empresas pon(an en marc!a sus sistemas de computaci+n sin la a#uda o asistencia de los 'endedores de so$t"are 2e*mSA83
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
Licencias de so$t"are La licencia es un contrato en donde se pro'een ciertos permisos como el de instalaci+n) uso del so$t"are 2no la propiedad3) modi$icaci+n del mismo) redistribuci+n) entre otros) *unto a posibles condiciones como la pro!ibici+n a la in(enier.a in'ersa o la pro!ibici+n a la modi$icaci+n de la licencia al redistribuir% Recordemos &ue una licencia permite el uso de una 'ersi+n) idioma # plata$orma determinada del so$t"are 2por e*emplo 9S>Word 'ersi+n ;%=) en espa4ol) para Windo"s3% Aun&ue la tendencia es simpli$icar dic!as restricciones # muc!as compa4.as tienen licencias multiplata$ormas) multilin(es # permiten !acer una copia del so$t"are en casa o en el portátil) si #a e0iste una licencia en la o$icina o lu(ar de traba*o% Se re&uiere una licencia por cada pro(rama &ue se utili1a% E0isten di$erentes en$o&ues para la utili1aci+n de un pro(rama% El más ob'io es a&uel &ue establece &ue cada usuario &ue instale el pro(rama en su 8, debe pa(ar por una licencia) sin embar(o) en el caso de instalaciones en red) al(unas compa4.as !an de$inido &ue la tasa de utili1aci+n es en torno al Q= o <=K del total de empleados 2concurrencia3% La concurrencia se basa en &ue un pro(rama puede ser ocupado por más de una persona simultáneamente) pero nunca por todos al mismo tiempo) por lo &ue no es necesario ad&uirir el :==K de las licencias) sino un porcenta*e menor% Al(unos so$t"are más so$isticadas son capaces de determinar cuantas personas están ocupando el pro(rama en un momento dado% ,on la lle(ada del computador personal a principios de los @=s) tambi-n naci+ el mercado masi'o del so$t"are # el licenciamiento ad&uiri+ real inter-s% Ho# en d.a el licenciamiento se puede comprar a tra'-s de so$t"are empa&uetado) pro(ramas de licenciamientos especiales o corporati'os 2por 'olGmenes) orientados a corporaciones) instituciones acad-micas o (obierno3 o al comprar un 8, con so$t"are pre instalado% La licencia $inancia el desarrollo $uturo de nue'as 'ersiones%
Tendencias en el licenciamiento Hasta !ace poco) casi todas las licencias eran compradas sobre una base de licencias perpetuas) o sea los compradores pa(aban una 'e1 # usaban el so$t"are por tanto tiempo como ellos &uisieran% La tendencia es lo(rar relaciones de lar(o pla1o con los usuarios) más &ue 'ender licenciamiento perpetuo &ue lue(o !a# &ue actuali1ar% Las compa4.as de so$t"are lan1an 'ersiones ma#ores una 'e1 al a4o o cada dos a4os) sin embar(o) durante el a4o se liberan una serie de 'ersiones menores &ue reparan bu(s) dan ma#or estabilidad al so$t"are o entre(an nue'as capacidades% Los ,ontratos de 9antenci+n o Actuali1aci+n tienen la 'enta*a de permitir estar siempre actuali1ado con las Gltimas 'ersiones% Los contratos pueden ser de un a4o) dos a4os o más% 8ara las compa4.as de so$t"are estos contratos les permiten crear una relaci+n más cercana # de lar(o pla1o con las empresas) as. como un $lu*o esperado de in(resos% El 'alor de un ,ontrato de Actuali1aci+n es apro0imadamente el Q>P=K del 'alor de la licencia% 9ientras e0iste cierto 'alor de ser propietario de por 'ida) !a# bene$icios ma#ores al arrendar% La nue'a modalidad es el Arrendamiento de So$t"are o Suscripci+n) el cual permite usar el so$t"are por un periodo limitado) sin tener &ue incurrir en el costo de comprar licencias 2costo de propiedad3% 8or otro lado el 'endedor e'ita los lar(os periodos de e'aluaci+n # lo(ra establecer una relaci+n comercial a lar(o pla1o Las licencias de acceso 2o en in(l-s) ,AL ,lient Access License3 se emplea para so$t"are en ser'idores% Es una licencia &ue se debe ad&uirir por cada terminal 28,) pa(er) 8DA) etc3 accediendo una aplicaci+n en el bacJ>o$$ice% A di$erencia del modelo clienteser'idor en &ue se pa(a por el so$t"are # por el acceso a los ser'icios) en este caso) solo se pa(a por el acceso #a &ue el so$t"are es proporcionado en $orma (ratuita o incluido en el terminal 2por e*emplo bro"sers3
In$racci+n de cop#ri(!t La duplicaci+n no autori1ada del so$t"are 'iola el derec!o de autor # propiedad intelectual% Reproducir 2instalar o copiar3 so$t"are sin licenciar 2sin autori1aci+n3 es un delito # está penado por la le#%
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
La instalaci+n de so$t"are en disco duro) es una práctica mu# comGn entre los armadores de 8,s% La copia de so$t"are por usuarios $inales es una práctica &ue se !a !ec!o tan comGn) como $otocopiar un libro% Sin embar(o esta práctica a (ran escala para su comerciali1aci+n 2 $alsi$icaci+n3 Otro delito es la distribuci+n no autori1ada% ,ompra de licencias por 'olGmenes con descuento 2corporaciones) instituciones acad-micas o (ubernamentales3 # su posterior redistribuci+n a empresas &ue no cali$ican% E0iste licenciamiento para inte(radores de !ard"are o $abricante de computadores 2'ienen en empa&ue di$erente o pre>instalado3 Derec!o de Reproducci+n) debe ser autori1ada por el autor% E0isten dos e0cepciones Al comprar un so$t"are o$icial) este puede instalarse en el computador para su uso 2con lo cual se reali1a una copia) &ue ob'iamente es necesaria para el $uncionamiento3% La se(unda e0cepci+n es la copia de arc!i'o o respaldo 2copia de se(uridad3% Ob'iamente la copia de arc!i'o o respaldo no puede ser ocupada simultáneamente a la copia instalada en el computador%
So$t"are en l.nea Es una alternati'a barata $rente a la 'enta de so$t"are # no tendr.a &ue pa(ar por reparaciones o actuali1aciones% Son accesibles desde cual&uier lu(ar #a &ue almacenan los datos en l.nea% Entre las alternati'as al O$$ice) está T!inJFree% 8ara procesadores de te0to está T!inJFree Write% 8ara las !o*as de cálculo está T!inJFree ,alc) WiJi,alc) 7um Sum e iRo"s% 8ara los correos electr+nicos está 6mail de 6oo(le) Hotmail de 9icroso$t) a!oo 9ail # otros ser'icio de email basados en la Web% : 9uc!as empresas de tecnolo(.a como Oracle) He"lett>8acJard ,o%) entre otras están usan el so$t"are en l.nea para reducir costos%
PROCESO PARA EL DESARROLLO DE SOFTWARE El 8roceso para el desarrollo de so$t"are) tambi-n denominado ciclo de 'ida del desarrollo de so$t"are es una estructura aplicada al desarrollo de un producto de so$t"are% Ha# 'arios modelos a se(uir para el establecimiento de un proceso para el desarrollo de so$t"are) cada uno de los cuales describe un en$o&ue di$erente para di$erentes acti'idades &ue tienen lu(ar durante el proceso% Al(unos autores consideran un modelo de ciclo de 'ida un t-rmino más (eneral &ue un determinado proceso para el desarrollo de so$t"are% 8or e*emplo) !a# 'arios procesos de desarrollo de so$t"are espec.$icos &ue se a*ustan a un modelo de ciclo de 'ida de espiral%
Generalidades: La (ran cantidad de or(ani1aciones de desarrollo de so$t"are implementan metodolo(.as para el proceso de desarrollo% 9uc!as de estas or(ani1aciones pertenecen a la industria armament.stica) &ue en los Estados /nidos necesita un certi$icado basado en su modelo de procesos para poder obtener un contrato% El estándar internacional &ue re(ula el m-todo de selecci+n) implementaci+n # monitoreo del ciclo de 'ida del so$t"are es ISO :=?% Durante d-cadas se !a perse(uido la meta de encontrar procesos reproducibles # predecibles &ue me*oren la producti'idad # la calidad% Al(unas de estas soluciones intentan sistemati1ar o $ormali1ar la aparentemente desor(ani1ada tarea de desarrollar so$t"are% Otros aplican t-cnicas de (esti+n de pro#ectos para la creaci+n del so$t"are% Sin una (esti+n del pro#ecto) los pro#ectos de so$t"are corren el ries(o de demorarse o consumir un presupuesto ma#or &ue el planeado% Dada la cantidad de pro#ectos de so$t"are &ue no cumplen sus metas en t-rminos de $uncionalidad) costes o tiempo de entre(a) una (esti+n de pro#ectos e$ecti'a es al(o &ue a menudo $alta% Al(unas or(ani1aciones crean un (rupo propio 2 So$t"are En(ineerin( 8rocess 6roup ) abre'iado SE863 encar(ado de me*orar los procesos para el desarrollo de so$t"are en la or(ani1aci+n%
Actividades del desarrollo de software: Acti'idades del proceso de desarrollo de so$t"are representados en el desarrollo en cascada% Ha# al(unos modelos más para representar este proceso%
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
Planificación: La importante tarea a la !ora de crear un producto de so$t"are es obtener los re&uisitos o el análisis de los re&uisitos% Los clientes suelen tener una idea más bien abstracta del resultado $inal) pero no sobre las $unciones &ue deber.a cumplir el so$t"are% /na 'e1 &ue se !a#an recopilado los re&uisitos del cliente) se debe reali1ar un análisis del ámbito del desarrollo% Este documento se conoce como especi$icaci+n $uncional%
I!leentación" !r#e$as % doc#entación: La implementaci+n es parte del proceso en el &ue los in(enieros de so$t"are pro(raman el c+di(o para el pro#ecto% Las pruebas de so$t"are son parte esencial del proceso de desarrollo del so$t"are% Esta parte del proceso tiene la $unci+n de detectar los errores de so$t"are lo antes posible% La documentaci+n del dise4o interno del so$t"are con el ob*eti'o de $acilitar su me*ora # su mantenimiento se reali1a a lo lar(o del pro#ecto% Esto puede incluir la documentaci+n de un A8I) tanto interior como e0terior%
Des!liee % anteniiento: El desplie(ue comien1a cuando el c+di(o !a sido su$icientemente probado) !a sido aprobado para su liberaci+n # !a sido distribuido en el entorno de producci+n% Entrenamiento # soporte para el so$t"are es de suma importancia # al(o &ue muc!os desarrolladores de so$t"are descuidan% Los usuarios) por naturale1a) se oponen al cambio por&ue conlle'a una cierta inse(uridad) es por ello &ue es $undamental instruir de $orma adecuada a los $uturos usuarios del so$t"are% El mantenimiento o me*ora del so$t"are de un so$t"are con problemas recientemente desple(ado) puede re&uerir más tiempo &ue el desarrollo inicial del so$t"are% Es posible &ue !a#a &ue incorporar c+di(o &ue no se a*usta al dise4o ori(inal con el ob*eti'o de solucionar un problema o ampliar la $uncionalidad para un cliente% Si los costes de mantenimiento son mu# ele'ados puede &ue sea oportuno redise4ar el sistema para poder contener los costes de mantenimiento%
'odelos de Desarrollo de Software: Los modelos de desarrollo de so$t"are son una representaci+n abstracta de una manera en particular% Realmente no representa c+mo se debe desarrollar el so$t"are) sino de un en$o&ue comGn% 8uede ser modi$icado # adaptado de acuerdo a las necesidades del so$t"are en proceso de desarrollo% : Ha# 'arios modelos para per$ilar el proceso de desarrollo) cada uno de las cuales cuenta con pros # contras% El pro#ecto deber.a esco(er el más apropiado para sus necesidades% En ocasiones puede &ue una combinaci+n de 'arios modelos sea apropiado% E0isten tres paradi(mas de los modelos de desarrollo de so$t"are
() Paradi&a Tradicional: Es uno de los paradi(mas más anti(uo) se in'ent+ durante la creaci+n del m-todo estructurado% Si se eli(e un pro#ecto) el m-todo 'aria en etapas% ,omo todo modelo) e0isten sus pros # contras al usar este paradi(mas Si se aplica este paradi(ma) unos de los principales problemas ) es &ue las etapas reali1adas no son aut+nomas de las si(uientes) creando una dependencia estructural # en el caso de un error atrasar.a todo el pro#ecto% Se tiene &ue tener pautas bien de$inidas) # &ue no se incurra a modi$icaci+n por&ue implicar.a en &ue el so$t"are no cumpla con su ciclo de 'ida% Tener en cuenta &ue el cliente no se 'ea a$ectado por la impaciencia%P
*) Paradi&a Orientado a O$+etos: Estos modelos se basan en la 8ro(ramaci+n orientada a ob*etos 5 por lo tanto) se re$iere al concepto de clase) el análisis de re&uisitos # el dise4o% El modelo o paradi(ma orientado a ob*etos posee dos caracter.sticas principales) las cuales son 8ermite la re>utili1aci+n de so$t"are% •
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA •
Facilita el desarrollo de !erramientas in$ormáticas de apo#o al desarrollo) el cual es simple al implementarla en una notaci+n orientado a ob*etos llamado /9L%
,) Paradi&a de Desarrollo -&il: Es un paradi(ma de las 9etodolo(.as De Desarrollo basado en procesos á(iles% Estos intentan e'itar los tediosos caminos de las metodolo(.as tradicionales en$ocándose en las personas # los resultados% /sa un en$o&ue basado en el Valor para construir so$t"are) colaborando con el cliente e incorporando los cambios continuamente% Q
'odelo de cascada: El modelo de cascada de$ine las si(uientes etapas &ue deben cumplirse de $orma sucesi'a :% Especi$icaci+n de re&uisitos % Dise4o del so$t"are P% ,onstrucci+n o Implementaci+n del so$t"are % Inte(raci+n Q% 8ruebas 2o 'alidaci+n3 <% Desplie(ue 2o instalaci+n3 ?% 9antenimiento Si(uiendo el modelo de cascada de $orma estricta) s+lo cuando se $inali1a una $ase) comien1a la otra% En ocasiones se reali1a una re'isi+n antes de iniciar la si(uiente $ase) lo &ue permite la posibilidad de cambios 2lo &ue puede incluir un proceso de control $ormal de cambio3% Las re'isiones tambi-n se utili1an para ase(urar &ue la $ase anterior !a sido totalmente $inali1ada5 los criterios para completar una $ase se conocen $recuentemente con el t-rmino in(l-s (ate 2puerta3% Este modelo desaconse*a re'isitar # re'isar $ases &ue #a se !an completado% Esta $alta de $le0ibilidad en un modelo de cascada puro !a sido $uente de cr.tica de los de$ensores de modelos más $le0ibles%
'odelo de es!iral: La principal caracter.sticas del modelo en espiral es la (esti+n de ries(os de $orma peri+dica en el ciclo de desarrollo% Este modelo $ue creado en :;@@ por Barr# Boe!m) combinando al(unos aspectos cla'e de las metodolo(.as del modelo de cascada # del desarrollo rápido de aplicaciones) pero dando -n$asis en un área &ue para muc!os no *u(+ el papel &ue re&uiere en otros modelos un análisis iterati'o # concien1udo de los ries(os) especialmente en el caso de sistema comple*os de (ran escala% La espiral se 'isuali1a como un proceso &ue pasa a tra'-s de al(unas interaciones con el dia(rama de los cuatro cuadrantes representati'os de las si(uientes acti'idades :% crear planes con el prop+sito de identi$icar los ob*eti'os del so$t"are) seleccionados para implementar el pro(rama # clari$icar las restricciones en el desarrollo del so$t"are5 % Análisis de ries(os una e'aluaci+n anal.tica de pro(ramas seleccionados) para e'aluar como identi$icar # eliminar el ries(o5 P% la implementaci+n del pro#ecto implementaci+n del desarrollo del so$t"are # su pertinente 'eri$icaci+n5 9odelo de espiral con -n$asis en los ries(os) !aciendo !incapi- en las condiciones de las opciones # limitaciones para $acilitar la reutili1aci+n de so$t"are) la calidad del so$t"are puede a#udar como una meta propia en la inte(raci+n en el desarrollo del producto% Sin embar(o) el modelo en espiral tiene al(unas limitaciones) entre las &ue destacan :% El -n$asis se sitGa en el análisis de ries(o) # por lo tanto re&uiere de clientes &ue acepten este análisis # actGen en consecuencia% 8ara ello es necesaria con$ian1a en los desarrolladores as. como la predisposici+n a (astar más para sol'entar los temas) por lo cual este modelo se utili1a $recuentemente en desarrollo interno de so$t"are a (ran escala% % Si la implementaci+n del ries(o de análisis a$ectará de $orma esencial los bene$icios del pro#ecto) no deber.a utili1arse este modelo% P% Los desarrolladores de so$t"are !an de buscar de $orma e0pl.cita ries(os # anali1arlos de $orma e0!austi'a para &ue este modelo $uncione% La primera $ase es la bGs&ueda de un plan para conse(uir los ob*eti'os con las limitaciones del pro#ecto para as. buscar # eliminar todos los ries(os potenciales por medio de un cuidadoso análisis) # si $uera necesario inclu#endo la $abricaci+n de un prototipo% Si es imposible descartar al(unos ries(os) el cliente !a de decidir si es con'eniente terminar el pro#ecto o se(uir adelante i(norando los ries(os% 8or Gltimo) se e'alGan los resultados # se inicia el dise4o de la si(uiente $ase%
Desarrollo iterativo e increental: El desarrollo iterati'o recomienda la construcci+n de secciones reducidas de so$t"are &ue irán (anando en tama4o para $acilitar as. la detecci+n de problemas de importancia antes de &ue sea demasiado tarde% Los procesos iterati'os pueden a#udar a des'elar metas del dise4o en el caso de clientes &ue no saben c+mo de$inir lo &ue &uieren% <
Desarrollo .&il El desarrollo á(il de so$t"are utili1a un desarrollo iterati'o como base para abo(ar por un punto de 'ista más li(ero # más centrado en las personas &ue en el caso de las soluciones tradicionales% Los procesos á(iles utili1an retroalimentaci+n en lu(ar de plani$icaci+n) como principal mecanismo de control% La retroalimentaci+n se canali1a por medio de pruebas peri+dicas # $recuentes 'ersiones del so$t"are%
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
Ha# muc!as 'ariantes de los procesos á(iles En el caso de la pro(ramaci+n e0trema 2U83) las $ases se reali1an en pasos mu# cortos 2o continuos3 con respecto al anterior% El primer paso 2intencionalmente incompleto3 por los pasos puede ocurrir en un d.a o en una semana) en lu(ar de los meses o a4os de cada paso completo en el modelo en cascada% En primer lu(ar) se crean pruebas automati1adas para pro'eer metas concretas al desarrollo% Despu-s se pro(rama el c+di(o) &ue será completo cuando todas las pruebas se superan sin errores) # los desarrolladores #a no sabr.an como me*orar el con*unto de pruebas necesario% El dise4o # la ar&uitectura emer(en a partir de la re$actori1aci+n del c+di(o) # se da despu-s de pro(ramar% El dise4o lo reali1an los propios desarrolladores del c+di(o% El sistema) incompleto) pero $uncional se desplie(a para su demostraci+n a los usuarios 2al menos uno de los cuales pertenece al e&uipo de desarrollo3% Lle(ado este punto) los pro$esionales comien1an a escribir las pruebas para la si(uiente parte del sistema de más importancia% •
Codificación % corrección El desarrollo de codi$icaci+n # correcci+n 2en in(l-s ,ode and $i03 es) más &ue una estrate(ia predeterminada) el resultado de una $alta de e0periencia o presi+n &ue se e*erce sobre los desarrolladores para cumplir con una $ec!a de entre(a% ? Sin dedicar tiempo de $orma e0pl.cita para el dise4o) los pro(ramadores comien1an de $orma inmediata a producir c+di(o% Antes o despu-s comien1a la $ase de pruebas de so$t"are 2a menudo de $orma tard.a3 # los ine'itables errores &ue se encuentran !an de eliminarse antes de poder entre(ar el so$t"are%
Orientado a la Re#tili/ación La reutili1aci+n de so$t"are es un proceso donde se recurre al uso de acti'os de so$t"are en las especi$icaciones de análisis) dise4os) implementaci+n # pruebas de una aplicaci+n o sistemas de so$t"are% @ La reutili1aci+n tiene ciertos Indicadores por e*emplo :% Entre el =K # <=K de una aplicaci+n es reutili1able en otra% % Apro0imadamente el <=K de una aplicaci+n administrati'a es reutili1able% P% Apro0imadamente el ?QK de las $unciones son comunes a más de un pro(rama% % Solo el :QK del c+di(o encontrado en muc!os sistemas es Gnico # no'edoso a una aplicaci+n espec.$ica% El ran(o (eneral de uso recurrente esta entre el :QK # @QK% ; La reutili1aci+n tiene 8rincipios como la e0istencia de parecidos en distintos sistemas de un mismo dominio) donde el so$t"are puede representarse como una combinaci+n de m+dulos # los sistemas nue'os se puede caracteri1ar por di$erencias respecto a los anti(uos sistemas% :=
'odelos de e+ora de !rocesos El ,apabilit# 9aturit# 9odel Inte(ration 2,99I3) en espa4ol Inte(raci+n de 9odelos de 9adure1 de ,apacidades es uno de los modelos l.deres basados en me*ores prácticas% Son e'aluaciones independientes las &ue con$irman el (rado con el &ue una or(ani1aci+n si(uen sus propios procesos) &ue no e'alGa la calidad de los procesos o del so$t"are &ue se produce% ,99I !a reempla1ado a ,99 # tiene un ámbito (lobal) no s+lo en procesos destinados al desarrollo del so$t"are% ISO ;=== ISO ;=== describe estándares para un proceso or(ani1ado $ormalmente para resultar en un producto # los m-todos de (esti+n # monitoreo del pro(reso% Aun&ue este estándar se cre+ inicialmente para el sector de producci+n) los estándares de ISO ;=== tambi-n se !an aplicado al desarrollo del so$t"are% Al i(ual &ue ,99I) &ue una or(ani1aci+n está certi$icada con el ISO ;=== no (aranti1a la calidad del resultado $inal) s+lo con$irma &ue se !a se(uido los procesos establecidos% ISO :QQ= ISO :QQ=) tambi-n conocido como So$t"are 8rocess Impro'ement ,apabilit# Determination 2S8I,E3) en espa4ol Determinaci+n de la ,apacidad de 9e*ora del 8roceso de So$t"are es un marco para la e'aluaci+n de procesos de so$t"are% Este estándar tiene como ob*eti'o un modelo claro para poder comparar procesos% S8I,E se utili1a como en el caso de ,99I% 9odela procesos para (estionar) controlar) (uiar # monitorear el desarrollo del so$t"are% Este modelo se utili1a entonces para medir lo &ue una or(ani1aci+n o pro#ecto !ace durante el desarrollo del so$t"are% Esta in$ormaci+n se anali1a para identi$icar puntos d-biles # de$inir acciones para subsanarlos% Tambi-n identi$ica puntos $uertes &ue pueden adoptarse en el resto de la or(ani1aci+n%
'0todos forales Los m-todos $ormales son soluciones matemáticas para resol'er problemas de so$t"are # !ard"are a ni'el de re&uisitos) especi$icaci+n # dise4o% E*emplos de m-todos $ormales inclu#en el 9-todo B) la red de 8etri) la demostraci+n automática de teoremas ) RAISE # el VD9% Ha# 'arias notaciones de especi$icaciones $ormales) tales como el len(ua*e X% 9ás (eneralmente) se puede utili1ar la teor.a de aut+matas para aumentar # 'alidar el comportamiento de la aplicaci+n dise4ando un sistema de aut+mata $inito% Las metodolo(.as basadas en los aut+matas $initos permiten especi$icaci+n de so$t"are e*ecutable # e'itar la creaci+n con'encional de c+di(o% Los m-todos $ormales se suelen aplicar en so$t"are de a'iaci+n) especialmente si es so$t"are de se(uridad cr.tico% Los estándares de ase(uramiento del so$t"are de se(uridad) tales como DO:?@B demandan m-todos $ormales en el ni'el más alto de cate(ori1aci+n 27i'el A3%
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
La $ormali1aci+n del desarrollo de so$t"are está (anando en $uer1a poco a poco) en otros ámbitos) con la aplicaci+n del len(ua*e de especi$icaci+n O,L%= 2# especiali1aciones tales como Ya'a 9odelin( Lan(ua(e3 # particularmente con 9odel>dri'en Arc!itecture) &ue permite la e*ecuci+n de dise4os) incluso especi$icaciones% Otra tendencia &ue está sur(iendo en el desarrollo de so$t"are es la redacci+n de especi$icaciones en al(Gn tipo de l+(ica 2normalmente una 'ariaci+n de FOL3) para acto se(uido e*ecutar esa l+(ica como si se tratase de un pro(rama% El len(ua*e OWL) basado en l+(ica descripti'a) es un buen e*emplo% Tambi-n se está traba*ando en enla1ar un idioma natural de $orma automática con l+(ica) l+(ica &ue puede e*ecutarse% E*emplo en este campo es el Attempto ,ontrolled En(lis!) una l+(ica de ne(ocios de Internet) &ue no busca controlar el 'ocabulario o la sinta0is% /na caracter.sticas de los sistemas &ue apo#an el '.nculo bidireccional in(l-s>l+(ica # e*ecuci+n directa de la l+(ica es &ue pueden e0plicar sus resultados en in(l-s en un ni'el de ne(ocios o cient.$ico% El proceso &ue se si(ue para construir) entre(ar # !acer e'olucionar el so$t"are) desde la concepci+n de una idea !asta la entre(a # el retiro del sistema%
Pre1alfa
La $ase conocida como pre>al$a se publica a 'eces antes del lan1amiento de una 'ersi+n al$a o beta% En contraste con la 'ersi+n al$a # las 'ersiones beta) la pre>al$a no tiene sus caracter.sticas completas% Los dise4adores toda'.a están determinando en esta etapa e0actamente &u- $uncionalidades debe tener el producto% Tales etapas se pueden llamar tambi-n de'elopment releases o ni(!tl# builds%
Alfa La 'ersi+n al$a de un producto es la primera para la &ue el e&uipo de desarrollo decide &ue implementa todas las $uncionalidades especi$icadas en los re&uisitos% Es la primera 'ersi+n del pro(rama &ue se en'.a a los 'eri$icadores para probarla% Al(unos e&uipos de desarrollo utili1an el t-rmino al$a in$ormalmente para re$erirse a una $ase donde un producto toda'.a es inestable) a(uarda toda'.a a &ue se eliminen los errores o a la puesta en práctica completa de toda su $uncionalidad) pero satis$ace la ma#or.a de los re&uisitos% El nombre se deri'a de al$a) la primera letra en el al$abeto (rie(o%
2eta /na 'ersi+n beta o lan1amiento beta representa (eneralmente la primera 'ersi+n completa del pro(rama in$ormático o de otro producto) &ue es probable &ue sea inestable pero Gtil para &ue las demostraciones internas # las inspecciones pre'ias seleccionen a clientes% Al(unos desarrolladores se re$ieren a esta etapa como inspecci+n pre'ia 2pre'ie"3 o como una inspecci+n pre'ia t-cnica 2tec!nical pre'ie" 3% Esta etapa comien1a a menudo cuando los desarrolladores anuncian una con(elaci+n de las caracter.sticas del producto) indicando &ue no serán a(re(adas más caracter.sticas a esta 'ersi+n # &ue solamente se !arán pe&ue4as ediciones o se corre(irán errores% Las 'ersiones beta están en un paso intermedio en el ciclo de desarrollo completo% Los desarrolladores las lan1an a un (rupo de probadores beta o betatester 2a 'eces el pGblico en (eneral3 para una prueba de usuario% Los probadores di'ul(an cual&uier error de so$t"are &ue encuentran # caracter.sticas) a 'eces de menor importancia) &ue &uisieran 'er en la 'ersi+n $inal% ,uando una 'ersi+n beta lle(a a estar disponible para el pGblico en (eneral &ue a menudo es utili1ada e0tensamente por los tecnol+(icamente e0pertos o $amiliari1ados con 'ersiones anteriores) como si el producto estu'iera acabado% 6eneralmente los desarrolladores de las 'ersiones betas del $ree"are so$t"are (ratuito o de c+di(o abierto los lan1an al pGblico en (eneral) mientras &ue las 'ersiones beta propietarias 'an a un (rupo relati'amente pe&ue4o de probadores% En $ebrero de ==Q) XD7et public+ un art.culo acerca del $en+meno reciente de las 'ersiones beta &ue permanec.an a menudo por a4os # &ue eran utili1ada como si estu'ieran en ni'el de producci+n% Obser'a &ue 6mail) i(ual &ue las 6oo(le noticias) por e*emplo) !an estado en beta por un per.odo de tiempo mu# lar(o # no saldrán del estado beta a pesar del !ec!o de &ue se !an utili1ado e0tensamente% Esta t-cnica puede tambi-n permitir a un desarrollador retrasar el o$recimiento de apo#o total o la responsabilidad de ediciones restantes% Los receptores de betas altamente propietarias pueden tener &ue $irmar un acuerdo de no re'elaci+n% ,omo esta es la se(unda etapa en el ciclo de desarrollo &ue si(ue la etapa de al$a) esta se nombra como la si(uiente letra (rie(a beta%
3ersión candidata a definitiva El t-rmino candidata a de$initi'a o candidata para el lan1amiento 2si traducimos más literalmente desde el t-rmino en in(l-s) release candidate3 se re$iere a un producto $inal) preparado para lan1arse como 'ersi+n de$initi'a a menos &ue apare1can errores &ue lo impidan% En esta $ase el producto implementa todas las $unciones del dise4o # se encuentra libre de cual&uier error &ue supon(a un punto muerto en el desarrollo% 9icroso$t utili1a $recuentemente este t-rmino% Otros t-rminos relacionados inclu#en (amma) delta 2# tal 'e1 más letras (rie(as3 para 'ersiones &ue están prácticamente completas pero toda'.a en pruebas5 # ome(a para 'ersiones &ue se creen libres de errores # se !allan en el proceso $inal de pruebas% 6amma) delta # ome(a son) respecti'amente) la tercera) cuarta # Gltima letras del al$abeto (rie(o%
3ersión de dis!oni$ilidad &eneral
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
La 'ersi+n de disponibilidad (eneral 2tambi-n llamada dorada3 de un producto es su 'ersi+n $inal% 7ormalmente es casi id-ntica a la 'ersi+n candidata $inal) con s+lo correcciones de Gltimo momento% Esta 'ersi+n es considerada mu# estable # relati'amente libre de errores con una calidad adecuada para una distribuci+n amplia # usada por usuarios $inales% En 'ersiones comerciales) puede estar tambi-n $irmada 2usado para &ue los usuarios $inales 'eri$i&uen &ue el c+di(o no !a sido cambiado desde su salida% La e0presi+n de &ue un producto se !a dorado si(ni$ica &ue &ue el c+di(o !a sido completado # &ue está siendo producido masi'amente # estará en 'enta pr+0imamente% El t-rmino dorado se re$iere anecd+ticamente al uso del disco maestro de oro &ue $ue $recuentemente usado para en'iar la 'ersi+n $inal a los $abricantes &ue lo usan para producir las copias de 'enta al detalle% Esto puede ser una !erencia de la producci+n musical% En al(unos casos) sin embar(o) el disco maestro está realmente !ec!o de oro) tanto por apariencia est-tica como por resistencia a la corrosi+n% 9icroso$t # otros usan el t-rmino release to manu$acturin( 2RT93 para re$erirse a esta 'ersi+n 2para productos comerciales como Windo"s U8) tal como Build <== is t!e Windo"s U8 RT9 release3) # release to Web 2RTW3 para productos libremente descar(ables%
El anteniiento de software El mantenimiento de so$t"are es una de las acti'idades más comunes en la In(enier.a de So$t"are # es el proceso de me*ora # optimi1aci+n del so$t"are desple(ado 2es decir5 re'isi+n del pro(rama3) as. como tambi-n correcci+n de los de$ectos% El mantenimiento de so$t"are es tambi-n una de las $ases en el ,iclo de Vida de Desarrollo de Sistemas 2SDL, + S#stem De'elopment Li$e ,#cle3) &ue se aplica al desarrollo de so$t"are% La $ase de mantenimiento es la $ase &ue 'iene despu-s del desplie(ue 2implementaci+n3 del so$t"are en el campo%
Ti!os de anteniiento
A continuaci+n se se4alan los tipos de mantenimientos e0istentes) # entre par-ntesis el porcenta*e apro0imado respecto al total de operaciones de mantenimiento Perfectivo: 2<=K3 me*ora del so$t"are 2rendimiento) $le0ibilidad) reusabilidad3 o implementaci+n de nue'os re&uisitos% Tambi-n se conoce como mantenimiento e'oluti'o%
Ada!tativo DESARROLLO DEL SOFTWARE Desarrollar un so$t"are si(ni$ica construirlo simplemente mediante su descripci+n% Está es una mu# buena ra1+n para considerar la acti'idad de desarrollo de so$t"are como una in(enier.a% En un ni'el más (eneral) la relaci+n e0istente entre un so$t"are # su entorno es clara #a &ue el so$t"are es introducido en el mundo de modo de pro'ocar ciertos e$ectos en el mismo% A&uellas partes del mundo &ue a$ectarán al so$t"are # &ue serán a$ectadas por -l será el Dominio de Aplicaci+n% Es all. donde los usuarios o clientes obser'arán si el desarrollo del so$t"are !a cumplido su prop+sito% /na de las ma#ores de$iciencias en la práctica de construcci+n de so$t"are es la poca atenci+n &ue se presta a la discusi+n del problema% En (eneral los desarrolladores se centran en la soluci+n de*ando el problema ine0plorado% El problema a resol'er debe ser deducido a partir de su soluci+n% Esta apro0imaci+n orientada a la soluci+n puede $uncionar en campos donde todos los problemas son bien conocidos) clasi$icados e in'esti(ados) donde la inno'aci+n se 'e en la detecci+n de nue'as soluciones a 'ie*os problemas% 8ero el desarrollo de so$t"are no es un campo con tales caracter.sticas% La 'ersatilidad de las computadoras # su rápida e'oluci+n !ace &ue e0ista un repertorio de problemas en constante cambio # cu#a soluci+n so$t"are sea de enorme importancia%
Desarrollo del Software ,uando se 'a desarrollar un so$t"are inter'ienen muc!as personas como lo es el cliente &uien es el &ue tiene el problema en su empresa # desea &ue sea solucionado) para esto e0iste el analista de sistema &uien es el encar(ado de !acerle lle(ar todos los re&uerimientos # necesidades &ue tiene el cliente a los pro(ramadores &uienes son las personas encar(adas de reali1ar lo &ue es la codi$icaci+n # dise4o del sistema para despu-s probarlo # lo instalan al cliente% Es as. como inter'ienen 'arias personas #a &ue una sola persona no podr.a determinar todo lo necesario lo mas se(uro &ue le !a(a $alta al(Gn re&uerimiento o al(una parte del nue'o sistema # entre mas est-n in'olucradas me*or para cubrir con todos los re&uerimientos del sistema% 8roceso
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
El proceso de desarrollo del so$t"are se muestra (rá$icamente en la parte de arriba) a continuaci+n desarrollara una bre'e e0plicaci+n del mismo% El primer paso del proceso es el análisis) es a&u. donde el analista se pone en contacto con la empresa para 'er como esta con$ormada) a &ue se dedica) saber todas las acti'idades &ue reali1a en si) conocer la empresa de manera (eneral para posteriormente 'er cuales son sus necesidades o re&uerimientos &ue la empresa tiene en ese momento para poder reali1ar un análisis de la misma% Es importante saber cuales son los re&uerimientos &ue la empresa tiene por &ue muc!as 'eces los sistemas se desarrollan pero no pensando en el cliente # es a!. donde el sistema no cumple o no satis$ace las necesidades &ue e0isten en la empresa) se(Gn los re&uerimientos se empie1a a reali1ar el dia(rama relacional todo debe de lle'ar una secuencia l+(ica de las acti'idades) todo esto se reali1a de manera manual para 'er como será su dise4o l+(ico # dise4o de pantallas es en este paso donde se plasma todo # &ueda per$ectamente bien de$inido como 'a !acer la $uncionalidad del sistema% El se(undo paso es el de dise4o a&u. entran todo el dise4o del sistema es decir las pantallas) base de datos) todo esto debe de cumplir con ciertos estándares los cuales se toman en cuenta para poder desarrollar el dise4o con calidad # as. poder o$recer un dise4o ami(able en cuesti+n de colores) tama4os de botones) ca*as de te0to) etc% El tercer paso es la codi$icaci+n es a&u. donde se desarrolla todo el c+di(o del sistema por parte del pro(ramador esto se !ace #a dependiendo de cada pro(ramador #a &ue cada pro(ramador tiene sus bases o $ormas para reali1arlo pero en si deben todos lle(ar al mismo ob*eti'o de o$recerle $uncionalidad al sistema siempre # cuando ape(ando se a las especi$icaciones del cliente% El cuarto paso son las pruebas) es donde al sistema se pone a prueba como su palabra lo dice para as. poder saber cuales son los posibles errores &ue se están (enerando del sistema # con ello me*orarlo para eliminar todos los errores &ue se puedan presentar por &ue un pro(rama con menor errores ma#or calidad puede lle(ar a tener% El &uinto # Gltimo paso es la instalaci+n una 'e1 reali1ado las pruebas correspondientes al sistema # !aberlo corre(ido totalmente se procede a la instalaci+n del mismo #a en la empresa para su uso correspondiente) todo con la $inalidad de &ue los procesos se realicen de una manera más e$iciente eliminando costos) tiempo # es$uer1o dentro de la or(ani1aci+n% 8ara aplicar la me*ora continua a todo lo anterior es necesario aplicar ciertos pruebas las cuales deberán de probar cada etapa del desarrollo del so$t"are dic!as pruebas se deben de reali1ar de $orma paralela # de $orma continua probando la unidad del pro(rama) la inte(raci+n del dise4o $.sico) probando el sistema en cuesti+n al dise4o l+(ico # por ultimo prueba de aceptaci+n esta se reali1a en base a los re&uerimientos &ue se obtu'ieron anteriormente) este es un proceso de prueba sencilla # mu# utili1ada% Otros puntos &ue son importantes considerar son las auditorias # las acciones correcti'as representan el motor impulsor de la me*ora continua en el sistema de calidad) por lo &ue es de 'ital importancia lle'ar un estricto control en el se(uimiento de todos los problemas o no con$ormidades desde su detecci+n !asta la eliminaci+n de$initi'a de la causa ra.1% 8ara !aber desarrollado un plan de prueba primero se debi+ !aber basado en lo &ue son los re&uerimientos para posteriormente describir las t-cnicas de pruebas a utili1ar &ue se aplicaran en las di$erentes etapas del desarrollo del so$t"are% Al(o mu# importante &ue no se puede de*ar pasar es &ue todas las pruebas se deben de reali1ar durante la reali1aci+n del so$t"are #a &ue si se lle(ara esperar al $inal del desarrollo del sistema esto puede ser mu# tardado # costoso de'ol'erse al ori(en de los posibles errores) mientras todo pro(rama se este probando durante su desarrollo es lo me*or # mas optimo para &uien lo esta desarrollando) #a &ue de esta manera disminu#e costos) tiempo # es$uer1o en el desarrollo del so$t"are # de esta manera puede brindar un so$t"are de calidad al cliente siempre cumpliendo con las necesidades o re&uerimientos del cliente% ,omo conclusi+n se puede decir &ue con la me*ora continua (aranti1a la calidad del producto) #a &ue el estarla aplicando d.a con d.a es lo me*or decisi+n &ue puede lle(ar a tener cual&uier empresa) por &ue de esta manera e'ita (randes problemas en la elaboraci+n o desarrollo de los productos% Esto es $undamental para todas las empresas #a &ue se 'uel'en competiti'as) con ma#or producti'idad # e$iciencia% 7o !a# &ue
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
ol'idar &ue la me*ora se da por &ue el cliente es el re# # !a# &ue satis$acer todas # cada una de sus necesidades siempre (aranti1ando la calidad%
'etodolo&4a: Todo desarrollo de so$t"are es ries(oso # di$.cil de controlar) pero si no lle'amos una metodolo(.a de por medio) se obtiene clientes insatis$ec!os con el resultado # desarrolladores aun mas% Sin embar(o muc!as 'eces no se toma en cuenta el utili1ar una metodolo(.a adecuada) sobre todo cuando se trata de pro#ectos pe&ue4os de dos o tres meses% ,on relaci+n a los pro#ectos &ue se desarrollan con ma#or en'er(adura) !a# si se toma el sentido de basarse en una metodolo(.a de desarrollo # se empie1a a buscar cual seria la mas apropiada para dic!o caso% A $in de cuenta no encontramos muc!as 'eces la meas adecuada # se termina por !acer un dise4o propio de metodolo(.a) por supuesto no esta mal siempre # cuando sir'a para alcan1ar el ob*eti'o% 9uc!as 'eces se reali1a el dise4o del so$t"are de manera r.(ida) tal cual como el cliente lo solicito) de esa manera cuando el cliente en la etapa de pruebaC solicita un cambio se !ace mu# di$.cil de reali1arlo) pues si se !ace altera las cosas &ue no se !ab.an pre'isto) # este es uno de los $actores &ue atrasan el pro#ecto # crea incomodidad al desarrollador # en muc!as oportunidades no lle(an a cumplir con el cambio solicitado) esto conlle'a malestar en el cliente puesto &ue no se sido tomado en cuenta su pedido5 para e'itar estos incidentes se debe lle(ar a un acuerdo $ormal con el cliente al inicio del pro#ecto de manera &ue no per*udi&ue el desarrollo del mismo% 9uc!as 'eces los usuarios $inales se dan cuenta &ue de*aron de mencionar al(unas cosas # lo mani$iestan en la etapa inicial del pro#ecto cuando se le muestra el prototipo del mismo%
ALG56AS 'etodolo&4as conocidas • • • •
La metodolo(.a R/8 es la más adaptable para pro#ectos de lar(o pla1o% La metodolo(.a U8 en cambio) se recomienda para pro#ectos de corto pla1o% La metodolo(.a 9SF se adapta a pro#ectos de cual&uier dimensi+n # de cual&uier tecnolo(.a% Se puede decir además &ue lo más importante antes de ele(ir la metodolo(.a &ue se debe usar para implementar el so$t"are) es determinar el alcance &ue tendrá # lue(o de all. 'er cual es la &ue mas se acomoda a la aplicaci+n%
E+e!los: El e*emplo del so$t"are lo !acen numerosas empresas) cada 'e1 mas (obiernos 2re(istro (ratis3% Los e0pertos lo recomiendan) lo !acen particulares a millones% Hasta 2a re(a4adientes3 9icroso$t% La idea absurda de de*ar abierta las tripas del so$t"are # permitir &ue la (ente las mire) e incluso &ue las modi$i&ue) copie # use en condiciones di$erentes) en la industria de la in$ormática es mu# comGn% De !ec!o se e0tiende a los más pe&ue4os rincones del mundo desde una orden má(ica !erm-tica de tradici+n mas+nica # rosacruciana a tele$+nica IZD% Si !asta las empresas en $iloso$.a más e0puesta o menos rápidas en no'aci+n # las sociedades secretas son capaces de 'er las 'enta*as del O8E7 SO/R,EC 2abierto o libre3% 7o !a sido sencillo la idea conocida como dic!o so$t"are 2abierto o libre3 a tenido una 'ida lar(a pero di$.cil) diri(ida por pol-micas aparentemente absurda pero &ue contienen un pro$undo debate ideol+(ico # practico5 a 'eces di'idido en partes en$rentadas con muc!a pasi+n5 siempre descali$icada) lo cierto es &ue la comunidad del so$t"are abierto !o# es una $uerte # sana realidad%
I!ortancia: Actualmente la transici+n &ue estamos 'i'iendo !acia una sociedad del conocimiento a cambiado pro$undamente las relaciones entre las personas) empresas # (obiernos las empresas usan la red para comunicarse con los clientes) utili1an tambi-n !erramientas de (esti+n del conocimiento para !acer masa e$icientes) los (obiernos me*oran su presencia en Internet # los ser'icios a los ciudadanos a tra'-s de la red) los usuarios usan las !erramientas para sus relaciones personales) etc% Se 'a de $orma imparable !acia una sociedad altamente interconectada donde el e*e $undamental es la in$ormaci+n% El so$t"are es el intermediario cada 'e1 mas (rande entre la in$ormaci+n # la inteli(encia !umana% De la misma manera &ue preocupa para poder acceder a la in$ormaci+n) si e0iste la censura) es tema de preocupaci+n de &uien controla este intermediario # las (arant.as de su transparencia # con$iabilidad% En principio) el so$t"are es un pro(rama in$ormático o con*unto de ellos &ue tiene un $in determinado) es el de procesar los te0tos &ue usamos) el controlador de (rabaci+n de nuestros espacios $a'oritos o las aplicaciones &ue permiten operar un tel-$ono m+'il% Esta compuesto por un con*unto de instrucciones &ue el usuario reali1a para e*ecutar una $unci+n especi$ica% 7ormalmente los pro(ramadores escriben en un len(ua*e en el &ue todos pueden entender # &ue despu-s es traducido al len(ua*e binario el Gnico &ue las ma&uinas entienden% El con*unto de +rdenes en el len(ua*e &ue todos traba*an se llaman c+di(o $uente% Sino se accede al c+di(o solo se puede usar el pro(rama) no se puede 'er como esta !ec!o o introducir comentarios% /n e*emplo mu# utili1ado es el de la receta de cocina) en el &ue el c+di(o $uente son las instrucciones &ue permite con$eccionar un plato% Sin la receta solo se pude de(ustar el plato) pero no se sabe si se le a4ade al(o 'a#a en contra de al(unos de esos in(redientes #a &ue se desconocen su
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
composici+n # proporci+n% En este sentido) el codi(o $uente *ue(a un papel $undamental en la manera como se debe entender el so$t"are% Se podr.an poner 'arios e*emplos para entender dic!a importancia% A $inales de los ;= se pudo 'er en todo el mundo la preocupaci+n por parte de empresa # (obiernos por las consecuencias &ue pod.an tener el llamado e$ecto ===% El $amoso error in$ormático era debido al !ec!o de &ue muc!os pro(ramas almacenaban la parte de la $ec!a correspondiente al a4o utili1ando Gnicamente dos d.(itos) de tal manera) &ue despu-s del a4o ;; 2el :;;;3 pod.amos pasar al a4o == 2M a4o === o a4o :;==N3 causando todo tipo de errores en el calculo de periodo de tiempo% Los ordenadores de las empresas el-ctricas) centrales nucleares) sistema de control de a'iaci+n) bancos # en (eneral) todo el so$t"are de uso cotidiano) tu'ieron &ue ser re'isados% Finalmente al(unas aplicaciones $ueron corre(idas) otras #a $uncionaban correctamente # no !ubo &ue lamentar nin(una catástro$e) pero !ubo miles de predicciones apocal.pticas sobre las consecuencias &ue se podr.a lle(ar a obtener este error) as. podr.a 'er sido si no se !ubiera reparado a tiempo% Es por eso) el so$t"are tiene un papel mu# importante en la sociedad sobre manera (aranti1ar m-todos trasparentes en sus di$erentes $ases de producci+n # e0plotaci+n%
Concl#sión
El desarrollo del so$t"are # la pro(ramaci+n es uno de los pilares $undamentales de la in$ormática # al cual se dedican muc!as !oras de es$uer1os en empresas) cole(ios) academias # uni'ersidades% ,on$orme a la tecnolo(.a 'a a'an1ando) 'an apareciendo nue'as soluciones) nue'as $ormas de pro(ramaci+n) nue'os len(ua*es # un sin $in de !erramientas &ue intentan reali1ar el traba*o del desarrollador un poco mas $ácil% La pro(ramaci+n orientadas a ob*etos o los compiladores basados en ma&uinas 'irtuales 2en muc!os casos) multiplata$orma3) tambi-n a sus puestos unas reno'aci+n en la manera de pro(ramar% 9icroso$t como empresa desarrolladora se so$t"are) es consciente de lo importante &ue es !acer buenos desarrollos # lo complicado &ue es5 por eso) intenta aportar las me*ores soluciones al mercado% En la actualidad la sociedad se encuentra en una -poca de transici+n) &ue se encamina !acia un nue'o estilo de pro(ramaci+n basada en estándares # para ello 9icroso$t propone la plata$orma %7ET%
Recoendaciones E0cepto en casos sin(ulares) el so$t"are 2&ue inclu#e al $ir"are de los computadores3 nunca es propiedad del usuario% La ad&uisici+n del pro(rama es en realidad la ad&uisici+n solamente del derec!o de uso del pro(rama) la licencia) ba*o termino de$inidos por el $abricante% El uso de so$t"are $uera de esos t-rminos constitu#e un delito contra la propiedad intelectual% Debe instalarse solamente el so$t"are necesario para las $unciones esperadas del e&uipo% En la ma#or.a de los casos) eso se limita al so$t"are básicos sistemas operati'os 2usualmente Windo"s ;Q3) aplicati'os de o$icina # na'e(aci+n 2usualmente O$$ice ;?) Internet E0plorer %=:3 # el cliente de red 2BacJO$$ice Todo computador ad&uirido para la uni'ersidad debe contar con licencias para so$t"are mencionado 2o su e&ui'alente en plata$ormas 9acintos! o /ni03) en esas 'ersiones o mas recientes% Las licencias deben corresponder a las 'ersiones) #a &ue no se pueden instalar una 'ersi+n mas recientes con una licencia de 'ersiones anteriores%
'anteniiento de software En in(enier.a del so$t"are) el mantenimiento de so$t"are es la modi$icaci+n de un producto de so$t"are despu-s de la entre(a) para corre(ir errores) me*orar el rendimiento) u otros atributos%: El mantenimiento del so$t"are es una de las acti'idades más comunes en la in(enier.a de so$t"are% El mantenimiento de so$t"are es tambi-n una de las $ases en el ciclo de 'ida de desarrollo de sistemas 2SDL,) si(la en in(l-s de s#stem de'elopment li$e c#cle3) &ue se aplica al desarrollo de so$t"are% La $ase de mantenimiento es la $ase &ue 'iene despu-s del desplie(ue 2implementaci+n3 del so$t"are en el campo% /na percepci+n comGn del mantenimiento es &ue se trata meramente de la correcci+n de de$ectos% Sin embar(o) un estudio indic+ &ue la ma#or.a) más del @=K) del es$uer1o de mantenimiento es usado para acciones no correcti'as 28i(osJ# :;;?3% Esta percepci+n es perpetuada por usuarios en'iando in$ormes de problemas &ue en realidad son me*oras de $uncionalidad al sistemacita re&uerida% El mantenimiento del so$t"are # la e'oluci+n de los sistemas $ue abordada por primera 'e1 por 9eir 9% Le!man en :;<;% Durante un per.odo de 'einte a4os) su in'esti(aci+n condu*o a la $ormulaci+n de las le#es de Le!man 2Le!man :;;?3% 8rincipales conclusiones de su in'esti(aci+n inclu#en &ue el mantenimiento es realmente un desarrollo e'oluti'o # &ue las decisiones de mantenimiento son a#udadas por entender lo &ue sucede a los sistemas 2# al so$t"are3 con el tiempo% Le!man demostr+ &ue los sistemas continGan e'olucionando con el tiempo% A medida &ue e'olucionan) ellos crecen más comple*os a menos &ue se toman al(unas medidas como re$actori1aci+n de c+di(o para reducir la comple*idad% Los problemas cla'es de mantenimiento de so$t"are son administrati'os # t-cnicos% 8roblemas cla'e de administraci+n son alineaci+n con las prioridades del cliente) dotaci+n de personal) cuál or(ani1aci+n !ace mantenimiento) estimaci+n de costos% Son cuestiones t-cnicas cla'es limitado entendimiento) análisis de impacto) pruebas 2testin(3) medici+n de mantenibilidad%
AREAS TECNICAS – E.P.T. COMPUTACION E INFORMATICA
El mantenimiento de so$t"are es una acti'idad mu# amplia &ue inclu#e la correcci+n de errores) me*oras de las capacidades) eliminaci+n de $unciones obsoletas # optimi1aci+n% Debido a &ue el cambio es ine'itable) se debe desarrollar mecanismos para la e'aluaci+n) controlar # !acer modi$icaciones% As. &ue cual&uier traba*o reali1ado para cambiar el so$t"are despu-s de &ue est- en operaci+n es considerado traba*o de mantenimiento% El prop+sito es preser'ar el 'alor del so$t"are sobre el tiempo% El 'alor puede ser me*orado ampliando la base de clientes) cumpliendo re&uisitos adicionales) siendo cada 'e1 más $ácil de usar) más e$iciente # empleando más nue'as tecnolo(.a% El mantenimiento puede abarcar = a4os) mientras &ue el desarrollo puede estar entre : # a4os% Importancia del mantenimiento de so$t"are A $inales de los a4os :;?=) una $amosa # ampliamente citada estudio de encuesta por Lient1 # S"anson) e0puso la mu# alta $racci+n de los costos del ciclo de 'ida &ue estaban siendo (astados en mantenimiento% ,lasi$icaron las acti'idades de mantenimiento en cuatro clases Adaptable [ modi$icar el sistema para !acer $rente a cambios en el ambiente del so$t"are 2DB9S) OS3 8er$ecti'o [ implementar nue'os) o cambiar re&uerimientos de usuario re$erentes a me*oras $ uncionales para el so$t"are ,orrecti'o) dia(nosticar # corre(ir errores) posiblemente los encontraron por los usuarios 8re'enti'a [ aumentar la capacidad de mantenimiento de so$t"are o $iabilidad para e'itar problemas en el $uturo La encuesta mostr+ &ue alrededor del ?QK del es$uer1o de mantenimiento $ue en los dos primeros dos t ipos) # la correcci+n de errores consum.a apro0imadamente el :K% 9uc!os estudios posteriores su(ieren una ma(nitud similar del problema% Los estudios muestran &ue la contribuci+n del usuario $inal es crucial durante el análisis # recopilaci+n de nue'os datos de re&uerimiento% -sta es la causa principal de cual&uier problema durante el mantenimiento # e'oluci+n del so$t"are% As. &ue el mantenimiento de so$t"are es importante por&ue consume (ran parte de los costos del ciclo de 'ida # tambi-n la imposibilidad de cambiar el so$t"are de $orma rápida # $iable si(ni$ica &ue las oportunidades de ne(ocio se pierden%