SlideShare una empresa de Scribd logo
1 de 16
Instituto Universitario Politécnico
“Santiago Mariño”
Extensión Maracay
Escuela de Ingeniería de Sistemas
Maracay, Julio 2019
Fundamentos del Diseño del
Software
Docente:
José Castillo
Autor:
Luis Mortell
26.055.569
Introducción
En el universo de la programación actual, es de amplio consenso que
la programación orientada a objetos es el mejor paradigma disponible
para enfrentar las cada vez más complejas tareas de la programación.
Sin embargo, no todos los programadores tienen claro los fundamentos
de este paradigma, y tienden a confundir la programación usando
objetos con la programación orientada a objetos.
En Visual Basic, por ejemplo, se usan objetos (componentes) sin que
ello implique que estemos en presencia de un lenguaje orientado a
objetos. Programamos orientado a objetos cuando, usando un lenguaje
de programación, somos capaces de modelar el problema en términos
de objetos y sus relaciones. Es decir cuando cada entidad en
el programa es un objeto que brinda determinados servicios.
¿Cuales son los Fundamentos del
Diseño de Software?
Entre los fundamentos de Diseño tenemos los siguientes:
1) Abstracción:
Cuando se considera una solución modular para cualquier problema,
pueden formularse varios niveles de abstracción. En el nivel superior de
abstracción se establece una solución en términos generales, en
lenguaje natural. En los niveles inferiores de abstracción se utiliza una
orientación más procedimental.
2) Refinamiento:
La arquitectura de un programa se desarrolla en niveles sucesivos de
refinamiento de los detalles procedimentales. Se desarrolla una
jerarquía descomponiendo una función de forma sucesiva hasta que se
llega a las sentencias del lenguaje de programación.
3) Modularidad:
El software se divide en componentes con nombres y ubicaciones
determinados, que se denominan módulos y que se integran para
satisfacer los requisitos del proveedor. El software monolítico (es
decir, un programa grande compuesto de un solo módulo) no puede ser
estudiado fácilmente por un lector, ya que el número de caminos de
control, el número de variables y la complejidad global harían el
código prácticamente indescifrable.
Diseño Orientado a Objetos
La primera idea que se tiene al construir una solución de un
determinado problema es un modelo mental que constituye el primer
intento de diseño llamado comúnmente diseño informal. Este diseño a
medida que se va describiendo en papel utilizando técnicas y
procedimientos esquemáticos y metódicos va adquiriendo forma hasta
constituirse en un diseño formal equivalente.
Pues bien, dentro del paradigma de la orientación a objetos, el
diseño OO es con mucho; más complejo que el diseño estructurado
clásico, ya que lo que se busca es crear un diseño genérico y abierto y
no cerrado y concreto. El Diseño Orientado a Objetos se define como
un diseño de sistemas que utiliza objetos auto-contenidos y clases de
objetos.
Garantías de Calidad de 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.
Técnicas de Prueba de Software
1) Prueba unitaria:
Empecemos con el primero y más pequeño de todos – prueba
unitaria. La prueba unitaria se aplica en el elemento más pequeño de
un sistema, cada componente es testeado para asegurar que funciona
correctamente. Normalmente desarrolla una única función cohesiva.
La función de la prueba unitaria es de analizar cada pequeña parte y
testear que funciona correctamente.
2) Pruebas de Integración:
Es una extensión lógica de las pruebas unitarias. Dos unidades que
ya han sido testeadas y combinadas en un componente y su interface
son testeadas entre ellas. Un componente, en este ejemplo, se
refiere a un agregado que está integrado en más de una unidad, estas
son combinadas en componentes, que son agregadas por orden en
partes mas grandes del programa.
3) Pruebas funcionales:
Las pruebas funcionales se basan en asegurarse de que todas las
características funcionen de cabo a rabo. Por ejemplo, testear que las
características de un usuario se actualicen cuando el usuario clicka en
el botón de guardar.
4) Pruebas de Rendimiento:
Y la última es la prueba de rendimiento. En el desarrollo de
software, la prueba de rendimiento es una práctica de test que
determina la actuación de un sistema en términos de respuesta y
estabilidad en una carga de trabajo en particular. También puede
servir para investigar, medir, validar o verificar otros atributos de
calidad del sistema, como la escalabilidad, seguridad y uso de
recursos.
Mantenimiento de Software
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.
Principios y Especificaciones del
Diseño
El diseño del software es tanto un proceso como un modelo. El
proceso de diseño es una secuencia de pasos que hacen posible que el
diseñador describa todos los aspectos del software que se va a
construir.
El modelo de diseño es equivalente a los planes de un arquitecto
para una casa. Comienza representando la totalidad de todo lo que se
va a construir (por ejemplo, una representación en tres dimensiones
de la casa) y refina lentamente lo que va a proporcionar la guía para
construir cada detalle (por ejemplo, el diseño de fontanería).
Los principios del Diseño son los siguientes:
1. En el proceso deben tomarse enfoques alternativos.
2. Deberá rastrearse hasta el análisis.
3. Se debe reutilizar.
4. Tratar de imitar el dominio del problema.
5. Uniformidad e integración.
6. Deberá estructurarse para admitir cambios.
7. Debe prever la adaptación a circunstancias inusuales.
8. No codificar.
9. Evaluarse en función de calidad mientras está creciendo.
10. Minimizar errores conceptuales.
Métodos de Análisis de
Requerimientos
1) 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.
2) Especificación vía Sentencias Textuales:
Es la forma tradicional de la especificación de requerimientos de
software.
3) Modelado del proceso:
Comprende la elaboración de diagramas de flujo de procesos
(Flujogramas) a partir de los requerimientos del software.
4) 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.
5) 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.
6) Checklists:
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.
7) Inspección:
Revisión no destructiva de los requerimientos de software.
8) Prototipos:
Consiste en elaborar representaciones visuales (interfaz gráfica
con el usuario) de los requerimientos de software
Conclusiones
Para entender cómo funciona el paradigma de la programación
orientada a objetos es necesario ver un programa como una
colección de objetos que interactúan entre sí enviándose
mensajes y cambiando su estado durante la ejecución.
Resolver un problema bajo el paradigma de la programación
orientada a objetos implica determinar y caracterizar los
diferentes objetos que intervienen en el problema, definir sus
propiedades y métodos y ponerlos a interactuar.
Bibliografía
• Hernández, R. Y Fernández, C. (2017). Introducción a la
Ingeniería de Requerimientos. (Tercera Segunda Edición)
Argentina: Editorial Valley.
• Molina, C. (2017). Análisis y Fundamentos del Software.
Venezuela: Editorial Monumento.
• Romero, K. (2014). Diseño y Programación Orientada a
Objetos. México: Editorial El Bibliotecario.

