ensayo - 2e UTIM

Anuncio
PRESENTACION
NOMBRE DE LA ESCUELA: UNIVERSIDAD TECNOLOGICA DE IZUCAR DE
MATAMOROS
NOMBRE DEL PROFESOR: LIC CESAR ESPINOZA JIMENEZ
NOMBRE DE LA ALUMNA: MARIA LUISA HIDALGO CASTILLO
MATERIA: ANALISIS Y DISEÑO DE SOFTWERE
NO CONTROL: 10292075
TEMA: UML
ENSAYO
TEMA: UML
25/MARZO/2011
FUNDAMENTOS DE LA POO
Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a
este hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de Cambridge e
inventor ingles, que la principio del siglo XIX predijo muchas de las teorías en que se basan los actuales
ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no
pudo construirse hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada como
la primera programadora de la historia, pues realizo programas para aquélla supuesta maquina de
Babagge, en tarjetas perforadas. En 1823 el gobierno Británico lo apoyo para crear el proyecto de una
máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedico
al proyecto de la máquina analítica, abandonando la máquina de diferencias, que se pudiera programar
con tarjetas perforadas, gracias a la creación de Charles Jacquard (francés). E
Construcción de un modelo mecánico de un sistema físico a partir de objetos concretos. Los
objetos aquí serían, en un modelo de una pista de carreras: los autos, las carreteras, las llegadas, las
graderías, espectadores, etc. En un modelo de un sistema planetario, tenemos los objetos concretos: los
planetas, los órbitas, el sol, la energía, etc.
Construcción de un modelo algorítmico de un sistema físico a partir de objetos de software. Los
objetos aquí serían: rutinas de conexión a DB, shorts, validación de acceso, despliegue, impresiones, etc.
Este concepto de POO se puede ver como una intuitiva correspondencia entre un software de simulación
de un sistema físico y el sistema físico en sí (o su modelo mecánico).
Modelo algorítmico: Análisis, diseño e implementación de un software usando objetos de “software”.
Objetos de software: Componentes que integran o conforman el modelo; pueden ser unidades de código
para resolver situaciones específicas, shorts, uso de DB, prints, funciones, vectores, etc.
Modelo mecánico: Análisis, diseño e implementación de prototipo a escala de un sistema físico usando
objetos concretos.
Objetos concretos: Partes físicas del modelo mecánico, ojo del modelo, no del sistema real; o sea, los
objetos planeta no son los planetas reales.
ANALISIS Y DISEÑO DE SOFTWERE | ¡Error! No hay texto con el estilo 1
especificado en el documento.
Modelo: Es una vista de un sistema del mundo real, es decir, una abstracción de dicho sistema
considerando un cierto propósito. Así, el modelo describe completamente aquellos aspectos del sistema
que son relevantes al propósito del modelo y a un apropiado nivel de detalle.
Diagrama: Representación gráfica de un modelo.
Abstracción: Capacidad del ser humano para entender una situación excluyendo detalles y sólo viéndola
a alto nivel. El hombre ha comprendido el mundo con la abstracción. Esta propiedad permite distinguir a
un objeto de los demás, observando sus características y comportamientos, pensando en qué es y no en
cómo se codificaría en un lenguaje. Con la abstracción se destaca lo importante y se ignora lo irrelevante,
o sea, hay ocultamiento de información. Hay abstracción de datos al declarar una variable tipo integer, ya
que internamente el compilador lo implementa en 2 bytes, lo cual es transparente al programador, o al
declarar una variable date, el compilador controla los días de los meses, acepta sólo operaciones válidas
entre las fechas, permitiendo al programador abstraerse de esos detalles. Estos tipos de datos abstractos
coleccionan valores y operaciones, los cuales se usan transparentemente sin importar su implementación:
otro lo implementa y yo lo uso.
Encapsulación de información: Ocultamiento de información, datos o funciones especiales a los
usuarios. En el caso de la programación, el encapsulamiento es lo que permite que tanto la estructura
(campos) como el comportamiento (métodos) se encuentren dentro del mismo cuerpo de código de la
clase con la que se crean los objetos. Dentro de la clase se deben agrupar tanto la información o datos de
los campos como las operaciones o métodos o funciones que operan sobre esta información.
Herencia: Propiedad que permite a los objetos ser construidos a partir de otros; es recibir de un módulo
superior sus características, tales como atributos o funciones (campos y métodos o comportamientos),
para usarlos en el módulo actual. Heredar es compartir atributos.
Sobre escritura (override): Posibilidad de heredar un método de un módulo y cambiarle el
comportamiento en el heredero, con la opción de poder usar el original, si se desea.
Métodos unidos a los objetos: los métodos de un objeto son inseparables y siempre formarán parte de
su cuerpo, como un todo.
Noción de self: unicidad de los objetos; son únicos y no se repiten, aunque sean de la misma clase. Así
como se puede definir varias variables del tipo INT cada una de las cuales es única, se puede crear o
instanciar varios objetos de una misma clase.
DIAGRAMA DE CLASES:
A partir del año 1994, Grady Booch [Booch96](precursor de Booch '93) y Jim Rumbaugh (creador de
OMT) se unen en una empresa común, Rational Software Corporation, y comienzan a unificar sus dos
métodos. Un año más tarde, en octubre de 1995, aparece UML (Unified Modeling Language) 0.8, la que
se considera como la primera versión del UML. A finales de ese mismo año, Ivan Jacobson, creador de
OOSE (Object Oriented Software Engineer) se añade al grupo. Cómo objetivos principales de la
consecución de un nuevo método que aunara los mejores aspectos de sus predecesores, sus
protagonistas se propusieron lo siguiente:
El método debía ser capaz de modelar no sólo sistemas de software sino otro tipo de sistemas reales
de la empresa, siempre utilizando los conceptos de la orientación a objetos (OO).
Crear un lenguaje para modelado utilizable a la vez por máquinas y por personas.
Establecer un acoplamiento explícito de los conceptos y los artefactos ejecutables.
Manejar los problemas típicos de los sistemas complejos de misión crítica.
Lo que se intenta es lograr con esto que los lenguajes que se aplican siguiendo los métodos más
utilizados sigan evolucionando en conjunto y no por separado. Y además, unificar las perspectivas entre
diferentes tipos de sistemas (no sólo software, sino también en el ámbito de los negocios), al aclarar las
ANALISIS Y DISEÑO DE SOFTWERE | ¡Error! No hay texto con el estilo 2
especificado en el documento.
fases de desarrollo, los requerimientos de análisis, el diseño, la implementación y los conceptos internos
de la OO.
Un diagrama
de
clases es
un
tipo
de
diagrama
estático
que
describe
la
estructura
de
un sistemamostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son
utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de
la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y
la relación entre uno y otro.
Representación de: - Requerimientos en entidades y actuaciones. - La arquitectura conceptual de un
dominio - Soluciones de diseño en una arquitectura - Componentes de software orientados a objetos
Propiedades también llamados atributos o características, son valores que corresponden a un objeto,
como color, material, cantidad, ubicación. Generalmente se conoce como la información detallada del
objeto. Suponiendo que el objeto es una puerta, sus propiedades serían: la marca, tamaño, color y peso.

