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.
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
Publicar un comentario