Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Desarrollo e Implementacionde Sistemas de Informacion
Desarrollo e Implementacionde Sistemas de Informacion
Tabla de contenido
1. UML Y EL PROCESO UNIFICADO......................................................................1
Desarrollo e
Implementacin
de
1.1.2
PRIMERAS METODOLOGAS.....................................................................1
1.1.3
ANTECEDENTES
UML.........................................................................2
Sistemas
deDEinformacin
1.1CONCEPTUALIZACIN DE UML......................................................................1
UNID
AD 1.
UML Y
EL
PROC
ESO
UNIFI
CADO
Versin UML 1.0 (enero 1997) Digital, HP, IBM, Microsoft, ORACLE,
Texas Inc., Unisys entre otros, es ofrecida a OMG
objetos.
Versin UML 1.2 (junio 1998) por OMG.
Versin UML 1.3 (junio 1999) por OMG.
Versin UML 2.0 (marzo 2005) por OMG.
1.2.1 VISTAS
UML es un lenguaje para visualizar. Para muchos programadores, la
diferencia entre pensar en una implementacin y transformarla en cdigo es
casi cero. Lo piensas, lo codificas. De hecho, algunas cosas se modelan mejor
directamente en cdigo. El texto es un medio maravilloso para escribir
expresiones y algoritmos de forma concisa y directa [Booch+2006].
Un lenguaje de modelado puede hacer de pseudo-cdigo, cdigo, imgenes,
diagramas, o una larga descripcin, de hecho, puede ser casi todo lo que le
ayuda a describir el sistema. Los elementos que componen un lenguaje de
modelado se llaman notacin.
UML es un lenguaje para especificar. Construir modelos precisos, no
ambiguos y completos. UML cubre la especificacin de todas las decisiones de
anlisis, diseo e implementacin que deben realizarse al desarrollar y
desplegar un sistema con gran cantidad de software.
UML es un lenguaje para construir de programacin visual, pero sus modelos
pueden conectarse de forma directa a una gran variedad de lenguajes de
programacin. Esto significa que es posible establecer correspondencias desde
un modelo UML a un lenguaje de programacin como JAVA, C++ o Visual Basic,
o incluso a tablas en una base de datos relacional o al almacenamiento
persistente de una base de datos orientada a objetos. Las cosas que se
expresan mejor grficamente tambin se representan grficamente en UML.
Esta correspondencia permite la ingeniera directa: la generacin de cdigo a
partir de un modelo UML en un lenguaje de programacin. Lo contrario tambin
es posible: se puede reconstruir un modelo en UML a partir de una
implementacin. La ingeniera inversa requiere, por tanto, herramientas que la
soporten e intervencin humana.
1.2.2 DIAGRAMAS
Un diagrama es la representacin grfica de un conjunto de elementos con sus
relaciones. En concreto, un diagrama ofrece una vista del sistema a modelar.
Para poder representar correctamente un sistema, UML ofrece una amplia
variedad de diagramas para visualizar el sistema desde varias perspectivas.
UML incluye los siguientes diagramas:
Diagrama de casos de uso.
Diagrama de clases.
Diagrama de objetos.
4
Diagrama de secuencia.
Diagrama de colaboracin.
Diagrama de estados.
Diagrama de actividades.
Diagrama de componentes.
Diagrama de despliegue.
Los diagramas ms interesantes (y los ms usados) son los de casos de uso,
clases y secuencia, por lo que nos centraremos en stos. Pare ello, se utilizar
ejemplos de un sistema de venta de entradas de cine por Internet.
El diagrama de casos de usos representa grficamente los casos de uso que
tiene un sistema. Se define un caso de uso como cada interaccin supuesta
con el sistema a desarrollar, donde se representan los requisitos funcionales.
Es decir, se est diciendo lo que tiene que hacer un sistema y cmo. En la
figura 3 se muestra un ejemplo de casos de uso, donde se muestran tres
actores (los clientes, los taquilleros y los jefes de taquilla) y las operaciones
que pueden realizar (sus roles).
El diagrama de clases muestra un conjunto de clases, interfaces y sus
relaciones. ste es el diagrama ms comn a la hora de describir el diseo de
los sistemas orientados a objetos. En la figura 4 se muestran las clases
globales, sus atributos y las relaciones de una posible solucin al problema de
la venta de entradas.
En el diagrama de secuencia se muestra la interaccin de los objetos que
componen un sistema de forma temporal. Siguiendo el ejemplo de venta de
entradas, la figura 5 muestra la interaccin de crear una nueva sala para un
espectculo.
El resto de diagramas muestran distintos aspectos del sistema a modelar. Para
modelar el comportamiento dinmico del sistema estn los de interaccin,
colaboracin, estados y actividades. Los diagramas de componentes y
despliegue estn enfocados a la implementacin del sistema.
Los atributos o caractersticas de una Clase pueden ser de tres tipos, los que definen el
grado de comunicacin y visibilidad de ellos con el entorno, estos son:
o
public (+): Indica que el atributo ser visible tanto dentro como fuera de la
clase, es decir, es accesible desde todos lados.
private (-): Indica que el atributo slo ser accesible desde dentro de la
clase (slo sus mtodos lo pueden accesar).
Los mtodos u operaciones de una clase son la forma en como sta interacta con su
entorno, stos pueden tener las caractersticas:
public (+): Indica que el mtodo ser visible tanto dentro como fuera de la clase,
es decir, es accsesible desde todos lados.
private (-): Indica que el mtodo slo ser accesible desde dentro de la clase (slo
otros mtodos de la clase lo pueden accesar).
protected (#): Indica que el mtodo no ser accesible desde fuera de la clase,
pero si podr ser accesado por mtodos de la clase adems de mtodos de las
subclases que se deriven (herencia).
Relaciones entre Clases:
Por Valor: Es un tipo de relacin esttica, en donde el tiempo de vida del objeto
incluido est condicionado por el tiempo de vida del que lo incluye. Este tipo de
relacin es comnmente llamada Composicin (el Objeto base se construye a
partir del objeto incluido, es decir, es "parte/todo").
1.2.4 MECANISMOS
Mecanismos de extensibilidad
11
Estereotipos
Representa una distincin de uso. Puede ser aplicado a cualquier
elemento de modelado, incluyendo clases, paquetes, relaciones de
herencia.
Investigacin preliminar
Anlisis
12
Diseo
Implementacin
Instalacin
Middle CASE
Lower CASE
Upper CASE
Estos se utilizan dependiendo de:
Plataformas de soporte
Las fases del ciclo de vida del desarrollo de sistemas que cubren
La arquitectura de las aplicaciones que se producen
Su funcionabilidad.
13
1.4 DIAGRAMAS
1.4.1 ACTIVIDAD
El diagrama de Actividad es un diagrama de flujo del proceso multi-propsito
que se usan para modelar el comportamiento del sistema. Los diagramas de
actividad se pueden usar para modelar un Caso de Uso, o una clase, o un
mtodo complicado.
En ULM un diagrama de actividad se usa para mostrar la secuencia de
actividades. Los diagramas de actividad muestran el flujo de trabajo desde un
punto de inicio hasta el punto final detallando muchas de las rutas de
decisiones que existen en el progreso de eventos contenidos en la actividad.
Estos tambin pueden usarse para detallar situaciones donde el proceso
paralelo puede ocurrir en la ejecucin de algunas actividades.
14
Restriccin de Accin
Las restricciones se pueden adjuntar a una accin.
Flujo de control
Un flujo de control muestra el flujo de control de una
accin a otra. Su notacin es una lnea con una punta de flecha.
Nodo inicial
Un nodo inicial o de comienzo se describe por un gran punto
negro.
Nodo Final
Hay dos tipos de nodos finales: nodos finales de
actividad y de flujo. El nodo final de actividad se describe
como un crculo con punto dentro del mismo.
El nodo final se flujo se describe
como un circulo con una cruz
dentro del mismo.
Modelos Detallados
Modelos Formales
17
Elementos bsicos
Actores: Los actores representan un tipo de usuario del sistema. Se entiende
como usuario cualquier cosa externa que interacta con el sistema.
No tiene por qu ser un ser humano, puede ser otro sistema
informtico o unidades organizativas o empresas.
Siempre hay que intentar independizar los actores de la forma en
que se interacta con el sistema. Un actor en un diagrama de caso
de uso representa un rol que alguien puede estar jugando, no un individuo
particular por lo tanto puede haber personas particulares que pueda estar
usando el sistema de formas diferentes en diferentes ocasiones.
Caso de uso: Es una tarea que debe poder llevarse a cabo con el apoyo del
sistema que se est desarrollando. Se representa mediante un
ovulo. Cada caso de uso debe detallarse habitualmente
mediante una descripcin textual.
Escenario: es una interaccin entre el sistema y los actores, que pueden ser
descritos mediante una secuencia de mensajes. Un caso de uso es una
generalizacin de un escenario.
Tipo de acciones.
Existen tres tipos de asociacin o relaciones en los diagramas de casos de uso:
18
Include: Se puede incluir una relacin entre dos casos de uso de tipo include
si se desea especificar comportamiento comn en dos o ms casos de uso.
mejor.
La identificacin de funcionalidad comn puede ayudar a descubrir el
posible uso de componentes ya existentes en la implementacin.
Extend: Se puede incluir una relacin entre dos casos de uso de tipo include
si se desea especificar diferentes variantes del mismo caso de uso. Es decir,
esta relacin implica que el comportamiento de un caso de uso es diferente
dependiendo de ciertas circunstancias. En principio esas variaciones pueden
tambin mostrarse como diferentes descripciones de escenarios asociadas al
mismo caso de uso.
19
Dependencia
Asociacin
Generalizacin
Realizacin
20
Objetivos
Mejorar la productividad en el desarrollo y mantenimiento del software.
Aumentar la calidad del software.
Reducir el tiempo y costo de desarrollo y mantenimiento de los sistemas
informticos.
Mejorar la planificacin de un proyecto
Aumentar la biblioteca de conocimiento informtico de una empresa
ayudando a la bsqueda de soluciones para los requisitos.
21
Clasificacin
Aunque no es fcil y no existe una forma nica de clasificarlas, las
herramientas CASE se pueden clasificar teniendo en cuenta los siguientes
parmetros:
Las plataformas que soportan.
Las fases del ciclo de vida del desarrollo de sistemas que cubren.
La arquitectura de las aplicaciones que producen.
Su funcionalidad.
La siguiente clasificacin es la ms habitual basada en las fases del ciclo de
desarrollo que cubren:
22
Sistema de gestin
Etapa de Ideacin:
El objetivo de esta etapa es trabajar en la idea que guiar los primeros pasos
del proceso de creacin que se logra con el sistema de gestin propuesto.
Existen varias metodologas para lograr refinar la idea. Sin embargo, se
recomienda una muy prctica:
23
Esquema de Gestin
Etapa de Control:
Para este concepto se han desarrollado varias definiciones (Fuente: CABRERA,
E., Control [En lnea], Monografias.com, [citado en marzo de 2005].
Disponible en www.monografias.com/trabajos14/control/control.shtml), a lo
25
26
Elaboracin gradual
1.5.3 SOPORTE
El soporte para modelado UML e ingeniera inversa de NetBeans resulta muy
til, especialmente en el anlisis de grandes proyectos. Lamentablemente,
NetBeans ya no incluye un gestor de mdulos, y -en teora- nos tenemos que
limitar a los plugins del mismo, entre los que no se incluye dicha funcionalidad.
En ella, descargaremos el cluster UML, descomprimiendo su contenido en la
raz del directorio de instalacin de NetBeans. Una vez hecho, el directorio
uml (que contiene el cluster) debe quedar al mismo nivel que otros cluster
como java, profiler, etc. Listo! Tras reiniciar NetBeans, el mdulo estar
listo para usar.
27
29
1.5.7 PROTOTIPOS
Es un modelo a escala o facsmil de lo real, pero no tan funcional para que
equivalga a un producto final, ya que no lleva a cabo la totalidad de las
funciones necesarias del sistema final. Proporcionando una retroalimentacin
temprana por parte de los usuarios acerca del Sistema.
El principal propsito es obtener y validar los requerimientos esenciales,
manteniendo abiertas, las opciones de implementacin. Esto implica que se
debe tomar los comentarios de los usuarios, pero debemos regresar a sus
objetivos para no perder la atencin.
En la fase de Diseo, su propsito, basndose en los requerimientos
previamente obtenidos, es mostrar las ventanas, su navegacin, interaccin,
controles y botones al usuario y obtener una retroalimentacin que nos permite
mejorar el Diseo de Interfaz.
1.5.8 MANTENIMIENTO
Es importante considerar la evaluacin y el monitoreo de un sistema en
trminos del mantenimiento necesario y, en consecuencia, reducir o contener
los costos implcitos. El mantenimiento de sistemas puede clasificarse en
cuatro grupos, cada uno de los cuales repercute en el plan estratgico de
informacin institucional de diferentes maneras:
Mantenimiento correctivo. Independientemente de cun bien diseado,
desarrollado y probado est un sistema o aplicacin, ocurrirn errores
31
3 IMPLEMENTACIN
Dentro del ciclo de vida se encuentra la fase de implementacin de un
sistema, es la fase ms costosa y que consume ms tiempo, se dice que es
costosa porque muchas personas, herramientas y recursos, estn involucrados
en el proceso y consume mucho tiempo porque se completa todo el trabajo
realizado previamente durante el ciclo de vida.
En la fase de implementacin se instala el nuevo sistema de informacin
para que empiece a trabajar y se capacita a sus usuarios para que puedan
utilizarlo.
La instalacin puede realizarse segn cuatro mtodos: Directo, paralelo,
piloto y en fases.
Mtodo directo: Se abandona el sistema antiguo y se adopta
inmediatamente el nuevo. Esto puede ser sumamente riesgoso porque si algo
marcha mal, es imposible volver al sistema anterior, las correcciones debern
hacerse bajo la marcha. Regularmente con un sistema nuevo suelen surgir
problemas de pequea y gran escala. Si se trata de grandes sistemas, un
problema puede significar una catstrofe, perjudicando o retrasando el
desempeo entero de la organizacin.
Mtodo paralelo: Los sistemas de informacin antiguo y nuevo operan
juntos hasta que el nuevo demuestra ser confiable. Este mtodo es de bajo
riesgo. Si el sistema nuevo falla, la organizacin puede mantener sus
actividades con el sistema antiguo. Pero puede representar un alto costo al
32
requerir contar con personal y equipo para laborar con los dos sistemas, por lo
que este mtodo se reserva especficamente para casos en los que el costo de
una falla sera
considerable.
Mtodo piloto: Pone a prueba el nuevo sistema slo en una parte de la
organizacin. Al comprobar su efectividad, se implementa en el resto de la
organizacin. El mtodo es menos costoso que el paralelo, aunque ms
riesgoso. Pero en este caso el riesgo es controlable al limitarse a ciertas reas,
sin afectar toda la empresa.
Mtodo en fases: La implementacin del sistema se divide en partes o
fases, que se van realizando a lo largo de un periodo de tiempo,
sucesivamente. Una vez iniciada la primera fase, la segunda no se inicia hasta
que la primera se ha completado con xito. As se contina hasta que se
finaliza con la ltima fase. Es costoso porque se hace ms lenta la
implementacin, pero sin duda tiene el menor riesgo.
33
UNID
AD 2.
DISE
O DE
SISTE
MAS
34
2. DISEO DE SISTEMAS
2.1 DISEO ESTRUCTURADO DE SISTEMAS
El diseo estructurado de sistemas se ocupa de la identificacin, seleccin y
organizacin de los mdulos y sus relaciones. Se comienza con la
especificacin resultante del proceso de anlisis, se realiza una descomposicin
del sistema en mdulos estructurados en jerarquas, con caractersticas tales
que permitan la implementacin de un sistema que no requiera elevados
costos de mantenimiento. La idea original del diseo estructurado fue
presentada en la dcada de los '70, por Larry Constantine, y continuada
posteriormente por otros autores: Myers, Yourdon y Stevens.
El diseo estructurado es un enfoque disciplinado de la transformacin de qu
es necesario para el desarrollo de un sistema, a cmo deber ser hecha la
implementacin. La definicin anterior implica que: el anlisis de
requerimientos del usuario (determinacin del qu) debe preceder al diseo y
que, al finalizar el diseo se tendr medios para la implementacin de las
necesidades del usuario (el cmo), pero no se tendr implementada la solucin
al problema. Cinco aspectos bsicos pueden ser reconocidos:
1. Permitir que la forma del problema gue a la forma de la solucin. Un
concepto bsico del diseo de arquitecturas es: las formas siempre siguen
funciones.
2. Intentar resolver la complejidad de los grandes sistemas a travs de la
segmentacin de un sistema en cajas negras, y su organizacin en una
jerarqua conveniente para la implementacin. 3. Utilizar herramientas,
especialmente grficas, para realizar diseos de fcil comprensin. Un diseo
estructurado usa diagramas de estructura (DE) en el diseo de la arquitectura
de mdulos del sistema y adiciona especificaciones de los mdulos y cumplas
(entradas y salidas de los mdulos), en un Diccionario de Datos (DD).
4. Ofrecer un conjunto de estrategias para derivar el diseo de la solucin,
basndose en los resultados del proceso de anlisis.
5. Ofrecer un conjunto de criterios para evaluar la calidad de un diseo con
respecto al problema a ser resuelto, y las posibles alternativas de solucin, en
la bsqueda de la mejor de ellas. El diseo estructurado produce sistemas
fciles de entender y mantener, confiables, fcilmente desarrollados, eficientes
y que funcionan.
36
Solaris,
Lyns OS
Spectra
a.
b.
c.
d.
e.
Clase Abstracta
Las clases se representan con
rectngulos divididos en tres
40
Multiplicidad
Las notaciones utilizadas para sealar la multiplicidad se colocan cerca del final
de una asociacin. Estos smbolos indican el nmero de instancias de una clase
vinculadas a una de las instancias de la otra clase. Por ejemplo, una empresa
puede tener uno o ms empleados, pero cada empleado trabaja para una sola
empresa solamente.
No ms de uno
Empresa
1
Muchos
1...*
Empleado
Asociacin Tripartita
Clase A
Clase B
Asociacin Tripartita
41
Clase A
Composicin y Agregacin
Composicin es un tipo especial de agregacin que denota una fuerte posesin
de la Clase Todo, a la Clase Parte. Se grafica con un rombo diamante
relleno contra la clase que representa el todo.
La agregacin es una relacin en la que la Clase Todo juega un rol ms
importante que la Clase "Parte", pero las dos clases no son dependientes una
de otra. Se grafica con un rombo diamante vaco contra la Clase Todo.
Generalizacin
Todo
Todo
Parte
Parte
Generalizacin es otro
nombre para herencia.
Se refiere a una relacin entre dos clases en donde una Clase Especfica es
una versin especializada de la otra, o Clase General. Por ejemplo, Honda es
un tipo de auto, por lo que la Clase Honda va a tener una relacin de
generalizacin con la Clase Auto
Clase
General
Clase
Especfica
Diagrama de Objetos
Los Diagramas de Objetos estn vinculados con los Diagramas de Clases. Un
objeto es una instancia de una clase, por lo que un diagrama de objetos puede
ser visto como una instancia de un diagrama de clases. Los diagramas de
42
Atributos
Como con las clases, los atributos se listan en un rea inferior. Sin embargo, los
atributos de los objetos deben tener un valor asignado
Nombre Objeto : Clase
Atributo
Atributo
Atributo
Atributo
tipo
tipo
tipo
tipo
=
=
=
=
Valor
Valor
Valor
Valor
43
Casos de Uso
Se representan con valos. La etiqueta en el valo indica la funcin del
sistema.
Imprimi
Actores
Los actores son los usuarios de un sistema.
Relaciones
Las relaciones entre un actor y un caso de uso, se dibujan con una lnea simple.
Para relaciones entre casos de uso, se utilizan flechas etiquetadas "incluir" o
"extender." Una relacin "incluir" indica que un caso de uso es necesitado por
otro para poder cumplir una tarea. Una relacin "extender" indica opciones
alternativas para un cierto caso de uso.
<<
Caso de uso
<<Extender>>
Caso de uso
Caso de uso
Diagrama de Estados
En cualquier momento, un objeto se encuentra en un estado particular, la luz
est encendida o apagada, el auto en movimiento o detenido, la persona
44
Estado
Transicin
Una flecha representa el pasaje entre diferentes estados de un objeto. Se
etiqueta con el evento que lo provoca y con la accin resultante.
Evento / accin
Estado Inicial
Estado Final
Ejemplo de Diagrama de Estado
Acelera
Eleva
Desciende
Diagrama de Secuencias
Desacelera
45
Activacin
Los cuadros de activacin representan el tiempo que un objeto necesita para
completar una tarea.
Mensajes
Los mensajes son flechas que representan comunicaciones entre objetos. Las
medias flechas representan mensajes asincrnicos. Los mensajes asincrnicos
Son enviados desde un objeto que no va a esperar una respuesta del receptor
para continuar con sus tareas.
Lneas de Vida
Las lneas de vida son verticales y en lnea de puntos, ellas indican la presencia
del objeto durante el tiempo.
Lneas de Vida
46
Destruccin de Objetos
Los objetos pueden ser eliminados tempranamente usando una flecha
etiquetada "<<destruir>>" que apunta a una X.
Loops
Una repeticin o loop en un diagrama <<
de secuencias, es representado como un
rectngulo. La condicin para abandonar elDestruir
loop se coloca en la parte inferior
entre corchetes [ ].
Diagrama de Actividades
Un diagrama de actividades ilustra la naturaleza dinmica de un sistema
mediante el modelado del flujo ocurrente de actividad en actividad. Una
actividad representa una operacin en alguna clase del sistema y que resulta
en un cambio en el estado del sistema. Tpicamente, los diagramas de
actividad son utilizados para modelar el flujo de trabajo interno de una
operacin.
Estados de Accin
Los estados de accin representan las acciones no interrumpidas de los
objetos.
Actividad
Flujo de la Accin
j
Los flujos de accin, representados con flechas, ilustran las relaciones
entre los estados de accin.
Actividad
Actividad
[Condicin para
llir]
sa
Flujo de Objetos
El flujo de objetos se refiere a la creacin y modificacin de objetos por
parte de actividades. Una flecha de flujo de objeto, desde una accin a un
47
Ramificacin
Un rombo representa una decisin con camino.
Actividad
[ Condicin 1]
Actividad
Actividad
48
Sincronizacin
Actividad
Actividad
Actividad
Marcos de Responsabilidad
Los marcos de responsabilidad agrupan a las actividades relacionadas en una
misma columna.
.
Marco 1
Marco 2
Actividad
Objeto: Clase
Diagrama de Colaboraciones
Actividad
Mensajes
Contrariamente a los diagramas de secuencias, los diagramas de colaboracin
no tienen una manera explcita para denotar el tiempo, por lo que entonces
numeran a los mensajes en orden de ejecucin. La numeracin puede
anidarse; por ejemplo, para mensajes anidados al mensaje nmero 1: 1.1, 1.2,
1.3, etc. La condicin para un mensaje se suele colocar entre corchetes. Para
indicar un loop se usa * despus de la numeracin.
Diagrama de Componentes
Un diagrama de componentes describe la organizacin de los componentes
fsicos de un sistema.
Componente
Un componente es un bloque de construccin fsica del sistema.
Componente
Interface
Una interface describe a un grupo de operaciones usada o creada por
componentes.
Dependencias
Componente
50
Componente
Dependencia
Diagrama de Distribucin
El diagrama de distribucin UML muestra la arquitectura fsica de un sistema
informtico. Puede representar a los equipos y a los dispositivos, y tambin
mostrar sus interconexiones y el software que se encontrar en cada mquina.
Nodo
Un nodo es un recurso fsico capaz de ejecutar componentes de cdigo.
(Procesador)
Asociacin
La asociacin se refiere a la conexin
fsica entre los nodos, como por ejemplo
Procesador
Ethernet.
Nombre
Nodo
Nodo
Componentes y Nodos
Nodo
Componente 1
2
AdaptacinComponente
del UML
51
En donde:
Ejemplo:
Una Cuenta Corriente que posee como caracterstica:
Balance
Depositar
Girar
y Balance
2.3.1.2 PROPIEDAD
Casos Particulares:
Clase Abstracta:
52
Una clase abstracta se denota con el nombre de la clase y de los mtodos con
letra "itlica". Esto indica que la clase definida no puede ser instanciada pues
posee mtodos abstractos (an no han sido definidos, es decir, sin
implementacin). La nica forma de utilizarla es definiendo subclases, que
implementan los mtodos abstractos definidos.
Clase parametrizada:
2.3.3 INTERACCIN
Relaciones entre Clases:
Ahora ya definido el concepto de Clase, es necesario explicar como se pueden
interrelacionar dos o ms clases (cada uno con caractersticas y objetivos
diferentes).
Antes es necesario explicar el concepto de cardinalidad de relaciones: En UML,
la cardinalidad de las relaciones indica el grado y nivel de dependencia, se
anotan en cada extremo de la relacin y stas pueden ser:
i.
Indica que una subclase hereda los mtodos y atributos especificados por una
Super Clase, por ende la Subclase adems de poseer sus propios mtodos y
atributos, poseer las caractersticas y atributos visibles de la Super Clase
(public y protected), ejemplo:
54
2.3.2 CARACTERSTICAS
Herencia.
La herencia define la relacin entre clases es un, donde una subclase hereda
de una o ms superclases.
La herencia implica una jerarqua de generalizacin/especializacin, en la que
una subclase especializa el comportamiento y/o la estructura, ms general, de
sus superclases.
Herencia simple.
La herencia simple se da cuando, en una jerarqua de clases, las subclases
solamente pueden heredar de una superclase.
Herencia mltiple.
A diferencia de la herencia simple, en la herencia mltiple las subclases
pueden heredar de ms de una superclase.
Polimorfismo.
La palabra polimorfismo tiene como origen las palabras griegas poli (muchos) y
moros (formas) y se utiliza para indicar que un nombre puede denotar
instancias (objetos) de clases diferentes que estn relacionadas por alguna
superclase comn.
El polimorfismo puede considerarse como la caracterstica ms potente de los
lenguajes orientados a objetos, despus de su capacidad para soportar la
abstraccin.
Existe polimorfismo cuando interactan las caractersticas de herencia y enlace
dinmico.
Enlace esttico y enlace dinmico
El enlace esttico (denominado tambin enlace temprano) consiste en la
asignacin esttica de tipos a todas las variables y expresiones, en tiempo de
compilacin.
El enlace dinmico (denominado tambin enlace tardo) consiste en asignar, en
tiempo de ejecucin, los tipos a las variables y expresiones.
tiene forma ni tiene rea. Esto lo expresamos declarando como una clase
abstracta, declarando la funcin miembro rea abstract.
LAS CLASES ABSTRACTAS
Solamente se pueden usar como clases base para otras clases. No se pueden
crear objetos pertenecientes a una clase abstracta. Sin embargo, se pueden
declarar variables de dichas clases. La caracterstica de hacer una
Clase/Mtodo abstract reside en que no puede ser generada una instancia de la
misma, este comportamiento se demuestra en el mtodo principal (main).
Como se muestra en las figuras cada clase tiene diferentes niveles, por decirlo
as, de importancia de ah se desprenden los trminos de Superclase y
Subclases.
SUPERCLASE Y SUBCLASE
La clase Padre o Superclase se llama de ese modo debido a que de la misma
se desprenden otras clases llamadas Subclases las cuales heredarn sus
atributos y operaciones, una Superclase puede contener cualquier nmero de
Subclases.
CIRCULO
La Clase Circulo es una de las Subclases de la Superclase Figura, sta a su vez
puede convertirse en una Superclase si de ella se desprenden otras clases. La
misma posee su nivel de importancia y a su vez hereda los mtodos y atributos
dela superclase.
En ste segundo ejemplo podemos ver que al contrario del anterior del
anterior, que de una subclase pueden desprenderse otras subclases lo que
convierte a sta Subclase en una Superclase:
A es la superclase de B, C y D.
D es la superclase de E.
B, C y D son subclases de A.
E es una subclase de D. Una de las caractersticas que no se pueden apreciar
en stas figuras es que cada Subclase obtiene hereda, caractersticas de su
Clase Padre de aqu proviene el trmino de herencia que detallar a
continuacin.
HERENCIA
Es una propiedad esencial de la Programacin Orientada a Objetos que
consiste en la creacin de nuevas clases a partir de otras ya existentes stas
nuevas clases obtienen propiedades de sus clases padres, las cuales propagan
sus atributos y operaciones a sus subclases. Las Subclases admiten la
definicin de nuevos atributos, as como crear, modificar o inhabilitar
propiedades.
57
2.3.4 Subsistemas
Objetos.
Los objetos, concretos y abstractos, estn a nuestro alrededor, forman nuestro
entorno. Podemos distinguir cada objeto en base a sus caractersticas y
comportamientos.
Por ejemplo, en el aula observamos los objetos:
alumno
profesor
mesa
silla
mesabanco
pizarrn
58
Abstraccin.
La abstraccin es una de las principales herramientas con que combatimos la
complejidad.
Una abstraccin denota las caractersticas esenciales de un objeto y
proporciona lmites conceptuales definidos respecto a la perspectiva del
observador.
En el modelo de objetos se persigue construir abstracciones que imiten
directamente el vocabulario de un determinado dominio de problema, por lo
que el problema central del diseo orientado a objetos es tomar la decisin
acerca del conjunto adecuado de abstracciones para ese dominio.
Comportamiento.
Los objetos no solamente poseen atributos, sino que tambin exhiben
comportamientos que manifiestan al interactuar con otros objetos en un
esquema cliente/servidor, donde un cliente es cualquier objeto que utiliza los
recursos de otro objeto denominado servidor.
Encapsulamiento.
El encapsulamiento es el proceso de almacenar en un mismo compartimento
los elementos de una abstraccin que constituyen su estructura y su
comportamiento; sirve para separar la interfaz contractual de una abstraccin
y su implementacin.
El encapsulamiento se consigue, a menudo, mediante la ocultacin de
informacin. Generalmente, la estructura de un objeto est oculta, as como la
implementacin de sus mtodos.
Modularidad.
La modularidad es la descomposicin de un sistema en un conjunto de
mdulos cohesivos y dbilmente acoplados.
La descomposicin de un sistema en componentes individuales ayuda a
manejar la complejidad. Sin embargo, una descomposicin desordenada puede
producir un efecto contrario que se puede contrarrestar reagrupando los
componentes en mdulos o paquetes. Cada mdulo debe contener
componentes con caractersticas afines, de tal manera que faciliten la
produccin de la arquitectura fsica de un sistema.
59
2.4.2 OBJETIVO
2.4.3 TIPOS
Dos tipos de diagramas
2.4.4 APLICACIONES
Visual Studio 2008
Los diagramas de implementacin evalan la implementacin de un sistema de
aplicaciones en un centro de datos lgico concreto. Existen dos maneras de
crear diagramas de implementacin. La primera es desde el Diseador de
aplicaciones, sin definir con anterioridad un sistema explcito. Los Diseadores
de sistemas distribuidos crean un sistema predeterminado mediante las
definiciones de aplicacin del diagrama de aplicaciones porque siempre se
requiere que un sistema describa una implementacin del sistema. La segunda
opcin es crearlo desde un sistema definido en el Diseador de sistemas.
Para crear un diagrama de implementacin desde el Diseador de aplicaciones
1.
En el Diseador de aplicaciones, elija Definir implementacin en el men
Diagrama.
60
62
63
64
65
66
La velocidad de acceso.
El tamao de la informacin.
El tipo de la informacin.
2.6.1 OBJETIVOS
Un buen diseo de base de datos es, por tanto, aqul que:
Divide la informacin en tablas basadas en temas para reducir los datos
redundantes.
Proporciona a Access la informacin necesaria para reunir la informacin de las
tablas cuando as se precise.
Ayuda a garantizar la exactitud e integridad de la informacin.
67
Ajustar el diseo:
Analice el diseo para detectar errores. Cree las tablas y agregue algunos
registros con datos de ejemplo. Compruebe si puede obtener los resultados
previstos de las tablas. Realice los ajustes necesarios en el diseo.
68
69
Campaas
Potentiales
Tarifas
71
Impuestos aplicados.
Una vez creado el almacn de datos, necesitamos crear los procesos ETL
(Extract-Transform-Load) que peridicamente extraern la informacin desde el
vtiger CRM en produccin y cargarn con ella el Almacn de Datos, para ser
usado por las diversas herramientas de confeccin de informes (reporting) y
anlisis disponibles. El procedimiento esencial se muestra en la imagen
siguiente:
Como puede verse, el almacn de datos refleja la lgica del negocio y debe ser
construida para adaptarse perfectamente a esta lgica. As pues, ser
necesario realizar cuantas adaptaciones sean necesarias, al almacn y al resto
de procesos, para conseguir esto y por consiguiente el mximo beneficio y
aprovechamiento de la herramienta BI.
72
Comprensibilidad: programadores
fcilmente la lgica del programa.
2.7.2 PRODUCTIVIDAD
En el terreno de las metodologas de desarrollo de software, se aprecia una
necesaria mejora en la puesta en prctica de dichas metodologas de
desarrollo, as como la flexibilizacin de stas para potenciar la productividad
de las mismas sin renunciar a la calidad de los mismos.
Por esta razn se hace cada vez ms necesario disponer de herramientas
efectivas para aumentar la productividad, no solo desde un punto de vista
terico sino especialmente en la puesta en prctica de dichas metodologas,
consiguiendo que su despliegue impacte positivamente en el negocio de la
empresa.
La mejora de la efectividad y la productividad en el desarrollo de software est
ligada a la utilizacin de buenas prcticas de Ingeniera de Software. En la
actualidad es indiscutible que el uso de una metodologa apropiada es un
factor clave para el xito de cualquier esfuerzo de ingeniera y tambin debera
ser-lo en la ingeniera del software. La ingeniera de software, por su relativa
juventud como disciplina y por la altsima variabilidad de los productos que
gestiona, pocas organizaciones que desarrollen software utilizan metodologas
de forma sistemtica, aunque esta tendencia est cambiando da a da.
La Ingeniera de Procesos contribuye en esta lnea, diseando y construyendo
metodologas en funcin de las necesidades especficas de cada organizacin.
De este modo, de la misma forma que las metodologas deben responder a
multiplicidad de estndares, tambin deben adaptarse a las caractersticas
particulares de cada uno de los proyectos que se llevan a cabo en la
organizacin. La complejidad del proceso hace imprescindible que una gran
parte de las actividades del desarrollo de software se automatice.
Los modelos y las metodologas basadas en modelos son la herramienta para
abstraer de los detalles irrelevantes en un determinado contexto y poder
razonar sobre el sistema a construir. Los modelos estn demostrando ser una
herramienta de productividad, acercando los modelos a los expertos del
76
2.7.3.1 TAMAO
El proceso a seguir para realizar desarrollo orientado a objetos es complejo,
debido a la complejidad que nos vamos a encontrar al intentar desarrollar
cualquier sistema software de tamao medio-alto. El proceso est formado por
una serie de actividades y subactividades, cuya realizacin se va repitiendo en
el tiempo aplicado a distintos elementos.
En este apartado se va a presentar una visin general para poder tener una
idea del proceso a alto nivel, y ms adelante se vern los pasos que componen
cada fase.
Las tres fases al nivel ms alto son las siguientes:
Planificacin y Especificacin de Requisitos: Planificacin, definicin de
requisitos, construccin de prototipos, etc. 26 IV.1 Proceso de Desarrollo
Desarrollo Orientado a Objetos con UML Xavier Ferr Grau, Mara Isabel
Snchez Segura
Construccin: La construccin del sistema. Las fases dentro de esta etapa son
las siguientes:
79
2.7.3.2 FUNCION
Hewlett-Packard ha desarrollado un conjunto de factores de calidad de software
al que se le ha dado el acrnimo de FURPS:
- Funcionalidad. Se aprecia evaluando el conjunto de caractersticas y
capacidades del programa, la generalidad de las funciones entregadas y la
seguridad del sistema global.
- Usabilidad (facilidad de empleo o uso) Se valora considerando factores
humanos, la esttica, consistencia y documentacin general.
- Fiabilidad. Se evala midiendo la frecuencia y gravedad de los fallos, la
exactitud de las salidas (resultados), el tiempo medio entre fallos (TMEF), la
capacidad de recuperacin de un fallo y la capacidad de prediccin del
programa.
- Rendimiento. Se mide por la velocidad de procesamiento, el tiempo de
respuesta, consumo de recursos, rendimiento efectivo total y eficacia. 75
80
81
84
puede guiarse con mtricas tales como CR, pero el rbitro final debera ser la
respuesta del usuario basada en prototipos de IGU.
86
3. IMPLEMENTACIN
3.1 ELABORACION DE UN PROGRAMA DE
IMPLEMENTACIN
3.1.1 OBJETIVO
Una implementacin es la realizacin de una aplicacin, instalacin o la
ejecucin de un plan, idea, modelo cientfico, diseo, especificacin, estndar,
algoritmo o poltica.
En ciencias de la computacin, una implementacin es la realizacin de una
especificacin tcnica o algoritmos como un programa, componente software,
u otro sistema de cmputo. Muchas implementaciones son dadas segn a una
especificacin o un estndar.
Por ejemplo, un navegador web respeta (o debe respetar) en su
implementacin, las especificaciones recomendadas segn el World Wide Web
Consortium, y las herramientas de desarrollo del software contienen
implementaciones de lenguajes de programacin.
87
Programacin extrema
La programacin extrema o eXtreme Programming (XP) es una
metodologa de desarrollo de la ingeniera de software formulada por Kent
Beck, autor del primer libro sobre la materia, Extreme Programming
Explained: Embrace Change (1999). Es el ms destacado de los procesos
giles de desarrollo de software. Al igual que stos, la programacin
extrema se diferencia de las metodologas tradicionales principalmente en
89
UNID
AD 3.
IMPLE
MENT
ACIN
90
3.4 DOCUMENTACIN
La documentacin de sistema de informacin es el conjunto de informacin
que nos dice qu hacen los sistemas, como lo hacen y para quin lo hacen. La
documentacin es un material que explica las caractersticas tcnicas y la
operacin de un sistema de informacin.
Hay varios tipos de documentacin como:
94
3.4.2 TIPOS
Mtodo directo: Se abandona el sistema antiguo y se adopta
inmediatamente el nuevo. Esto puede ser sumamente riesgoso porque si algo
marcha mal, es imposible volver al sistema anterior, las correcciones debern
hacerse bajo la marcha. Regularmente con un sistema nuevo suelen surgir
problemas de pequea y gran escala. Si se trata de grandes sistemas, un
problema puede significar una catstrofe, perjudicando o retrasando el
desempeo entero de la organizacin.
Mtodo paralelo: Los sistemas de informacin antiguo y nuevo operan juntos
hasta que el nuevo demuestra ser confiable. Este mtodo es de bajo riesgo. Si
el sistema nuevo falla, la organizacin puede mantener sus actividades con el
sistema antiguo. Pero puede representar un alto costo al requerir contar con
personal y equipo para laborar con los dos sistemas, por lo que este mtodo se
reserva especficamente para casos en los que el costo de una falla sera
considerable.
Mtodo piloto: Pone a prueba el nuevo sistema slo en una parte de la
organizacin. Al comprobar su efectividad, se implementa en el resto de la
organizacin. El mtodo es menos costoso que el paralelo, aunque ms
riesgoso. Pero en este caso el riesgo es controlable al limitarse a ciertas reas,
sin afectar toda la empresa.
96
97
UNID
AD 4.
VERIF
IACI
NY
VALID
ACIN
98
4. VERIFICACIN Y VALIDACIN
4.1 PRUEBAS
4.1.1 OBJETIVO
Las pruebas de software (en ingls software testing) son las investigaciones
empricas y tcnicas cuyo objetivo es proporcionar informacin objetiva e
independiente sobre la calidad del producto a la parte interesada o stakeholder.
Es una actividad ms en el proceso de control de calidad.
Las pruebas son bsicamente un conjunto de actividades dentro del desarrollo
de software. Dependiendo del tipo de pruebas, estas actividades podrn ser
implementadas en cualquier momento de dicho proceso de desarrollo
El objetivo de las pruebas es presentar informacin sobre la calidad del
producto a las personas responsables de este.
Teniendo esta afirmacin en mente, la informacin que puede ser requerida es
de lo ms variada. Esto hace que el proceso de testing sea completamente
dependiente del contexto1 en el que se desarrolla.
A pesar de lo que muchos promueven, no existen las "mejores prcticas" como
tal. Toda prctica puede ser ideal para una situacin pero completamente intil
o incluso perjudicial en otra.
Por esto, las actividades, tcnicas, documentacin, enfoques y dems
elementos que condicionarn las pruebas a realizar, deben ser seleccionados y
utilizados de la manera ms eficiente segn contexto del proyecto.
4.1.2 JUSTIFICACIN
Los principales objetivos que se buscan con la prueba de software suelen ser:
Conocer el nivel de calidad de productos intermedios, para actuar a tiempo
(v.gr. rehacer un componente); esto facilita una administracin realista del time
to market del producto en cuestin.
No pagar por un producto de software sino hasta que alcance el nivel de
calidad pactado; esto eleva el nivel de certidumbre en el comprador de
software, y minimiza riesgos.
Disminuir la penosa y costosa labor de soporte a usuarios insatisfechos,
consecuencia de liberar un producto inmaduro. Esto puede mejorar la imagen
de la organizacin desarrolladora (y la credibilidad en ella).
Reducir costos de mantenimiento (la fase ms costosa del desarrollo de
software), mediante el diagnstico oportuno de los componentes del sistema
(v.gr. seguimiento a estndares, legibilidad del cdigo, integracin adecuada de
99
100
4.2.1 INTEGRACION
La prueba de integracin es una tcnica sistemtica para construir la
estructura del programa mientras al mismo tiempo, se lleva a cabo pruebas
para detectar errores asociados con la interaccin. El objetivo es tomar los
mdulos probados en unidad y estructurar un programa que est de acuerdo
con el que dicta el diseo. La integracin puede ser descendente si se integran
los mdulos desde el control o programa principal, o bien, ascendente, si la
verificacin del diseo empieza desde los mdulos ms bajos y de all al
principal. La seleccin de una estrategia de integracin depende de las
caractersticas depende de las caractersticas del software y, a veces, del plan
del proyecto, en algunos de los casos se puede combinar ambas estrategias.
Pruebas de integracin.
Errores.
4.2.1.1 DESCENDENTE
4.2.1.2 ASCENDENTE
Descendente.
A favor:
Se prueban antes los mdulos ms importantes,
si primero en profundidad quedan probadas antes ramas completas.
En contra:
Elaboracin stubs.
Ascendente.
En contra:
Gran incertidumbre hasta el final.
102
4.2.1.3 REGRESION
4.2.2 VALIDACION
Las pruebas de validacin en la ingeniera de software son el proceso de revisin que
verifica que el sistema de software producido cumple con las especificaciones y que logra
su cometido. Es normalmente una parte del proceso de pruebas de software de un
proyecto, que tambin utiliza tcnicas tales como evaluaciones, inspecciones y tutoriales.
La validacin es el proceso de comprobar que lo que se ha especificado es lo que
el usuario realmente quera.
Se trata de evaluar el sistema o parte de este durante o al final del desarrollo para
determinar si satisface los requisitos iniciales. La pregunta a realizarse es: Es esto lo que
el cliente quiere?
Pruebas alfa (desarrolladores) y beta (usuarios).
4.2.2.1 ALFA
Las pruebas de tipo alfa son la que se realizan con una muestra de datos
reales.
A prueba alfa se lleva a cabo, por un cliente, en el mismo lugar de desarrollo.
Se usa el software de forma natural con el desarrollador como observador
del usuario y registrando los errores y problemas de uso. Las pruebas alfa se
llevan a cabo en un entorno controlado.
Alfa de prueba se hace antes de que el software se ponga a disposicin
del pblico. Por lo general, los desarrolladores se realicen la prueba alfa
utilizando tcnicas de pruebas de caja blanca. Caja posterior negro y tcnicas
de caja gris se llevar a cabo despus. La atencin se centra en la simulacin
de los usuarios reales mediante el uso de estas tcnicas y la realizacin de
tareas y operaciones que un usuario tpico podra llevar a cabo. Normalmente,
las pruebas alfa en s se llevarn a cabo en un entorno de tipo de laboratorio y
no en el lugar de trabajo habitual. Una vez que estas tcnicas se han cumplido
satisfactoriamente, la prueba alfa se considera completa.
4.2.2.2 BETA
La prueba beta es la que se lleva a cabo por los usuarios finales del
software en los lugares de trabajo de los clientes. A diferencia de la prueba
alfa, el desarrollador no est presente. As, la prueba beta es una
aplicacin en vivo del software en un entorno que no puede ser controlado por
el desarrollador. El cliente registra todos los problemas que encuentra durante
la prueba beta e informa a intervalos regulares al desarrollador.
Hay muchos ejemplos de programas en fase beta, uno de ellos es el Minecraft,
un juego que se encuentra en fase beta y que est en constante actualizacin
y correcin de bugs (errores/fallos). Normalmente los programas en fase beta
suelen distribuirse gratuitamente, en este caso el Minecraft empez igual pero
ahora para coger la fase beta tienes que comprar el juego, pero con la promesa
de que cuando salga la versin final tendrs el juego gratis y las
actualizaciones futuras tambin sern gratis. Adems el juego te cuesta un
25% ms barato que cuando salga la versin final. En el caso del Minecraft los
usuarios que prueban el juego en fase beta reportan los fallos al desarrollador,
y este va publicando en su blog en los errores que est trabajando y en las
mejoras que va a implementar.
A diferencia de las pruebas alfa, la gente fuera de la empresa se incluye
para realizar las pruebas. Como el objetivo es hacer una simple comprobacin
antes del lanzamiento de productos, es posible que los defectos encontrados
durante esta etapa, por lo que la distribucin del software se limita a una
seleccin de los usuarios de fuera de la empresa. Por lo general, las empresas
subcontratadas se utilizan como pruebas de su opinin es independiente y
desde una perspectiva diferente que la de los empleados de la compaa de
104
4.2.3 SISTEMA
Verifica el sistema completo o su aplicacin como tal. Se toma un punto de
vista del usuario final y los casos de uso de pruebas ejecutando acciones
tpicas de usuario.
105
4.2.3.1. RECUPERACIN.
Verificar que los procesos de recuperacin (manual o automatica) restauran
apropiadamente la Base de datos.
Estas pruebas aseguran que una aplicacin o sistema se recupere de una
variedad de anomalas de hardware, software o red con perdidas de datos o
fallas de integridad.
Se deben utilizar las pruebas creadas para la Funcionalidad del sistema y
Procesos de Negocios para crear una serie de transacciones
4.2.3.2 SEGURIDAD
Nivel de seguridad de la aplicacin: Verifica que un actor solo pueda acceder a
las funciones y datos que su usuario tiene permitido
Seguridad del sistema, incluyendo acceso a datos o Funciones de negocios e
incluyendo accesos remotos
Funciones / Seguridad de Datos: Identificar cada tipo de usuario y las funciones
y datos a los que se debe autorizar.
4.2.3.3. RESISTENCIA.
Estas pruebas se disean para enfrentar a los sistemas a situaciones
anormales, es decir ejecutar el sistema en forma que demande recursos en
cantidad, frecuencia o volmenes anormales. Igualmente busca validar el
correcto funcionamiento del sistema bajo las condiciones de carga normales
para la operacin para concluir sobre variables como: el tiempo de respuesta,
106
Stress:
Verificar que el sistema funciona apropiadamente y sin errores
Las pruebas de stress se proponen encontrar errores debidos a recursos
bajos o completitud de recursos
Use los scripts utilizados en las pruebas de desempeo
Carga:
Validar el tiempo de respuesta para las transacciones
miden tiempos de respuesta, ndices de procesamiento de transacciones
y otros requisitos sensibles al tiempo
Modifique archivos de datos (para incrementar el nmero de
transacciones) o los scripts para incrementar el nmero de veces que
ocurre cada transaccin
4.2.3.4 RENDIMIENTO
Son las pruebas que se realizan, desde una perspectiva, para determinar lo
rpido que realiza una tarea un sistema en condiciones particulares de trabajo.
Tambin puede servir para validar y verificar otros atributos de la calidad del
sistema, tales como la escalabilidad, fiabilidad y uso de los recursos. Las
pruebas de rendimiento son un subconjunto de la ingeniera de pruebas, una
prctica informtica que se esfuerza por mejorar el rendimiento, englobndose
en el diseo y la arquitectura de un sistema, antes incluso del esfuerzo inicial
de la codificacin.
107
4.3 MANTENIMIENTO
Es el trabajo emprendido para cuidar y restaurar hasta un nivel econmico,
todos y cada uno de los medio de produccin existentes en una planta .
Podemos definir el mantenimiento como el conjunto de actividades que deben
realizarse a instalaciones y equipos con el fin de corregir o prevenir fallas,
buscando que estos continen prestando el servicio para el cual fueron
diseados.
Como los equipos no se pueden mantener en buen funcionamiento por si solos,
se debe contar con un grupo de personas que se encarguen de ello,
conformando as el departamento de mantenimiento de nuestras empresas.
en los momentos ms
apropiados.
Incrementar la vida til de los equipos
Uno de los objetivos evidentes del mantenimiento es el de procurar la
utilizacin de los equipos durante toda su vida til. La reduccin de los
factores de desgastes, deterioros y roturas garantiza que los equipos
alcancen una mayor vida til.
Maximizar el aprovechamiento de los recursos disponibles para la funcin
del mantenimiento.
Es aqu donde se debe analizar la convivencia o no de continuar prestando
el servicio de mantenimiento a una mquina que presenta problemas de
funcionamiento buscar su reemplazo.
108
MANTENIMIENTO PERIODICO
Este mantenimiento se realiza despus de un periodo de tiempo relativamente
largo (entre seis y doce meses).su objetivo general es realizar operaciones
mayores e los equipos .para implementar este tipo de mantenimiento se debe
contar con una excelente planeacin y una coordinacin con las diferentes
reas de la empresa para lograr que las reparaciones se efecten en el menor
tiempo posible.
MANTENIMIENTO PROGRAMADO
Este tipo de mantenimiento basa su aplicacin en el supuesto de que todas las
piezas se desgastan en la misma forma y en el mismo periodo de tiempo, no
importa que se est trabajando en condiciones diferentes
Para implementar el mantenimiento programado se hace un estudio de todos
los equipos de la empresa y se determina con la ayuda de datos estadsticos
de los repuestos y la informacin del fabricante, cuales piezas se deben
cambiar en determinados periodos de tiempo.
MANTENIMIENTO PROACTIVO
110
111
4.4.1 COSTOS
El coste del mantenimiento de un producto software a lo largo de su vida til
es superior al doble de los costes de su desarrollo.
4.4.2 EFECTOS
En el mantenimiento del software existe el riesgo del llamado efecto bola de
nieve; que consiste en que los cambios introducidos por una peticin de
mantenimiento conllevan efectos secundarios que implican futuras peticiones
de mantenimiento.
Efectos secundarios sobre el cdigo:
1.- Cambios en el diseo que suponen muchos cambios en el cdigo.
2.- Eliminacin o modificacin de un subprograma.
3.- Eliminacin o modificacin de una etiqueta.
113
4.4.3 TIPOS
Existen 4 tipos de mantenimiento:
Correctivo.
Adaptativo.
Perfectivo.
Preventivo.
Mantenimiento correctivo:
Tiene por objetivo localizar y eliminar los posibles defectos de los programas.
Un defecto en un sistema es una caracterstica del sistema con el potencial de
provocar un fallo. Un fallo se produce cuando el comportamiento de un sistema
difiere con respecto al comportamiento definido en la especificacin.
114
116
117
por parte del cliente o del usuario final, el preventivo se produce tras un
estudio de posibilidades de mejora en los diferentes mdulos del sistema.
Aunque el mantenimiento preventivo es considerado valioso para las
organizaciones, existen una serie de fallas en la maquinaria o errores humanos
a la hora de realizar estos procesos de mantenimiento. El mantenimiento
preventivo planificado y la sustitucin planificada son dos de las tres polticas
disponibles para los ingenieros de mantenimiento.
Algunos de los mtodos ms habituales para determinar que procesos de
mantenimiento preventivo deben llevarse a cabo son las recomendaciones de
los fabricantes, la legislacin vigente, las recomendaciones de expertos y las
acciones llevadas a cabo sobre activos similares.
El primer objetivo del mantenimiento es evitar o mitigar las consecuencias de
los fallos del equipo, logrando prevenir las incidencias antes de que estas
ocurran. Las tareas de mantenimiento preventivo incluyen acciones como
cambio de piezas desgastadas, cambios de aceites y lubricantes, etc. El
mantenimiento preventivo debe evitar los fallos en el equipo antes de que
estos ocurran.
118
Con las definiciones por delante resulta bastante sencillo discernir un tipo de
mantenimiento de otro, ya que el primero est centrado en un cambio en las necesidades
del usuario o lo que es lo mismo, en una modificacin de los requisitos funcionales de la
aplicacin (por muy pequeos o grandes que sean) y el segundo se basa en los cambios
en cualquiera de los elementos que conforman el entorno sobre el que funciona el
programa, a los ejemplos que indica Mtrica V.3, yo aadira los servidores de
aplicaciones, servidores web e incluso las interfaces con terceros sistemas, es decir, si
una aplicacin se comunica con otra por servicios web y sta modifica la interfaz el
cambio a realizar en la aplicacin es de carcter adaptativo ya que el requisito funcional
(que es comunicarse con ese tercer sistema) no ha variado.
119