1. República Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación Superior
I.U.P. ”Santiago Mariño” Sede Barcelona
Barcelona Edo. Anzoátegui
Diseño de Software
Elaborado por:
José Rojas
C.I:19638627
2. Introducción
A través de la historia de la ingeniería del software ha evolucionado un conjunto de
conceptos fundamentales de diseño de software, aunque el grado de interés en
cada concepto ha variado con los años, han pasado la prueba del tiempo ofreciendo cada uno al
ingeniero de software fundamentos sobre el cual pueden aplicarse métodos de diseño más
elaborados.
El diseño de Software juega un papel importante en el desarrollo de software lo cual
permite al ingeniero de software producir varios modelos del sistema o producto de que se va a
construir el mismo que forman una especie de plan de la solución de la aplicación.
Estos modelos puede evaluarse en relación con su calidad y mejorarse antes de
generar código, de realizar pruebas y de que los usuarios finales se vean involucrados a
gran escala.
El diseño es el sitio en el que se establece la calidad del software.
3. El diseño es el primer paso de la fase de desarrollo de cualquier producto o sistema de
ingeniería.
El diseño de software, al igual que los métodos de diseño de todas las ingenierías,
cambian continuamente al aparecer nuevos métodos, mejores análisis y ampliar los
conocimientos. El problema es que el diseño de software se encuentra en una etapa
relativamente temprana en su evolución. La idea de realizar diseño de software en lugar
de “programar”, surgió a principios de los años 60, por lo que a las metodologías de
diseño les falta la profundidad y la flexibilidad que tiene el diseño en otras ingenierías.
Pero, ya existen técnicas de diseño de software para poder evaluar la calidad del software.
Fundamentos del diseño de
software
4. Fundamento del diseño
Diseño orientado a objeto
Una vez que se han establecido los requisitos del software, el diseño es la
primera de tres actividades técnicas: diseño, codificación y prueba. Cada
actividad transforma la información de forma que al final se obtiene un software
validado.
El diseño es técnicamente la parte central de la ingeniería del software. Durante
el diseño se desarrollan, revisan y se documentan los refinamientos progresivos
de las estructuras de datos, de la estructura del programa y de los detalles
procedimentales. El diseño da como resultado representaciones cuya calidad
puede ser evaluada.
5. Garantías de calidad del Software (SQA)
Garantía de calidad del software (SQA) consiste en los medios de la supervisión tecnología
de dotación lógica los procesos y los métodos aseguraban calidad. Hace esto por medio
de intervenciones de sistema de gerencia de la calidad debajo de cuál se crea el sistema
de software. Estas intervenciones son movidas hacia atrás por unos o más estándares,
generalmente ISO 9000.
La calidad del software es el conjunto de cualidades que lo caracterizan y que determinan
su utilidad y existencia. La calidad es sinónimo de eficiencia, flexibilidad, corrección,
confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad. La calidad
del software es medible y varía de un sistema a otro o de un programa a otro.
“La calidad del software es el grado con el que un sistema, componente o proceso cumple
los requerimientos especificados y las necesidades o expectativas del cliente o usuario”.
6. Garantías de calidad del Software (SQA)
La SQA (Software Quality Assurance) engloba:
•Un enfoque de gestión de calidad .
•Tecnología de Ingeniería de Software efectiva (métodos y herramientas).
•Revisiones técnicas formales que se aplican durante el proceso
del software.
•Una estrategia de prueba multiescalada.
• Un control de la documentación del software y de los cambios realizados
•Un procedimiento que asegure un ajuste a los estándares de desarrollo de
software.
• Mecanismos de medición y de generación de informes.
7. Garantías de calidad del Software (SQA)
El control de la calidad es una serie de revisiones, y pruebas utilizados a los largo del
ciclo de desarrollo para asegurar que cada producto cumple con los requisitos que le
han sido asignados.
La garantía de calidad o aseguramiento de la calidad consiste en la auditoria y las
funciones de información de la gestión. El objetivo de la garantía de la calidad es
proporcionar la gestión para informar de los datos necesarios sobre la calidad del
producto, por lo que se va adquiriendo una visión más profunda y segura de que la
calidad del producto está cumpliendo sus objetivos.
8. Técnicas de pruebas de software
Las técnicas de evaluación dinámica proporcionan distintos criterios para generar casos
de prueba que provoquen fallos en los programas. Estas técnicas se agrupan en:
Técnicas de caja blanca o estructurales, que se basan en un minucioso examen de los
detalles procedimentales del código a evaluar, por lo que es necesario conocer la
lógica del programa.
Este método se centra en cómo diseñar los casos de prueba atendiendo al
comportamiento interno y la estructura del programa. Se examina así la lógica
interna del programa sin considerar los aspectos de rendimiento.
El objetivo de la técnica es diseñar casos de prueba para que se ejecuten, al menos
una vez, todas las sentencias del programa, y todas las condiciones tanto en su
vertiente verdadera como falsa.
9. Técnicas de pruebas de software
Técnicas de caja negra o funcionales, que realizan pruebas sobre la
interfaz del programa a probar, entendiendo por interfaz las entradas
y salidas de dicho programa. No es necesario conocer la lógica del
programa, únicamente la funcionalidad que debe realizar.
10. Mantenimiento de software (preventivo, seguridad).
El mantenimiento preventivo de software es el proceso por el cual se mejora y optimiza el software
que se ha instalado, este mantenimiento se realiza para la prevención de posibles problemas que
puedan llegar a surgir a medida que se utiliza el computador.
La principal razón por la que se realiza este mantenimiento, en estos días es el análisis en busca de
virus, ya que estos; los “Virus” son programas nocivos para el computador, ya que causan una
inestabilidad en el sistema, bajas en el rendimiento del computador, perdida de productividad,
cortes en los sistemas y probables errores en el mismo, tales que no se pueden corregir de manera
simple, sino mediante de una formateada. Para realizar un mantenimiento óptimo al software
existen pasos para realizar este eficientemente y tener una mayor cobertura en el mantenimiento.
11. Estos pasos son:
La revisión de instalación por SETUP.
Desfragmentación de disco duro.
La eliminación de archivos TMP.
Liberación de espacio en el disco duro.
Ejecución del antivirus.
Realizar una copia de seguridad.
Limpiar la papelera de reciclaje.
Mantenimiento de software (preventivo, seguridad).
12. ESPECIFICACIONES
La especificación de requisitos de software es la actividad en la cual se
genera el documento, con el mismo nombre, que contiene una
descripción completa de las necesidades y funcionalidades del sistema
que será desarrollado; describe el alcance del sistema y la forma en
hará sus funciones, definiendo los requerimientos funcionales y los no
funcionales.
En la SRS se definen todos los requerimientos de hardware y software,
diagramas, modelos de sistemas y cualquier otra información que sirva
de soporte y guía para fases posteriores.
Fundamentos al requerimiento del diseño
13. PRINCIPIOS
Tanto el que desarrolla el software como el cliente tienen un papel
activo en la especificación de requerimientos. El cliente intenta
reformular su concepto, algo nebuloso, de la función y
de los programas en detalles concretos, el que desarrolla el software
actúa como interrogador, consultor y el que resuelve los problemas.
El dilema con el que se enfrenta un ingeniero de software puede ser
comprendido repitiendo la sentencia de un cliente anónimo: “Sé que
crees que comprendes lo que piensas que he dicho, pero no estoy
seguro de que lo que creíste oír sea lo que yo quise decir”.
Fundamentos al requerimiento del diseño
14. Métodos de análisis de requerimientos
Descomposición funcional
La descomposición funcional se refiere al proceso de identificar y
resolver las relaciones funcionales en sus partes constituyentes, de
tal forma que la función global pueda ser reconstruida a partir de
sus partes.
Por lo general, la descomposición funcional se realiza para
identificar y entender los componentes o partes que constituyen un
todo (o función global).
En este proceso, es vital identificar las interacciones entre
componentes.
15. Métodos de análisis de requerimientos
Especificación vía Sentencias Textuales
Es la forma tradicional de la especificación de requerimientos de
software.
Se usan especificaciones textuales en lenguaje natural, que se
documentan en matrices de trazabilidad de requerimientos o
definiciones del alcance.
El procedimiento consiste en tomar el requerimiento producto del
levantamiento de información, para desarrollar una narrativa más
detallada.
16. Modelado del proceso
Comprende la elaboración de diagramas de flujo de procesos (Flujogramas) a partir de los
requerimientos del software.
Existen diversas herramientas de modelado de procesos, cada una de las cuales posee sus
propios símbolos y reglas.
Modelo de dominio
En Ingeniería de software, en análisis de dominio consiste en analizar sistemas o software
relacionados en un dominio, con la finalidad de encontrar sus partes comunes y partes que
los diferencian.
Produce un modelo de contexto de negocio para todo el sistema.
Métodos de análisis de requerimientos
17. Métodos de análisis de requerimientos
Casos de Uso: Un caso de uso es una secuencia de interacciones entre un
sistema y alguien o algo que usa alguno de sus servicios.
Check lists: Consiste en una serie de preguntas o revisiones que se realizan
sobre los requerimientos de software, que nos sean presentados de forma
escrita.
Inspección: Consiste en tomar el requerimiento definido en la matriz de
trazabilidad o definición de alcance, leerlo y producir un resultado para su
corrección.
Prototipos: Consiste en elaborar representaciones visuales (interfaz gráfica
con el usuario) de los requerimientos de software.
18. Conclusión
El mantenimiento preventivo de software es el proceso por el cual se mejora y optimiza
el software que se ha instalado, este mantenimiento se realiza para la prevención de
posibles problemas que puedan llegar a surgir a medida que se utiliza el computador.
El diseño es técnicamente la parte central de la ingeniería del software. Durante el
diseño se desarrollan, revisan y se documentan los refinamientos progresivos de las
estructuras de datos, de la estructura del programa y de los detalles procedimentales.
El diseño de software, al igual que los métodos de diseño de todas las ingenierías,
cambian continuamente al aparecer nuevos métodos, mejores análisis y ampliar los
conocimientos
19. Bibliografía
Roger S. Presman,”INGENIERIA DEL SOTFWARE UN ENFOQUE PRACTICO”
McGrawhill,España,1998
Steve McConell,”DESARROLLO Y GESTIÓN DE PROYECTOS INFORMATICOS”,
McGrawhill,España,1997
León, L. (2008). Caracterización de la Prueba de Software. Clasificación y Técnicas.
Recuperado de: https://sg.com.mx/content/view/53