Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002. Introducción al Diseño de Software



Documentos relacionados
Fundamentos del diseño 3ª edición (2002)

Introducción. Conceptos y principios. Introducción. Introducción. Elementos del modelo de análisis. Elementos del modelo de diseño.

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)


En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuando y Como hacerlo. 6

EL PROCESO DE DISEÑO DEL SOFTWARE

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

Patrones de software y refactorización de código

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

Ciclo de vida y Requerimientos de software. Laboratorio de Programación

Tema 3 Metodologías de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software

Conceptos y Principios de Análisis

DISEÑO DE COMPONENTES DE SOFTWARE *

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

Diseño orientado a los objetos

ORGANISMO COORDINADOR DEL SISTEMA ELÉCTRICO NACIONAL INTERCONECTADO DE LA REPÚBLICA DOMINICANA

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Proceso de desarrollo del software modelo en cascada

Objetivo Las personas que realicen el curso aprenderán a:

Fundamentos del diseño de software

Diseño orientado al flujo de datos

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

SISTEMAS DE INFORMACIÓN I TEORÍA

El Software. Es lo que se conoce como el ciclo de vida del software.

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

implantación Fig. 1. Ciclo de vida tradicional


Ingeniería de Software

MARCO DE REFERENCIA SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN DE TI EN EL ESTADO COLOMBIANO

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

Conceptos básicos de Ingeniería de Software

Capitulo III. Diseño del Sistema.

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas

Asignaturas antecedentes y subsecuentes

1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Fundamentos de Ingeniería de Software. Ingeniería en Sistemas Computacionales.

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos

Interacción Persona - Ordenador

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).


Syllabus.

Capítulo 5. Análisis del software del simulador del sistema de seguridad

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

Ingeniería de Software

Ingeniería de Software

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

LISTA DE MEJORAS PARA MEJORAR LOS RESULTADOS DE LA EVALUACIÓN

SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Introducción. Por lo que existe una creciente preocupación por lograr que los productos software cumplan con ciertos criterios de calidad.

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO)

Eclipse Process Framework Composer EPFC, es un editor de procesos gratuito que sirve para editar fragmentos de método, procesos o metodologías y

Metodologías de diseño de hardware

6.4 ESTRATEGIAS DE PRUEBA

Los requisitos de accesibilidad en un proyecto software. Implicaciones de usuarios discapacitados en el proceso software

2 EL DOCUMENTO DE ESPECIFICACIONES

Ingeniería del Software

Figure 7-1: Phase A: Architecture Vision

DISEÑO DE FUNCIONES (TRATAMIENTOS)

Testing. Tipos, Planificación y Ejecución de Pruebas

Service Oriented Architecture

Programa de la asignatura Curso: 2009 / 2010 ANÁLISIS E INGENIERÍA DEL SOFTWARE (1296)

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

Descripción y tabla de especificaciones para prueba formativa Área Matemática Año 2014

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PROCESOS SOFTWARE. Según esta estrategia, todo proceso debe planificarse, implantarse y evaluarse, para luego actuar sobre él.

Gestión de Configuración del Software

Metodologías de Desarrollo de Sistemas de Información

Tema 5. Diseño detallado.

Dirección General de Educación Superior Tecnológica

Tema 1: Computadores y Programas

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Métricas, Estimación y Planificación en Proyectos de Software

Programa en Microsoft Visual Basic 6.0 para el análisis de riesgos eléctricos en oficinas y centros de cómputo. López Rosales, Juan Carlo.

: Desarrollo de Sistemas de Información CODIGO :

ASI. Análisis del Sistema de Información

El Proceso de Desarrollo de Software. Diseño de Software Avanzado Departamento de Informática

Ingeniería Web. Pablo Sevilla Jarquín

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular.

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

Estructuras de Control - Diagrama de Flujo

Capítulo 4. Prueba de Adaptabilidad

Patrones de Diseño Orientados a Objetos 2 Parte

El proceso unificado en pocas palabras

Administración de proyectos. Organizar, planificar y programar los proyectos de software

COMPETENCIAS DEL MÁSTER EN FORMACIÓN DEL PROFESORADO

Transcripción:

Principio de Diseño Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002 Introducción al Diseño de Software Qué es el diseño? Representación ingenieril de algo que se va a hacer. El plano del software. Áreas que lo conforman: Datos, Arquitectura, Interfaces y Componentes. 1

Introducción al Diseño de Software Resultados: Varios modelos para las diferentes áreas. Proceso: Empieza con la descripción de los requerimientos y se construye, poco a poco, siguiendo los principios de diseño, hasta obtener la especificación del diseño. Conversión de un Modelo de Análisis en un Diseño de Software Diagrama Entidad Relación Diccionario de Datos Diagrama de transición de Estados Diagrama de Flujo de Datos Diseño a nivel de Componentes Diseño de Interfaces Diseño Arquitectónico Diseño de Datos 2

