1. República Bolivariana de Venezuela
Ministerios del Poder Popular para la Educación
I.U.P Santiago Mariño
“Cabimas”
fundamentos básicos para el diseño de
software
Realizado Por:
Adrián Adrianza
C.I: 27.511.633
Carrera:
Ing. De sistemas (47) 8vo Semestre
2. ¿Que es el desarrollo de software?
El diseño de software tiene un papel importante en el desarrollo
de software, ya que permite que ingenieros de software produzcan
modelos distintos que moldean una clase de plano de la solución
a ser implementado. Podemos analizar y valorar a estos modelos
para determinar cuál de estos permitirá o no, cumplir con una
gama de requerimientos.
experiencia y creatividad para llegar a una solución que cumpla
con los requerimientos funcionales y no funcionales
establecidos en la fase de la toma de requisitos.
El diseño del Software tiene un impacto directo sobre la
capacidad del sistema para cumplir o no el total de
requerimientos establecidos
3. Fundamentos Básicos Para el diseño de software
Abstracción
Refinamiento
Modularidad
Arquitectura del software
Jerarquía de control
Estructura de datos
Procedimientos de software
Ocultamiento de información
4. Fundamentos Básicos Para el diseño de software
Abstracción
En un alto grado de abstracción una solución se
establece en términos generales con el lenguaje
del entorno del problema.
En los grados de menor abstracción se
proporciona una descripción más detallada de la
solución.
En la medida en que se cambian los diferentes
grados de abstracción se trabaja para crear
abstracciones procedimentales y de datos.
Es el proceso o el resultado de la generalización de la reducción
del contenido de la información de un concepto o un fenómeno
observable, por lo general, con el fin de conservar únicamente la
información que es relevante para un propósito en particular.
Cuando se considera una solución modular a cualquier problema
se pueden exponer muchos grados de abstracción
5. Fundamentos Básicos Para el diseño de software
Refinamiento
Consiste en detallar el conjunto de
requerimientos establecido por los
interesados del proyecto.
En la fase de diseño se hace un
refinamiento de requerimientos, el cual
tiene como objetivo permitir a los
miembros del equipo de desarrollo
prepararse para la ejecución de las tareas
de desarrollo.
Esta actividad describe las tareas
que se deben realizar para reunir,
especificar, analizar y validar un
conjunto de requerimientos del
sistema previamente a la
implementación y verificación
6. MODULARIDAD
Fundamentos Básicos Para el diseño de software
El diseño deberá ser modular
dividiéndose en estructuras que
realicen funciones específicas. Esto
facilitará la reutilización. Además
deberá realizarse de manera que
permita cambios y que permita la
extensión de funcionalidades sin
afectar a otras
7. Fundamentos Básicos Para el diseño de software
Arquitectura
De
Software
Es un conjunto de patrones que
proporcionan un marco de referencia
necesario para guiar la construcción de un
software, permitiendo a
los programadores, analistas y todo el
conjunto de desarrolladores
del software compartir una misma línea de
trabajo y cubrir todos los objetivos y
restricciones de la aplicación
Es considerada el nivel más alto en el
diseño de la arquitectura de un
sistema puesto que establecen la
estructura, funcionamiento e
interacción entre las partes del
software.
8. Jerarquía De
Control
Fundamentos Básicos Para el diseño de software
La jerarquía de control, denominada también
estructura de programa, representa la
organización de los componentes de programa
(módulos) e implica una jerarquía de control. No
representa los aspectos procedimentales del
software, ni se puede aplicar necesariamente a
todos los estilos arquitectónicos
9. Fundamentos Básicos Para el diseño de software
Jerarquía De
Datos
Las estructuras de datos son un medio para
manejar grandes cantidades de datos de
manera eficiente para usos tales como
grandes bases de datos y servicios de
indización de Internet. Por lo general, las
estructuras de datos eficientes son clave para
diseñar algoritmos eficientes
Algunos métodos formales de diseño y
lenguajes de programación destacan las
estructuras de datos, en lugar de los
algoritmos, como el factor clave de
organización en el diseño de software.
10. Procedimiento
De
Software
Fundamentos Básicos Para el diseño de software
El procedimiento del software se centra sobre los
detalles de procesamiento de cada módulo individual.
El procedimiento debe proporcionar una
especificación precisa del procesamiento, incluyendo
la secuencia de procesos, las decisiones y la repetición
de operaciones. La representación procedimental del
software se realiza por capas.
11. Ocultamiento
De
Información
Fundamentos Básicos Para el diseño de software
La ocultación de información, en lo que respecta a las
computadoras, consiste en mantener partes de un
programa separadas de otras partes. Hay muchas
razones para hacer esto, una de las más comunes es la
facilidad de actualización. Si un programa mantiene su
núcleo separado de su interfaz, entonces uno u otro
se puede cambiar fácilmente sin afectar a su socio
12. Diseño Orientado a
objetos
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 (AOO) Su uso induce
a desarrolladores y programadores a
pensar en términos de objetos, en vez de
procedimientos cuando planifican el
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, también se definen en esta
etapa. Un programa orientado a objetos se
caracteriza por la interacción de esos objetos.
13. Métodos de prueba de software
validación Comparación de
datos
Tensión Utilidad
Es el acto de los datos que entran
que el probador sabe para ser
erróneo en un uso Comparación de
los Datos Se compara la salida de un
uso con parámetros específicos a un
sistema previamente creado de los
datos con los mismos parámetros
que se saben para ser exacto
Es cuando el software se
utiliza tan pesadamente
como sea posible por un
período de la hora de
considerar si hace frente a
los altos niveles de la carga
Se compara la salida
de un uso con
parámetros específicos
a un sistema
previamente creado
de los datos con los
mismos parámetros
que se saben para ser
exactos.
Consiguiendo a los usuarios
que son desconocedores con
el software, se le ofrece
utilizarlo para así poder
obtener las experiencia de
cada uno y así poder generar
mejoras de interfaz si los
usuario que utilizaran el
sistema lo encuentran muy
difícil de utilizar
14. Mantenimiento:
Es una de las actividades en la Ingeniería de Software y es el proceso de
mejorar y optimizar el software desplegado (revisión del programa), así
como también remediar los defectos. El mantenimiento de software es
también una de las fases en el Ciclo de Vida de Desarrollo de Sistemas
(SDLC ó System Development Life Cycle), que se aplica al desarrollo de
software. La fase de mantenimiento es la fase que viene después del
despliegue (implementación) del software en el campo. La fase de
mantenimiento de software involucra cambios al software en orden de
corregir defectos y dependencias encontradas durante su uso tanto como
la adición de nueva funcionalidad para mejorar la usabilidad y aplicabilidad
del software.