Escolar Documentos
Profissional Documentos
Cultura Documentos
Son los personajes encargados de la realización de las actividades definidas dentro de los
flujos de trabajo de cada una de las disciplinas del RUP, estos actores se dividen en varias
categorías: Analistas, Desarrolladores, Probadores, Encargados, otros actores. A
continuación se presenta una lista de actores de acorde a las categorías mencionadas con
anterioridad:
Analistas
Desarrolladores
1. Arquitecto
2. Revisor de la Arquitectura
3. Diseñador de Cápsulas
4. Revisor del Código y Revisor del Diseño
5. Diseñador de la Base de Datos
6. Diseñador
7. Implementador y un Integrador
Probadores Profesionales
1. Diseñador de Pruebas
2. Probador
Encargados
1. Cualquier trabajador
2. Artista Gráfico
3. Stakeholder (en un proceso son actores personas u organizaciones con un interés
personal en la política que se promueven=
4. Administrador del Sistema
5. Escritor técnico
6. Especialista de Herramientas
ARTEFACTOS
Los artefactos son el resultado parcial o final que es producido y usado por los actores
durante el proyecto. Son las entradas y salidas de las actividades, realizadas por los
actores, los cuales utilizan y van produciendo estos artefactos para tener guías. Un
artefacto puede ser un documento, un modelo o un elemento de modelo.
Conjunto de Artefactos
¿QUÉ ES UML?
Un modelo captura una vista de un sistema del mundo real. Es una abstracción de dicho
sistema, considerando un cierto propósito. Así, el modelo describe completamente
aquellos aspectos del sistema que son relevantes al propósito del modelo, y a un
apropiado nivel de detalle. Un diagrama es una representación gráfica de una colección de
elementos de modelado, a menudo dibujada como un grafo con vértices conectados por
arcos.
1. Modelo de Casos de Uso del Negocio: Describe la realización del Caso de Uso, es
realizado en la disciplina de Modelado del Negocio.
2. Modelo de Objetos del Negocio: Se utiliza para identificar roles dentro de la
organización, es realizado en la disciplina de Modelado del Negocio.
3. Modelo de Casos de Uso: Muestra las interrelaciones entre el sistema y su ambiente,
además sirve como un contrato entre el cliente y los diseñadores. Es considerado
esencial al iniciar las actividades del análisis, diseño y prueba; este modelo es realizado
en la disciplina de Requerimientos.
4. Modelo de Análisis: Contiene los resultados del análisis del caso de uso, y contienen
instancias del artefacto de análisis de clases; es realizado en la disciplina de análisis y
diseño.
5. Modelo de Diseño: Es un modelo de objetos que describe la realización del caso de
uso, y sirve como una abstracción del modelo de implementación y su código fuente,
es utilizado como entrada en las actividades de implementación y prueba; este modelo
se realiza en la disciplina de análisis y diseño.
6. Modelo de Despliegue: Muestra la configuración de los nodos del proceso en tiempo
de ejecución, muestra los lazos de comunicación entre estos nodos, así como las de los
objetos y componentes que en él se encuentran; es realizado en la disciplina de
análisis y diseño.
7. Modelo de Datos: es un subconjunto del modelo de implementación que describe la
representación lógica y física de datos persistentes en el sistema. también incluye
cualquier conducta definida en la base de datos como disparadores, restricciones, etc.
Es elaborado en la disciplina de análisis y diseño.
8. Modelo de Implementación: Es una colección de componentes, y de subsistemas de
aplicación que contienen estos componentes, entre estos están los entregables,
ejecutables, archivos de código fuente. Es realizado en la disciplina de
implementación.
9. Modelo de Pruebas: Es utilizado para la elaboración de las pruebas, y se realiza en la
disciplina de pruebas.
Las clases, al igual que los demás elementos notacionales del UML, pueden estar
clasificadas de acuerdo a varios criterios, como por ejemplo su objetivo dentro de un
programa. Esta clasificación adicional se puede expresar mediante la utilización de
estereotipos.
Los estereotipos mas comunes utilizados para clasificar las clases son: Entidad (entity),
Frontera (boundary), Control (control). Se proponen varias pautas a seguir a la ora de
encontrar las clases de nuestro sistema durante la fase de análisis. Dichas pautas se
centran en la búsqueda de los estereotipos entidad, control y frontera:
El UML proporciona los diagramas de Caso de Uso, al mismo tiempo que el RUP, la única
diferencia es la forma de dibujar los estereotipos, ya que el RUP son una elipse con una
diagonal al lado derecho (pero esto es para casos de uso de negocio, los de sistema no
tienen la diagonal), y en UML solamente una elipse, pero en el RUP significa lo mismo a lo
que se refiere en UML.
Los diagramas de clases tienen la misma lógica para lo cual fueron creados en ambos
lenguajes, solamente con las diferencias en la forma de dibujar los cuadros que indican las
clases en RUP se dibujan los cuadro con una pestaña inferior derecha doblada, y en UML
solamente rectángulos con ángulos rectos; otra característica que se puede observar es
que a la hora de ejemplificar las relaciones uno a uno, uno a muchos etc., se realizan de
diferente manera. Pero en ambos lenguajes se puede observar que los diagramas de
clases son lo más cercano a la elaboración de un modelo entidad relación para la puesta
en práctica de la finalización del proyecto de software.
Los diagramas de objetos, difieren únicamente en la forma como se dibujan los objetos o
instancias de las clases, ya que en el RUP se dibujan círculos con una diagonal en la parte
inferior derecha, y en UML como rectángulos con las esquinas redondeadas, también en
RUP no se colocan flechas indicativas, y en UML sí.
Los diagramas de estados en RUP y UML, se pueden observar que de igual manera se
elaboran ambos, únicamente que en el diagrama de UML se muestran unos rectángulos
con la esquina superior derecha doblada, que indican notas sobre este estado.
James Martin creó el término “Desarrollo Rápido de Aplicaciones” apuntando hacia una
metodología y conjunto de herramientas específicos. Mientras tanto, hoy día se utilizan
esta metodología y que intentar reducir el tiempo de desarrollo. Esta es una metodología
y que intentan reducir el tiempo de desarrollo. Esta es una metodología que permite a las
organizaciones desarrollar sistemas estratégicamente importantes, de manera más rápida
reduciendo a la vez los costos de desarrollo y manteniendo la calidad. Esto se hace por
medio de la automatización de porciones grandes del ciclo de vida del desarrollo de
sistemas, imponiendo límites entre los plazos de desarrollo y volviendo a usar los
componentes existentes y se logra mediante el uso de una serie de técnicas de utilidad
comprobada de desarrollo de aplicaciones, dentro de una metodología bien definida.
Algunas de estas tecnologías son:
Uno de los conceptos de RAD mas interesantes, y que provee mejores resultados
prácticos, es el de “entrega incremental de productos”. La idea es detectar durante el
análisis módulos del sistema que puedan ser desarrollados e implantados aisladamente y
trabajar en este sentido, utilizando las técnicas descritas anteriormente.
Casos de Uso.
El diagrama de casos de uso sirve para identificar los elementos primarios y procesos que
conforman el sistema.
Un caso de Uso es una secuencia de acciones que brinda el sistema a un actor particular.
El propósito principal del modelo de caso de uso es comunicar la funcionalidad del sistema
y la interacción con el usuario.
Diagrama de Clases.
El diagrama de clases es usado para refinar el diagrama de casos de uso y definir un diseño
detallado del sistema.
Cada clase en el diagrama de clases puede almacenar valores y tiene capacidad de proveer
ciertas funcionalidades, conocido como “atributos” y “métodos”.
Diagrama de Secuencia.
Especificaciones.
Los casos de uso presentan ciertas ventajas sobre la descripción meramente textual de los
requisitos funcionales, ya que facilitan la eliminación de requisitos y son fácilmente
compresibles por los clientes y usuarios. Además, puede servir de base a las pruebas del
sistema y a la documentación para los usuarios.
Los datos de la copia deben ser almacenados de alguna manera y probablemente deban
ser organizados con algún criterio. Para ello se puede usar desde una hoja de papel con
una lista de cintas de la copia de seguridad y las fechas en que fueron hechas hasta un
sofisticado programa con una base de datos relacional.
Cada uno de los distintos almacenes de datos tiene sus ventajas. Esto está muy
relacionado con el esquema de rotación de copia de seguridad elegido.
Desestructurado.
Un almacén desestructurado podría ser simplemente una pila de disquetes o CD-R con
una mínima información sobre qué ha sido copiado y cuándo. Esta es la forma más fácil de
implementar, pero ofrece pocas garantías de recuperación de datos.
Completa + Incremental
Espejo + Diferencial
Este modelo va un paso más allá y en lugar de realizar copias de seguridad periódicas, el
sistema inmediatamente completas y posteriores incrementales. Es de gran utilidad sobre
todo en redes de almacenamiento (SAN) ya que no es necesaria la participación del
host/nodo final, quitándole mucha carga de proceso.
En línea.
Cerca de Línea.
Fuera de línea.
Copiar el sistema de archivos que tienen los archivos copiados. Esto normalmente implica
desmontar el sistema de archivos y hacer funcionar un programa como un depósito. Esto
es también conocido como copia de seguridad particionada en bruto. Este tipo de copia de
seguridad tiene la posibilidad de hacer funcionar una copia más rápida que la simple
copia de archivos. El rasgo de algunos software de depósitos es la habilidad para restaurar
archivos específicos de la imagen del depósito.
Control de Cambios.
Algunos sistemas de archivos poseen un bit de archivo para cada fichero este nos indica si
recientemente ha sido modificado. Algunos software de copia de seguridad miran la fecha
del archivo y la comparan con la última copia de seguridad, para así determinar si el
archivo se ha modificado.
El versionado del sistema de archivos se mantiene atento a los cambios del fichero y crea
estos cambios accesibles al usuario. Esta es una forma de copia de seguridad que está
integrada al ambiente informático.
Algunos sistemas de gestión de bases de datos ofrecen medios para realizar imágenes de
copias de seguridad de una base de datos mientras esté activa y en uso (en caliente). Esto
normalmente incluye una imagen consistente de los archivos de datos en un cierto
momento más un registro de los cambios hechos mientras el algoritmo está funcionando.
El nacimiento de CMM – CMMI
Como esta situación les parecía intolerable convocó un comité de expertos para que
solucionase estos problemas, en el año 1983 dicho comité concluyó “Tienen que crear un
instituto de la ingeniería del software, dedicado exclusivamente a los problemas del
software, y a ayudar al Departamento de Defensa”.
Convocaron un concurso público en el que dijeron: “cualquiera que quiera enviar una
solicitud tiene que explicar como van a resolver estos 4 problemas”, se presentaron
diversos estamentos y la universidad Carnegie Mellon ganó el concurso en 1985 creando
el SEI.
Es un modelo de calidad del software que clasifica las empresas en niveles de madurez.
Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir
software.
Este nivel es en donde están todas las empresas que no tienen procesos. Los presupuestos
se disparan, no es posible entregar el proyecto en fechas, te tienes que quedar durante
noches y fines de semana para terminar un proyecto. No hay control sobre el estado del
proyecto, el desarrollo del proyecto ese completamente opaco, no sabes lo que pasa en
él.
Si no sabes el tamaño del proyecto y no sabes cuanto llevas hecho, nunca sabrás cuando
vas a terminar.
Repetible o Nivel 2 CMM – CMMI.
Quiere decir que el éxito de los resultados obtenidos se puede repetir. La principal
diferencia entre este niel y el anterior es que el proyecto es gestionado y controlado
durante el desarrollo del mismo. El desarrollo no es opaco y se pude saber el estado del
proyecto en todo momento.
Los proceso que hay que implantar para alcanzar este nivel son:
1. Gestión de Requisitos
2. Planificación de Proyectos
3. Seguimiento y control de proyectos
4. Gestión de proveedores
5. Aseguramiento de la calidad
6. Gestión de la configuración
Resumiéndolo mucho, alcanzar este nivel significa que la forma de desarrollar proyectos
(gestión e ingeniería) esta definida, por definida quiere decir que está establecida,
documentada y que existen métricas (obtención de datos objetivos) para la consecución
de objetivos concretos.
Los procesos que hay que implantar para alcanzar este nivel son:
1. Desarrollo de requisitos
2. Solución Técnica
3. Integración del producto
4. Verificación
5. Validación
6. Desarrollo y mejora de los procesos de la organización
7. Definición de los procesos de la organización
8. Planificación de la formación
9. Gestión de riesgos
10. Análisis y resolución de toma de decisiones
La mayoría de las empresas que llegan al nivel 4 y paran aquí, ya que es un nivel que
proporciona muchos beneficios y no ven la necesidad de ir mas allá porque tienen
cubiertas la mayoría de sus necesidades.
Cuantitativamente Gestionado o Nivel 4 CMM – CMMI.
Los proyectos usan objetivos medibles para alcanzar las necesidades de los clientes y la
organización. Se usan métricas para gestionar la organización.
Los procesos que hay que implantar para alcanzar este nivel son:
Los procesos que hay que implantar para alcanzar este nivel son:
1. Innovación organizacional
2. Análisis y resolución de las causas
Áreas de Proceso
Framework
Pero más allá, y proyectando una definición de framework a nivel empresarial podemos
decir que es una estructura en la cual cada componente de la empresa u organización esta
en comunicación e interactuando con las demás partes de la misma, y que se puede
modificar incorporar o remover alguna parte de dicha infraestructura, de tal forma que
sea un ente vivo y que permita con suficiente flexibilidad transformar la misma estructura.
Zachman Framework Es conocido por una sólida historia ayudando a las organizaciones a
acortejar, organizar y estructurar su capital intelectual.
Características:
Arquitectura Empresarial
John Zachman escribió en 1987, para cuidar el negocio de una desaparición, el concepto
de la arquitectura de los sistemas de información se esta convirtiendo menos en una
opción y mas en una necesidad.
Lo cual representa los datos, funciones, red, gente, tiempo y motivación de:
1. Los objetivos
2. Modelo del negocio
3. Modelo del sistema de información
4. Modelo de la tecnología
5. Arquitectura
6. Y sistema funcional
La integridad Social
La ingeniería social es una acción muy simple, pero peligrosa. Los “hackers” llaman a los
centros de datos y fingen ser un cliente que perdió su contraseña, o se dirigen a un sitio y
esperan que alguien deje la puerta abierta. Otras formas de ingeniería social no son tan
obvias. Los “hackers” son conocidos por crear sitios web, concursos o cuestionarios falsos
que piden a los usuarios que ingresen una contraseña. Si un usuario escribe la misma
contraseña que usa en su trabajo, el hacker puede ingresar en las instalaciones sin tener
que descifrar ni siquiera una línea de código.
En la práctica, los autores de virus (gusanos o troyanos) emplean la Ingeniería Social para
que sus creaciones se propaguen rápidamente. Para ello traen la atención del usuario y
consiguen que realice alguna acción que, normalmente, consiste en inducirlo a que abra
algún archivo que es el que procede a realizar la infección. De hecho, la mayoría de las
pérdidas provocadas por los efectos de los códigos maliciosos tienen su origen en la
ignorancia u omisión de políticas de seguridad.
El personal de una empresa debería de seguir las siguientes recomendaciones para evitar
caer víctima de las trampas de la Ingeniería Social:
PLANES DE CONTINGENCIA
MAINGRAME
Introducción a J2EE
J2EE, la plataforma creada por SUN en el año 1997 es la que ofrece perspectivas de
desarrollo para empresas que quieran basar su arquitectura en productos basados en
software libre.
JRS es el acrónimo de JAVA Specification Request. Cuando una persona o entidad cree que
es necesaria la presencia de una determinada tecnología dentro de las plataformas
basadas en Java, lo que hace es crear un JSR y presentarlo para su aprobación.
JCP tiene como fin controlar la evolución de las diferentes especificaciones que forman las
plataformas basadas en Java. Este organismo es el encargado de decidir que
especificaciones aprueban y de controlar las fases por las que pasan.
J2EE es una especificación, JSR (concretamente el JSR-151) que define una plataforma de
desarrollo empresarial, a la que llamaremos la plataforma J2EE. La plataforma J2EE está
formada de varios componentes: Un conjunto de especificaciones que relatan por que es
necesaria dicha tecnología y que problemas va a solucionar.