13.1 Diseño de Software (DS) e Ingeniería de Software DS se encuentra en el núcleo técnico de la IS. Diseño de Datos. transforma el dominio de información en estructuras de datos. Diseño arquitectónico. define la relación entre elementos estructurales del software. 13.1 Diseño de Software e Ingeniería de Software Diseño de Interfaz manera de comunicarse del software: Dentro de sí. Con otros sistemas. Con las personas. Diseño de Componentes. Transforma elementos estructurales en descripciones procedimentales. 3

13.2 El Proceso de Diseño Es un proceso iterativo. Inicialmente se presenta en un nivel de abstracción alto y cada vez se refina más. La calidad de su evolución se evalúa mediante Revisiones Técnicas Formales (RTF). Guía para la evaluación de un buen diseño: Deberá implementar todos los requerimientos. Ser legible y comprensible para poder codificar. Proporcionar imagen completa de todos los elementos de un DS. Directrices para la calidad del Diseño Deberá presentar una estructura arquitectónica que: Creada con patrones de diseño reconocibles. Formada por componentes de calidad y funcionalmente independientes. Con interfaces que faciliten las conexiones. Que se pueda implementar evolutivamente. Ser modular. Contener diferentes representaciones. Derivarse del análisis de forma controlada. 4

13.3 Principio de Diseño de Software (DS) El DS es una secuencia de pasos, no es una receta pues intervienen: La creatividad, experiencia y un compromiso con la calidad. Existen factores de calidad internos y externos. Externos. Propiedades que pueden ser observadas por los usuarios. Internas. Son buscados por el Ingeniero de Software. 13.3 Principio de Diseño (según Alan Davis) 1. En el proceso deben tomarse enfoques alternativos. 2. Deberá rastrearse hasta el análisis. 3. Se debe reutilizar. 4. Tratar de imitar el dominio del problema. 5. Uniformidad e integración. 6. Deberá estructurase para admitir cambios. 7. Debe prever la adaptación a circunstancias inusuales. 8. No codificar. 9. Evaluarse en función de calidad mientras está creciendo. 10.Minimizar errores conceptuales. 5

13. 4 Conceptos de Diseño 1. Abstracción. Existen diferentes niveles, cada paso del proceso software es un refinamiento. Alto. En el lenguaje del entorno del problema. Inferiores. Orientación procedimental. Tipos de abstracción: Procedimental. Secuencia nombrada de instrucciones que tiene una función específica y limitada. De datos. Colección nombrada de datos que describe un objeto de datos. De control. Explicita el mecanismo de control de programa sin especificar los datos internos. 13. 4 Conceptos de Diseño (1. Abstracción) Ejemplo de tipos de abstracción para una Modelar una puerta: Procedimental. Operación: Abrir Acercarse a la puerta; Localizar mecanismo de apertura; Accionar mecanismo de apertura; Pasar por la puerta (jalar, empujar, esperar apertura). De datos. La Puerta. Tipo de puerta (madera, metal, etc), Mecanismo de apertura, Peso, Dimensiones. 6

13. 4 Conceptos de Diseño (2. Refinamiento) Debe hacerse paso a paso. El refinamiento hace que el diseñador: trabaje sobre la sentencia original, proporcionando cada vez más detalles a medida que van teniendo lugar sucesivamente todos y cada uno de los refinamientos 13. 4 Conceptos de Diseño (3. Modularidad) Se trata de dividir el software en componentes nombrados y abordados por separado llamados módulos, que se integran para resolver los requisitos del problema. Según G. Meyers, la modularidad es el único atributo del software que permite gestionar un programa intelectualmente Un software monolítico (programa grande formado por un único módulo) no puede ser entendido fácilmente por el lector. 7

13. 4 Conceptos de Diseño (3. Modularidad) Costo de esfuerzo Costo total del software Región de Costo mínimo M Número de módulos Costo de integración Costo/módulo Aunque la modularidad es buena y está basada en la premisa de divide y vencerás, no debe exagerarse el número de módulos 13. 4 Conceptos de Diseño (3. Modularidad) Criterios para evaluar una metodología de diseño respecto a su habilidad de definir un sistema modular efectivo: Capacidad para descomposición modular. Capacidad de empleo de componentes modulares Capacidad de comprensión modular Continuidad modular Protección modular 8

13. 4 Conceptos de Diseño (4. Arquitectura de Software) Alude a la estructura global del software y a las formas en que ésta proporciona la integridad conceptual de un sistema. Sirve como marco de trabajo desde donde se llevan a cabo actividades de diseño más detalladas. Mediante patrones de arquitectura el Ingeniero de Software podrá reutilizar. Existen LDA (Lenguajes de Descripción Arquitectónica) para describir la arquitectura de software. 13. 4 Conceptos de Diseño (4. Arquitectura de Software) Propiedades de un diseño arquitectónico: Estructurales. Define los componentes (módulos, objetos, interfaces), la manera en que se empaquetan e interactúan. Extra-funcionales. Cómo consigue los requerimientos no funcionales. Ejemplos: rendimiento, capacidad, fiabilidad, seguridad, etc. Familias de sistemas relacionadas. Debe poder utilizar bloques de construcción arquitectónicos. 9