viernes, 12 de marzo de 2010

5. Pruebas e implementación de un proyecto de software


Pruebas
Antes de que pueda ser usado el sistema de información debe ser probado. Durante este proceso se debe poner en práctica todas las estrategias posibles para garantizar que el usuario inicial del sistema se encuentre libre de problemas.

La implementación es la última fase del desarrollo de sistemas. Es el proceso de instalar equipos o software nuevo, como resultado de un análisis y diseño previo como resultado de la situación o mejoramiento de la forma de llevar acabo un proceso automatizado. Al implementar un sistema lo primero que debemos hacer es asegurarnos qué el sistema sea operacional o que funcione de acuerdo a los requerimientos del análisis y permitir que los usuarios puedan operarlos.

Durante el proceso de implementación y prueba se deben poner en práctica todas las estrategias posibles para garantizar que el usuario inicial del sistema se encuentre libre de problemas lo cual se puede describir durante este proceso y llevar acabo la correcciones.

Existen seis pruebas básicas:

1. Prueba de carga máxima
2. Prueba de almacenamiento
3. Prueba de tiempo de ejecución
4. Prueba de recuperación
5. Prueba de procedimientos
6. Prueba de recursos humanos

Prueba de carga máxima: Consiste en probar si el sistema puede manejar el volumen de actividades que ocurren cuando el sistema está en el punto más alto de su demanda de procesamiento.

Prueba de almacenamiento: Determina si el sistema puede almacenar una alta cantidad proyectada de datos tanto en sus dispositivos de discos fijos y movibles.

Prueba de tiempo de ejecución: Determina el tiempo de máquina que el sistema necesita para procesar los datos de una transición.

Prueba de recuperación: Probar la capacidad del sistema para recuperar datos y restablecer después de una falla.
Prueba de procedimientos: Evaluar la claridad, validez, seguridad, así como su facilidad y sencillez de los manuales de procedimientos.

Prueba de recursos humanos: Se determinan como utilizar los usuarios el sistema al procesar datos o procesar informes.

Implementación: Es la última fase del desarrollo de sistemas. Es el proceso de instalar equipos o software nuevo, como resultado de un análisis y diseño previo como resultado de la situación o mejoramiento de la forma de llevar a cabo un proceso automatizado.

Al implementar un sistema lo primero que debemos hacer es asegurarnos que el sistema sea operacional o que funcione de acuerdo a los requerimientos del análisis y permitir que los usuarios puedan operarlos.

Existen varios enfoques de implementación:
• Es darle responsabilidad a los grupos
• Uso de diferentes estrategias para el enfrentamiento de usuarios.
• El analista necesita formular medidas de desempeño con los cuales evalúa a los usuarios.



4. Puntos a tomar en cuenta para la programación de un proyecto de software


Los principales puntos a tomar en cuenta son las características, recursos y tiempo.
El objetivo de gestión de un proyecto es principalmente para controlar el proyecto como mínimo

Ø  El proyecto varía según lo esperado
Ø  Si se va retrasado darle seguimiento
Ø  Y tomar decisiones adecuadas para sacar el proyecto adelante

Esto para poder finalizar nuestro proyecto con éxito

¿Qué hay que controlar?

Un proyecto puede ser muy complejo pero al final es simplemente un conjunto de variables a controlar (recursos). Los recursos típicos son generalmente:
Tiempo.- respecto a la variable tiempo hay que aclarar una cosa es el esfuerzo  (horas de trabajo) y otra la duración (el plazo que se tiene). Es decir, el plazo que se tiene acordado para terminar el proyecto.

Dinero.- Controlar el dinero, es el presupuesto del proyecto previsto del dinero y hay que tener en cuenta tanto ingresos como gastos (en que lo gasto) como el flujo temporal (cuando lo gasto).

Planificación.- Lo que pienso que va a ocurrir. Por ejemplo voy a tardar 4 horas en la presentación y diseño del proyecto.

Seguimiento.- Lo que en realidad ocurre. Es decir solo tarde 2 horas en terminarlo.

Control.- La toma de decisiones en función de lo ocurrido. Termine 2 horas antes pues utilizarlas en otra parte de nuestro proyecto por si después hay un contratiempo llevar aventajado y no atrasarse.

Un punto importante en este tipos de proyectos es que la interfaz del cliente con el sistema sea fácil de utilizar, el diseño tenga una presentación agradable para que el cliente quede satisfecho con el producto.

Aquí un link de un video relacionado con el tema ya que será de gran ayuda para nosotros en esta materia:

http://caekattz.blogspot.com/2008/09/las-3-principales-variables.html



3. Análisis y diseño de un proyecto de software




Es un conjunto o disposición de procedimientos o programas relacionados de manera que juntos forman una sola unidad. Un conjunto de hechos, principios y reglas clasificadas y dispuestas de manera ordenada mostrando un plan lógico en la unión de las partes. Un método, plan o procedimiento de clasificación para hacer algo. También es un conjunto o arreglo de elementos para realizar un objetivo predefinido en el procesamiento de la Información. 

Para llevarse a cabo de debe tomar en cuenta ciertos principios:

-Se debe presentar y entender el dominio de la información de un problema.

-Definir las funciones que debe realizar el Software.

-Representar el comportamiento del software a consecuencias de acontecimientos externos.

