Diseño del Software Diseño de datos Diseño arquitectónico

Slides:



Advertisements
Presentaciones similares
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Advertisements

Métrica v2.1 : Técnica - Diagrama de Flujo de Datos (DFD)
Fundamentos de Diseño de Software INFT.1
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
Diseño y Arquitectura sobre productos de software
Diseño orientado al flujo de datos
10º2 Sergio Posso. Jonatán Agualimpia. Julia Blandón. Docente:
Tipos de Métricas.
DIAGRAMA DE FLUJO DE DATOS
MODELADO DE ANALISIS Y DISEÑO
Fundamentos de Ingeniería de Software
Prof. César Luza Montero
CONCEPTOS Y PRINCIPIOS DE DISEÑO
Administración de Procesos de Pruebas
Ingeniería del Software
Ingeniería del software de la usabilidad (I)
DISEÑO DETALLADO PROGRAMACIÓN DE SISTEMAS ISC 5° “A” ABILENNE CORTES CONTRERAS YANET DIAZ PEREZ VERONICA ROMERO ZAMORA YENI HERNANDEZ HERNANDEZ CRISTIAN.
SISTEMAS DE INFORMACIÓN 2 SISTEMAS DE INFORMACIÓN 2.
Laura Patricia Pinto Prieto Ingeniera de sistemas.
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Métrica v2.1 : Técnica - Diagrama de Flujo de Datos (DFD)
Técnica - Diagrama de Flujo de Datos (DFD)
Arquitectura de una aplicación
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad
El Modelo Esencial.
ISF5501 Ingeniería de Software
Comunicación y Multimedia
Ciclo de Vida del Software
CONCEPTOS BÁSICOS Diseño de Sistemas.
TEMAS PRINCIPALES. ALGORITMOS. CONCEPTOS El algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
Metodología para solución de problemas
Ingeniería del Software
Ingeniería en Sistemas de Información
Organización y Estructuración de Datos
Visión Panorámica Diccionario de Datos Paso al diseño
Ximena Romano – Doris Correa
Importancia en la efectividad del:
Diseño de Software y su Proceso
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Trainning DFD.
Alexander Aristizabal Ángelo flores herrera
Diseño de Sistemas.
Ingeniería de Requisitos
Facultad de Informática Departamento de Lenguajes y Sistemas Informáticos e Ingeniería de Software UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID 1 Proceso.
Diseño del Software e Ingeniería del Software
Diseño Orientado al Flujo de Datos
Elaboración de algoritmos usando lógica de programación
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
TIPOS DE PRUEBAS DEL SOFTWARE
Etapas del diseño MSc. Alexis Cabrera Mondeja. Flujo de la Información La información se transforma a medida que fluye por un sistema basado en computadora.
Unidad 3 MODELO DE ANALISIS.
PROCESO UNIFICADO DIRIGIDO POR CASOS DE USO
Actividades en el Proceso de desarrollo de Software
Desarrollo de lógica algorítmica.
Edwin Oliveros.  El diseño de sistemas consiste en la transformación del modelo de diseño, que toma en cuenta los requerimientos no funcionales y las.
3. Paradigmas de la ingeniería de software.
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Licda. Noelia Gómez Gutiérrez
NZ/EA/abril Introducción Julio NZ/EA/abril ¿ Que es la IS ? Disciplina que trata los aspectos concernientes al desarrollo de sistemas.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Fundamentos de Ingeniería de Software
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Entregables del Proyecto
Profesor: Jesús Chaparro Bachilleres: Perez, emibeliz Prada, Rainer Villahermosa, José Abril 2014.
Transcripción de la presentación:

Diseño del Software Diseño de datos Diseño arquitectónico Diseño de interfaz Diseño arquitectónico Diseño de datos

Guía para evaluar 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, enfrentándose a los dominios de comportamiento, funcionales y de datos desde una perspectiva de implementación.

Directrices sobre Calidad del Diseño Un diseño deberá presentar una estructura arquitectónica que (1) se haya creado mediante patrones de diseño reconocibles, (2) que esté formada por componentes que exhiban características de buen diseño y (3) que se puedan implementar de manera evolutiva, facilitando así la implementación y la comprobación. Un diseño deberá ser modular; ésto es, el software deberá dividirse lógicamente en elementos que realicen funciones y subfunciones específicas.

