Gustavo Adolfo Chapus Castañeda. José Guadalupe Pérez de los Santos

Slides:



Advertisements
Presentaciones similares
Diseño del Software Diseño de datos Diseño arquitectónico
Advertisements

Diseño del Software e Ingeniería del Software
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
Sistemas de Información Enfoques para la Construcción de los Sistemas de Información MBA Luis Elissondo.
Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
FUNDAMENTOS DEL ANÁLISIS DE SISTEMAS Un sistema es un conjunto de componentes que se unen e interactúan entre si para formar un todo en base a un mismo.
Instituto tecnológico superior de lerdo Sistemas de información II Diseño orientado a flujo de datos Profesor: Ing. Ricardo de Jesús Bustamante. Alumna:
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
ALCIBIADES VALLEJO BERRIO 2.1 INTRODUCCION 2- Requerimientos  Una de las fases más importantes en el proceso de construcción de software es la de adquisición,
Calidad de Software.   ¿Qué es?  ¿Quién lo hace?  ¿Por qué es importante?  ¿Cuáles son los pasos?  ¿Cuál es el producto final?  ¿Cómo me aseguro.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
Análisis de Proyecto de Software.
GESTIÓN DEL RIESGO E INGENERÍA DE SOFTWARE BASADO EN COMPONENTES
Ingeniería de Software: Metodologías
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Ingeniería de requisitos y
Ciclo de vida del producto y decisiones de selección del proceso
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
SWEBOK.
CICLO DE VIDA DEL SOFTWARE
introducción Ingeniería de software
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Ingeniería en Sistemas de Información
OVETH JVIER DEAVILA MONTES
Ingeniería de Sistemas Requerimientos
Presenta: TSU. Yuridia Luna Marcos Asesora de tesis:
Ciclo de Vida del SIA.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
CICLO DE VIDA DEL SOFTWARE
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Universidad Pedagógica Francisco Morazán
Ciclo de Vida del Software
Tipos de pruebas Hector Leonardo Arias.
Metodología Merise Universidad Nororiental Privada
NIAS 320 IMPORTANCIA RELATIVA.
Ingeniería del Software
Ciclo de Vida del Software
Danny Frank Otero Arrascue Ingeniería de Requisitos / Requerimientos Advisor: MEJIA CABRERA HEBER IVAN.
Unidad 5: Evaluación de los sistemas
Ciclo de vida del Software
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
En este periodo el analista se esfuerza por comprender la información que necesitan los usuarios para realizar su trabajo de la manera correcta.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
Elemento de diseño Diseño de interfaces. ¿Que es un diseño en informática? O La palabra diseño se usa para referirse como el proceso de programar, proyectar,
La planeación y la organización de los procesos técnicos.
Autores: Ñauñay Colcha Jorge Luis Bravo Maldonado Paulo Dennis
CICLO DE VIDA DE SOFTWARE
Implementación de los Sistemas de Información
SOFTWARE EDUCATIVO.
Es el proceso de subdividir los entregables y el trabajo del proyecto en componentes más pequeños y más fáciles de manejar Se puede dar una visión estructurada.
Fases y elementos Los elementos básicos de un proceso de desarrollo de software es definir los papeles que juegan los trabajadores, las actividades que.
Tema: Administración de la configuración de software UNIVERSIDAD TECNOLÓGICA ISRAEL CALIDAD DE SOFTWARE.
MODELO ESTRUCTURADO UNIDAD 2. DISEÑO DE SISTEMAS TEMA 2.1 ING. ALMA ROSA GARCÍA SUÁREZ.
Nuestros canales de comunicación Gestión de la Calidad del Software Modelos y Estándares de Calidad en el Software.
IEEE Estándar para documentación de pruebas de software
Casos de Uso Análisis de requisitos con casos de uso.
1 Introducción al proceso unificado de desarrollo de software.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
1 SISTEMAS II CICLO DE VIDA. 2 Sistemas II. CICLO DE VIDA DE Los Sistemas de Información “ Es un proceso por el cual los analistas de sistemas, los ingenieros.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
Ingeniería de Software: Metodologías
GESTIÓN DE PROYECTOS La gestión de proyectos está conformada por todas aquellas acciones que debes realizar para cumplir con una objetivo definido dentro.
MODELO EN CASCADA Integrantes: Felipe Alemán Lester Blandón.
¿Qué es la celda de manufactura? La celda de manufactura es un conjunto de componentes electromecánicos, que trabajan de manera coordinada para el logro.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Estudio de Viabilidad del Sistema (EVS). Estudio de Viabilidad del Sistema Cuestiones ¿Qué es la viabilidad de un sistema? ¿Cuáles son los objetivos del.
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