-Divida en forma jerárquica los modelos que representan la información, funciones y comportamiento.

-El proceso debe partir desde la información esencial hasta el detalle de la Implementación. La función del Análisis puede dar soporte a las actividades de un negocio, o desarrollar un producto que pueda venderse para generar beneficios.

Para conseguir este objetivo, un sistema basado en computadoras hace uso de seis elementos fundamentales:

*Software, que son programas de computadora, con estructuras de datos y su documentación que hacen efectiva la logística, metodología o controles de requerimientos del programa.

*Hardware, dispositivos electrónicos y electromecánicos, que proporcionan capacidad de cálculos y funciones rápidas, exactas y efectivas (Computadoras, Censores, maquinarias, bombas, lectores, etc.), que proporcionan una función externa dentro de los sistemas.

*Personal, son los operadores o usuarios directos de las herramientas del sistema.

*Base de Datos, una gran colección de informaciones organizadas y enlazadas al Sistema a las que se accede por medio del software.

*Documentación, manuales y formularios, son  otra información descriptiva que detalla o da instrucciones sobre el empleo y operación del programa.

*Procedimientos, pasos que definen el uso específico de cada uno de los elementos o componentes del sistema, las reglas de su manejo y mantenimiento.

Un análisis de sistema se lleva a cabo teniendo en cuenta los siguientes objetivos en mente:

Identificar las necesidades del cliente.

Evaluar qué conceptos tiene el cliente del sistema para establecer su viabilidad.

Realizar un análisis técnico y económico.

Asignar funciones al hardware, software, personal, base de datos, y otros elementos del sistema.

Establecer las restricciones de presupuestos y planificación temporal.

Crear una definición del sistema que forme el fundamento de todo el trabajo de Ingeniería.

Para lograr estos objetivos se requiere tener un gran conocimiento y dominio del hardware y el software, así como de la Ingeniería humana (Manejo y Administración de personal), y administración de base de datos.

2. Análisis de requerimientos de un proyecto de software




En esta etapa se estudia a fondo lo que desea el usuario y la forma en la cual se le va a presentar la solución que se está buscando.
Para lograrlo tenemos las siguientes actividades técnicas que nos ayudaran a realizar un análisis más preciso y acertado:

2.1 Identificar Casos de Uso del sistema
Se presenta en un diagrama de caso de uso donde se muestra las distintas operaciones que hace el usuario con la aplicación o sistema y cómo se relaciona con su entorno.
Para poder identificar el actor de caso de uso hay que:
-Identificar los usuarios del sistema.
-Identificar los roles que juegan esos usuarios desde el punto de vista del sistema.
-Identificar otros sistemas con los cuales exista comunicación.

2.2 Dar detalle a los casos de uso descritos
Describa brevemente su objetivo
Variantes posibles para realizar este caso de uso.
Relacionar el caso de uso con la interfaz a usuario que lo representa.
Especificar el diálogo que da solución al caso de uso

2.3 Definir una interfaz inicial del sistema (si es aplicable)

2.4 Desarrollar el modelo del mundo.
Identificar Clases
Elementos físicos y lógicos dentro del sistema a modelar.
Identificar atributos y asociaciones.
Identificar mensajes
•         Punto de vista funcional
•         Punto de vista de comportamiento.
Identificar relaciones de herencia
Identificar restricciones del modelo
•         Identificar valores posibles y no posibles de los atributos. Describirlos como restricciones de las clases
•         Identificar valores permitidos para las asociaciones. Describirlos como restricciones de la asociación
•         Identificar restricciones que relaciones dos o más atributos o relaciones. Describirlas dentro de la clase correspondiente
Identificar paquetes
•         Combinar clases fuertemente relacionadas en un paquete
•         Combinar clases que tienen que ver con los mismos casos de uso en un paquete.
Consideraciones de re utilización
•         Reutilizar modelos de dominio existentes
•         Identificar posibles variantes en el futuro tenerlas en cuenta para diseño (patrones)

2.5 Validar los modelos
Para validar los modelos de caso de uso debemos:
Desarrollar diagramas de interacción (diagramas de secuencia o de colaboración) para la variante por defecto de cada caso de uso, usando los objetos del modelo del mundo encontrados y sus mensajes.

1. Planificación y administración de un proyecto de software


Cuando se emprende el desarrollo de un proyecto de software, uno de los elementos más importantes es la planificación y por ende la administración del mismo.  Ya que en un proyecto se estarán combinando diversos recursos para llegar a finalizar el proyecto.
De  entre  los recursos que se combinan tenemos: recursos humanos, quien son los programadores, diseñadores y analistas, quienes se encargan de determinar  la manera en que se realizara el proyecto. Además de los recursos materiales que son las computadoras y equipo de oficina con las que se cuenta para el desarrollo del proyecto que se estén proceso de generarse.
La fase de planificación en un proyecto de Software implica la determinación del tiempo de análisis, la programación, la fase de pruebas y la implementación del mismo, cada una de las fases debe de ser controlada y administrada para que permita un control exitoso del proyecto. La fase de planeación es la más importante ya que se  determina el problema a resolver mediante el software, además de hacer estimaciones razonables de recursos, costos y la determinación del tiempo de duración del proyecto. En esta etapa se determinara las metodologías de programación a utilizar los lenguajes de desarrollo además del de diseño de las presentaciones del software.