Unidad 4 Modelado 

4.1 Modelado de pruebas con UML.
4.2 Cumplimiento de la especificación en los requerimientos.
4.3 Importancia en la efectividad en el diseño.
4.4 Patrones (tipos de patrones, como utilizar los patrones para validar).
4.5 Contratación y Outsourcing.


4.1 Modelado de pruebas con UML.

¿Qué es UML? Lenguaje Unificado de Modelado pre escribe un
conjunto de notaciones y diagramas estándar para modelar sistemas
orientados a objetos, y describe la semántica esencial de lo que estos
diagramas y símbolos significan.
UML se puede usar para modelar distintos tipos de sistemas: sistemas
de software, sistemas de hardware, y organizaciones del mundo real.
UML ofrece nueve diagramas en los cuales se pueden modelar sistemas.

Ø  Diagramas de Casos de Uso para modelar los procesos ’business’.
Ø  Diagramas de Secuencia para modelar el paso de mensajes entre objetos.
Ø  Diagramas de Colaboración para modelar interacciones entre objetos.
Ø  Diagramas de Estado para modelar el comportamiento de los objetos en el sistema.
Ø  Diagramas de Actividad para modelar el comportamiento de los Casos de Uso, objetos u operaciones.
Ø  Diagramas de Clases para modelar la estructura estática de las clases en el sistema.
Ø  Diagramas de Objetos para modelar la estructura estática de los objetos en el
Ø  sistema.
Ø  Diagramas de Componentes para modelar componentes.
Ø  Diagramas de Implementación para modelar la distribución del sistema.

MODELO DE PRUEBAS

MODELO PARA LA GENERACION DE PRUEBAS

4.2 Cumplimiento de la especificación en los
requerimientos.
Importancia de los Requerimientos
Objetivo final en cualquier diseño de SW es satisfacer los requisitos del sistema:
Requisitos de SW: Requisitos de productos ¡ Requisitos de prueba
Meta
´        Asegurar que todos los requisitos son completados por el diseño.
´        El diseño sea acorde a los requisitos especificados.

Casos de Uso: Se utilizan para correlacionar cada escenario con los requisitos que completa. ¡ Si los requisitos no existen, modelar el sistema a través de los Casos de Uso, permite el descubrimiento de estos requisitos.

Diagrama de clase: Es el diagrama principal de diseño y análisis para un sistema. ¡ Se especifica la estructura de clases del sistema, con relación entre clases y estructura de herencia.
Diagramas de Secuencia: Es uno de los diagramas más efectivos para modelar interacción entre objetos en un sistema. ¡ El diagrama de secuencia se centra en la secuencia cronológica del escenario modelado.
Diagramas de Colaboración: Presenta una alternativa al diagrama de secuencia para modelar interacciones entre objetos en el sistema. ¡ Se centra en estudiar todos los efectos de un objeto dado un escenario.

4.3 Importancia en la efectividad en el diseño.
El diseño es el primer paso en la fase de desarrollo de cualquier producto o sistema de Ingeniería.
“El objetivo del diseño es producir un modelo o representación de una entidad que se va a construir posteriormente”
Características de acuerdo con McGlaughlin que sirven como parámetros generales para la evaluación de un buen diseño
1. El diseño debe implementar todos los requisitos explícitos obtenidos en la etapa de análisis
2. El diseño debe ser una guía que pueda leer y entender los que construyen el código y los que prueban y mantienen el software
3. El diseño debe proporcionar una idea completa de los que es el software
El diseño del software desarrolla un modelo de instrumentación o implantación basado en los modelos conceptuales desarrollados durante el análisis, existen:
Ø  El Diseño de los datos
Ø  El Diseño Arquitectónico
Ø  El Diseño de la Interfaz
Ø  El Diseño de procedimientos
Diseño de los datos
Define la relación entre cada uno de los elementos estructurales del programa. Que incluye la arquitectura de los datos y la estructura del programa. (Modulos).
Ø  Verificando que todos los componentes funcionen como un todo.
Ø  Satisfacción del cliente.
Diseño arquitectónico
Describe como se comunica el Software, con los sistemas que operan junto con el y con los operadores y usuarios que lo emplean.
Diseño de interfaz
Transforma elementos estructurales de la arquitectura del programa. La importancia del Diseño del Software se puede definir en una sola palabra Calidad, dentro del diseño es donde se fomenta la calidad del Proyecto. El Diseño es la única manera de materializar con precisión los requerimientos del cliente.
Diseño de procedimiento
Diseño en el Enfoque Estructurado
Diseño de la Arquitectura de Soporte (DSI 2), que incluye el diseño detallado de los subsistemas de soporte, el establecimiento de las normas y requisitos propios del diseño y construcción, así como la identificación y definición de los mecanismos genéricos de diseño y construcción.
En el caso de Diseño Orientado a Objetos, conviene señalar que el diseño de la persistencia de los objetos se lleva a cabo sobre bases de datos relacionales, y que el diseño detallado del sistema de información se realiza en paralelo con la actividad de Diseño de la Arquitectura de Soporte (DSI 2), y se corresponde con las siguientes actividades:
Diseño de Casos de Uso Reales (DSI 3)
Diseño de Clases (DSI 4)

