Indicios de: | ¿Qué se debe Buscar? |
Instalaciones inadecuadas | Flujo de información enredado por ubicación del local. Espacio físico limitado o mal ubicado que dificulta realizar las tareas o las entorpece. |
Personal insuficiente | Retrasos en entrega de productos por carga excesiva del trabajo. |
Procedimiento mal diseñados | Flujo de información enredado, copias innecesarias que nadie utiliza, pasos que se omiten, pasos que se realizan y no están documentados. |
Formularios mal diseñados | Copias innecesarias no utilizadas, campo que no se utilizan, espacio no adecuado con los datos. |
Tiempo de ejecución inadecuado | Retrasos en entregas, esperas de clientes y usuarios. |
Requerimiento de mayor capacidad de procesamientos | Retrasos en entregas, esperas de clientes y usuarios. |
Requerimientos de control
Indicios de: | ¿Qué se debe buscar? |
No existencia de estándares de control | No se tiene cifras de control ni procedimientos establecidos para verificar operación normal del sistema. |
No existen responsable por tarea o producto | Tareas o productos en que no está definido un responsable o existen varias versiones en cuanto a responsables de un producto o tarea. |
Frecuente omisión de pasos en procedimientos | Inconsistencia en los procedimientos. Se desconocen los procedimientos, o versiones diferentes por cada persona entrevistada |
No existen procedimientos formales | |
No existen de comunicación adecuada | No se manejan los mismos conceptos. Cada persona tiene distinta definición de procedimientos, estándares, etc. |
Disponibilidad de información
En esta parte se debe considerar si la información que existe es correcta y se encuentra disponible o bien es solo un problema de procedimiento y hacer que dicha información esté disponible.
Uso de las Reuniones de Trabajo
Las reuniones de trabajo son una poderosa herramienta a nuestra disposición y ya hemos hablando de ellas.
Es recomendable construir los modelos del sistema antes sugeridos. El objetivo de construir antes, es tener una idea clara de lo que se puede esperar en las reuniones y conocer aquellos aspectos en que no se tenga toda la información necesaria para evitar pérdida de tiempo y confusión en las reuniones de trabajo.
Los conflictos son naturales en los grupos heterogéneos y pueden ser enriquecedores, si se manejan adecuadamente.
Metodologías para el Diseño de Sistemas
De acuerdo con James Rumbaugh, una metodología de ingeniería del software es un proceso para producir software de formas organizada; se emplea una colección de técnicas y convenciones de notación predefinidas.
Mario Piattini define una metodología como el conjunto de procedimientos, técnicas, herramientas y un soporte documental que ayuda a los desarrollos a realizar nuevo software.
Metodología de Diseño
· Prototipos
· Diseño estructurado
· Orientada a objetos (OO)
· Desarrollo rápido de aplicaciones (RAD)
Proceso Unificado de Desarrollo (PUD)
Describe un conjunto de actividades que deben realizarse en un determinado orden que identifican que hacer, como hacerlo, cuando hacerlo y el motivo por el cual debe hacerse.
Un proceso de software debe especificar:
· La secuencia de actividades a realizar por el equipo de desarrollo, es decir identificar el flujo de actividades.
· Los productos que deben crearse e indicar el que y el cuándo.
· Asignación de tareas a cada miembro del equipo y al equipo como un todo.
· Criterios para controlar el proceso.
El PUD es un proceso de desarrollo de sistemas; es un proceso “marco”, debido a que no existe un proceso universal que resuelva los problemas de todo tipo de organización.
El Proceso Unificado, de acuerdo a Jacobson, es un proceso porque “define quien está haciendo que, cuando lo hace y como alcanzar cierto objetivo, en este caso el desarrollo de software.
El Ciclo de Vida del software en el proceso Único
De acuerdo con Booch, las fases del ciclo de vida del software son:
· Concepción
· Elaboración
· Construcción
· Transición
La concepción es la definición del alcance del proyecto y el caso de uso.
El PUD posee las siguientes características que serán explicaciones en detalles:
1. Dirigido por casos de uso
2. Centrado en la arquitectura
3. Iterativo e incremental
Dirigido por Casos de Uso
¿Qué es un caso de uso?
Un caso de uso especifica un comportamiento deseado del sistema. Es decir, representa los requisitos funcionales del sistema. Describe que hace el sistema, no como lo hace.
Un actor es una entidad externa del sistema que de alguna forma participa en el caso de uso.
Un diagrama de casos de uso es un documento narrativo que establece una secuencia de eventos para complementar un proceso entre un actor y el sistema.
Centrado en la Arquitectura (Limites)
La arquitectura es prioritaria desde el principio hasta el final. La arquitectura es una vista del diseño completo con las características más importantes resaltadas; se dejan los detalles a un lado.
Interativo e Incremental
Esta característica se fundamenta en que el usuario no sabe exactamente lo que quiere del sistema.
Iteración
Es el esfuerzo de trabajo en un proyecto que recorre varias etapas de desarrollo (no necesariamente todas) y al final del cual se ha incrementado el material disponible sobre el sistema.
Incremento
Un avance significativo en el grado de especificación, diseño, implementación o prueba del sistema que tenga lugar durante una iteración.
Los objetivos de una iteración se establecen función de la evaluación de las iteraciones precedentes. Cada iteración debe tener una duración fija (el máximo, 6 mese).
Vida de un Sistema
La vida de un sistema consiste en una serie de ciclos que incluyen desde su nacimiento, los ciclos intermedios hasta su muerte. Cada ciclo tiene varias frases. Una frase es un intervalo de tiempo entre dos hitos importante del proceso, cuando se cumplen un conjunto de objetivos bien definidos, se completan los artefactos y se toman las decisiones sobre si conviene pasar a la siguiente fase.
Etapas y fases del ciclo de vida
Las etapas son: inicio, elaboración, construcción y transición.
Inicio
En esta etapa se definen el ámbito y los objetivos del proyecto.es conveniente comprender los procesos del negocio, asimismo, se deben obtener y especificar requisitos del sistema.
Elaboración
Se define la funcionalidad y una arquitectura básica del sistema. Tanto la funcionalidad como el dominio del problema se estudian en profundidad.
Construcción
En esta etapa se desarrolla el producto de iteraciones. Cada iteración involucra análisis, diseño e implementación, como se vio anteriormente. En esta fase se proporciona un producto construido junto con la documentación.
Transición
En esta etapa se libera el producto y se entrega al usuario para su uso real.
Relación entre PUD y UML
UML es el lenguaje de modelo seleccionado como estándar por la OMG (Object Management Group). El proceso unificado es un proceso que sirve de marco para el desarrollo de un proyecto de software, el cual es adaptable. UML es el lenguaje a utilizar para plasmar las diferentes vistas del sistema. UML es una de las herramientas utilizadas durante el PUD.
Introducción a Objetos
La Programación Orientada a Objetos
Es una forma de pensar, una filosofía, de cual surge una cultura nueva que incorpora técnicas y metodologías diferentes.
Fundamentos
El diagrama OO se basa en el concepto de objeto. Un objeto es aquello que tiene estado (propiedades mas valores), comportamientos (acciones y reacciones a mensajes) e identidad (propiedad que lo distingue de los demás objetos).
Una clase es un conjunto de objetos que comparten una estructura y comportamiento común.
La diferencia entre un objeto es una entidad concreta que existe en tiempo y espacio, mientras que una clase representa una abstracción, la esencia de un objeto. Los principios del modelo OO son: Abstracción, encapsulación, modularidad y jerarquía, fundamentalmente, y en qué grado tipificación, concurrencia, y persistencia.
Lenguaje unificado de Modelo (UML)
¿Qué es un Modelo?
Es una simplificación de la realidad. Es una descripción de un sistema, o parte de el, en un lenguaje bien definido.
¿Por qué se Modela?
Para mejorar la compresión acerca de la realidad que se modela. Para disminuir la complejidad.
Un modelo facilita la comunicación entre el equipo al existir un lenguaje común. Modelar es la acción de construir un modelo.
Debe ser
· Exacto
· Fácil de comunicar a otros
· Fácil de cambiar
· Entendible
¿Qué es UML?
El lenguaje unificado de modelo (UML) es un lenguaje desde una perspectiva OO. UML es llamado un lenguaje de modelo, no un método.