desarrollo de aplicaciones computacionales

31
I Semestre 2009 Computación III Docente: Sara Naminao [email protected]

Upload: api-3808325

Post on 13-Jun-2015

130 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Desarrollo de Aplicaciones Computacionales

I Semestre 2009Computación III

Docente: Sara [email protected]

Page 2: Desarrollo de Aplicaciones Computacionales

¿Qué es el software?

Son programas, documentos y datos, pero además:

• Es Ingeniería (Estudio y aplicación, por especialistas, de las diversas ramas de la tecnología.)

• No se gasta• Es complejo• Es negocio

Page 3: Desarrollo de Aplicaciones Computacionales

Tipos de software:

• Software de sistemas (SO)• Software de tiempo real (programas que miden, analizan

y controlan los sucesos del mundo real)• Software de gestión (SIA)• Software de ingeniería y científico• Software empotrado (Java-Machine)• Software Multimedia (Juegos, etc)• Software de Inteligencia Artificial

Page 4: Desarrollo de Aplicaciones Computacionales

El desarrollo de software es un proceso complejo, no solo por como se construye sino en primera instancia por como se elabora.

Para esto participan varias etapas de avance desde el punto inicial el cual es determinar que se necesita algo de lo que se parte para superar dos etapas cruciales que determinan los primeros pasos de la construcción. Claro esta, sin implicar necesariamente elaborar líneas de código pero sin dejar de tener en cuenta lo que efectivamente se tendrá que construir y como construirlo. 

De lo anterior surgen dos preguntas: ¿Cuales son estas etapas?, y ¿como abordarlas?

La respuesta a primera pregunta es sencilla, solo al mencionarlos, son el análisis y el diseño, sin embargo la respuesta de la segunda no es tan sencilla.  

Page 5: Desarrollo de Aplicaciones Computacionales

Planificación del Proyecto

El objetivo de la Planificación del proyecto de Software es proporcionar un marco de trabajo que permita al gestor hacer estimaciones razonables de recursos costos y planificación temporal

Page 6: Desarrollo de Aplicaciones Computacionales

Métodos Procesos

Herramientas CASE

Page 7: Desarrollo de Aplicaciones Computacionales

Procesos (Procedimientos)

• Gestión del proyecto• Planificación• Gestión de la Calidad• Medición y estimación (Métricas)• Control (Gestión de la configuración

Page 8: Desarrollo de Aplicaciones Computacionales

CASE Ingeniería de software asistida por computador

• Análisis y diseño (Diagramas)• Documentación (Mantenimientos)• Pruebas• Generación de código

Page 9: Desarrollo de Aplicaciones Computacionales

Que es el análisis Es un conjunto o disposición de

procedimientos o programas relacionados de manera que juntos forman una sola unidad.

Esta fase se ocupa de la reunión y estudio a detalle de los datos del sistema en operación y la especificación de los nuevos requerimientos del sistema a desarrollar.

Page 10: Desarrollo de Aplicaciones Computacionales

Objetivos del Análisis.

Identificación de Necesidades. Es el primer paso del análisis del sistema,

en este proceso el Analista se reúne con el cliente y/o usuario), identifican las metas globales, se analizan las perspectivas del cliente, sus necesidades y requerimientos, sobre la planificación temporal y presupuestal, líneas de mercadeo y otros puntos que puedan ayudar a la identificación y desarrollo del proyecto.

Page 11: Desarrollo de Aplicaciones Computacionales

Algunos autores suelen llamar a esta parte ¨ Análisis de Requisitos ¨ y lo dividen en cinco partes:

Reconocimiento del problema. Evaluación y Síntesis. Modelado. Especificación. Revisión.

Antes de su reunión con el analista, el cliente prepara un documento conceptual del proyecto, aunque es recomendable que este se elabore durante la comunicación Cliente – analista, ya que de hacerlo el cliente solo de todas maneras tendría que ser modificado, durante la identificación de las necesidades.

Page 12: Desarrollo de Aplicaciones Computacionales
Page 13: Desarrollo de Aplicaciones Computacionales

El Diseño de Sistemas se define el proceso de aplicar ciertas técnicas y principios con el propósito de definir un dispositivo, un proceso o un Sistema, con suficientes detalles como para permitir su interpretación y realización física.

Page 14: Desarrollo de Aplicaciones Computacionales

La etapa del Diseño del Sistema encierra cuatro etapas: Trasforma el modelo de dominio de la información, creado durante el análisis, en las estructuras de datos necesarios para implementar el Software.

El Diseño Arquitectónico. El Diseño de la Interfaz. El Diseño de procedimientos.

Page 15: Desarrollo de Aplicaciones Computacionales

El Diseño Arquitectónico. Define la relación entre cada uno de los elementos estructurales del programa.

Page 16: Desarrollo de Aplicaciones Computacionales

Diseño de la InterfazDescribe como se comunica el Software consigo mismo, con los sistemas que operan junto con el y con los operadores y usuarios que lo emplean.

Page 17: Desarrollo de Aplicaciones Computacionales

