TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC División de Ingeniería en Sistemas Computacionales Profesor: Xóchitl Raquel Wong Cohén Asignatura: Desarrollo de proyectos de Software Alumno: Brito Martínez Alexander Uriel Grupo: 5801 Trabajo a entregar: Ensayo “Elementos importantes para la creación de un proyecto de software y aplicación de sus recursos orientado a objetos” Fecha de entrega: 03/03/2014 0 A.U. Brito Martínez OBJETIVO El estudiante comprenderá el enfoque de los diferentes actores involucrados en un proyecto de software y aplicación de cada uno de los diagramas del paradigma orientado a objetos. RESUMEN En el siguiente trabajo nosotros como estudiantes comprenderemos el enfoque de los diferentes actores involucrados en un proyecto de software y la aplicación de cada uno de los diagramas del paradigma orientado a objetos esto para llevar acabo el desarrollo de un proyecto dosificado durante el semestre, involucrando todas las unidades de aprendizaje, donde se aplique los diagramas del lenguaje unificado de modelado. INTRODUCCIÓN. El software es algo indispensable en nuestra vida diaria que de manera general se entiende como programas de computadora; el desarrollo de software es una actividad donde se involucra la ingeniería; que es el “estudio y aplicación, por especialistas, de las diversas ramas de la tecnología.” Desarrollar un software significa construirlo simplemente mediante su descripción. Por lo que un producto de software no se limita solo a programas de computadora sino a la documentación asociada a este en las distintas etapas que interviene desde su concepción, análisis, diseño, implementación, pruebas y 1 mantenimiento. El software no estaría completo si no existiera una especificación de requerimiento o un diseño de la arquitectura. La ingeniería de software como otra ingeniería hace uso de metodologías que involucran herramientas métodos procedimientos y técnicas para realizar un proyecto. DESARROLLO El diseño en el desarrollo de software habla del proceso creativo de transformación de un problema o problemática para dar respuesta a una solución. Trata del diseño e implementación de la estructura de alto nivel del software. Es el resultado de ensamblar un cierto número de elementos arquitectónicos para satisfacer la funcionabilidad y ejecución de los requisitos del sistema. En esta redacción vamos a tocar puntos clave haciendo referencia a los temas de las unidades 1 y 2 brevemente para marcar los principios, bases e ideales para la creación de un buen proyecto de software. Los temas relacionados son: 1. Conceptos introductorios 1.1 La arquitectura de 4+1 vistas. 1.2 Desarrollo orientado a objetos. 1.3 Diagramación. 2. Diseño orientado a objetos. 2.1 Diseño del sistema en base a procesos. 2.1.1 Actividades y casos de uso. 2.1.2 Interfaces de usuario. 2.2 Diseño de la lógica. 2.2.1 Clases y Objetos. 2.2.2 Interacción. 2.2.3 Estados y Transiciones. 2 Con la implementación de estos temas se puede obtener la delimitación de nuestro problema para así darle un mejor objetivo y una mejor resolución. Por lo que el diseño en la elaboración de un proyecto de software habla del proceso creativo de transformación de un problema o problemática para dar respuesta a una solución. Su uso induce que nosotros como programadores pensemos en términos de objetos, en vez de procedimientos, cuando planificamos su código. Un objeto agrupa datos encapsulados y procedimientos para representar una entidad. La interfaz del objeto, esto es, las formas de interactuar con el objeto. Por lo que podemos citar que el diseño orientado a objetos es la disciplina que define los objetos y sus interacciones para resolver un problema de negocio que fue identificado y documentado durante el análisis orientado a objetos. 1.2 DESARROLLO ORIENTADO A OBJETOS El enfoque de orientación a objetos es una forma de observar la realidad. El enfoque como su nombre lo indica se basa en el concepto de objeto: que es todo aquello que tiene características que lo hacen único e indivisible dentro del entorno al que pertenece. Siempre es posible establecer propiedades o atributos de un objeto, lo mismo que su grado de respuesta a estímulos externos (comportamientos del objeto). La orientación a objetos promete mejoras de amplio alcance en la forma de diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo de software: la falta de portabilidad del código y reusabilidad, código que es difícil de modificar, ciclos de desarrollo largos y técnicas de codificación no intuitivas. (Braude, 2003) 3 Estructura de un Objeto Un objeto puede considerarse como una especie de cápsula dividida en tres partes: 1 RELACIONES: permiten que el objeto se inserte en la organización y están formadas esencialmente por punteros a otros objetos. 2 PROPIEDADES: se distinguen un objeto determinado de los restantes que forman parte de la misma organización y tiene valores que dependen de la propiedad de que se trate. 3 METODOS: son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán incorporados en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a disposición de sus descendientes a través de la herencia. (S, 2001)Como se Fig.1.2 Programación orientada a objetos indica como en la Fig. 1.2. 1.3 DIAGRAMACION Modelos Un modelo representa a un sistema software desde una perspectiva específica. Al igual que la planta y el alzado de una figura en dibujo técnico nos muestran la misma figura vista desde distintos ángulos, cada modelo nos permite fijarnos en un aspecto distinto del sistema. 4 2.1 DISEÑO DEL SISTEMA EN BASE A PROCESOS Dentro del proceso de diseño de sistemas hay que tener en cuenta los efectos que pueda producir la introducción del nuevo sistema sobre el entorno en el que deba funcionar, adecuando los criterios de diseño a las características del mismo. En este contexto está adquiriendo una importancia creciente la adaptación de todo sistema-producto a las capacidades de las personas que van a utilizarlo, de forma que su operación sea sencilla, cómoda, efectiva y eficiente. 2.1.1 ACTIVIDADES Y CASOS DE USO La experiencia y práctica de quien realiza los diagramas y su respectiva descripción marca el punto de vista o tendencia, que genera una manera particular de poner énfasis en determinados elementos. Por ejemplo si soy un desarrollador, veo en todas partes menús, tablas, opciones, clics y demás elementos es decir no analizo un problema y doy su solución sino que de una vez pienso en cómo debería correr la aplicación. Un diagrama de actividades puede considerarse como un caso especial de un diagrama de estados en el cual casi todos los estados son estados acción (identifican una acción que se ejecuta al estar en él) y casi todas las transiciones evolucionan al término de dicha acción (ejecutada en el estado anterior). (Braude, 2003) Un diagrama de actividades puede dar detalle a un caso de uso, un objeto o un mensaje en un objeto. Permiten representar transiciones internas al margen de las transiciones o eventos externos. Generalmente se suelen utilizar para modelar los pasos de un algoritmo como se presenta en la Fig. 2.1A Boceto para la implementación de un diagrama de estudio de caso 5 Fig. 2.1A. 2.1.2 INTERFACES DE USUARIO En una interfaces básica de usuario se incluyen menús y ventanas, canales por los cuales se permite la comunicación entre el ser humano y la computadora. La mejor interacción humano-máquina a través de una adecuada interfaz (Interfaz de Usuario), que le brinde tanto comodidad, como eficiencia. (Jacobson, 2000) Un caso real de uso describe el diseño concreto del caso de uso a partir de una tecnología particular de entrada y salida. A continuación en la fig. 2.1.2A se muestra un prototipo de una interfaz de usuario. Fig. 2.1.2A Prototipo de interfaz de usuario 2.2 DISEÑO DE LÓGICA El diseño lógico traduce los escenarios de uso creados en el diseño conceptual en un conjunto de objetos de negocio y sus servicios. El diseño lógico se convierte en parte en la especificación funcional que se usa en el diseño físico. El diseño lógico es independiente de la tecnología. El diseño lógico refina, organiza y detalla la solución de negocios y define formalmente las reglas y políticas específicas de negocios. 6 2.2.1 CLASES Y OBJETOS Objetos.-Un objeto es una cosa tangible, algo a que se puede capturar intelectualmente o algo hacia lo que se puede dirigir una acción o pensamiento. Un objeto representa un item individual e identificable, o una entidad real o abstracta, con un papel definido en el dominio del problema. Clases.-Una clase es un conjunto de objetos que comparten una estructura y comportamiento comunes. La clase representa una abstracción, la esencia que comparten los objetos. Las clases actúan como intermediarias entre una abstracción y los clientes que pretenden utilizar la abstracción. (S, 2001) 2.2.2 INTERACCIÓN Los diagramas UML de secuencia y de colaboración (llamados diagramas de interacción) se utilizan para modelar los aspectos dinámicos de un sistema. Un diagrama de interacción consiste en un conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar entre ellos. Los diagramas de secuencia destacan el orden temporal de los mensajes. Los diagramas de colaboración destacan la organización estructural de los objetos que envían y reciben mensajes. 2.2.3 ESTADOS Y TRANSICIONES Lenguaje Unificado de Modelado (UML) especifica una notación estandarizada para diagramas de estado que puede utilizarse para describir clases, sistemas, subsistemas o incluso procesos de negocio. 7 Metodología A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad. Por estas razones con el objetivo de minimizar riesgos, gestionar cambios de forma eficaz, y ofrecer un servicio de calidad que cumpla con las expectativas del cliente se utiliza un probado marco metodológico orientado a procesos usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información apoyándonos de temas adecuados en base al temario para soluciones inteligentes. CONCLUSIONES El tema de la arquitectura tomó mucha preponderancia es los últimos años como algo clave a la hora de diseñar una solución informática. Lo importante es comprender que para la arquitectura existen varias perspectivas y que dentro de estás podemos mostrar vistas dependiendo de los puntos de vista interesados en la misma y qué, al diseñar una solución debemos pensar en ellos y dejar plasmado en algún documento las decisiones arquitectónicas que tomamos. Aprendimos que el diseño habla del proceso creativo de transformación de un problema o problemática para dar respuesta a una solución. Mediante su uso induce a los programadores a pensar en términos de objetos, en vez de procedimientos, cuando planifican su código. Y que de esta manera podemos obtener nuestro diseño orientado a objetos con sus objetos y sus interacciones para resolver un y así encontrar la solución que será la que satisface todos los requerimientos planteados de un determinado problema. 8 Bibliografía Braude, E. (2003). Ingenieria de software una perspectiva orientada a objetos. Alfaomega. Jacobson, I. (2000). El proceso unificado de desarrollo de Software. Addison Wesley. S, P. R. (2001). Ingenieria del software,6. Mc.Graw Hill. 9