1. REFINAMIENTO EN PRODUCCION DE SOFTWARE
INVESTIGACION
PRESENTADO POR:
JOSE LUGO NAVARRETE
MANUEL ALEJANDRO MURCIA
ING. NESTOR ALEJANDRO LOPEZ RINCON
CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR
FACULTAD DE INGENIERIA
PROGRAMA INGENIERIA DE SISTEMAS
2015
2. ¿CONTEXTO HISTORICO DE OBJETO?
¿QUE ES OBJETO?
Es todo aquello a lo que le puedo asignar una función o tareaespecífica un estado o
comportamiento.
Ejemplo:
Bus, Color, Mesa, etc.
En el proyecto:Bebidas, platos fuertes, postres.
¿QUE ES ABSTRACCION?
Expresalascaracterísticas esencialesde unobjeto,lascualesdistinguenal objetode los demás en
un espacio de tiempo.
Ejemplo:
Un gato para una persona es la compañía que necesita, para otra es el cazador que necesita
En el proyecto:Menúde productos,parael cliente es una selección de productos y para nosotros
es la forma de vender nuestros productos.
¿QUE ES INSTANCIACION?
Se Produce con la creación de un objeto perteneciente a una clase (se dice que se instancia la
clase). El objeto que se crea tiene los atributos, propiedades y métodos de la clase a la que
pertenece.Losobjetosysuscaracterísticasse usan en la construcción de programas, ya sea como
contenedores de datos o como partes funcionales del programa.
Ejemplo:
Mi Carro seria la instancia de la clase carro y puedo dar una variable a la instancia que sería
velocidad máxima y el valor que sea 180 KM.
En el proyecto: menú seria la instancia de mi clase productos y las variables serían las bebidas y
platos fuertes.
¿QUE ES HERENCIA?
Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes,
obteniendo características (métodos y atributos) similares a los ya existentes.
Ejemplo:
Las facciones y comportamiento que hereda un hijo de sus padres y las características propias.
En el proyecto: pedido ya que es una clase que se inicia y permite llamar la Inicio de sesión para
determinar el tipo de usuarios.
3. ¿QUE ES POLIMORFISMO?
Es la capacidadque tienen los objetos de una clase de responder al mismo mensaje o evento en
función de los parámetros utilizados durante su invocación, es tomar varias formas.
Hay dos tipos:
Dinámico: es el que el código no incluye ningún tipo de especificación sobre el tipo de datos.
Estático:es el que lostiposa losque se aplicael polimorfismodebenserexplicitados y declarados
uno por uno antes de ser utilizados.
Ejemplo:
Figuras geométricas, círculo, cuadrado, triangulo, etc, Vehículo: Moto, carro, bus.
En el proyecto: Bebidas, gaseosas, jugos licores, Platos: sopas, platos fuertes, carnes, combos.
¿QUE ES ENCAPSULAMIENTO?
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma
entidad, al mismo nivel de abstracción, solo se conoce el comportamiento pero no los detalles
internos.
Ejemplo:
Televisor, se para que sirve pero no como.
En el proyecto: El cliente desea realizar un pedido, mas no le importa el proceso interno de su
pedido solamente que se genere.
4. DIAGRAMA DE CLASES
¿Qué es Clase?
Es la unidadbásicaque encapsulatodalainformaciónde unObjeto(unobjetoes 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 prívate, 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: prívate, protected o public).
Para especificar la visibilidad de un miembro de la clase (cualquier atributo o método) se coloca
uno de los siguientes signos delante de este miembro:
Atributos:
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(+ ,):Indicaque el atributoserávisibletanto 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 accesar).
Protected(# ,):Indicaque el atributonoseráaccesible desde fuerade laclase,perosi
podrá ser accesado por métodos de la clase además de las subclases que se deriven (ver
herencia).
5. Métodos:
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(#, ):Indicaque el métodonoseráaccesible desdefuerade laclase,pero si
podrá ser accesado por métodos de la clase además de métodos de las subclases que se
deriven.
Herencia (Especialización/Generalización):
Indica que una subclase hereda los métodos y atributos especificados por una Súper Clase, por
ende laSubclase ademásde poseersus propios métodos y atributos, poseerá las características y
atributos visibles de la Súper Clase.
Ejemplo:Vehículo, Carro, Camión
Agregación:
Para modelarobjetoscomplejos,nobastan los tipos de datos básicos que proveen los lenguajes:
enteros, reales y secuencias de caracteres. Cuando se requiere componer objetos que son
instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades:
Por Valor: Es un tipode relaciónestática,en donde el tiempo de vida del objeto incluido
está condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es
comúnmente llamada Composición (el Objeto base se construyea partir del objeto
incluido, es decir, es "parte/todo").
Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del objeto
incluidoesindependientedel que loincluye.Este tipode relaciónescomúnmentellamada
Agregación (el objeto base utiliza al incluido para su funcionamiento).
Ejemplo:
En donde se destaca que:
Un Almacén posee Clientes y Cuentas (los rombos van en el objeto que posee las
referencias).
Cuando se destruye el Objeto Almacén también son destruidos los objetos Cuenta
asociados, en cambio no son afectados los objetos Cliente asociados.
La composición (por Valor) se destaca por un rombo relleno.
6. La agregación (por Referencia) se destaca por un rombo transparente.
Asociación:
La relaciónentre clasesconocidacomoAsociación,permite asociar objetosque colaboran entre si
cabe destacarque no esuna relaciónfuerte,esdecir,el tiempo de vida de un objeto no depende
del otro.
Ejemplo:
Un cliente puede tener asociadas muchas Órdenes de Compra, en cambio una orden de compra
solo puede tener asociado un cliente.
Dependencia o Instanciación (uso):
Representauntipode relaciónmuyparticular,enlaque unaclase es instanciada(su instanciación
es dependiente de otro objeto/clase).El uso más particular de este tipo de relación es para
denotar la dependencia que tiene una clase de otra.
Ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana está
condicionado a la instanciación proveniente desde el objeto aplicación):