Más contenido relacionado

La actualidad más candente

Lenguaje de programación JAVA
Lenguaje de programación JAVALenguaje de programación JAVA
Lenguaje de programación JAVAjosehpxxx
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosnenyta08
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De SoftwareJulio Pari
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de JavaLuzRom
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwarealberto calatayu
 
51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-softwareMiguel Angel Rodriguez
 
Comparacion software comercial vs libre (Gestores De Base De Datos)
Comparacion software comercial vs libre (Gestores De Base De Datos)Comparacion software comercial vs libre (Gestores De Base De Datos)
Comparacion software comercial vs libre (Gestores De Base De Datos)Oscar Ruiz Zapata
 
Seguridad en los Sistemas Operativos
Seguridad en los Sistemas OperativosSeguridad en los Sistemas Operativos
Seguridad en los Sistemas OperativosNeyber Porras
 
FUNDAMENTOS DEL HARDWARE LIBRE
FUNDAMENTOS DEL HARDWARE LIBREFUNDAMENTOS DEL HARDWARE LIBRE
FUNDAMENTOS DEL HARDWARE LIBRE619jesus
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Jose R. Hilera
 
Mapa linux unix
Mapa linux unixMapa linux unix
Mapa linux unixlongojose
 
Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)Jenyfer Utitiaja
 

La actualidad más candente (20)

Lenguaje de programación JAVA
Lenguaje de programación JAVALenguaje de programación JAVA
Lenguaje de programación JAVA
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientos
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de Java
 
Herramienta Protégé para la Web Semántica
Herramienta Protégé para la Web SemánticaHerramienta Protégé para la Web Semántica
Herramienta Protégé para la Web Semántica
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del software
 
51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software
 
3. Análisis de Requerimientos
3. Análisis de Requerimientos3. Análisis de Requerimientos
3. Análisis de Requerimientos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Ensayo ing. de software.
Ensayo ing. de software.Ensayo ing. de software.
Ensayo ing. de software.
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Comparacion software comercial vs libre (Gestores De Base De Datos)
Comparacion software comercial vs libre (Gestores De Base De Datos)Comparacion software comercial vs libre (Gestores De Base De Datos)
Comparacion software comercial vs libre (Gestores De Base De Datos)
 
Seguridad en los Sistemas Operativos
Seguridad en los Sistemas OperativosSeguridad en los Sistemas Operativos
Seguridad en los Sistemas Operativos
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
FUNDAMENTOS DEL HARDWARE LIBRE
FUNDAMENTOS DEL HARDWARE LIBREFUNDAMENTOS DEL HARDWARE LIBRE
FUNDAMENTOS DEL HARDWARE LIBRE
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)
 