Directrices sobre Calidad del Diseño Un diseño deberá contener distintas representaciones de datos, arquitectura, interfaces y componentes (módulos). Un diseño deberá conducir a estructuras de datos adecuadas para los objetos que se van a implementar y que procedan de patrones de datos reconocibles. Un diseño deberá conducir a componentes que presenten características funcionales independientes.

Directrices sobre Calidad del Diseño Un diseño deberá conducir a interfaces que reduzcan la complejidad de las conexiones entre los módulos y con el entorno externo. Un diseño deberá derivarse, mediante un método repetitivo y controlado, de la información obtenida durante el análisis de los requisitos del software.

Principios de Diseño del Software En el proceso de diseño no deberá utilizarse «orejeras». El diseño deberá poderse rastrear hasta el modelo de análisis. El diseño no deberá inventar nada que ya esté inventado. El diseño deberá «minimizar la distancia intelectual» entre el software y el problema como si de la misma vida real se tratara.

Principios de Diseño del Software El diseño deberá presentar uniformidad e integración. El diseño deberá estructurarse para admitir cambios. El diseño deberá estructurarse para degradarse poco a poco, incluso cuando se enfrenta con datos, sucesos o condiciones de operación aberrantes. El diseño no es escribir código y escribir código no es diseñar.

Principios de Diseño del Software 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).

Heurísticas de Diseño para una modularidad efectiva Evaluar la “primera iteración” de la estructura de programa para reducir al acoplamiento y mejorar la cohesión. Intentar minimizar las estructuras con un alto grado de salida; esforzarse por la entrada a medida que aumenta la profundidad. Mantener el ámbito del efecto de un módulo dentro del ámbito de control de ese módulo.

Heurísticas de Diseño para una modularidad efectiva Evaluar las interfaces de los módulos para reducir la complejidad y la redundancia, y mejorar la consistencia. Definir módulos cuya función se pueda predecir, pero evitar módulos que sean demasiado restrictivos. Intentar conseguir módulos de «entrada controlada», evitando «conexiones patológicas».

Diseño de datos a nivel de Componentes Los principios del análisis sistemático aplicados a la función y al comportamiento deberían aplicarse también a los datos. Todas las estructuras de datos y las operaciones a llevar a cabo en cada una de ellas deberían estar claramente identificadas. Se debería establecer un diccionario de datos y usarlo para definir el diseño de los datos y del programa. Las decisiones de diseño de datos de bajo nivel deberían dejarse para el final del proceso de diseño.

Análisis de las Transformaciones Pasos del diseño Revisar el modelo fundamental del sistema. (DFD Nivel 0 y Nivel 1 del flujo de datos del software Hogar Seguro) . Revisar y refinar los diagramas de flujo de datos del software. (DFD Nivel 2 ). Determinar si el DFD tiene características de flujo de transformación o de transacción.

DFD Nivel 1 del flujo de datos del software Hogar Seguro

DFD Nivel 0 del flujo de datos del software Hogar Seguro

DFD Nivel 2 que refina el proceso de Monitorizar Sensores

DFD Nivel 3 de Monitorizar Sensores con los límites de flujo

Análisis de las Transformaciones Aislar el centro de transformación especificando los límites de los flujos de entrada y salida. (DFD Nivel 3). Realizar una «descomposición de primer nivel». (Primer Nivel). Realizar una «descomposición de segundo nivel». (Segundo Nivel). Refinar la estructura inicial de la arquitectura usando heurísticas para mejorar la calidad del software. (Estructura Refinada).

Descomposición de primer nivel para la monitorización de sensores

Descomposición de factores de segundo nivel de monitorización de sensores

Estructura refinada del programa para monitorizar sensores

Análisis de las transacciones Pasos del diseño Revisar el modelo fundamental del sistema. Revisar y refinar los diagramas de flujo de datos para el software. Determinar si el DFD tiene características de flujo de transformación o de transacción. (DFD Nivel 2). Identificar el centro de transacción y las características de flujo a lo largo de cada camino de acción.

Nivel 2 de DFD para el subsistema de interación del usuario con límites de flujo

Análisis de las transacciones Transformar el DFD en una estructura de programa adecuada al procesamiento de la transacción. (Análisis de transacción, Primer Nivel). Descomponer y refinar la estructura de transacción y la estructura de todos los caminos de acción. (Estructura del programa). Refinar la primera arquitectura del programa usando heurísticas de diseño para mejorar la calidad del software.

Análisis de transacción

Descomposición en factores de primer nivel del subsistema interacción del usuario

Primera iteración de la estructura del programa del subsistema interacción del usuario