Republica Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación Universitaria,
Ciencia y Tecnologia
I.U.P.Santiago Mariño
Extensión COL-Sede Cabimas
Fundamentos del diseño de software
Realizado por:
Claudio Cañizales
C.I:26.716.598
Introducción
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.
La calidad es un instrumento primordial e inicial el cual cuenta un objeto
cualquiera que puede ser comprador con otro objeto de su misma especie, al control de
calidad de denomina así al procesos de ordenación al cual vamos a poder medir la calidad
real.
La calidad del software va implicar que utilicen metodologías y procedimientos
estándar para su programación, análisis y diseño de prueba. La SQA engloba: una visión
de la gestiona de calidad, tecnología de ingeniería del software real, observaciones
técnicas serias, estrategias de prueba multi escalada, control de documentación y del
software y sus cambio, mecanismo de medición y generación de informes.
Fundamento del diseño de Software
El diseño es el primer paso de la fase de desarrollo de cualquier producto o
sistema de ingeniería.
Definición de diseño según Taylor: “Proceso de aplicar distintas técnicas y
principios con el propósito de definir un dispositivo, proceso o sistema con los
suficientes detalles como para permitir su realización física”.
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.
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.
Mediante algunas metodologías de diseño se realiza el diseño de datos, el
diseño arquitectónico y el diseño procedimental.
•El diseño de datos: Transforma el modelo de campo de información, creado
durante el análisis, en las estructuras de datos que se van a requerir para
implementar el software. ƒ
•El diseño arquitectónico: Define las relaciones entre los principales elementos
estructurales del programa. ƒ
• El diseño procedimental: Transforma los elementos estructurales en una
descripción procedimental del software.
El diseño es la única forma mediante la que podemos traducir con
precisión los requisitos del cliente en un producto o sistema acabado. El diseño de
software es la base de todas las partes posteriores del desarrollo y de la fase de
prueba, como muestra la figura.
Fundamento del diseño. Diseño orientado a objeto
El enfoque de Coad y Yourdon para el análisis orientado a objetos esta
basado en cinco capas. Esas cinco capas consisten de capa clase /objeto, capa de
estructura, capa de atributos, capa de servicios, y capa de tema. Estas capas dan
mayor poder a la representación de la complejidad del análisis y el diseño en
sistemas flexibles.
Capa Clase Objeto: Esta capa del análisis y diseño indica las clases y objetos.
Capa de Estructura: Esta capa captura diversas estructuras de clases y objetos,
como las relaciones uno a muchos.
Capa de Atributos: Esta capa detalla los atributos de las clases.
Capa de Servicios: Esta capa indica los mensajes y comportamientos de los
objetos.
Capa de Tema: Esta capa divide el diseño en unidades de implementación o
asignaciones de equipos.
Garantías de calidad del Software
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”.
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.
Técnicas de pruebas de software
•Pruebas de caja negra (Pruebas de funcionalidad): Centradas en verificar si
los requerimientos son satisfechos. Las pruebas de volumen y de stress
(rendimiento con grandes cantidades de datos, y con bloques de datos por
unidad de tiempo, respectivamente), son casos especiales de este tipo de
prueba; otras técnicas son la de clases de equivalencia y la de valores límite.
Pruebas de caja blanca (Pruebas de código/diseño): Se revisan, entre
otras cosas, el diseño y código fuente para verificar que sigan los estándares
especificados, los algoritmos sean adecuados, y la arquitectura sea apropiada.
Técnicas comunes son el análisis de algoritmos, la cobertura de decisiones, las
revisiones entre pares y las recorridas.
Mantenimiento de software
Mantenimiento de software preventivo
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.
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 seguridad
El desarrollo de las tecnologías no solo ha supuesto un desarrollo de éstas
nunca visto hasta la fecha. También una mayor sofisticación en cuanto a las
herramientas, programas y acciones de acceso a la información. La seguridad de ésta
debe ser primordial para las empresas y sus responsables. Debemos proteger
nuestros sistemas de información, los software que utilizamos a diario en nuestro
entorno organizativo contra el acceso desautorizado e incluso malicioso de terceros
que pueden llegar a modificar y robar información de gran valor corporativo.
Fundamentos al requerimiento del diseño
Fundamentos al requerimiento del diseño: 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 como 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.
Es importante destacar que la especificación de requisitos es el resultado final
de las actividades de análisis y evaluación de requerimientos; este documento
resultante será utilizado como fuente básica de comunicación entre los clientes,
usuarios finales, analistas de sistema, personal de pruebas, y todo aquel involucrado en
la implementación del sistema.
Fundamentos al requerimiento del diseño: 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 comportamiento 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”.
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.
Checklists: 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.
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.
Especificación vía Sentencias Textuales: Se usan especificaciones textuales en lenguaje
natural, que se documentan en matrices de trazabilidad de requerimientos o definiciones
del alcance.
Modelado del proceso: Comprende la elaboración de diagramas de flujo de procesos
(Flujogramas) a partir de los requerimientos del software.
Modelo de dominio: Un modelo de dominio comprende diagramas conceptuales que
incluyen tanto el comportamiento de un sistema como sus datos.
Métodos de análisis de requerimientos.
Conclusión
En el desarrollo de productos de software las etapas de análisis de
requerimientos y diseño toma gran parte del tiempo del proyecto. El modelo
planteado en este proyecto pretende establecer unos parámetros de diseño
generales que permitan agilizar la implementación de proyectos tipo sistemas de
control por software, cuya base común es el procesamiento de señales digitales en
busca de comportamientos de interés (caracterización de señales).
Si bien se han utilizado conceptos de paradigmas como el de desarrollo
orientado a objetos o sistemas en tiempo real, el modelo ha buscado generalizarse
para que su interpretación pueda hacerse según condiciones singulares de los
problemas a tratar.
La consideración de un mecanismo para realizar la gestión del riesgo
hace parte de los principios técnicos para el desarrollo de proyectos de ingeniería. A
nivel de la Ingeniería de software y del modelo planteado, la gestión actúa como
instrumento para el control de calidad y como guía para conocer las limitaciones y
características del ciclo de vida
Bibliografía
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
Vizcarran, K. (2010). análisis y diseño orientado a objetos. Recuperado de:
https://miriammi.wordpress.com/analisis-y-diseno-orientado-a-objetos/
Vargas, A. (2010). Ingeniería del Software. Garantía de Calidad de Software.
Recuperado de: http://arielvargasu.blogspot.com/2010/10/garantia-de-calidad-de-
software-sqa_18.html