Mapa linux unix
Mapa linux unixMapa linux unix
Mapa linux unix
 
Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)
 

Similar a Fundamentos de Diseño Orientado a Objetos

Fundamentos para el diseño de un software
Fundamentos para el diseño de un softwareFundamentos para el diseño de un software
Fundamentos para el diseño de un softwaressalzar
 
Fundamentos de diseño de software
Fundamentos de diseño de softwareFundamentos de diseño de software
Fundamentos de diseño de softwareLuis Jesus Curbata
 
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwarePteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwaresara272016
 
Diseno Software
Diseno SoftwareDiseno Software
Diseno Softwarealfmuny
 
Fundamentos del diseño de software
Fundamentos del diseño de softwareFundamentos del diseño de software
Fundamentos del diseño de softwarejoelfinol
 
Ingenieria de la informatica
Ingenieria de la informaticaIngenieria de la informatica
Ingenieria de la informaticaAriel Medina
 
Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Valentina
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
Diseño de componentes.
Diseño de componentes.Diseño de componentes.
Diseño de componentes.Annel D'Jesús
 
Fundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareFundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareBetania Amundaray
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software AlessandreMndez
 

Similar a Fundamentos de Diseño Orientado a Objetos (20)

Fundamentos para el diseño de un software
Fundamentos para el diseño de un softwareFundamentos para el diseño de un software
Fundamentos para el diseño de un software
 
Fundamentos de diseño de software
Fundamentos de diseño de softwareFundamentos de diseño de software
Fundamentos de diseño de software
 
Fundamentos
FundamentosFundamentos
Fundamentos
 
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwarePteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
 
Diseno Software
Diseno SoftwareDiseno Software
Diseno Software
 
Fundamentos del diseño de software
Fundamentos del diseño de softwareFundamentos del diseño de software
Fundamentos del diseño de software
 
Ingenieria de la informatica
Ingenieria de la informaticaIngenieria de la informatica
Ingenieria de la informatica
 
Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +
 
Programacion visual
Programacion visualProgramacion visual
Programacion visual
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Diseño de componentes.
Diseño de componentes.Diseño de componentes.
Diseño de componentes.
 
Juan velasquez
Juan velasquezJuan velasquez
Juan velasquez
 
Nixon torrealbav
Nixon torrealbavNixon torrealbav
Nixon torrealbav
 
Fundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareFundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de software
 
8.conceptos de diseño
8.conceptos de diseño8.conceptos de diseño
8.conceptos de diseño
 
Deber analisis
Deber analisisDeber analisis
Deber analisis
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
 
Analisis orientados a objetos
Analisis orientados a objetosAnalisis orientados a objetos
Analisis orientados a objetos
 
Uml
UmlUml
Uml
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
 