Operaciones comúnmente llamados métodos, son aquellas actividades o verbos que se pueden
realizar con/para este objeto, como por ejemplo abrir, cerrar, buscar, cancelar, acreditar, cargar. De la
misma manera que el nombre de un atributo, el nombre de una operación se escribe con minúsculas
si consta de una sola palabra Interfaz es un conjunto de operaciones que permiten a un objeto
comportarse de cierta manera, por lo que define los requerimientos mínimos del objeto.

Herencia se define como la reutilización de un objeto padre ya definido para poder extender la
funcionalidad en un objeto hijo. Los objetos hijos heredan todas las operaciones y/o propiedades de
un objeto padre. Por ejemplo: Una persona puede especializarse en Proveedores, Acreedores,
Clientes, Accionistas, Empleados; todos comparten datos básicos como una persona, pero además
cada uno tendrá información adicional que depende del tipo de persona, como saldo del cliente, total
de inversión del accionista, salario del empleado, etc.
Ejemplo 1: Una persona tiene número de documento de identificación, nombres, apellidos, fecha de
nacimiento, género, dirección postal, posiblemente también tenga número de teléfono de casa, del móvil,
FAX y correo electrónico.
Ejemplo 2: Un sistema informático puede permitir administrar la cuenta bancaria de una persona, por lo
que tendrá un número de cuenta, número de identificación del propietario de la cuenta, saldo actual,
moneda en la que se maneja la cuenta.
Ejemplo 3: Otro objeto pueden ser "Manejo de Cuenta", dónde las operaciones bancarias de una cuenta
(como en el ejemplo 2) se manejarán realizando diferentes operaciones que en el diagrama de clases de
balurdes sólo se representan como operaciones, que pueden ser: abrir, cerrar, depósito, retiro.
El diagrama de clases incluye mucha más información como la relación entre un objeto y otro, la herencia
de propiedades de otro objeto, conjuntos de operaciones/propiedades que son implementadas para una
interfaz.
ANALISIS Y DISEÑO DE SOFTWERE | ¡Error! No hay texto con el estilo 3
especificado en el documento.
DIAGRAMA DE CASO DE USO:
James Rumbaugh había desarrollado su propia notación de diseño orientado a objetos llamada OMT
(Object Modeling Technique) en su libro "Object-Oriented Modeling and Design".
Por otro lado Jacobson se había revelado como un visionario del análisis (padre de los casos de uso) y
sobre todo del diseño orientado a objetos, sorprendiendo a todo el mundo en "Object-Oriented Software
Engineering: A Use Case Driven Approach". A mediados de los noventa empezaron a intercambiar
documentos y trabajar en conjunto produciendo grandes avances en el modelado de sistemas orientados
a objetos. En 1994 Rational contrató a Rumbaugh en donde ya trabajaba Booch, un año después
Jacobson se unía a ellos en Rational.
En 1997 salió a la luz la versión 1.0 de UML. Casos de Uso no son parte del diseño (cómo), sino parte del
análisis (qué). De forma que al ser parte del análisis nos ayudan a describir qué es lo que es sistema
debe hacer. Los Casos de Uso son qué hace el sistema desde el punto de vista del usuario. Es decir,
describen un uso del sistema y cómo este interactúa con el usuario. Si te has enfrentado alguna vez a
UML normalmente habrás visto algún diagrama de clases y esperarás que los Casos de Uso sean
también una forma visual de representar la información. Sin embargo estás muy equivocado, si bien los
casos de usos se pueden agrupar en diagramas, los diagramas no son lo importante. Voy a repetirlo para
que quede claro, "Los diagramas no son lo importante".
Sé que alguno estará impaciente con los diagramas, así que luego los trataré. Pero primero vayamos con
lo realmente interesante. Si lo primordial de los casos de uso (use case) no son los diagramas, entonces
¿que es lo importante? Lo realmente útil de los casos de uso es el documento que describe el caso de
uso (use case), en este documento se explica la forma de interactuar entre el sistema y el usuario.Pero lo
más claro es que te presente uno. Este podría ser el caso de uso (use case) de escribir un mensaje en un
foro.
ANALISIS Y DISEÑO DE SOFTWERE | ¡Error! No hay texto con el estilo 4
especificado en el documento.
Nombre:
Crear mensaje foro
Autor:
Joaquín Gracia
Fecha:
24/08/2003
Descripción:
Permite crear un mensaje en el foro de discusión.
Actores:
Usuario de Internet logeado.
Precondiciones:
El usuario debe haberse logeado en el sistema.
Flujo Normal:
1.
2.
3.
4.
El actor pulsa sobre el botón para crear un nuevo mensaje.
El sistema muestra una caja de texto para introducir el título del mensaje y una zona de mayor
tamaño para introducir el cuerpo del mensaje.
El actor introduce el título del mensaje y el cuerpo del mismo.
El sistema comprueba la validez de los datos y los almacena.
Flujo Alternativo:
4.
El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de
ello permitiéndole que los corrija
Poscondiciones:
El mensaje ha sido almacenado en el sistema.
REFERENCIAS:
EL LENGUAJE UNIFICADO MODELADO
AUTOR: GRADY BOOCH - JAMES RUMBAUGH- IVAR JACOBSON
CAPITULOVIII- XVII
FUNDAMENTOS DE JAVA –TERCERA EDICCION
AUTOR: HERBET SCHILDT PAG.8
JAVA 2 VERSION 1.4
AUTOR: ISRAEL PASTRANA VICENTE PAG: 31-33
ANALISIS Y DISEÑO DE SOFTWERE | ¡Error! No hay texto con el estilo 5
especificado en el documento.
ANALISIS Y DISEÑO DE SOFTWERE | ¡Error! No hay texto con el estilo 6
especificado en el documento.
Descargar