Gustavo Adolfo Chapus Castañeda. José Guadalupe Pérez de los Santos   Universidad Juárez Autónoma de Tabasco División académica de informática y sistemas Licenciatura en Sistemas Computacionales Asignatura: Fundamentos Ingeniería de Software.  Nombre del facilitador: Nicolás Torres Martínez Integrantes del equipo: Gustavo Adolfo Chapus Castañeda. José Guadalupe Pérez de los Santos Osvaldo Correa Collí

Diseño del Software

El diseño del software se encuentra en el núcleo técnico de la ingeniería del software y se aplica independientemente del modelo de diseño de software que se utilice. Una vez que se analizan y especifican los requisitos del software, el diseño del software es la primera de las tres actividades técnicas, diseño, generación de código y pruebas que se requieren para construir y verificar el software.

Los requisitos del software, manifestados por los modelos de datos funcionales y de comportamiento, alimentan la tarea del diseño. Mediante uno de los muchos métodos de diseño la tarea de diseño produce un diseño de datos, un diseño arquitectónico, un diseño de interfaz y un diseño de componentes.

El diseño de datos transforma el modelo del dominio de información que se crea durante el análisis en las estructuras de datos que se necesitarán para implementar el software. Los objetos de datos y las relaciones definidas en el diagrama relación entidad y el contenido de datos detallado que se representa en el diccionario de datos proporcionan la base de la actividad del diseño de datos.

El diseño arquitectónico define la relación entre los elementos estructurales principales del software, los patrones de diseño que se pueden utilizar para lograr los requisitos que se han definido para el sistema, y las restricciones que afectan a la manera en que se pueden aplicar los patrones de diseño arquitectónicos.

El diseño de la interfaz describe la manera de comunicarse el software dentro de sí mismo, con sis- temas que inter operan dentro de él y con las personas que lo utilizan. Una interfaz implica un flujo de información (por ejemplo, datos y/o control) y un tipo específico de comportamiento. Por tanto, los diagramas de flujo de control y de datos proporcionan gran par- te de la información que se requiere para el diseño de la interfaz.

La importancia del diseño del software se puede describir con una sola palabra -calidad-. El diseño es el lugar en donde se fomentará la calidad en la ingeniería del software. El diseño proporciona las representaciones del software que se pueden evaluar en cuanto a calidad. El diseño es la única forma de convertir exactamente los requisitos de un cliente en un producto o sistema de software finalizado.

Diseño y calidad del software Tres características que sirven como guía para la evaluación de un buen diseño: el diseño deberá implementar todos los requisitos explícitos del modelo de análisis, y deberán ajustarse a todos los requisitos implícitos que desea el cliente; el diseño deberá ser una guía legible y comprensible para aquellos que generan código y para aquellos que comprueban y consecuentemente, dan soporte al software; el diseño deberá proporcionar una imagen completa del software.

Principios básicos del diseño Un buen diseñador deberá tener en cuenta enfoques alternativos, juzgando todos los que se basan en los requisitos del problema. El diseño deberá poderse rastrear hasta el modelo de análisis. El diseño no deberá inventar nada que ya esté inventado. Los sistemas se construyen utilizando un conjunto de patrones de diseño

El diseño deberá presentar uniformidad e integración El diseño deberá presentar uniformidad e integración. Un diseño es uniforme si parece que fue una persona la que lo desarrolló por completo El diseño deberá estructurarse para admitir cambios. El diseño deberá evaluarse en función de la calidad mientras se va creando, no después de terminarlo El diseño deberá revisarse para minimizar los errores conceptuales (semánticos).

DESARROLLO DEL SOFTWARE Alumno: Jose Gpe. Perez de los Santos PROCESOS PARA EL DESARROLLO DEL SOFTWARE Alumno: Jose Gpe. Perez de los Santos

Un proceso para el desarrollo de software, también denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Algunos autores consideran un modelo de ciclo de vida un término más general que un determinado proceso para el desarrollo de software.

ACTIVIDADES PARA EL DESARROLLO DEL SOFTWARE REQUERIMIENTOS DISEÑO IMPLEMENTACION VERIFICACION MANTENIMIENTO

PLANIFICACIÓN La importante tarea a la hora de crear un producto de software es obtener los requisitos o el análisis de los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el software. Una vez que se hayan recopilado los requisitos del cliente, se debe realizar un análisis del ámbito del desarrollo. Este documento se conoce como especificación funcional.

