18
8th April 2012 [http://2.bp.blogspot.com/ vdHKIg5Hchg/T4JbVor_QBI/AAAAAAAAAFQ/soMxXgICrJc/s1600/monolitica.png] Las aplicaciones monolíticas son aquellas en las que el software se estructura en grupos funcionales muy acoplados (Si los hay), involucrando los aspectos referidos a la presentación, procesamiento y almacenamiento de la información. Son implementadas dentro de un solo componente de software. Históricamente, representan la estructura de los primeros softwares, constituidos fundamentalmente por un solo programa compuesto por un conjunto de funciones entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las características fundamentales de este tipo de aplicaciones son: Construcción del programa final a base de componentes compilados al mismo tiempo. Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc. Generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero como consecuencia carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones. No hay distribución, tanto a nivel físico como a nivel lógico. Estructura interna indefinida. Los niveles de funcionalidad no están bien separados. Una aplicacion monolitica puede componerse de uno o mas niveles Una aplicacion monolitica se elabora bajo el supuesto de que será ejecutada en un unico equipo de cómputo. Pero este tipo de aplicacion tambien puede ser implementada en un computador cental o mainframe. Desde una terminal de servicio se puede monitorear y recibir los resultados que la aplicacion monolitica devuelva. Ventajas del estilo arquitectónico: Eficiencia, ya que se producen pocos cambios en el contexto. Desventajas del estilo arquitectónico: Difícil de depurar Estilo Arquitectónico: software Monolítico Plantilla Dynamic Views. Con la tecnología de Blogger. Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide Quality&Programmin buscar

Quality&Programming

Embed Size (px)

DESCRIPTION

Campo requerido .l.

Citation preview

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 1/18

    8thApril2012

    [http://2.bp.blogspot.com/vdHKIg5Hchg/T4JbVor_QBI/AAAAAAAAAFQ/soMxXgICrJc/s1600/monolitica.png]

    Las aplicaciones monolticas son aquellas en las que el software se estructura en grupos funcionales muyacoplados(Siloshay),involucrandolosaspectosreferidosalapresentacin,procesamientoyalmacenamientodelainformacin.Sonimplementadasdentrodeunsolocomponentedesoftware.

    Histricamente, representan laestructurade losprimerossoftwares, constituidos fundamentalmenteporunsoloprograma compuesto por un conjunto de funciones entrelazadas de tal forma que cada una puede llamar acualquierotra.Lascaractersticasfundamentalesdeestetipodeaplicacionesson:

    Construccindelprogramafinalabasedecomponentescompiladosalmismotiempo.Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de losrecursosdelacomputadora,comomemoria,disco,etc.Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y gestin,perocomoconsecuenciacarecendeflexibilidadparasoportardiferentesambientesdetrabajootiposdeaplicaciones.Nohaydistribucin,tantoanivelfsicocomoanivellgico.Estructura interna indefinida.Losnivelesde funcionalidadnoestnbienseparados.Unaaplicacionmonoliticapuedecomponersedeunoomasniveles

    Unaaplicacionmonoliticaseelaborabajoelsupuestodequeserejecutadaenununicoequipodecmputo.Peroeste tipo de aplicacion tambien puede ser implementada en un computador cental o mainframe. Desde unaterminaldeserviciosepuedemonitorearyrecibirlosresultadosquelaaplicacionmonoliticadevuelva.

    Ventajasdelestiloarquitectnico:

    Eficiencia,yaqueseproducenpocoscambiosenelcontexto.

    Desventajasdelestiloarquitectnico:

    Difcildedepurar

    EstiloArquitectnico:softwareMonoltico

    PlantillaDynamicViews.ConlatecnologadeBlogger.

    Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide

    Quality&Programmin buscar

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 2/18

    DifcildeampliarDifcildedistribuirDifcildeimplantar.

    TiposdesoftwarealcualaplicaesteEstiloArquitectonico:

    FirmwareSoftwarebasedeSistemaOperativo(Servicios,demonios,Kernell)Pequeasutilidadesespecificas(Desdevirus,keyloggers,sniffers)

    Publicado8thApril2012porCristianBuitragoOrtega

    Etiquetas:Estiloarquitectonicodesoftware

    0 Aadiruncomentario

    8thApril2012Introduccin

    Se menciona bastante en las referencias bibliogrficas y en publicaciones acadmicas el concepto decomponente aplicado a la ingeniera de software, pero solo hasta haber estudiado profundamenteSendasmetodologasde proceso software y Diversos paradigmas de diseo de software, se puede comprender elconcepto. Este articulo pretende ser una gua de apoyo, para los profesionales que, pese a haber aprendidodiversas tcnicas de diseo y programacin, necesitan o sienten curiosidad por conocer ideas mas concretasdelconcreto,ascomo unaaproximacininicial a unacaracterizacin"ideal" del concepto.

    Definicion

    Un componente de software se define como un paquete de software(grupo de archivos) o modulo, querealiza un proceso en especfico, obteniendo unos resultados acordes con el proceso realizado. Uncomponente de software se presenta por lo general en dos sabores:

    Componentes ejecutables: Que son los componentes los cuales han sufrido procesos decompilacinyligado.Componentes basados en cdigo fuente: Los cuales sufren el proceso de compilacin(o interpretacinsegn sea el caso), indirectamente(ejemplo de estos componentes son los archivos hosteados en unservidor web, los cuales son compilados por el servidor al enviar una respuesta al cliente).

    Un componente de software por lo general esta compuesto de uno o varios archivos, los cuales puede estarcompilados o sin compilar. En este articulo se mencionan dos enfoques de desarrollo de softwareimportantes que, juntas, ayudan a caracterizar el concepto de componente: Estas son el Diseo basado encomponentes y el Diseo Orientado a Objetos.

    Quesuncomponentedesoftware?(Paraelnoiniciado)

    La concepcin de componente segn el Diseo Orientado a Componentes

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 3/18

    [http://4.bp.blogspot.com/bAOp27iqX44/T4JJzeuFI5I/AAAAAAAAAFA/uV8O8AvRsE/s1600/Sin+t%C3%ADtulo1.png]

    Cuando un programador elabora un programa, utiliza instrucciones(construcciones) secuenciales,condicionales y repetitivas:

    Las construcciones secuenciales implementan los pasos del proceso esenciales para la especificacin decualquier algoritmo(las instrucciones).Las condicionales proporcionan las funciones para procesos seleccionados a partir de una condicinlgica(estructuras selectivas del tipo if, if..else, switch).Las repetitivasproporcionan los ciclos(ciclos for, while, do while).

    Las tres construcciones son fundamentales para laprogramacin estructurada, una tcnica importante dediseo que tiene como objetivo principal la creacin de estructuras llamadas funciones o procedimientos.

    La concepcin de componente segn el Diseo Orientado a Objetos

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 4/18

    [http://3.bp.blogspot.com/B45WF9Ni64g/T4JKZ4j6EhI/AAAAAAAAAFI/xIMcZH1PQco/s1600/Sin+t%C3%ADtulo2.png]

    [http://2.bp.blogspot.com/IzwuUZolqgE/T4JJS9cP1bI/AAAAAAAAAE4/IV0LSRf897E/s1600/bib_imag.gif]

    La primera vez que se propuso un enfoque orientado a objetos para el desarrollo de software fue a finalesde los aos sesenta. Sin embargo, las tecnologas de objetos han necesitado casi veinte aos para llegar aser ampliamente usadas. Durante los aos 90, la ingeniera del software orientada a objetos se convirti enel paradigma de eleccin para muchos productores de softwarey para un creciente nmero de sistemas deinformacin y profesionales de la ingeniera. A medida que pasa el tiempo, las tecnologas de objetos estnsustituyendo a los enfoques clsicos de desarrollo de software.

    Una clase es un concepto que encapsula las abstracciones de datos y procedimientos que serequieren paradescribir el contenido y comportamiento de alguna entidad del mundo real. Puesto de otra manera, unaclase es una descripcin generalizada(por ejemplo, una plantilla, un patrn o un prototipo) quedescribe una coleccin de objetos similares. Por definicin, todos los objetos que instancian a una claseheredan sus atributos y las operaciones disponibles para la manipulacin de los atributos.

    Caractersticasde uncomponente

    Caracterizando un componente en virtud de los dos anteriores enfoques citados, se encuentra que debecumplir con estas tres caractersticas:

    Un componente puede componerse de varios archivos(compilados o no). Cada uno de estos archivosagrupa instrucciones a ejecutar para cumplir con uno o varios procesos en especifico.Cada archivo en un componente puede escribirse bajo un enfoque procedimental o un enfoqueOrientado a objetos. En este ultimo caso, cada archivo debiese contener UNA Y SOLO UNA CLASE.Al interior del software todos losprocesos del sistemase colocan en componentesseparados de modoque todos los datos y funciones dentro de cada componente se relacionan funcional ysemnticamente (al igual que con los contenidos de las clases). Debido a este principio, se dice amenudoque los componentesson modulares ycohesionados.

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 5/18

    Tipos de Componentes mas comunes:

    La siguiente lista pretende ser global, y puede ser ampliada: abarca tipos de componentes utilizados enlaelaboracinde software:

    [http://4.bp.blogspot.com/tr4UYxeMwM/T4JIAhyowEI/AAAAAAAAAEw/bGJA_Gd5X6I/s1600/Sin+t%C3%ADtulo.png]

    Publicado8thApril2012porCristianBuitragoOrtega

    Etiquetas:Componentes,ingenieradesoftware

    0 Aadiruncomentario

    28thMarch2012

    Cadapatrndescribeun problemaqueocurreunayotrayotravezennuestroentorno,yellosdescribenlaQUINTAESCENCIAdesolucionesaeseproblema,detal manera que puedes usar esta solucin un milln de veces, sin tener quehacerlodelamismamaneradosveces

    EstaesladefinicinquedaCristopherAlexanderacercadeloqueesunpatrn.CristopherAlexanderesarquitectodeprofesin,perosuconceptoacercadepatronestrascendihastalascienciasdelacomputacin y la ingeniera de software(Es interesante la trayectoria de este hombre: Alexandertrabaj en el MIT en Ciencias de la computacin y en Harvard y Berkeley el reas dehumanidades Ver entrada de Wikipedia para Cristopher Alexander[http://es.wikipedia.org/wiki/Christopher_Alexander] ). Alexander, al ser arquitecto, pensaba en

    AcercadelosPatronesdeDiseo

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 6/18

    [http://1.bp.blogspot.com/cteccW9tYso/T3M5wDDLkNI/AAAAAAAAAEA/EtAhnSOsPIg/s1600/casas

    prefabricadas1.jpg]

    [http://1.bp.blogspot.com/2ypleBMZm1o/T3M6CLQ2KVI/AAAAAAAAAEI/Rz8p0JlKNNk/s1600/descarga.jpg]

    [http://3.bp.blogspot.com/Fqy4Xv8dV_U/T3M6TX3Q

    SI/AAAAAAAAAEQ/9WGTXNw1EYY/s1600/soluciones_web_rompecabezas.jpg]

    construccionescomoedificios,viviendasoplaneacinurbanaalhablardepatronesdediseo,peroladefinicincitadaesaplicableperfectamenteparaelsoftware.

    ElproblemadelDiseoO.O

    Para un recin iniciado en tcnicas de programacin, El diseo orientado a objetos es duro deentender y poner en prctica, y el disear objetos reusables lo es todava mas: hallar objetospertinentes y expresarlos mediante clases con la granularidad correcta, definir interfaces paradistintosgruposdeclasesyjerarquasdeherencia,yestablecerrelacionesentreestosobjetos.Asmismo, el analista novato debe, al momento de disear, de ser lo mas especifico posible alproblemao conjuntode requerimientosque este tratando, pero tambindebegeneralizar losuficiente al respecto de los procesos objetivo, para cubrir futuros problemas yrequerimientos.

    LosanalistasnovatosseconfundenfcilmenteysesobrecarganconlosmuchsimosconceptosquepermitetrabajarlaProgramacinOrientadaaObjetos,yporellorecaenentcnicasdeprogramacinprocedimentalesoNoOrientadasaObjetos.Tomaun largo tiempoa losnovatos aprender loquesignifica un buen diseo orientado a objetos. Obviamente los analistas, diseadores o ingenierosexperimentadosconocenalgoquenoconocenlosnovatos.Ques?

    Una cosa que saben los experimentados es no resolver el problema desde cero: ellos resansoluciones que les han funcionado para problemas similares en el pasado. Cuando ellosencuentranunabuenasolucin,lausanunayotra,yotravez:Estaexperienciaespartedeloqueloshaceexpertos.Atravsdelaexperiencia, losnovatoshallarnquesepresentanpatrones

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 7/18

    [http://3.bp.blogspot.com/p3D8vVSquw/T3M6sMfXcCI/AAAAAAAAAEY/UxIMxuBbmv0/s1600/serunam.jpg]

    recurrentes cuando trabajan con clases y comunican objetos para varios sistemas orientados aobjetos.Estospatronesresuelvenproblemasespecficosyhacenalosdiseosorientadosaobjetosmselegantes, flexibles, y por supuesto, reusables. Los patronesayudana reutilizar exitosamentediseosalbasarlosnuevosdiseosenanterioresexperiencias.Unanalistaquesefamiliarizaconestospatrones,puedeaplicarlos inmediatamenteadisearsolucionesaproblemassintenerquereinventarlarueda.

    Unabuenaanaloga

    Unaanalogapuede ilustrarestepunto.Losescritoresuguionistas raramentediseansushistoriasdesde cero. En vez de eso, ellos siguen patrones como la novela policiaca, en la cual podemosencontrar lugares comunes o un patrn comn bajo el cual se enmarca la historia: el uso depensamientodeductivoparaanalizarpistasqueguanaldescubrimientodequiencometielcrimen,queporlogeneral(segnelpatrn)sedescubrealfinaldellibro,pelculaoserie(DesdelosCrmenesdelacalleMorguedeEdgarAllanPoe,pasandoporelSherlockHolmesdeSirArthurConanDoyle,HastallegaralashistoriasdeAgathaChristie,ylasmodernasseriestelevisivascomoCSIMiami, oVideoJuegos comoGTA San Andreas) otro patrn que siguen los novelistas es el de "la novelaromntica"(Presente en millares de historias, desdeBlancanieves oRapunzel, hasta llegar a lasnovelasMexicanas,ColombianasodeTelemundo).

    Del mismo modo, los analistas y diseadores orientados a objetos siguen patrones comorepresentar estados con objetos y decorar objetos de tal manera que usted pueda quitarles oaadirlesfcilmentecaractersticas.Unavezqueconocemoselpatrn,lasdecisionesencuantoadiseosesucedenautomticamente.

    ElvalordelaExperiencia

    Como Analistas, desarrolladores e Ingenieros de software, debemos darle el justo valor a laexperiencia en las etapas de anlisis y diseo.Cuantas veces has tenido cuando analizas odiseas,amigo lector, especiesdedejaven loscualessientesque tuhassolucionadoelproblema antesperono recuerdas exactamente dondeo cmo?Si tu pudieras recordar losdetalles del problema anterior que has resuelto, y de como resolverlo, entonces tu podrsreusaresaexperienciaenvezdesolucionarunnuevoproblemaanlogoDesdecero.Comosea,nosotrosnohacemosunbuentrabajoregistrandoexperienciasanteriores(encuantoadiseodesoftware)paraqueotrospuedanutilizarla.

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 8/18

    [http://1.bp.blogspot.com/zOjEdYBV44k/T3M631R_2xI/AAAAAAAAAEg/e5MmzmfTIKI/s1600/1207605915hbqhKJ.jpg]

    Peroenelnegociodelsoftware,queesunpatrndediseo?

    UnpatrndediseosepuededefinircomounconjuntodetcnicasbasadascompletamenteenDiseoyProgramacinOrientadaaObjetos.

    Cadapatrndediseosistemticamentenombra,explica,yevalaunimportanteyrecurrentediseoen sistemas orientados a objetos. El objetivo de un patrn es capturar la experiencia de diseo en unmodotalquelaspersonaspuedanutilizarlaefectivamente.

    Unpatrn,porlogeneral,debecumplirconestascaractersticas:

    1.NombreyClasificacin

    Elnombredelpatrntransmitelaesenciadelpatrndemanerasucinta.Unbuennombreesdevitalimportancia,yaquepasaraformarpartedelvocabulariodediseodelosanalistasdesoftware.Enuna siguiente entrada del blog mencionar las categoras bajo las cuales los estudiosos einvestigadoresdelaingenieradesoftwareclasificanlospatronesdediseoexistentes.

    2.Intencin

    Una breve declaracin que responde a las siguientes preguntas: Qu hace el patrn dediseor?Culessurazny la intencin?Quproblemadediseoo problemaenparticular loplantea?

    3.Tambinconocidocomo

    Otrosnombresconocidosparaelpatrn,ensucaso.

    4.Motivacin

    Unescenarioqueilustraunproblemadediseoydecmolasestructurasdeclaseydeobjetoenelpatrnresolvernelproblema.Elescenarioleayudaraentenderaunmslaintencindelpatrn

    5.Aplicabilidad

    Culessonlassituacionesenlasquesepuedeaplicarelpatrndediseo?Culessonejemplosdelospobresdiseosqueelpatrnpuedemejorar?Cmosepuedereconocerestassituaciones?

    6.Estructura

    Una representacin grfica de las clases en el patrn utilizando de una notacin basada enelmodeladodeobjetos(Diagramadeclases).Tambinutilizamoslosdiagramasdeinteraccinparailustrarsecuenciasdesolicitudesycolaboracionesentrelosobjetos.

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 9/18

    [http://3.bp.blogspot.com/Ogf_795AFXk/T3M75gMOV2I/AAAAAAAAAEo/jw17UVO7SPo/s1600/lego

    piezas.jpg]

    7.Losparticipantes

    Lasclasesy/olosobjetosqueparticipanenelpatrndediseoysusresponsabilidades.

    8.Colaboraciones

    Cmolosparticipantescolaboranparallevaracabosusresponsabilidades.

    9.Consecuencias

    Cmofuncionaelmodeloenapoyoasusobjetivos?Culesson lasventajasydesventajas y losresultadosdelautilizacindelpatrn?Quaspectodelaestructuradelsistemaeslaqueseveafectadoporelpatrn?

    10.Implementacin

    Trampas, trucos o tcnicas que usted debe tener en cuenta al implementar el patrn,problemasespecficosalimplementarloenunlenguajeespecifico

    11.Patronesrelacionados

    Qupatronesdediseoestnestrechamente relacionadosconste?Cules son las diferenciasmsimportantesconotrospatrones?Conquotrospatronesseutilizan?

    Ningnpatrndediseodescribediseosnuevosonoprobados.Unpatrnpuedeseraplicadomsdeunavezediferentessistemasylenguajesdeprogramacindiversos(siempreycuandoellenguajepermitaProgramacinOrientadoaObjetos).

    Los patrones de diseo hacen fcil el reusar exitosamente diseos y arquitecturas. El expresartcnicasprobadascomopatronesdediseoloshacemsaccesibleadiseadoresdenuevossistemas. Los patronesdediseoayudana elegir alternativas de diseoquehacena un sistemareusable y permite alternativas que comprometan reusabilidad. Los patrones de diseo puedenincluso mejorar la documentacin y mantenimiento de sistemas existentes al especificarexplcitamenteclaseseinteraccionesentreobjetos.Dicindolodeunamanerasimplista,lospatronesdediseoayudanaundiseadoraobtenerundiseofcilyrpidamente.

    EsteArticulosebasaenapartesdeloslibros"Gangoffour,DesingPatterns",ElementsofreusableObjectOrientedSoftware"y"PatternsofEnterpriseApplicationArchitecture"deAddisonWesley

    Publicado28thMarch2012porCristianBuitragoOrtega

    Etiquetas:patronesdediseo,queesunpatrondediseo,reutilizacionsoftware.programacionorientadaaobjetos

    2 Vercomentarios

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 10/18

    22ndMarch2012

    [http://3.bp.blogspot.com/ejrrCr4v2ng/T2tDMyaj5I/AAAAAAAAADw/wwDUp1IQItw/s1600/images.jpg]

    [http://3.bp.blogspot.com/ejrrCr4v2ng/T2tDMyaj5I/AAAAAAAAADw/wwDUp1IQItw/s1600/images.jpg]

    EsdenotableimportanciaparanuestrasactividadesdeAnlisiseIngenieradeSoftwareconocerelconceptode"proceso"enelmbitoempresarial,yaqueunodelospropsitosdenuestrareadetrabajoesproporcionaralosclientesunvaloragregadoasusprocesosdenegocio.

    Ejemplosdeprocesossonlossiguientes:

    Elprocesoqueestampayenroscauntornillo.El proceso que desarrolla una jornada informativa sobre el impacto del aumento en el precio de loscombustibles.Elprocesodetramitarunalicenciadeobraenunacuraduraurbana.Elprocesodeensamblarunvehculo.Elprocesodeelaborarunanminaparalosempleadosdeunacompaa.Elprocesodegrabacindeunaescenaenunaserietelevisiva.

    Todosestossonprocesosdenegocio,asqueconestosbrevesejemplonosesposiblecontemplarelalcancedenuestrotrabajocomoAnalistaseIngenierosdeSistemasdeSoftware.............

    Se puede definir un proceso como cualquier secuencia repetitiva de actividades que una o variaspersonas(trabajadores del proceso o actores) desarrollan para hacer llegar un resultado o Salida a unDestinatario(ocliente) a partir de unos activos que se utilizan en las actividades del proceso(Recursos queempleanlosintervinientes)obienseconsumen(Entradasalproceso).

    enelrecuadroobservamoslascaractersticasfundamentalesdelosprocesos,quesonnecesariosalidentificarydefinirprocesos:

    1.Saliday flujodesalidadelproceso.

    2. Destinatariosdelflujodesalida.3. Losintervinientesdelproceso(Actores).4. Secuenciadeactividadesdelproceso.5. Recursos.

    1.SalidayFlujodesalida:

    Salidaconcretaesunaunidadderesultadoproducidaporelproceso.Esloquegeneraelproceso.Debidoalfuncionamiento constante y repetitivo del proceso el resultado se pueden visualizar como un flujo constante(similaralaguaquesaledeungrifo).Por logeneralel flujodesalidaseexpresacomoelnumerodesalidasconcretasarrojadasporelprocesoporunidaddetiempo.

    Ejemplosdesalidasyflujosdesalidason:

    LosProcesos

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 11/18

    SalidaConcreta FlujodeSalida

    Tornilloestampado Flujodetornillosestampados.10.000.000alao.JormadaInformativaDesarrollada Flujodejornadasinformativas.5alao.Licenciadeobras Flujodelicenciasdeobrasmenores.250alaoenpromedio.

    2.Destinatariodelflujodesalida:

    Eslapersonaoconjuntodepersonasquerecibenyvaloranloquelesllegadesdeelprocesoenformadeflujodesalida.

    Ejemplosdedestinatarios:

    LaSeccindeenroscado.Losasistentesaunajornadainformativa.El/lasolicitantedelalicenciadeobras.

    Losdestinatariosdelprocesotienenunconjuntodeexpectativasrespectoalassalidas(paraellosentradas)quereciben del proceso anterior. Se pueden definir las expectativas como las creencias (afirmaciones que eldestinatariodaporciertas)relacionadasconcomodebeserloqueelprocesolehacellegar.

    Ejemplosdeexpectativasson:

    LaSeccindeenroscadoesperatornillosestampadosconlasmedidasadecuadas.Losasistentesalajornadainformativaesperanqueenlasalahayacalefaccin.Losasistentesalajornadainformativaesperanqueunasesininformativaduremximounahora.El/lasolicitantedelalicenciadeobrasmenoresesperaquelaresolucincumplaconlaley.

    3.Losactoresointervinientes:

    Sonlaspersonasogruposdepersonasquedesarrollanlasecuenciadeactividadesdelproceso.

    Ejemplosdeintervinientes:

    LaSeccindeestampadodetornillos.El/laponentedelajornada,El/lacoordinador(a)delajornada.El/latcnicodelacuraduraqueparticipaenlatramitacindelalicencia.

    4.Lasecuenciadeactividades:

    Esladescripcindelasaccionesquetienenquerealizarlosintervinientesoactoresparaconseguirquealdestinatariolellegueloquesepretendequellegue.

    Ejemplosdeactividadesson:

    Cambiarcestocontenedorentolvadeevacuacindetornillosestampados.Encenderelretroproyector,colocartransparenciaenretroproyectoryexplicarresultadosdeestudiosalrespectode como las consecuencias del aumento del precio de combustibles que pueden influir en los asistentes a lajornada,convozaltayclara,proponiendoancdotasyejemplosexplicativosadicionales.Atenderalapersonaquesolicitalalicencia,einformarledelplazomedioparasutramitacin.

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 12/18

    [http://1.bp.blogspot.com/mNtg1xMp_k/T2ttqHzhbKI/AAAAAAAAAD4/NiNzP6one2U/s1600/indicadoresdegestion.jpg]

    5.Recursosutilizadosenelproceso.

    Son todos aquellos elementosmateriales o de informacinque el proceso consumeo necesita utilizarparapodergenerarlasalida.

    Losrecursospuedenclasificarseendosgrupos:

    Queseconsumenencadarepeticin(Quesegastan)

    Que sirven para ms de una repeticin(Que seamortizan)

    Acerodeunadeterminadacalidad. Mquinaestampadora.Documentacinrepartidaalosasistentes. Retroproyector.

    Tiempodedicadoporeltcnicodelacuradura. Texto descriptivo del procedimiento administrativo paratramitarlalicencia.

    Todoprocesoconsumeoutiliza recursos.Algunossern recursosclavey requerirnunatencinespecial yotros tendrnuna importanciamenorypuedendejarsemsensegundoplano,pero todossonnecesariosparaque el proceso pueda desarrollarse, tienen que pagarse y forman parte de la cuenta de explotacin de laorganizacin.

    Alcaracterizarunproceso,ademasdelosanterioresaspectos,sedebesealarquecadaprocesodebeinvolucraruno o varios indicadores de proceso, que permiten conocer si el proceso se puede evaluar comocorrecto, segn los resultados que arroja, el tiempo que utilizan los actores en llevar a cabo el proceso, lasmateriasprimasutilizadas,uotrasvariables.

    Losindicadoresdeprocesosonmedicionesdelfuncionamientodeunproceso.Losindicadorespuedenserdeeficaciacuandomidenlobienomalqueunprocesocumpleconlasexpectativasdelosdestinatariosdelmismo.

    Ejemplos:

    %detornillosquenocumplenconlasmedidasreglamentarias.NdejornadassincalefaccinenelmesdeEnero.Nderesolucionesalicenciasdeobramenoresreclamadasyperdidasencontenciosoadministrativo.

    odeeficienciacuandomidenelconsumoderecursosdelproceso.

    Losindicadoresdeproceso

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 13/18

    Ejemplos:

    Toneladasdeacero/toneladasdetornillosestampados.(Puedemedireldespilfarro).Juegosdedocumentacinfotocopiadasdivididoentreasistentesacadareunin.(Puedemedireldespilfarro).Horastcnicoparatramitar10licenciasdeobrasmayores.(Puedemedireldespilfarro).

    Los indicadores de eficacia y los de eficiencia se pueden aplicar al funcionamiento global del proceso. Estossonlosindicadoresderesultadosdelprocesoypermitenmedirlasvariacioneshabitualesqueseproducenenelprocesoytambinlasaccionesdemejora.Ademsdeestosindicadoresglobales,sepuedenestablecerdentrodelproceso,otrosindicadoresauxiliaresquemidenlaeficaciaolaeficienciadelfuncionamientodeunapartedelproceso.

    Unindicadoressiempreelresultadodeunprocesodemedicin.Estosignificaqueesnecesario recogerdatos y por lo tanto emplear tiempo en hacerlo. Los indicadores no llueven del cielo como el man. Msindicadores significan ms tiempo y esfuerzo de recogida. Esto hace necesario elegir cuidadosamente losindicadores(sernmstilestresindicadoresbienelegidosque10malelegidos).

    Para hacer ocurrir un proceso existen otro tipo de medidas, que reciben el nombre de especificaciones deproceso. Estas medidas no son indicadores puesto que no reflejan el funcionamiento del proceso sinomandatos relativos a la forma de hacer ocurrir el proceso y que por lo tanto son las causantes de esefuncionamiento. La temperatura que la preforma de una pieza debe tener al estampar en un proceso deestampacinencalienteesunaespecificacindeprocesoyloquesebuscaconellaesgarantizarqueelprocesosaldrcomosequierequesalga,porloqueesimperativaparaelinterviniente.

    El trabajo del analista e ingeniero de software no involucra nicamente la investigacin y aplicacin de tcnicas de codificacin en sendos lenguajes y herramientas de programacin: tambin involucrabastantesdisciplinasque,pordesconocimientouomisinnosetienenencuentaeneltrabajodeelaborarSistemasdeinformacin.

    Publicado22ndMarch2012porCristianBuitragoOrtega

    Etiquetas:caracteristicasdeunproceso,entradasdeproceso,especificaciones,indicadoresdegestin,proceso,queesunproceso,salidasdeproceso

    Lasespecificacionesdelproceso:

    0 Aadiruncomentario

    20thMarch2012Esteartculosebasaenladescripcinhechaenellibro"PatternsofEnterpriseApplicationArchitecture" delReconocidoautorMartinFowler,elcualmencionaestascaractersticasenelApartado"EnterpriseApplications",yotrasfuentes:

    Persistencia de Datos: Se refiere al hecho de que los datos deben conservar su calidad y fidelidadentremltiplesejecucionesdelsistemadeinformacin.Dehecholosdatosdebenpersistirporaosfrenteaestasmltiples ejecuciones(yo incluyoque los datos debenpersistir tambina travs del transito entre los

    CaracteristicasdeunSistemadeInformacinEmpresarial

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 14/18

    [http://1.bp.blogspot.com/vEzrL6qf07U/T2kVf2vqOvI/AAAAAAAAADQ/hcjyN5MNbrw/s1600/basededatos.jpg]

    varioscasosdeusoquepuedaejecutarunSistemadeinformacin).LosdatosdebenpersistirCambiostantoenelsoftwarecomoantecambiosexternosajenosaste(ComocambiosdeSistemaOperativooHardwareenlasmaquinasqueejecutenelSoftware).Sealoelhechodeque,peseaquesepuedendarcambiosenlaestructuradelosdatosquepermitanalmacenarnuevaspiezasdeinformacin,estehechonodebereirconlosdatosexistentesenaquellaestructura.Inclusocuandosehabladelapersistenciadedatosenunsistemade informacin, es posible hablar de migracin de datos, aquella accion que tiene lugar cuando se debecambiardeGestordeBasededatoscuandolascircunstanciasloameriten.GestordeAlmacenamientodeDatos:HablamosdelGestordeBasededatos,comoestructurapreferidadealmacenamiento de datos, como contrapartida a otros contenedores de informacin(Sistemas basados enarchivos indexados,o inclusoarchivosplanosydeofimtica, lo cualesauncomnennuestrospasesdeAmrica Latina). Estos sistemas se basan en el almacenamiento de datos en millones de registros quepuedenalcanzaruntamaoconsiderable(GigaBytesaTeraBytes).Acceso a DatosConcurrente: Mltiples usuarios interactan con los datos(a travs de las interfaces delSistema de Informacin) en un numero que varan en un rango, desde los cientos, hasta losmillones deusuariosparaunsistemaorientadoalaweb,porejemplo.ElSistemadeInformacinDEBEGARANTIZARlaintegridadde losdatosparacadausuarioqueaccedasimultaneamentea losmismos,yaque,porejemplo,dosomsusuariospudiesenenunmismoinstantedetiempo,estaralterandounmismodato(Elsistemadeinformacindebeutilizarestrategiasdelockyadministracindetransaccionesenbasededatosparaevitarestasituacinriesgosadedatos).Interfaces de Usuario, para la Gestin adecuadamente de los datos por parte del usuario. El sistemadeInformacintienecomomisinimplcita(yestoseolvidaconmuchafrecuencia)EvitarelusodeclientesparaGestoresdeBasededatoscomomediodegestindeinformacin.Interaccinconotrasaplicacionesempresarialespresentesen laorganizacin.Losdistintossistemasde Informacinenunaorganizacinseelaboranendiferentes tecnologas(Java, .NET,PHP,Phyton,Ruby,Cobol, C++) Y deben existir mecanismos de colaboracin e integracin de estos sistemas usandounatecnologadecomunicacincomn(CORBA,SOAP).Lgica de negocio(business logic): Un sistema de informacin debe permitir la gestion dela informacinquenecesitan(yproducen) losprocesosdenegociohacia loscualesseenfoca,E INCLUSO,DEBEPERMITIRRESOLVERNOCONFORMIDADESRESPECTOALMANEJODEINFORMACINPORPARTE DE LAS DIFERENTES UNIDADES DE NEGOCIO, REAS O DEPARTAMENTOS ENLA ORGANIZACIN. Esto ultimo se da frecuentemente en organizaciones de estilo de administracinjerrquica, en las cuales los diferentes departamentos se aslan unos de otros, as como los objetivos yprocesosdenegocioporcadadepartamento,produciendoinformacinredundanteydiferente(Enunartculoposterioranalizarcadaestilodeadministracin).

    La mayoria de personas piensa que un Sistema de Informacin empresarial implica un sistema grande. Esimportante recordar que no todo sistema de informacin es grande, lo importante es el valor que ste puedeaportaraunaempresa.

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 15/18

    [http://2.bp.blogspot.com/WyFi15KlvOE/T2kjdcqzeI/AAAAAAAAADY/cU63Rhec3Wk/s1600/servAvan_factura.png]

    Publicado20thMarch2012porCristianBuitragoOrtega

    Ubicacin:Calle1C#62a6100,Bogot,DepartamentodeCundinamarca,Colombia

    Etiquetas:caracteristicasdesistemasdeinformacion,concurrenciadedatos,logicadenegocio,persistenciadedatos,sistemadeinformacin

    0 Aadiruncomentario

    20thMarch2012

    Se puede describir con este termino un conjunto de sntomas graves, y comunes que se pueden observar enabsolutamentetodosectorinformaticodedicadoalaelaboracindesoftware.Sonsintomasquenosoloaquejanalas organizaciones que producen aplicativos informaticos(no importando que herramientas o tecnicas utilizen),sino tambin, y esto es lomaspreocupante, al coraznde la industria del software: Lasorganizacionesqueimplantan software: NUESTROS CLIENTES. En este artculo se tratarn estos sintomas vistos desdelaperspectivadelosclientesdelaindustriadesoftware.

    Antesdepresentarestossintomas,vamosaplantearunescenarioqueserepitecontinuamenteencualquiertipodeorganizacion,no importandoel tipodesta:puedeserunamicro,pequeaomedianaempresadedicarseaactividadesenelsectorprimario,secundario,terciarioocuartodelaeconomia,noimportasuestructurajerarquica,etc.

    Laempresacliente(medianteaprobacinpreviadesudivisiontecnologicaporlogeneral)decideINVERTIRenunsistemade informacin(elmotivono importaparaesteescenario), y contrataaunaempresade la industriadesoftwarepara la implantaciondeaquel sistema(avecesesta implantacionvaprecedidade laelaboraciondeelsistema). Tras los protocolos contractuales iniciales, desde un comienzo se puede observar que el procesode implantacin del nuevo software en la compaa presenta problemas: estudios iniciales por parte dela compaa responsabledel nuevo software indicanal clienteque la implatacion sera "dificil" debidoa sendascausasquepuedenincluirsuinfraestructuratecnologica,ocaracteristicasqueelnuevosoftwaredeberaincluiryquestepuedenoposeer,obienlastieneperoorientadasacubrirlasnecesidadesdeotrotipodecompaia,uotro tipo de causal.Enesteprimermomentosepresenta elprimer "pequeo"sintoma del problemaquetratamos de seguir: la implantacion tardar mas del tiempo estipulado para la labor. En ocasiones, lainfraestructura del cliente debe ajustarse a nuevas demandas repentinas por parte del oferente desoftware.

    Cabesealarquelacompaaclientenecesitaimplantado(esdecir,"funcional")estesistemadeinformacionenlosplazosestipulados,porquesusPROCESOSDENEGOCIOLODEMANDAN.Alreagendarlaimplantacion(accion

    CrisisdelSoftware

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 16/18

    [http://1.bp.blogspot.com/cIZhXy1TgK4/T2i2wfTwxuI/AAAAAAAAADA/Xvoji5rxBwg/s1600/software+crisis.jpg]

    [http://4.bp.blogspot.com/PK4vwD9nEgQ/T2i2e91FkAI/AAAAAAAAAC4/D22Y7qn320/s1600/65655188_1Fotosde

    ReparacionyCorrecciondePcsactualizaciondesoftwarealmasactual.jpg]

    que el cliente acepta pero no de buena gana, motivos no faltan), el cliente comienza a dudar acerca desuinversin.

    Segundosntoma:Laempresacliente,alverunprototipofuncionaldesusistemadeinformacion,mostradoenalguna reunion protocolaria de tipo cliente vendedor, se lleva una segunda decepcion: si bien el sistema seadecuaalasnecesidadesdelcomndelasempresasensusector,nosatisfacelassuyaspropias.Elsintomasemanifiesta con una nueva reagendacion de entrega final de producto que se predice NO SATISFARLASEXPECTATIVASfinalesquesobrestesetenian,yaqueelproductodeseadoimplicaunanuevainversioninclusomonetaria,nosolamenteentiempo.

    Trasmuchos traspisenelprocesode implantacindelnuevosistemade informacion, la fecha(postpuestapormuchotiempo)de laentrega finaldelproducto llegaconel tercersntoma: laanhelada implantaciondelnuevosistema de informacion se realiza con inconvenientes de indole tecnologico: Pareciera que la infraestructuratecnologicacon laquecuentaelclientenoes laadecuadapara implantarelsistemade informacion(Unsintomaqueseveia venir desdeel primer sntoma).Pesea las dificultades el sistema se implanta, conunnotableretrasoyconsumoderecursossuperioralapresupuestada.

    Cuarto sntoma(UNO GRAVE): LOS USUARIOS EN LA COMPAIA CLIENTE COMIENZAN A USAR ELSISTEMADE INFORMACIN. Muyapesarde lautilizacionde"buenaspracticas"y "tecnicascertificadas"porpartedelacompaaproveedoradelproducto,ypesealoscontrolesdecalidadhechossobreaquel,elproductoofreceRESULTADOSNOFIABLESa losusuariosqueloutilizan.Sepresentanerroresdedistintaclase:erroresentipodeejecucion,erroresdevalidaciondeinformacion,erroresderegistrodeinformacinenbasededatos.Enlacompaiaclientelosusuariosdelsistemadeinformacionsepreocupanconelhechodequeel sistemade informacion tieneuna relacion intrinseca con losprocesosdenegociode la compaia, ycomoconsecuenciadirectadelosdeaciertospresentadosconelnuevosistemadeinformacion,aquellosprocesossevenafectados.Elsistemade informacion requieremantenimientoconstanteparaajustarsea lasnecesidadesde la empresa, obviamente conel gastoasociadoen tiempoy recursos, situacionquenodeberiapasar.Esteeselquintosntoma.

    Ampliaremoselescenarioparaabarcarotrossntomasfundamentalesquesedebensealar:

    Transcurridoalgunlapsodetiempo,elclientedeseamodificaralguncasodeusoparaajustarseasusnecesidadesdenegocio(constantementecambianteseneltiempo).Elsextosntomasepresentacuandoserealizaunanalisisdefactibilidadqueleindicaalclientequestamodificacin,quesecreafacildeimplantar,esmasdificildelaqueelpresupuestoinicialdegastospuedecubrir.Estesintomasemanifiestatambienconlaadquisicionde

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 17/18

    nuevos sistemas de informacin que cubran estamodificacion, debido a la imposibilidad presupuestal deimplantar lamodificacioncitada.Elsintoma,porsupuesto,seaplica tambienaaquellasmodificacionesquesonrealizadas sobre el sistema de informacion, y que cubren un espectro amplio, desde modificaciones cuyotiempodeimplantacionnojustificalamodificacionplanteada(enestecasosereducencostossimplementenomodificando el sistema inicial), hasta modificaciones que arruinan casos de uso de alta prioridad en elsistemainicial.

    Este escenario se presenta mas frecuentemente de lo que podamos creer y los sntomas presentados sonsimilares.Sepuederesumirlossntomasdelacrisisdesoftwareenlossiguientesaspectos:

    Los prototipos previos del sistema de software mostrados al cliente no satisfacen los requerimientos delclienteenunporcentajesuperioral30%.Los sistemas de software no se entregan terminados y operativos al 90% en el plazo establecido por elvendedor,contratistaoproductordelsoftware.Losproyectosdedesarrollodesoftwarenoseajustanalpresupuestoinicial,elcualhayquerenegociarconelproductordelsoftware.Bajacalidaddelsoftwaregenerado,oquenocumpleconlasespecificacionescontratadas,estoconbaseenlosrequerimientosfuncionalesynofuncionalescapturadosparauncliente.Componentesdedifcil soporte ymantenimientoo inmantenibles, quedificultaba lagestinyevolucindelsistemasoftware,ysupobreonuloacoplamientoeinteraccinconotrossistemasdesoftwarequeutilizeelcliente.

    Estos sintomas se presentan en el cliente, pero sus orgenes pueden ser identificados PLENAMENTE ALINTERIORDELAINDUSTRIADELSOFTWARE.Estoquieredecirqueesnuestrocliente,larazndeexistirdelaindustriadesoftware,esquienadolecedirectamenteestossntomas,peronodebera:UnproveedordesoftwareNODEBERIAESPERARNINGUNTIPODETRATOPREFERENCIAENUNATRANSACCINdeelaboracineimplantacion de software, la cual , para un cliente , es una transaccin normal, y se espera la entrega de unproductoenunlapsodetiempodeterminado.Unproductoquecumplaconlasespecificacionesofertadasporunproveedor.Nodeberia,unacompaiadesarrolladoradesoftware,esperarextensionesdetiempoparalaentregade su producto tampoco debera hacer soporte y mantenimiento de su producto en los das posteriores a laentrega oficial del producto(Salvo en ocasiones que realmente que lo ameriten y que se relacionan directa einevitablemente con requerimientos no funcionales). menos permitir que la compaia cliente cargueeconomicamenteconelpesodeunaprrrogaoextensindelproyecto.Muchomenos,influiropresionarsobrelainfraestructuratecnologicadelacompaacliente(Enesteultimopuntonoseincluyen).

    Cuando las organizaciones del mundo entero comenzaron a trabajar con herramientas de tecnologas deinformacion, y posteriormente el uso de estas tecnologas se populariz en las empresas, los proveedores deestastecnologiasenfrentaronunfenomeno:elaumentoenlacomplejidadenlossistemasdeinformacioncrecidemaneraexponencial,pasandodesistemasdeinformacinqueadministrabandatosmenoresdelaempresa,asistemasdeinformacinquepermitanasususuarioslagestindetodaunacadenadevalor.Porsupuestoeste cambio se vi reflejado en la complejidad de los nuevos componentes para los Sistemas deinformacin(complejidadmedidaen lineas de codigo por archivo o LOC), y por supuesto, en el trabajo que lasempresas desarrolladoras de software tenian que hacer para satisfacer esta demanda(trabajo medido enhoras/hombre).

    LaCrisisdesoftwaresepuededecirquecomienzaconelcomienzodelautilizacinenlasempresas,deSistemasdecomputo(Recordemosaquellosmainframesqueimperabanenlasgrandescorporaciones,enladcadadel60).Desde aquellos das, hasta la fecha, LA CRISIS DE SOFTWARE PERSISTE, pese a intentos diversos deerradicarla(Contecnicas,paradigmasdeprogramacion, frameworks,etc.). Tomemoscomoejemplo lasiguienteestadisticaextradaparaelao1979acercadelosdesarrollosdesoftwareeneseao:

  • 4/5/2015 Quality&Programming

    http://qualityandprogramming.blogspot.com/ 18/18

    [http://4.bp.blogspot.com/BbBEoLRkNEM/T2jhYXCoAsI/AAAAAAAAADI/z2lHD4dSfKs/s1600/graficsoftware1.jpg]

    Elchartnosofrecelasiguientelectura:Deltotaldesistemasdeinformacinelaboradospara1979,el29%NUNCAFUEENTREGADO,apesardehabersepagadoporellos.Aunmaspreocupante,el47%deestossistemasSEENTREGPERONUNCASEUTILIZ(nosatisfizolasexpectativasdelosclientesyusuarios).El19%Selogrterminar,conarduostrabajoscomolosnarradosenesteartculo,OSEABANDONSUDESARROLLOCOMPLETO.Entrelosdosprimerosporcentajesposteriores,sellegaaunpreocupante76%desistemasdeinformacinnoutilizadosporsuclientefinal,oquenipasarondelaetapadedesarrollo.

    Estasestadsticassonunindicadordeconfianzadelosclienteshacialaindustriadesoftware:Nospuederevelarunantecedentedeporqulosclientesprefiereninvertirensistemasyaterminadosqueensistemasdeinformacinalamedida(queporciertopresentecostesmselevadosfrenteaotrotipodesistemas),yporquelclientepierdepaulatinamentesuconfianzaenlaindustriadesoftware,atalpuntoqueprefierequesuinformacinseaproducidayadministradaatravsdesoftwarequenosepuedecategorizarcomosistemasdeinformacin(softwareofimticaoinclusosoftwareeditordetextoodehojadecalculo),peroenultimainstanciaofreceunasolucinbarata,YFIABLE,peseanoajustarseasusprocesosdenegocio,ycuyaimplantacinsepuedehacerencuestindeHORASYNOMESES,comopuedepasarenaquellosprocesosdedesarrollodesoftware(Esteultimocasoesbastantefrecuenteennuestrospaseslatinoamericanos).

    Publicado20thMarch2012porCristianBuitragoOrtega

    Etiquetas:crisisdelsoftware,logicadenegocio,negociodesoftware,proyectosdesoftware,sintomascrisisdesoftware

    0 Aadiruncomentario