4.4 Patrones (tipos de patrones, como utilizar los patrones para validar).
HACER SOFTWARE NO ES FÁCIL.
Ø  Diseñar software orientado a objetos es difícil, y diseñar software orientado a objetos reutilizable es todavía más difícil
Ø  Un software capaz de evolucionar tiene que ser reutilizable (al menos para las versiones futuras)
Ø  El software cambia
Ø  Para anticiparse a los cambios en los requisitos hay que diseñar pensando en que aspectos pueden cambiar
Ø  Los patrones de diseño están orientados al cambio
LOS PATRONES PRETENDEN.
Ø  Proporcionar catálogos de elementos reusables en el diseño de sistema software
Ø  Formalizar un vocabulario común entre diseñadores
Ø  Estandarizan el modo en que realiza el diseño
Ø  Facilitar el aprendizaje de nuevas generaciones de diseñadores condensando conocimiento existente
LOS PATRONES NO PRETENDEN.
Ø  Imponer ciertas alternativas de diseño frente a otras
Ø  Eliminar la creatividad inherente al proceso de diseño
Ø  Importante
Ø  No es obligatorio utilizar los patrones. Es aconsejable en el caso de tener el mismo problema o similar que soluciona el patrón
Ø  Abusar o forzar el uso de los patrones puede ser un error
POR QUE DEBO USAR PATRONES.
Ø  Los patrones de diseño son soluciones bien pensadas a problemas conocidos de programación •Muchos programadores han padecido de estos problemas antes y han utilizado estas soluciones para ponerles remedio
Ø  No reinventar la rueda
¿QUE ES UN PATRÓN?
1. Un patrón de diseño es una descripción de clases y objetos comunicándose entre sí, adaptada para resolver un problema de diseño común.
2. se encuentran patrones de clases y objetos de comunicaciones recurrentes en muchos sistemas orientados a objetos.
3. Estos patrones resuelven problemas de diseño especifico y hacen el diseño flexible y reusable
CLASIFICACION DE LOS PATRONES.
1.    Según su propósito
2.    De creación: concierne al proceso de creación de objetos. (inicialización y configuración de objetos)
3.    De estructura: tratan la composición de clases y/o objetos (separan la interfaz de la implementación, se ocupan de como las clases y objetos se agrupan).
4.    De comportamiento: caracterizan las formas en las que interactúan y reparten responsabilidades las distintas clases de u objetos (Describe la comunicación entre clases y objetos)
PATRONES DE DISEÑO FUNDAMENTALES.
DELEGATION
Ø  Utilidad
Ø  Cuando se quiere extender y realizar la funcionalidad de una clase sin utilizar herencia 4. Ventajas
Ø  En vez de herencia múltiple
Ø  Cuando una clase que hereda de otra quiere ocultar algunos de los métodos heredados 7. Compartir código que no se puede heredar
PATRÓN ESTRUCTURAL.
ADAPTER
Ø  Utilidad
Ø  Convertir la interfaz de una clase en otra interfaz esperada para los clientes
Ø  Permite que clases con interfaces incompatibles se comuniquen
Ø  Ventajas
Ø  Se requiere utilizar una clase ya existente y su interfaz no se corresponde con la interfaz que necesita
Ø  Se requiere envolver código no orientado a objeto con forma de clase.
4.5 Contratación y Outsourcing.
Se conoce por contrato de outsourcing informático a aquel en virtud del cual una empresa dedicada a la gestión de sistemas informáticos para empresas (el prestador) es contratada por otra (el cliente) para que le realice determinados servicios informáticos con el objeto de incrementar su productividad y competitividad. El prestador gestionará el sistema informático del cliente con el fin de proporcionarle un sistema informático actualizado y eficiente.
El objetivo es reducir costes utilizando solo el personal prescindible para el desarrollo del proyecto sin un vínculo laboral con los empleados. Para ello durante el desarrollo o mantenimiento del proyecto se realiza contratando el trabajo a terceras empresas o empresas externas.
En concreto, la prestación de servicios suele incluir varios de los servicios siguientes: consultoría, desarrollo de aplicaciones, implantación, mantenimiento, formación, gestión de redes, backup, seguridad, plan de contingencia, etc. Los mismos podrán detallarse en un Anexo al Contrato entre las Partes.
         La contratación de personal es el procedimiento que se lleva a cabo en una empresa para formalizar la relación laboral con un empleado que recién ingresa a la misma.
         Beneficios
         El beneficio principal es abaratar los costos de producción.
         reducción de los costes y del capital invertido
         Utilización de las mejores prácticas y continua mejora de las mismas, gracias a la mejores prácticas y continua mejora de las mismas, gracias a la experiencia del proveedor del servicio subcontratado
         Flexibilidad máxima con consecuente mejora de la productividad de negocio.
VENTAJAS COMPETITIVAS DEL OUTSOURCING
Según la experiencia que han tenido empresas a nivel mundial, son varios los beneficios que la subcontratación de servicios tiene dentro de las cuales mencionamos las más importantes y cuyos resultados han sido ampliamente comprobados.
         Disminución del costo del producto o servicio
         Mayor calidad hacia el cliente
         Capacitación del Personal
         Enfoque a las Prioridades
Maximización de la Infraestructura

Comentarios

Entradas más populares de este blog