Implementación, pruebas y documentación La implementación es parte del proceso en el que los ingenieros de software programan el código para el proyecto. Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte del proceso tiene la función de detectar los errores de software lo antes posible.

La documentación del diseño interno del software con el objetivo de facilitar su mejora y su mantenimiento se realiza a lo largo del proyecto. Esto puede incluir la documentación de un API, tanto interior como exterior.

Despliegue y mantenimiento El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción. Entrenamiento y soporte para el software es de suma importancia y algo que muchos desarrolladores de software descuidan. Los usuarios, por naturaleza, se oponen al cambio porque conlleva una cierta inseguridad, es por ello que es fundamental instruir de forma adecuada a los futuros usuarios del software.

El mantenimiento o mejora del software de un software con problemas recientemente desplegado, puede requerir más tiempo que el desarrollo inicial del software. Es posible que haya que incorporar código que no se ajusta al diseño original con el objetivo de solucionar un problema o ampliar la funcionalidad para un cliente. Si los costes de mantenimiento son muy elevados puede que sea oportuno rediseñar el sistema para poder contener los costes de mantenimiento.

Modelo de cascada Especificación de requisitos Diseño del software El modelo de cascada define las siguientes etapas que deben cumplirse de forma sucesiva: Especificación de requisitos Diseño del software Construcción o Implementación del software Integración Pruebas (o validación) Despliegue (o instalación) Mantenimiento

Modelo de espiral La espiral se visualiza como un proceso que pasa a través de algunas interacciones con el diagrama de los cuatro cuadrantes representativos de las siguientes actividades: crear planes con el propósito de identificar los objetivos del software, seleccionados para implementar el programa y clarificar las restricciones en el desarrollo del software; Análisis de riesgos: una evaluación analítica de programas seleccionados, para evaluar como identificar y eliminar el riesgo; la implementación del proyecto: implementación del desarrollo del software y su pertinente verificación;

DISEÑO ESTRUCTURADO DE SOFTWARE.

El diseño estructurado es el proceso de decidir que componentes, y la interconexión entre los mismos, para solucionar un problema bien especificado.

El diseño es una actividad que comienza cuando el analista de sistemas ha producido un conjunto de requerimientos funcionales lógicos para un sistema, y finaliza cuando el diseñador ha especificado los componentes del sistema y las relaciones entre los mismos.

PRINCIPIOS UTILIZADOS POR EL DISEÑO ESTRUCTURADO. Abstracción La noción psicológica de abstracción permite concentrarse en un problema al mismo nivel de generalización. También permite trabajar con conceptos y términos que son familiares al entorno del problema, sin tener que transformarlos a una estructura no familiar.

Refinamiento sucesivo Es una primera estrategia de diseño descendente. La arquitectura de un programa se desarrolla en niveles sucesivos de refinamiento de los detalles de procedimientos. Se desarrolla una jerarquía descomponiendo una declaración macroscópica de una función de una forma sucesiva, hasta que se llega a las sentencias de un lenguaje de programación.

Modularidad La arquitectura implica modularidad, el software se divide en componentes con nombres y ubicaciones determinados, que se denominan módulos, y que se integran para satisfacer los requisitos del problema.

Jerarquía de control También denominada estructura de programa, representa la organización (frecuentemente jerárquica) de los componentes del programa (módulos) e implica una jerarquía de control.

Estructura de datos Es una representación de la relación lógica existente entre los elementos individuales de datos. Debido a que la estructura de la información afectará invariablemente al diseño procedimental final. La estructura de datos es tan importante como la estructura del programa en la representación de la arquitectura del software.

Procedimientos del software La estructura del programa define de la jerarquía del control, independientemente de las decisiones y secuencias de procesamiento. El procedimiento del software se centra sobre los detalles de procesamiento de cada módulo individual.

Ocultamiento de información El principio de ocultamiento de la información sugiere que los módulos se han de caracterizar por decisiones de diseño que los oculten unos a otros.

La flexibilidad representa la facilidad de que el mismo sistema pueda realizar variaciones sobre una misma temática, sin necesidad de modificaciones. Flexibilidad y generalidad son dos objetivos importantes en el diseño de sistemas del tipo de propósitos generales.

La utilidad o facilidad de uso es un factor importante que influye en el éxito del sistema y su aceptación por parte del usuario. Un sistema bien diseñado pero con interfaces muy “duras” tiende a ser resistido por los usuarios. Finalmente diremos que eficiencia, mantenibilidad, modificabilidad, flexibilidad, generalidad y utilidad, son componentes de la calidad objetiva de un sistema.