martes, 10 de mayo de 2011

MANTENIMIENTO DEL SOFTWARE

El mantenimiento de software o manutención de software es una de las actividades más comunes en la ingeniería de software, es el proceso de mejora y optimización del software después de su entrega al usuario final (es decir; revisión del programa), así como también corrección y prevención de los defectos.

El mantenimiento de software es también una de las fases en el ciclo de vida de desarrollo de sistemas (SDLC, sigla en inglés de system development life cycle), que se aplica al desarrollo de software. La fase de mantenimiento es la fase que viene después del despliegue (implementación) del software en el campo.

La fase de mantenimiento de software involucra cambios al software en orden de corregir defectos y dependencias encontradas durante su uso tanto como la adición de nueva funcionalidad para mejorar la usabilidad y aplicabilidad del software.

El mantenimiento del software involucra(pilines flic`s) varias técnicas específicas. Una técnica es el rebanamiento estático, la cual es usada para identificar todo el código de programa que puede modificar alguna variable. Es generalmente útil en la refabricación del código del programa y fue específicamente útil en asegurar conformidad para el problema del año 2000.

La fase de mantenimiento de software es una parte explícita del modelo en cascada del proceso de desarrollo de software el cual fue desarrollado durante el movimiento de programación estructurada en computadores. El otro gran modelo, el Desarrollo en espiral desarrollado durante el movimiento de ingeniería de software orientada a objeto no hace una mención explícita de la fase de mantenimiento. Sin embargo, esta actividad es notable, considerando el hecho de que dos tercios del coste del tiempo de vida de un sistema de software involucran mantenimiento (Page-Jones pg 31).

En un ambiente formal de desarrollo de software, la organización o equipo de desarrollo tendrán algún mecanismo para documentar y rastrear defectos y deficiencias. El Software tan igual como la mayoría de otros productos, es típicamente lanzado con un conjunto conocido de defectos y deficiencias. El software es lanzado con esos defectos conocidos porque la organización de desarrollo en las utilidades y el valor del software en un determinado nivel de calidad compensa el impacto de los defectos y deficiencias conocidas.

Las deficiencias conocidas son normalmente documentadas en una carta de consideraciones operacionales o notas de lanzamiento (release notes) es así que los usuarios del software serán capaces de trabajar evitando las deficiencias conocidas y conocerán cuándo el uso del software sería inadecuado para tareas específicas.

Con el lanzamiento del software (software release), otros defectos y deficiencias no documentados serán descubiertas por los usuarios del software. Tan pronto como estos defectos sean reportados a la organización de desarrollo, serán ingresados en el sistema de rastreo de defectos.

Las personas involucradas en la fase de mantenimiento de software esperan trabajar en estos defectos conocidos, ubicarlos y preparar un nuevo lanzamiento del software, conocido como un lanzamiento de mantenimiento, el cual resolverá los temas pendientes.

Tipos de mantenimiento

A continuación se señalan los tipos de mantenimientos existentes, definidos tal y como se especifican para la metodología de MÉTRICA:

  • Perfectivo: son las acciones llevadas a cabo para mejorar la calidad interna de los sistemas en cualquiera de sus aspectos: reestructuración del código, definición más clara del sistema y optimización del rendimiento y eficiencia.
  • Evolutivo: son las incorporaciones, modificaciones y eliminaciones necesarias en un producto software para cubrir la expansión o cambio en las necesidades del usuario.
  • Adaptativo: son las modificaciones que afectan a los entornos en los que el sistema opera, por ejemplo, cambios de configuración del hardware, software de base, gestores de base de datos, comunicaciones, etc.
  • Correctivo: son aquellos cambios precisos para corregir errores del producto software.

Cabe señalar que, de estos 4 tipos de mantenimiento, solamente el correctivo y el evolutivo entran en el ámbito de MÉTRICA versión 3, ya que los otros dos requieren actividades y perfiles distintos a los del proceso de desarrollo.


EVALUACION DEL SISTEMA

Se lleva a cabo para identificar puntos débiles y fuertes del Sistema implantado.

La evaluación ocurre a lo largo de cualquiera de las siguientes cuatro

dimensiones:

·        Evaluación operacional:
Es el Momento en que sé evalúa la manera en que funciona el Sistema, esto incluye su facilidad de uso, Tiempo de respuesta ante una necesidad o proceso, como se adecuan los formatos en que se presenta la Información, contabilidad global y su nivel de Utilidad.

·        Impacto Organizacional:
Identifica y mide los beneficios operacionales para la Empresa en áreas tales como, Finanzas (Costos, Ingresos y Ganancias), eficiencia en el desempeño laboral e impacto competitivo, Impacto, rapidez y organización en el flujo de Información interna y externa.

·        Desempeño del Desarrollo.
Es la evaluación del Proceso de desarrollo adecuado tomando en cuentas ciertos criterios como, Tiempo y esfuerzo en el desarrollo concuerden con presupuesto y estándares y otros criterios de Administración de Proyectos. Además se incluyen la valoración de los métodos y herramientas utilizados durante el desarrollo del Sistema.

CAPACITACIÓN DE USUARIOS DEL SISTEMA

Es enseñar a los usuarios que se relacionan u operan en un proceso de implantación.

La Responsabilidad de esta capacitación de los Usuarios primarios y secundarios es del Analista, desde el personal de captura de datos hasta aquellos que toman las decisiones sin usar una Computadora.

No se debe incluir a personas de diferentes niveles de habilidad e intereses de trabajo; debido a que si en una Empresa existen trabajadores inexpertos no se pueden incluir en la misma sección de los expertos ya que ambos grupos quedaran perdidos.

“Es como querer conducir dos Barcos con diferentes destinos con un mismo Mapa de rutas o con el mismo timón”.

Aun y cuando la Empresa puede contratar los Servicios de Instructores
externos, el analista es la persona que puede ofrecer la mejor capacitación
debido a que conoce el personal y al Sistema mejor que cualquier otro. A la falta o imposibilidad del analista la organización puede contratar otros servicios de capacitación como son:

·        Vendedores: Son aquellos que proporcionan capacitación gratuita fuera de la Empresa de uno o dos días.

·        Instructor pagado externamente: Son aquellos que pueden enseñar todo acerca de las computadoras pero para algunos usuarios esta no es una capacitación necesaria.

·        Instructores en casa: Están familiarizados con el personal y pueden adecuar los materiales a sus necesidades, pero le faltaría experiencia en Sistemas de Información que es realmente la necesidad del usuario.

IMPLANTACION, ENFOQUES DE IMPLEMENTACION

Es la última fase del desarrollo de Sistemas. Es el proceso instalar equipos o Software nuevo, como resultado de un análisis y diseño previo como resultado de la sustitución o mejoramiento de la forma de llevar a cavo un proceso automatizado.

Al Implantar un Sistema de Información lo primero que debemos hacer es

asegurarnos que el Sistema sea operacional o sea que funcione de acuerdo a los requerimientos del análisis y permitir que los usuarios puedan operarlo.

Existen varios enfoques de Implementación:

·        Es darle responsabilidad a los grupos.

·        Uso de diferentes estrategias para el entrenamiento de los usuarios.

·        El Analista de Sistemas necesita ponderar la situación y proponer un plan de conversión que sea adecuado para la organización.

·        El Analista necesita formular medidas de desempeño con las cuales evaluar a los Usuarios.

·        Debe Convertir físicamente el sistema de información antiguo, al nuevo modificado.

En la preparación de la Implantación, aunque el Sistema este bien diseñado y desarrollado correctamente su éxito dependerá de su implantación y ejecución por lo que es importante capacitar al usuario con respecto a su uso y mantenimiento.

PASOS PARA LA EVALUACIÓN DEL DISEÑO

Para evaluar la calidad de una presentación del diseño, se deben establecer criterios técnicos para un buen diseño como son:

·        Un diseño debe presentar una organización jerárquica que haga un uso inteligente del control entre los componentes del software.

·        El diseño debe ser modular, es decir, se debe hacer una partición lógica del Software en elementos que realicen funciones y subfunciones especificas.

·        Un diseño debe contener abstracciones de datos y procedimientos.

·        Debe producir módulos que presenten características de funcionamiento independiente.

·        Debe conducir a interfaces que reduzcan la complejidad de las conexiones entre los módulos y el entorno exterior.

·        Debe producir un diseño usando un método que pudiera repetirse según la información obtenida durante el análisis de requisitos de Software.

Estos criterios no se consiguen por casualidad. El proceso de Diseño del
Software exige buena calidad a través de la aplicación de principios fundamentales de Diseño, Metodología sistemática y una revisión exhaustiva.

Cuando se va a diseñar un Sistema de Computadoras se debe tener presente que el proceso de un diseño incluye, concebir y planear algo en la mente, así como hacer un dibujo o modelo o croquis.

COHESION

         La cohesión es una medida de la fuerza funcional relativa de un módulo, es decir, su interés  es determinar qué tan cercanamente relacionados están los elementos de un módulo unos con otros.          Un módulo cohesivo realiza una sola tarea.

         La cohesión determina si los diferentes elementos de un módulo deben estar juntos.

         El objetivo es tener alta cohesión.

         La cohesión y el acoplamiento están relacionados, a mayor cohesión en los módulos habrá menor acoplamiento entre módulos.

         La correlación no es perfecta.

PRINCIPALES ATRIBUTOS DE CALIDAD

- CORRECTO
- EFICIENTE
- MANTENIBLE
- EFICIENTE EN COSTOS

ACTIVIDADES DEL DISEÑO CLASICO


-          El diseño de la arquitectura (conocido también como diseño lógico o diseño de alto nivel).

-          Diseño detallado (conocido como diseño de módulos, diseño físico o diseño de bajo nivel).

-          Diseño de las pruebas.


DISEÑO DE SOFTWARE

El diseño es la fase del proceso de desarrollo de software “donde se crea una representación o modelo del software. A diferencia del análisis donde se describen los datos y funciones requeridos, el modelo del diseño proporciona los detalles acerca de las estructuras de los datos, las arquitecturas, las interfaces y los componentes del software necesarios para implementar el sistema” .

sábado, 7 de mayo de 2011

DIAGRAMAS UML

DIAGRAMA DE ESTRUCTURA

DIAGRAMA DE CLASES

DIAGRAMA DE COMPONENTES

DIAGRAMA DE OBJETOS

DIAGRAMA DE ESTRUCTURA COMPUESTA

DIAGRAMA DE DESPLIEGUE

DIAGRAMA DE PAQUETES

DIAGRAMA DE COMPORTAMIENTO

Diagramas de Interacción o Comportamiento Muestran las interacciones entre objetos ocurridas en un escenario (parte) del sistema. Hay varios tipos:
Diagrama de secuencia. 
Diagrama de colaboración. 
Diagrama de estado. 
Diagrama de actividad.

DIAGRAMA DE ACTIVIDAD

DIAGRAMA DE CASOS DE USO

DIAGRAMA DE MAQUINA DE ESTADO

DIAGRAMA DE INTERACCION

son modelos que describen la manera en que colaboran grupos de objetos para cierto comportamiento. Habitualmente, un diagrama de interacción capta el comportamiento de un solo caso de uso. El diagrama muestra cierto número de ejem. plcs de objetos y los mensajes que se pasan entre estos objetos dentro
El diagrama de interacción, representa la forma en como un Cliente (Actor) u Objetos (Clases) se comunican entre si en petición a un evento. Esto implica recorrer toda la secuencia de llamadas, de donde se obtienen las responsabilidades claramente.
Dicho diagrama puede ser obtenido de dos partes, desde el Diagrama Estático de Clases o el de Casos de Uso (son diferentes).
Los componentes de un diágrama de interacción son:
   1. Un objeto o actor.
   2. Mensaje de un objeto a otro objeto.
   3. Mensaje de un objeto a si mismo.

DIAGRAMA DE SECUANCIA

DIAGRAMA GLOBAL DE INTERACCIONES

DIAGRAMA DE COMUNICACION

DIAGRAMA DE TIEMPOS

martes, 3 de mayo de 2011

DIAGRAMA GLOBAL DE INTERACCIONES

El diagrama global de las interacciones es un diagrama de comportamiento, más precisamente, uno de los cuatro diagramas de interacción. Muestra una cierta vista sobre los aspectos dinámicos de los sistemas modelados. Aunque un diagrama global de las interacciones es una representación gráfica de una interacción, éste se distingue fuertemente de los diagramas de secuencia y de comunicación, dos de los otros diagramas de interacción. De hecho, algunos elementos gráficos del diagrama global de las interacciones están tomados del diagrama de actividades, otro diagrama de comportamiento para el modelado de actividades.
Los modelos de interacción pueden llegar a ser muy grandes para sistemas complejos. Si el número de líneas de vida participantes y el número de mensajes intercambiados excede una cierta medida, se impone “modularizar” las interacciones y dividir en partes pequeñas, más manejables, de acuerdo a principios universales del diseño de sistemas, que también pueden ser visualizadas con la ayuda de un clásico diagrama de secuencias. La visión de conjunto de toda la interacción, de manera que la Big Picture o bien el cuadro global, puede entonces ser representada con la ayuda del diagrama global de las interacciones, provisto para eso.




lunes, 2 de mayo de 2011

formato caso de uso automatizar un video club

ESPECIFICACIÓN DE CASO DE USO


NOMBRE DEL CASO DE USO
AUTOMATIZAR UN VIDEO CLUB
ACTOR
CLIENTE, PROVEEDOR
PRECONDICIONES
QUE EL INVENTARIO ESTE ACTUALIZADO
QUE NO SE PRESENTEN PROBLEMAS CON EL ALQUILER Y/O DEVOLUCIONES
OBJETIVO
AUTOMATIZAR EL VIDEO CLUB, PRESTAR UN BUEN SERVICIO


FLUJO PRINCIPAL

1. Por un lado, es necesario tratar a los proveedores y, por otro a
los clientes en forma diferentes.

2. Cuando es cliente, éste solicita el tipo de gestión que quiere
realizar, es decir, alquiler de película, reserva de la película o
devolución de la película.

3. Si es alquiler, se deberá corroborar que existe en inventario y
que no esta separada por otro cliente. Si ambas condiciones se da,
se baja del inventario y se registra el alquiler de la película,
generando un comprobante. Se aumentan las ventas.

4. Si es una devolución, se debe corroborar que esta alquilada por
él y se suma al stock.

5. Cuando se reserva, se registra la reserva a nombre del cliente.

6. Si es proveedor se debe registrar el catálogo y la generación de
películas del proveedor


FLUJO ALTERNO 1
Que se presente algún problema en la devolución de la película, ya sea por daño o perdida.


FLUJO ALTERNO 2
Que a la hora de alquilar una película el inventario no este actualizado, o que los datos del cliente estén mal a la hora de hacer la devolucion




POSCONDICIONES 
Una ves el cliente realice su gestión, esperamos quede satisfecho con el servicio prestado, al hacer la devolución, reserva o alquiler de la pelicula


REGLAS DE NEGOCIO
X
Para el buen funcionamiento del sistema se deben llevar a cabo todos los pasos del caso de uso, dependiendo si es alquiler, devolución o alquiler de películas.