Toda aplicación de software tiene interacción con personas.

La Interfaz de usuario es el medio de comunicación entre el usuario y el software.

En la interfaz se ejecutan los procesos de captura de datos y despliegue de información.

La interfaz debe tener un características asociadas al “perfil” del usuario y/o problema.

Page 18: Desarrollo de Aplicaciones Computacionales

Amigable Limpia Correcta Atractiva Facilitadora Estándar Rápida Navegable

Robusta Completa Ordenada Agrupada etc.

“Una buena obra de diseño visual”

Page 19: Desarrollo de Aplicaciones Computacionales

Los aplicaciones basadas en caracteres pueden cumplir algunas de las características indicadas con un gran esfuerzo de programación.

La forma indicada de desarrollar aplicaciones con requerimientos exigentes de interfaz es usando las herramientas de DISEÑO VISUAL

Ejemplos: Visual Basic, Delphi, PowerBuilder, Crystal Report, etc.

Page 20: Desarrollo de Aplicaciones Computacionales

Ambientes gráficos, mouse, ventanas, colores, fonts, efectos visuales, etc.

Objetos reutilizables - arrastrar y pegar. Flujo de programas guiados por Eventos

(Ejemplo clic del mouse) sobre los objetos

Programación Orientada a Objetos.

Page 21: Desarrollo de Aplicaciones Computacionales

El Diseño de procedimientos. Transforma elementos estructurales de la arquitectura del programa. La importancia del Diseño del Software se puede definir en una sola palabra, Calidad, dentro del diseño es donde se fomenta la calidad del Proyecto. El Diseño es la única manera de materializar con precisión los requerimientos del cliente.

Page 22: Desarrollo de Aplicaciones Computacionales

El Diseño del Software es un proceso y un modelado a la vez. El proceso de Diseño es un conjunto de pasos repetitivos que permiten al diseñador describir todos los aspectos del Sistema a construir. A lo largo del diseño se evalúa la calidad del desarrollo del proyecto con un conjunto de revisiones técnicas: El diseño debe implementar todos los requisitos explícitos contenidos en el modelo de análisis y debe acumular todos los requisitos implícitos que desea el cliente.

Page 23: Desarrollo de Aplicaciones Computacionales

Debe ser una guía que puedan leer y entender los que construyan el código y los que prueban y mantienen el Software.

El Diseño debe proporcionar una completa idea de lo que es el Software, enfocando los dominios de datos, funcional y comportamiento desde el punto de vista de la Implementación.

Page 24: Desarrollo de Aplicaciones Computacionales

Para evaluar la calidad de una presentación del diseño, se deben establecer criterios técnicos para un buen diseño como son:

Un diseño debe presentar una organización jerárquica que haga un uso inteligente del control entre los componentes del software.

El diseño debe ser modular, es decir, se debe hacer una partición lógica del Software en elementos que realicen funciones y subfunciones especificas.

Un diseño debe contener abstracciones de datos y procedimientos.

Page 25: Desarrollo de Aplicaciones Computacionales
Page 26: Desarrollo de Aplicaciones Computacionales

El análisis de requisitos del software puede dividirse en cinco áreas de esfuerzo, que son:Reconocimiento del problema. Reconocer los elementos básicos del problema tal y como los perciben los usuarios finales.Evaluación y síntesis. Definir todos los objetos de datos observables externamente, evaluar el flujo y contenido de la información, definir y elaborar todas las funciones del software, entender el comportamiento del software en el contexto de acontecimientos que afectan al sistema.

Page 27: Desarrollo de Aplicaciones Computacionales

Modelado. Crear modelos del sistema con el fin de entender mejor el flujo de datos y control, el tratamiento funcional y el comportamiento operativo y el contenido de la información.

Especificación. Realizar la especificación formal del software, es decir, es una descripción completa del comportamiento del sistema que se va a desarrollar. Se describe todas las interacciones que tendrán los usuarios con el software.

Page 28: Desarrollo de Aplicaciones Computacionales

Revisión. Un último chequeo general de todo el proceso.

Page 29: Desarrollo de Aplicaciones Computacionales

Los requerimientos de sistema que se definen en la etapa de análisis de un proceso de Ingeniería de Software generalmente se clasifican como requerimientos funcionales y requerimientos no funcionales. Los principales requerimientos funcionales y no funcionales de la herramienta de software que este proyecto propone se definen en las dos secciones siguientes.

Page 30: Desarrollo de Aplicaciones Computacionales

Requerimientos Funcionales

Los requerimientos funcionales son los que se encargan de definir lo que la herramienta de software debe hacer. Definen los alcances del sistema en cuanto a las acciones que debe de realizar, y en cuanto a la transferencia de datos entre todas las diferentes funciones del sistema

Page 31: Desarrollo de Aplicaciones Computacionales

Requerimientos No Funcionales

Los requerimientos no funcionales son aquellos que definen lo que la herramienta de software debe tener en cuanto a apariencia, sensación, operabilidad, y mantenimiento