Escolar Documentos
Profissional Documentos
Cultura Documentos
Ingeniería en sistemas
Asignatura:
Docente:
Tema:
Diagrama De Clases.
Integrantes:
Año:
2019
DIAGRAMA DE CLASE
DESARROLLADO
POR: "Grady Booch,
James Rumbaugh,
Ivar Jacobson"
Un diagrama de clases sirve para visualizar las relaciones entre las clases que
involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y
de agregación, ya que una clase es una descripción de conjunto de objetos que
comparten los mismos atributos, operaciones, métodos, relaciones y semántica;
mostrando un conjunto de elementos que son estáticos, como las clases y tipos
junto con sus contenidos y relaciones. Un diagrama de clases está compuesto
por los siguientes elementos: Clase: atributos, métodos y visibilidad.
Relaciones: Herencia, Composición, Agregación, Asociación y Uso.
Simbología del diagrama
Clase
Es la unidad básica que encapsula toda la información de un Objeto (un objeto
es una instancia de una clase). A través de ella podemos modelar el entorno en
estudio (una Casa, un Auto, una Cuenta Corriente, etc.).
En UML, una clase es representada por un rectángulo que posee tres divisiones:
En donde:
Superior: Contiene el nombre de la Clase.
Intermedio: Contiene los atributos (o variables de
instancia) que caracterizan a la Clase (pueden ser
private, protected o public).
Inferior: Contiene los métodos u operaciones, los
cuales son la forma como interactúa el objeto con su entorno (dependiendo de
la visibilidad: private, protected o public).
Atributos y Métodos
Los atributos o características de una Clase pueden ser de tres tipos, los que
definen el grado de comunicación y visibilidad de ellos con el entorno, estos
son:
public (+,): Indica que el atributo será visible tanto dentro como fuera de la
clase, es decir, es accesible desde todos lados.
private (-,): Indica que el atributo sólo será accesible desde dentro de
la Clase (sólo sus métodos lo pueden acceder a él).
protected (#,): Indica que el atributo no será accesible desde fuera de la clase,
pero si se podrá acceder por métodos de la clase además de las subclases que
se deriven (ver Herencia).
Los métodos u operaciones de una clase son la forma en como ésta interactúa
con su entorno, éstos pueden tener las características:
public (+,): Indica que el método será visible tanto dentro como fuera de
la Clase, es decir, es accesible desde todos lados.
private (-,): Indica que el método sólo será accesible desde dentro de la clase
(sólo otros métodos de la clase lo pueden accesar).
protected (#,): Indica que el método no será accesible desde fuera de la clase,
pero si podrá ser accesado por métodos de la clase además de métodos de
las subclases que se deriven (ver herencia).
Relaciones
Indica que una subclase hereda los métodos y atributos especificados por una
superclase, de esta forma la subclase además de poseer sus propios métodos y
atributos, poseerá las características y atributos visibles de la superclase.
Agregación
Para modelar objetos complejos, no es suficiente con los tipos de datos básicos
que proveen los lenguajes:
Asociación
La relación entre clases conocida como Asociación, permite asociar objetos que
colaboran entre sí. Cabe destacar que no es una relación fuerte, es decir, el
tiempo de vida de un objeto no depende del otro.
Del ejemplo se puede deducir que una persona puede usa diferentes tipos de
ropa (varias ropas), en cambio una ropa solo puede ser usada por sólo una
persona en un momento determinado.
Los elementos adicionales que pueden aparecer en una relación de este tipo son
los siguientes:
Rol: Identifica con nombres a los elementos que aparecen en los extremos de la
línea que denota la relación, dicho nombre describe la semántica que tiene la
relación en el sentido indicado.
Multiplicidad: La multiplicidad de una relación determina cuantos objetos de
cada tipo intervienen en la relación. Presenta las siguientes características:
MULTIPLICIDAD SIGNIFICADO
1 Uno y solo uno
0..1 Cero o uno
X..Y Desde X hasta Y
* Cero o varios
0..* Cero o varios
1..* Uno o varios
Cada asociación tiene dos multiplicidades (una para cada extremo de la
relación).
Para especificar hay que indicar que la multiplicidad mínima y máxima
(mínima...máxima)
Cuando a multiplicidad mínima es 0, la relación es opcional Una
multiplicidad mínima mayor igual que 1 establece una relación obligatoria
Dependencia o Instanciación
Ventajas
Desventajas
“Le agradará saber que presionamos mucho a la gerencia para contratar un nuevo analista de
sistemas especializado en el desarrollo de comercio electrónico”, dice Al Falfa, analista de sistemas
de la cadena internacional Marathon Vitamin Shops, con múltiples puntos de venta, quien se reunirá
con su extenso equipo de analistas de sistemas para decidir sobre las cualidades que deberá poseer
el nuevo miembro de su equipo. Al continúa: “De hecho, les emocionó tanto la posibilidad de que
nuestro equipo ayude a migrar a Marathon a una estrategia de comercio electrónico que dijeron
que deberíamos empezar a buscar ahora y no esperar hasta otoño”.
Ginger Rute, una de las analistas, asiente diciendo: “La demanda de desarrolladores de sitios Web
aún sobrepasa a la oferta. Debemos movernos con rapidez. Creo que el nuevo miembro de nuestro
equipo debe tener experiencia en modelado de sistemas, JavaScript, C++ y Rational Rose, y debe
estar familiarizado con Ajax, entre otras cosas”.
Al mira sorprendida la extensa lista de habilidades de Ginger y luego responde: “Bueno, sin duda
podríamos basarnos en eso. Pero también me gustaría una persona con conocimientos de negocios.
La mayoría de los recién egresados tienen sólidas habilidades de programación, pero también deben
saber sobre contabilidad, inventarios y distribución de bienes y servicios”.
Vita Ming, la analista más reciente del grupo, finalmente participa en la discusión: “Una de las
razones por las que elegí trabajar con ustedes es que sentí que nos llevaríamos muy bien. Como
tenía otras oportunidades, analicé con mucho cuidado la atmósfera de aquí. Hasta donde he visto,
somos un grupo amigable. Debemos asegurarnos de contratar a alguien con buena personalidad y
que se acople bien a nosotros”.
Al asiente y continúa: “Vita tiene razón. El nuevo miembro debe ser capaz de comunicarse bien
tanto con nosotros como con los clientes de la empresa. Siempre nos estamos comunicando de una
forma u otra, por medio de presentaciones formales, dibujando diagramas o entrevistando usuarios;
si comprenden el proceso de toma de decisiones, el trabajo será más sencillo. Asimismo, Marathon
está interesada en integrar el comercio electrónico en todas las actividades comerciales.
Necesitamos alguien que por lo menos tenga una noción de la importancia estratégica de la Web.
El diseño de páginas es una parte muy pequeña de ello”.
Ginger interviene de nuevo con una dosis saludable de sentido práctico y dice: “Dejemos eso a la
administración. Yo sigo pensando que el nuevo miembro debe ser un buen programador”. Después
delibera en voz alta: “Me pregunto, ¿qué tan importante será el UML?”.
Después de escuchar pacientemente la lista de deseos de todos los demás, Carl Siem, uno de los
analistas en jefe habla bromeando: “¡Mejor deberíamos averiguar si Supermán está disponible!”.
Mientras todos en el grupo comparten risas, Al ve una oportunidad de intentar consenso y dice: “Ya
escuchamos varias cualidades. Ahora hagamos, cada uno de nosotros, una lista de las cualidades
que personalmente creemos deba poseer la nueva persona encargada del desarrollo de comercio
electrónico. Compartiremos las listas y seguiremos discutiendo hasta que podamos describir a la
persona con el detalle suficiente como para enviar la descripción al grupo de recursos humanos para
que la procesen.”
¿Qué cualidades debería estar buscando el equipo al contratar al nuevo miembro del equipo de
desarrollo de comercio electrónico?
El nuevo miembro de equipo tiene que tener conocimientos en el diseño de páginas web, tiene que
ser muy sociable con todo tipo de personas y debe ser un buen programador.
¿Es más importante conocer lenguajes específicos o tener la aptitud de aprender a usar lenguajes
y paquetes de software con rapidez?
Como equipo pensamos que es mejor tener la aptitud para aprender a usar lenguajes, pero no este
también debe tener una idea de cómo se trabajan estos lenguajes o conocer un poco de ellos.
¿Qué tan importante es que la persona a contratar tenga ciertos conocimientos básicos de
negocios?
Como el proyecto va orientado a eso pensamos que si ya tiene conocimientos de negocios tendrá
una mejor idea de cómo debe trabajarse y pensar en la forma más adecuada de resolver los
problemas que se presenten.
¿Deben todos los miembros del equipo poseer competencias y habilidades idénticas?
¿Qué rasgos de personalidad o carácter son deseables en un analista de sistemas que trabaje en
el desarrollo de comercio electrónico?
tienen que tener una muy buena actitud, deben de ser muy responsables, honestos y sobre todo
muy muy tolerantes a la hora de trabajar en equipo.
Estudiante: KEVIN ALEXANDER RODRIGUEZ GONZALEZ
Código: U20160780
Debe ser entusiasta con respecto a las nuevas tecnologías y como aplicarlas,
debe tener conocimiento y ser confiable, con buen historial de satisfacción al
cliente.
Alumna: Cindy Lisseth Molina Sorto U20160244
Carrera: Ingeniería en Sistema