martes, 4 de abril de 2017
Diagramas de clase
¿Sabes que es un diagrama de clase y que se utiliza?
Es una representación gráfica que sirve para representar la estructura de un sistema que será implementado utilizando un lenguaje orientado a objetos.La idea de estos diagramas es representar las clases que tendrá el sistema así como su contenido y sus relaciones con otras clases. La implementación de sistemas medianamente grandes no sería abordable sin este tipo de diagramas, y aunque fuera abordable se tardaría mucho más y sería más fácil cometer errores.
Características principales de los diagramas de clase:
Actor
Un actor es una entidad externa (de fuera del sistema) que interacciona con el sistema participando (y normalmente iniciando) en un caso de uso. Los actores pueden ser gente real (por ejemplo, usuarios del sistema), otros ordenadores o eventos externos.Visibilidad
Para especificar la visibilidad de un miembro de la clase (es decir, cualquier atributo o método), se coloca uno de los siguientes signos delante de ese miembro:Relaciones
Una relación es un término general que abarca los tipos
específicos de conexiones lógicas que se pueden encontrar en los diagramas de
clases y objetos. UML presenta las siguientes relaciones:
- Asociación: Las relaciones de asociación representan un conjunto de enlaces entre objetos o instancias de clases. Es el tipo de relación más general, y denota básicamente una dependencia semántica.
- Herencia: Las jerarquías de generalización/especialización se conocen como herencia. Herencia es el mecanismo que permite a una clase de objetos incorporar atributos y métodos de otra clase, añadiéndolos a los que ya posee.
- Agregación: La agregación es un tipo de relación jerárquica entre un objeto que representa la totalidad de ese objeto y las partes que lo componen.
- Composición. La composición es una forma de agregación donde la relación de propiedad es más fuerte, e incluso coinciden los tiempos de vida del objeto completo y las partes que lo componen.
Asociaciones de clases
Generalización
La herencia es uno de los conceptos fundamentales de la programación orientada a objetos, en la que una clase «recoge» todos los atributos y operaciones de la clase de la que es heredera, y puede alterar/modificar algunos de ellos, así como añadir más atributos y operaciones propias.
Asociaciones
Una asociación representa una relación entre clases, y aporta la semántica común y la estructura de muchos tipos de «conexiones» entre objetos.
Las asociaciones son los mecanismos que permite a los objetos comunicarse entre sí.
Las asociaciones son los mecanismos que permite a los objetos comunicarse entre sí.
Acumulación
Las acumulaciones son tipos especiales de asociaciones en las que las dos clases participantes no tienen un estado igual, pero constituyen una relación «completa». Una acumulación describe cómo se compone la clase que asume el rol completo de otras clases que se encargan de las partes.
Composición
Las composiciones son asociaciones que representan acumulaciones muy fuertes. Esto significa que las composiciones también forman relaciones completas, pero dichas relaciones son tan fuertes que las partes no pueden existir por sí mismas.Bibliográfia:
https://users.dcc.uchile.cl/~psalinas/uml/modelo
http://instintobinario.com/diagrama-de-clases/
https://docs.kde.org/stable4/es/kdesdk/umbrello/uml-elements.html
Bibliográfia imagenes:
http://www.cyta.com.ar/ta0604/v6n4a1.html
http://neidybeltran95.blogspot.es/
https://chemamegino.wordpress.com/2013/02/04/un-poco-de-uml-agregacion-vs-composicion-en-diagramas-de-clases/
Documentación de investigación con información por la Dra.Ivette Mata
Presentación Proyecto investigación
lunes, 3 de abril de 2017
Introducción a los modelos de desarrollo
En los modelos para el desarrollo de software tenemos algunos modelos con diferentes características y diferentes punto a documentar algunos los cuales son:- Modelo de Cascada
- Modelo en V
- Modelo en Flor
- Prototipos
- Modelo Espiral
- Modelo de Procesos
- Desarrollo Incremental
¿Pero sabes que es un modelo de desarrollo?
En Ingeniería del Software, un modelo de proceso de desarrollo de software puede verse como una manera de dividir el trabajo en distintas actividades (o el ciclo de vida del producto en distintas fases) con la intención de lograr la mejor gestión y el mejor resultado para el proyecto.
Cascada
Ciclo de desarrollo de software.
Tiene secuencia ordenada.
El trabajo de una etapa previa es la entrada del
siguiente proceso.
Provee gran control sobre fechas de entrega.
Establece criterios de entrada y salida en cada fase
Tiene secuencia ordenada.
El trabajo de una etapa previa es la entrada del
siguiente proceso.
Provee gran control sobre fechas de entrega.
Establece criterios de entrada y salida en cada fase
Modelo en V
-El nivel 1 está orientado al “cliente”. El inicio del proyecto y el fin del proyecto constituyen los dos extremos del ciclo. Se compone del análisis de requisitos y especificaciones, se traduce en un documento de requisitos y especificaciones.-El nivel 2 se dedica a las características funcionales del sistema propuesto. Puede considerarse el sistema como una caja negra, y caracterizarla únicamente con aquellas funciones que son directa o indirectamente visibles por el usuario final, se traduce en un documento de análisis funcional.
-El nivel 3 define los componentes hardware y software del sistema final, a cuyo conjunto se denomina arquitectura del sistema.
-El nivel 4 es la fase de implementación, en la que se desarrollan los elementos unitarios o módulos del programa.
Modelo en flor
Los equipos no deben estar preocupados por el proceso de desarrollo mismo.
Deben de desarrollarse todas las etapas un poco al mismo tiempo hasta que el producto final es alcanzado.
Modelo prototipos
El modelo de prototipos permite que todo el sistema, o algunos de sus partes, se construyan rápidamente para comprender con facilidad y aclarar ciertos aspectos en los que se aseguren que el desarrollador, el usuario, el cliente estén de acuerdo en lo que se necesita así como también la solución que se propone para dicha necesidad y de esta forma minimizar el riesgo y la incertidumbre en el desarrollo.Modelo de espiral
Este en especial es el metodo con el cual vamos a desarrolar nuestro programa el cual consiste de 4 principales pasos:
-Determinar o fijar los objetivos.
En este paso se definen los objetivos específicos para posteriormente identifica las
limitaciones del proceso y del sistema de software, además se diseña una
planificación detallada de gestión y se identifican los riesgos.
-Análisis del riesgo.
En este paso se efectúa un análisis detallado para cada uno de los riesgos
identificados del proyecto, se definen los pasos a seguir para reducir los riesgos y
luego del análisis de estos riesgos se planean estrategias alternativas.
-Desarrollar, verificar y validar.
En este tercer paso, después del análisis de riesgo, se eligen un paradigma para el
desarrollo del sistema de software y se lo desarrolla.
-Planificar.
En este último paso es donde el proyecto se revisa y se toma la decisión si se debe
continuar con un ciclo posterior al de la espiral. Si se decide continuar, se desarrollan
los planes para la siguiente fase del proyecto.
Modelo de proceso
Este modelo así como su nombre lo indica, tiene 2 aspectos que lo definen: el modelado y los procesos.
Un modelo es una representación de una realidad compleja. Modelar es desarrollar una descripción lo más exacta posible de un sistema y de las actividades llevadas a cabo en él.
Cuando un proceso es modelado, con ayuda de una representación gráfica (diagrama de proceso), pueden apreciarse con facilidad las interrelaciones existentes entre distintas actividades, analizar cada actividad, definir los puntos de contacto con otros procesos.
Diagramado
Diagramar es establecer una representación visual de los procesos y subprocesos, lo que permite obtener una información preliminar sobre la amplitud de los mismos, sus tiempos y los de sus actividades.
La representación gráfica facilita el análisis, uno de cuyos objetivos es la descomposición de los procesos de trabajo en actividades discretas. También hace posible la distinción entre aquellas que aportan valor añadido de las que no lo hacen, es decir que no proveen directamente nada al cliente del proceso o al resultado deseado.
Modelo desarrollo incremento
Se evitan proyectos largos y se entrega "algo de valor" a los usuarios con cierta frecuencia.El usuario se involucra mas.
Difícil de evaluar el costo total.
Difícil de aplicar a los sistemas transaccionales que tienden a ser integrados y a operar como un todo.
Requiere gestores experimentados.
Los errores en los requisitos se detectan tarde.
El resultado puede ser positivo.
Modelo Scrum
colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto.
En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto.
Este método también es muy utilizado para resolver situaciones en que no se está entregando al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto.
Este método también es muy utilizado para resolver situaciones en que no se está entregando al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto.
Bibliográfia:
https://es.wikiversity.org/wiki/Procesos_de_desarrollo_software
http://www.iiia.csic.es/udt/es/blog/jrodriguez/2008/metodologia-desarrollo-sotware-modelo-en-v-o-cuatro-niveles
http://gestionrrhhusm.blogspot.mx/2011/05/modelo-de-prototipo
http://otroblogmas.fullblog.com.ar/modelado-de-procesos
https://procesosoftware.wikispaces.com/Modelo+Incremental
https://proyectosagiles.org/que-es-scrum/
Bibliográfia imágenes:
https://josepablosarco.wordpress.com/2012/03/24/istqb-cap-2-testing-a-traves-del-ciclo-de-vida-del-software-i/
https://es.wikipedia.org/wiki/Desarrollo_en_cascada
http://softwareverde.blogspot.mx/2012/09/modelo-en-flor.html
https://www.codejobs.biz/es/blog/2013/06/01/modelo-de-proceso-evolutivo
https://es.wikipedia.org/wiki/Desarrollo_en_espiral
https://ingsotfwarekarlacevallos.wordpress.com/2015/04/29/modelos-de-procesos-especializado/
https://proyectosagiles.org/que-es-scrum/
Bibliográfia imágenes:
https://josepablosarco.wordpress.com/2012/03/24/istqb-cap-2-testing-a-traves-del-ciclo-de-vida-del-software-i/
https://es.wikipedia.org/wiki/Desarrollo_en_cascada
http://softwareverde.blogspot.mx/2012/09/modelo-en-flor.html
https://www.codejobs.biz/es/blog/2013/06/01/modelo-de-proceso-evolutivo
https://es.wikipedia.org/wiki/Desarrollo_en_espiral
https://ingsotfwarekarlacevallos.wordpress.com/2015/04/29/modelos-de-procesos-especializado/
Fundamentos de la POO
¿Que es la POO?
Metodología de la programación que utiliza a los objetos para programarlos y dar instrucciones cuando se crean, la programación se basa en clases, métodos o funciones, atributos, herencia y polimorfismo, estas características conforman la POO, existen diversidad de lenguajes de programación orientada a objetos.
Estos son los elementos principales que se utilizan en la programación arietado a objetos:
Objeto
procedimientos que puede manipular los datos, el acceso a estos datos es mediante los métodos y solo estos los pueden manipular o modificar.
Atributo
Son las cosas individuales que diferencian una clase de
objetos de otros y determinan la apariencia,
estado y otras cualidades de la
clase.- Las variables de instancia también denominados miembros dato, son declaradas en la clase pero sus valores son fijados y cambiados en el objeto.
- Variables de clase: se aplican a la clase y a todas sus instancias
Clase
Plantilla para la creación de objetos de datos según un modelo predefinido. Las clases se utilizan para representar entidades o conceptos, como los sustantivos en el lenguaje
Encapsulación
Es una técnica que permite guardar y ocultar los detalles de
un objeto, esconde los datos y solamente permite acceder a ellos de una manera más
controlada.Abstracción
Son las características especificas de un objeto, aquellas que lo distinguen de los demás tipos deobjetos y que logran definir límites conceptuales respecto a quien está haciendo dicha abstracción del objeto.
Polimorfismo
Se crea de la herencia y es una forma de utilizarla pero que
se ejecute independiente de la herencia,
diferentes formas de ejecutar o
resultados distintos en base al mismo código.Herencia
Es una manera por la cual un objeto puede adquirir las
propiedades de otro objeto.Las principales
ventajas de la herencia son:- Capacidad para definir atributos
- Métodos nuevos para la subclase
- Ahorro de código
Este tema es uno de los mas importantes en la investigación ya que con el nos damos cuenta de cuales son los métodos que vamos a ocupar en el proyecto, las clases, los objetos que se van a crear, la herencia y el polimorfismo.
Bibliográfica imagenes:
http://programacion181012.blogspot.mx/
https://desarrolloweb.com/articulos/polimorfismo-programacion-orientada-objetos-concepto.html
https://vcalpena.wordpress.com/clases-y-objetos/
http://programacion-o-o.blogspot.mx/p/blog-page_15.html
http://br.ccm.net/faq/12047-o-que-significa-heranca-o-que-e-polimorfismo
Bibliografia informacion:
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/clases1/clases.htm
https://styde.net/abstraccion-programacion-orientada-a-objetos/
Lara, D. (15 de 03 de 2017). Styde. Obtenido de Styde: https://styde.net/abstraccion-programacion-orientada-a-objetos/ Sanchez, A. A. (15 de 03 de 2017). DesarrolloWeb. Obtenido de https://desarrolloweb.com/articulos/poo-fundamentos-luis-fernandez.html
Suscribirse a:
Entradas (Atom)















