Metodologias de Diseño y Desarrollo de Sistemas de Informacion
Fundamentos del diseño de sofware
1. Fundamentos de
diseño de software
Francisco Bozo Cedula: 27.717.122
Carrera: #47 Extensión-Maracaibo
2. ¿Qué es un sistema?
• Sistema es un conjunto
organizado de cosas o partes
interactuantes e
interdependientes, que se
relacionan formando un todo
unitario y complejo. Cabe aclarar
que las cosas o partes que
componen al sistema, no se
refieren al campo físico (objetos),
sino más bien al funcional. De este
modo las cosas o partes pasan a
ser funciones básicas realizadas
por el sistema. Podemos
enumerarlas en: entradas,
procesos y salidas.
3. ¿Qué es el software?
• Se conoce como software al equipamiento lógico o soporte lógico de
una computadora digital; comprende el conjunto de los componentes
lógicos necesarios que hacen posible la realización de tareas
específicas, en contraposición a los componentes físicos, que son
llamados hardware.
4. ¿Qué es el diseño de software?
• Visto como un proceso, el diseño de software es la actividad de ciclo
de vida de ingeniería de software en la que los requerimientos de
software son analizados para causar una descripción de la estructura
interna del software que servirá como base para su construcción
5. Importancia del diseño de software
• Se trata de una etapa fundamental y en
muchas ocasiones la más importante en
el desarrollo de Software. Es el
momento en que los profesionales tienen
que aportar sus conocimientos,
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. Un error
de diseño en esta fase puede acarrear
problemas en todo el proyecto y provocar
que este caiga en una espiral de
continuos cambios y de rehacer
constantemente el trabajo.
6. Etapas del diseño de software
• Se constituye de 5 fases normalmente, las cuales son:
• Etapa de análisis de requisitos
• Etapa de diseño
• Etapa de implementación
• Etapa de pruebas o verificación
• Etapa de mantenimiento
7. Etapa de análisis • Es necesario determinar qué elementos
intervienen en el sistemas a desarrollar,
así como su estructura, relaciones,
evolución en el tiempo, detalle de sus
funcionalidades, que van a dar una
descripción clara de que sistema vamos
a construir, qué funcionalidades va a
aportar y qué comportamiento va a
tener, responde a la pregunta:
• ¿que vamos hacer?
8. Etapa de diseño
• Tras la etapa anterior ya se tiene
claro que debe hacer el sistema,
ahora tenemos que determinar
cómo va a hacerlo (¿cómo debe ser
construido el sistema; aquí se
definirán en detalle entidades y
relaciones de las bases de datos,
se pasará de casos de uso
esenciales a su definición como
casos expandidos reales, se
seleccionara el lenguaje más
adecuado, el Sistema Gestor de
Base de Datos a utilizar en un
caso, librerías, configuraciones
hardware, redes, etc.).
9. Etapa de
implementación
• Es la penúltima fase del desarrollo de
sistemas. Es el proceso de instalar
equipos o software nuevo, como
resultado de un análisis y diseño previo
como resultado de la situación o
mejoramiento de la forma de llevar a
cabo un proceso automatizado.
• Al implementar un sistema lo primero
que debemos hacer es asegurarnos qué
el sistema sea operacional o que
funcione de acuerdo a los
requerimientos del análisis y permitir
que los usuarios puedan operarlos.
10. Etapa de verificación
• Antes de que pueda ser usado el sistema
de información debe ser probado.
Durante este proceso se debe poner en
práctica todas las estrategias posibles
para garantizar que el usuario inicial
del sistema se encuentre libre de
problemas. Existen seis pruebas básicas:
• Prueba de carga máxima, Prueba de
almacenamiento, Prueba de tiempo de
ejecución, Prueba de recuperación,
Prueba de procedimientos y Prueba de
recursos humanos
11. Etapa de
mantenimiento
• La fase de mantenimiento de software
involucra cambios al software para
corregir defectos encontrados durante
su uso o la adición de nueva
funcionalidad mejorando la usabilidad y
aplicabilidad del software.