Fundamentos de Diseño Orientado a Objetos

  • 1. Instituto Universitario Politécnico “Santiago Mariño” Extensión Maracay Escuela de Ingeniería de Sistemas Maracay, Julio 2019 Fundamentos del Diseño del Software Docente: José Castillo Autor: Luis Mortell 26.055.569
  • 2. Introducción En el universo de la programación actual, es de amplio consenso que la programación orientada a objetos es el mejor paradigma disponible para enfrentar las cada vez más complejas tareas de la programación. Sin embargo, no todos los programadores tienen claro los fundamentos de este paradigma, y tienden a confundir la programación usando objetos con la programación orientada a objetos. En Visual Basic, por ejemplo, se usan objetos (componentes) sin que ello implique que estemos en presencia de un lenguaje orientado a objetos. Programamos orientado a objetos cuando, usando un lenguaje de programación, somos capaces de modelar el problema en términos de objetos y sus relaciones. Es decir cuando cada entidad en el programa es un objeto que brinda determinados servicios.
  • 3. ¿Cuales son los Fundamentos del Diseño de Software? Entre los fundamentos de Diseño tenemos los siguientes: 1) Abstracción: Cuando se considera una solución modular para cualquier problema, pueden formularse varios niveles de abstracción. En el nivel superior de abstracción se establece una solución en términos generales, en lenguaje natural. En los niveles inferiores de abstracción se utiliza una orientación más procedimental. 2) Refinamiento: La arquitectura de un programa se desarrolla en niveles sucesivos de refinamiento de los detalles procedimentales. Se desarrolla una jerarquía descomponiendo una función de forma sucesiva hasta que se llega a las sentencias del lenguaje de programación.
  • 4. 3) Modularidad: El software se divide en componentes con nombres y ubicaciones determinados, que se denominan módulos y que se integran para satisfacer los requisitos del proveedor. El software monolítico (es decir, un programa grande compuesto de un solo módulo) no puede ser estudiado fácilmente por un lector, ya que el número de caminos de control, el número de variables y la complejidad global harían el código prácticamente indescifrable.
  • 5. Diseño Orientado a Objetos La primera idea que se tiene al construir una solución de un determinado problema es un modelo mental que constituye el primer intento de diseño llamado comúnmente diseño informal. Este diseño a medida que se va describiendo en papel utilizando técnicas y procedimientos esquemáticos y metódicos va adquiriendo forma hasta constituirse en un diseño formal equivalente. Pues bien, dentro del paradigma de la orientación a objetos, el diseño OO es con mucho; más complejo que el diseño estructurado clásico, ya que lo que se busca es crear un diseño genérico y abierto y no cerrado y concreto. El Diseño Orientado a Objetos se define como un diseño de sistemas que utiliza objetos auto-contenidos y clases de objetos.
  • 6. Garantías de Calidad de 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.
  • 7. Técnicas de Prueba de Software 1) Prueba unitaria: Empecemos con el primero y más pequeño de todos – prueba unitaria. La prueba unitaria se aplica en el elemento más pequeño de un sistema, cada componente es testeado para asegurar que funciona correctamente. Normalmente desarrolla una única función cohesiva. La función de la prueba unitaria es de analizar cada pequeña parte y testear que funciona correctamente. 2) Pruebas de Integración: Es una extensión lógica de las pruebas unitarias. Dos unidades que ya han sido testeadas y combinadas en un componente y su interface son testeadas entre ellas. Un componente, en este ejemplo, se refiere a un agregado que está integrado en más de una unidad, estas son combinadas en componentes, que son agregadas por orden en partes mas grandes del programa.
  • 8. 3) Pruebas funcionales: Las pruebas funcionales se basan en asegurarse de que todas las características funcionen de cabo a rabo. Por ejemplo, testear que las características de un usuario se actualicen cuando el usuario clicka en el botón de guardar. 4) Pruebas de Rendimiento: Y la última es la prueba de rendimiento. En el desarrollo de software, la prueba de rendimiento es una práctica de test que determina la actuación de un sistema en términos de respuesta y estabilidad en una carga de trabajo en particular. También puede servir para investigar, medir, validar o verificar otros atributos de calidad del sistema, como la escalabilidad, seguridad y uso de recursos.
  • 9. Mantenimiento de Software 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.
  • 10. Principios y Especificaciones del Diseño El diseño del software es tanto un proceso como un modelo. El proceso de diseño es una secuencia de pasos que hacen posible que el diseñador describa todos los aspectos del software que se va a construir. El modelo de diseño es equivalente a los planes de un arquitecto para una casa. Comienza representando la totalidad de todo lo que se va a construir (por ejemplo, una representación en tres dimensiones de la casa) y refina lentamente lo que va a proporcionar la guía para construir cada detalle (por ejemplo, el diseño de fontanería).
  • 11. Los principios del Diseño son los siguientes: 1. En el proceso deben tomarse enfoques alternativos. 2. Deberá rastrearse hasta el análisis. 3. Se debe reutilizar. 4. Tratar de imitar el dominio del problema. 5. Uniformidad e integración. 6. Deberá estructurarse para admitir cambios. 7. Debe prever la adaptación a circunstancias inusuales. 8. No codificar. 9. Evaluarse en función de calidad mientras está creciendo. 10. Minimizar errores conceptuales.
  • 12. Métodos de Análisis de Requerimientos 1) 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. 2) Especificación vía Sentencias Textuales: Es la forma tradicional de la especificación de requerimientos de software. 3) Modelado del proceso: Comprende la elaboración de diagramas de flujo de procesos (Flujogramas) a partir de los requerimientos del software.
  • 13. 4) 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. 5) 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. 6) Checklists: 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.
  • 14. 7) Inspección: Revisión no destructiva de los requerimientos de software. 8) Prototipos: Consiste en elaborar representaciones visuales (interfaz gráfica con el usuario) de los requerimientos de software
  • 15. Conclusiones Para entender cómo funciona el paradigma de la programación orientada a objetos es necesario ver un programa como una colección de objetos que interactúan entre sí enviándose mensajes y cambiando su estado durante la ejecución. Resolver un problema bajo el paradigma de la programación orientada a objetos implica determinar y caracterizar los diferentes objetos que intervienen en el problema, definir sus propiedades y métodos y ponerlos a interactuar.
  • 16. Bibliografía • Hernández, R. Y Fernández, C. (2017). Introducción a la Ingeniería de Requerimientos. (Tercera Segunda Edición) Argentina: Editorial Valley. • Molina, C. (2017). Análisis y Fundamentos del Software. Venezuela: Editorial Monumento. • Romero, K. (2014). Diseño y Programación Orientada a Objetos. México: Editorial El Bibliotecario.