1. FUNDAMENTOS DEL
DISEÑO DE SOFTWARE
Republica Bolivariana deVenezuela
Ministerio del poder Popular Para la Educación
Superior “Instituto Universitario Politécnico Santiago Mariño
Ampliación- Maracaibo
Joel Finol 29.891.852
2. Fundamentos del diseño de software
Modularidad
Arquitectura
de software
Jerarquía de
control
Estructura de
datos
Procedimiento
de software
3. Modularidad
El software se divide en componentes con
nombres determinados que se denominan
módulos.
Un programa compuesto de un solo
módulo no puede ser fácilmente
manejado intelectualmente.
Es más fácil resolver problemas
complejos cuando se
descomponen en trozos más
manejables
Puede concluirse que si partiéramos el
software indefinidamente el esfuerzo
para desarrollarlo sería
insignificantemente pequeño
4. Arquitectura de software
La arquitectura del software se refiere a:
1.- La estructura jerárquica de los componentes procedimentales.
2.- La estructura de los datos.
La arquitectura del software se obtiene mediante un proceso de partición, que relaciona los elementos de
una solución de software con partes de un problema del mundo real definido en el análisis de requisitos.
Usando alguna de las metodologías de diseño del software se
producirá un determinado tipo de estructura del software.
5. Jerarquía de control
La jerarquía de control,
también denominada
“estructura del
programa”, representa la
organización de los
componentes del
programa ( módulos ).
Esto no representa
aspectos
procedimentales del
software, tales como la
secuencia de procesos, la
ocurrencia u orden de las
decisiones o la repetición
de operaciones.
control
Jerarquía
6. Estructura de datos
La estructura de datos es una
representación de la relación
lógica existente entre los
elementos individuales de
datos.
Debido a que la estructura de la
información afectará invariablemente
al diseño procedimental final, la
estructura de datos es tan importante
como la estructura del programa en la
representación de la arquitectura del
software.
La estructura de datos dicta
la organización, los métodos
de acceso, y las alternativas
de procesamiento para la
información.
7. Procedimientos 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
por capas del software se realiza
8. Diseño Orientado a Objetos
El diseño orientado a objetos (DOO) es una fase de la metodología orientada a objetos para el desarrollo de
software.
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.
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).
9. Garantía de Calidad de 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
10. 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.
11. Métodos de Prueba de un Software
La prueba del software es tanto un arte como una ciencia. En grande, los usos complejos, tales como
sistemas operativos. Diversos usos del software requieren diversos acercamientos cuando viene a la
prueba, pero algunas de las tareas mas comunes del QA del software incluyen:
Es el acto de los
datos que entran que
el probador sabe
para ser erróneo en
un uso
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
Prueba deValidación
Comparación de los
Datos
12. 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.
Consiguiendo a los usuarios que
son desconocedores con el
software intentarlo durante
algún tiempo y ofrecer la
regeneración a los reveladores
sobre lo que encontraron
difíciles de hacer es la mejor
manera de llevar a cabo mejoras
a un interfaz.
Prueba de laTensión
Prueba
de la
Utilidad
13. Mantenimiento de Software
Es la modificación de un
producto de software después
de la entrega, para corregir
errores, mejorar el
rendimiento, u otros atributos.
El mantenimiento del software
es una de las actividades más
comunes en la ingeniería de
software.
El mantenimiento de software es
también una de las fases en el ciclo
de vida de desarrollo de sistemas
(SDLC, sigla en inglés de 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.
El mantenimiento preventivo
consiste en una atención
constante de limpieza, revisión
y afinación de los distintos
elementos integrantes de un
equipo de
cómputomantenimiento
preventivo.
El mantenimiento tiene técnicas para darle un periodo de vida útil más largo y libre de fallas. Debemos de
tener en cuenta que es necesario darle mantenimiento al software ya que el continuo uso genera una serie de
cambios en la configuración original del sistema, causando bajas en el rendimiento que al acumularse con el
tiempo pueden generar problemas serios. Actualmente es indispensable mantener actualizada la protección
contra virus informáticos.
14. Métodos de análisis de Requerimientos.
Descomposición
funcional
Especificación vía
sentencias virtuales
Modelado
de
proceso
Modelo de
dominio
Checklist Casos de Usos
15. 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.
Aplicado a la Ingeniería de requisitos, consiste en tomar los requerimientos de software,
dividirlos en partes y analizarlos individualmente. De ser necesario, se pueden descomponer
en más partes hasta lograr un nivel adecuado de detalle. En cierto sentido, el proceso es
similar al de la elaboración de una estructura de desglose de trabajo de un proyecto.
16. EspecificaciónVíasTextuales
■ 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.
■ No usa herramientas visuales como los flujogramas o estructura como los casos de uso, es
simplemente una descripción más detallada del requerimiento en lenguaje natural
17. 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. Es muy útil para entender el trabajo realizado en múltiples pasos, tareas, roles y
departamentos intervinientes.
Los procesos son iniciados por eventos y pueden abarcar actividades automatizadas, manuales o
combinación entre ambas.
Su naturaleza visual ayuda a la comprensión y
comunicación a terceros.
Cuando los procesos son complejos,
deben
desglosarse en componentes (subprocesos).
La relación entre los diagramas de flujo y la
gerencia de proyectos es fundamental
18. Casos De Uso
■ En el Lenguaje de Modelado Unificado (UML), un caso de uso es una
secuencia de interacciones entre un sistema y alguien o algo que usa
alguno de sus servicios.
19. Checklist
La lista de chequeo (Checklist) consiste en una serie de preguntas o revisiones que se realizan
sobre los
requerimientos de software, que nos sean presentados de forma escrita.
Una lista de chequeo puede realizar preguntas como:
¿Se han especificado los requisitos de hardware y software?
¿Se han realizado consideraciones de seguridad?
¿El nivel de granularidad del requerimiento se ha incluido?
¿Se ha incluido el código de referencia en para identificar el requisito en el desglose de
requerimientos?
¿Está escrito el requerimiento en un lenguaje claro y conciso?
¿El requerimiento es único? (no existe duplicidad con otro requerimiento).
Y muchas preguntas más.
La lista de chequeo sirve de marco de trabajo y procedimental para revisar el requerimiento,
facilitando su análisis de forma estructurada.