SlideShare una empresa de Scribd logo
1 de 5
Universidad de Cartagena
Programa de Ingeniería de Sistemas
Arquitecturas de Software
Primer Parcial
Moises Correa – Gustavo Rojas – Gabriel Dizzet
Enunciado: “El Salto del Caballo”
El problema del caballo es un antiguo problema matemático en el que se pide que, teniendo
una cuadrícula de n x n casillas y un caballo de ajedrez colocado en una posición cualquiera
(x, y ), el caballo pase por todas las casillas y una sola vez. Lo que resulta en n2
-1 movimientos.
En el ajedrez, el caballo es una pieza del juego distinta a las otras piezas en su forma de moverse.
Es la única pieza que puede saltar por encima de las demás, describiendo una trayectoria en
forma de L. Es decir, se desplaza dos casillas en dirección horizontal o vertical y una en dirección
perpendicular a la anterior.
El Juego
Un recorrido del caballo es una secuencia de saltos, sin repetir casillas, desde una casilla inicial
hasta otra final, desde la cual no se puede avanzar, sin pasar por una casilla ya visitada.
Llamamos tamaño al número de casillas que visita y longitud al número de saltos que da.
El juego ofrece cuatro opciones de dimensión del tablero: 1) 4 x 4, 2) 6 x 6, 3) 9 x 9, 4) 12 x 12.
El juego es para dos personas. Empieza un jugador colocando el 1 en una casilla, le sigue el otro
colocando un 2 en una nueva casilla que se obtiene desde la 1 por salto del caballo. Así
sucesivamente hasta que un jugador no pueda seguir jugando, éste sería el que pierde.
Se pide:
1. Establecer la relación existente entre el concepto de ocultación de la información y el
concepto de independencia modular (1 pto)
La modularidad es producto de la necesidad de descomponer los problemas, esto trae
entre tantos beneficios como facilidad de mantenimiento y solución de problemas así
como mayor eficiencia en reutilización de código y uso de patrones.
La ocultación de información implica que se puede conseguir una modularidad
eficaz en base a la definición de módulos que aunque sean independientes se
comuniquen entre ellos, paro el flujo de datos que manejaran será solo la información
necesaria para conseguir la función del software.
La independencia del módulo es un producto directo de la modularidad, que se
interesa solo en que cada módulo cumpla con su responsabilidad (Cohesión) sin tantas
dependencias de terceros (Acoplamiento), y que además provea sus servicios a otros
módulos de una forma sencilla.
2. Explique los siguientes niveles de acoplamiento y clasifíquelos según sean: bajo, moderado
o alto. (1 pto)
a. Acoplamiento normal (BAJO)
Una unidad de software llama a otra de un nivel inferior y tan solo
intercambian datos.
b. Acoplamiento de datos (BAJO)
Una unidad de software está acoplada a otra por los datos cuando ambas
necesitan del mismo conjunto local de datos para funcionar.
c. Acoplamiento por estampado (MEDIO)
Los módulos se pasan datos con estructura de registro. No es muy
deseable si el módulo receptor sólo requiere parte de los datos que se le
pasan.
d. Acoplamiento de control (ALTO)
Decimos que un método está acoplado a otro por control cuando de
alguna manera un método controla la ejecución del otro. En general,
suele ocurrir cuando un método pasa algún parámetro a otro, y en
función de él se comporta de una u otra manera.
e. Acoplamiento externo (MEDIO)
Las unidades de software están ligadas a componentes externos, como
por ejemplo dispositivos de entrada / salida, protocolos de
comunicaciones, etc.
f. Acoplamiento común (MEDIO)
Dos unidades de software acceden a un mismo recurso común,
generalmente memoria compartida, una variable global o un fichero.
g. Acoplamiento de contenido (ALTO)
Ocurre cuando una unidad de software necesita acceder a una parte de
otra unidad de software.
3. Realice una consulta sobre el “enfoque de refinamiento stepwise”. Aplique este enfoque
para desarrollar tres niveles distintos de abstracciones del procedimiento para el problema
del salto del caballo (1.5 ptos)
El refinamiento Stepwise es una estrategia de diseño propuesta originalmente por Niklaus
Wirth. Un programa se elabora por medio del refinamiento sucesivo de los detalles del
procedimiento. Se desarrolla una jerarquía con la descomposición de un enunciado
macroscópico de la función (abstracción del procedimiento) en forma escalonada hasta
llegar a los comandos del lenguaje de programación.
En realidad, el refinamiento es un proceso de elaboración. Se comienza con un enunciado
de la función (o descripción de la información), definida en un nivel de abstracción alto. Es
decir, el enunciado describe la función o información de manera conceptual, pero no dice
nada sobre los trabajos internos de la función o de la estructura interna de la información.
Después se trabaja sobre el enunciado original, dando más y más detalles conforme tiene
lugar el refinamiento (elaboración) sucesivo.
La abstracción y el refinamiento son conceptos complementarios. La primera permite
especificar internamente el procedimiento y los datos, pero elimina la necesidad de que los
“extraños” conozcan los detalles de bajo nivel. El refinamiento ayuda a revelar estos
detalles a medida que avanza el diseño. Ambos conceptos permiten crear un modelo
completo del diseño conforme éste evoluciona.
NIVEL ALTO DE ABTRACCIÓN
 Mover caballo en el tablero
NIVEL MEDIO DE ABTRACCIÓN
 Mover caballo en forma de ele (L) en el tablero
 Marcar casillas ya visitadas
 No repetir casillas ya visitadas
NIVEL BAJO DE ABTRACCIÓN
 Situar el caballo en una posición inicial cualquiera en un tablero de nxn
dimensiones.
 Mover caballo dos casillas en dirección horizontal o vertical y una en dirección
perpendicular a la anterior.
 Marcar casillas ya visitadas respectivamente con el número correspondiente a cada
jugador (1 o 2).
 No repetir casillas ya visitadas y si no puede mover ha perdido el juego.
4. Realice una consulta sobre Modelo de Contexto del Sistema y Modelos de Utilización.
Explíquelos. (0.5 pto)
El modelo de contexto y el modelo de utilización del sistema representan dos
modelos complementarios entre un sistema y su entorno:
 El modelo contexto del sistema es un modelo estático que describe a los
otros sistemas su entorno, El contexto del sistema es la parte del entorno
del sistema relevante para definir, entender, e interpretar los
requerimientos del sistema. se utiliza con frecuencia como fuente de
inspiración para el diseño de los objetos software. Muestra (a los
modeladores) clases conceptuales significativas en un dominio de problema.
 El modelo de utilización del sistema es un modelo dinámico que describe
cómo el sistema interactúa con su entorno. Describe la funcionalidad
propuesta del nuevo sistema. Representa la interacción entre un usuario
(humano o máquina) y el sistema.
5. Realice los Modelos de Contexto del Sistema y Modelos de Utilización para El Juego. (1 pto)
Contexto del Sistema
Modelo de Utilización

Más contenido relacionado

La actualidad más candente

Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionalesAngel Minga
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSmyle22
 
Manual de-herramienta-de-arena
Manual de-herramienta-de-arenaManual de-herramienta-de-arena
Manual de-herramienta-de-arenaBerenice Velazquez
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Una base de datos de red
Una base de datos de redUna base de datos de red
Una base de datos de redweneliza99
 
Modelo del negocio
Modelo del negocioModelo del negocio
Modelo del negocioJulio Pari
 
Historia de uml
Historia de umlHistoria de uml
Historia de umlCesar Yupa
 
Caso de Uso
Caso de UsoCaso de Uso
Caso de Usoutrilla
 
Curso Uml 2.1 Diagramas De Cu Y Clases
Curso Uml   2.1 Diagramas De Cu Y ClasesCurso Uml   2.1 Diagramas De Cu Y Clases
Curso Uml 2.1 Diagramas De Cu Y ClasesEmilio Aviles Avila
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniRAUL CHIPANA LARICO
 

La actualidad más candente (20)

Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionales
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
Manual de-herramienta-de-arena
Manual de-herramienta-de-arenaManual de-herramienta-de-arena
Manual de-herramienta-de-arena
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Una base de datos de red
Una base de datos de redUna base de datos de red
Una base de datos de red
 
Servidores GNU/LINUX
Servidores GNU/LINUXServidores GNU/LINUX
Servidores GNU/LINUX
 
Objeto command
Objeto commandObjeto command
Objeto command
 
Modelo del negocio
Modelo del negocioModelo del negocio
Modelo del negocio
 
Historia de uml
Historia de umlHistoria de uml
Historia de uml
 
Caso de Uso
Caso de UsoCaso de Uso
Caso de Uso
 
Curso Uml 2.1 Diagramas De Cu Y Clases
Curso Uml   2.1 Diagramas De Cu Y ClasesCurso Uml   2.1 Diagramas De Cu Y Clases
Curso Uml 2.1 Diagramas De Cu Y Clases
 
Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server. Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server.
 
Sintesis de simulacion
Sintesis de simulacionSintesis de simulacion
Sintesis de simulacion
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
 
Casos de estudio para diagramas de clases
Casos de estudio para diagramas de clasesCasos de estudio para diagramas de clases
Casos de estudio para diagramas de clases
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
 

Similar a 1 parcial Arquitectura de Software

Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzadaMaestros Online
 
Introduccion a la programación
Introduccion a la programaciónIntroduccion a la programación
Introduccion a la programaciónfpcanizaresg
 
Clustering Reconocimiento De Voz
Clustering Reconocimiento De VozClustering Reconocimiento De Voz
Clustering Reconocimiento De VozSantiago Ortega
 
Arquitectura del computador trabajo finalizado
Arquitectura del computador trabajo finalizadoArquitectura del computador trabajo finalizado
Arquitectura del computador trabajo finalizadojose264806
 
Programación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesProgramación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesJohn Diaz
 
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaActividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaImatilla
 

Similar a 1 parcial Arquitectura de Software (20)

Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
Taller informática 11°A
Taller informática 11°ATaller informática 11°A
Taller informática 11°A
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Introduccion a la programación
Introduccion a la programaciónIntroduccion a la programación
Introduccion a la programación
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Arquitectura de computadores I
Arquitectura de computadores IArquitectura de computadores I
Arquitectura de computadores I
 
Glosario java
Glosario javaGlosario java
Glosario java
 
Clustering Reconocimiento De Voz
Clustering Reconocimiento De VozClustering Reconocimiento De Voz
Clustering Reconocimiento De Voz
 
Logica difusa
Logica difusaLogica difusa
Logica difusa
 
Arquitectura del computador trabajo finalizado
Arquitectura del computador trabajo finalizadoArquitectura del computador trabajo finalizado
Arquitectura del computador trabajo finalizado
 
Tema6
Tema6Tema6
Tema6
 
Diseño Del modelo Osi y sus capas
Diseño Del modelo Osi y sus capasDiseño Del modelo Osi y sus capas
Diseño Del modelo Osi y sus capas
 
Trabajo Final
Trabajo FinalTrabajo Final
Trabajo Final
 
Programación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesProgramación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos Generales
 
clases de herramientas lorenita
clases de herramientas lorenitaclases de herramientas lorenita
clases de herramientas lorenita
 
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaActividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
 
Introducción Programación
Introducción ProgramaciónIntroducción Programación
Introducción Programación
 
Tema6.ppt
Tema6.pptTema6.ppt
Tema6.ppt
 

Último

CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxvalenciaespinozadavi1
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 

Último (20)

CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 

1 parcial Arquitectura de Software

  • 1. Universidad de Cartagena Programa de Ingeniería de Sistemas Arquitecturas de Software Primer Parcial Moises Correa – Gustavo Rojas – Gabriel Dizzet Enunciado: “El Salto del Caballo” El problema del caballo es un antiguo problema matemático en el que se pide que, teniendo una cuadrícula de n x n casillas y un caballo de ajedrez colocado en una posición cualquiera (x, y ), el caballo pase por todas las casillas y una sola vez. Lo que resulta en n2 -1 movimientos. En el ajedrez, el caballo es una pieza del juego distinta a las otras piezas en su forma de moverse. Es la única pieza que puede saltar por encima de las demás, describiendo una trayectoria en forma de L. Es decir, se desplaza dos casillas en dirección horizontal o vertical y una en dirección perpendicular a la anterior. El Juego Un recorrido del caballo es una secuencia de saltos, sin repetir casillas, desde una casilla inicial hasta otra final, desde la cual no se puede avanzar, sin pasar por una casilla ya visitada. Llamamos tamaño al número de casillas que visita y longitud al número de saltos que da. El juego ofrece cuatro opciones de dimensión del tablero: 1) 4 x 4, 2) 6 x 6, 3) 9 x 9, 4) 12 x 12. El juego es para dos personas. Empieza un jugador colocando el 1 en una casilla, le sigue el otro colocando un 2 en una nueva casilla que se obtiene desde la 1 por salto del caballo. Así sucesivamente hasta que un jugador no pueda seguir jugando, éste sería el que pierde. Se pide: 1. Establecer la relación existente entre el concepto de ocultación de la información y el concepto de independencia modular (1 pto) La modularidad es producto de la necesidad de descomponer los problemas, esto trae entre tantos beneficios como facilidad de mantenimiento y solución de problemas así como mayor eficiencia en reutilización de código y uso de patrones. La ocultación de información implica que se puede conseguir una modularidad eficaz en base a la definición de módulos que aunque sean independientes se comuniquen entre ellos, paro el flujo de datos que manejaran será solo la información necesaria para conseguir la función del software. La independencia del módulo es un producto directo de la modularidad, que se interesa solo en que cada módulo cumpla con su responsabilidad (Cohesión) sin tantas dependencias de terceros (Acoplamiento), y que además provea sus servicios a otros módulos de una forma sencilla.
  • 2. 2. Explique los siguientes niveles de acoplamiento y clasifíquelos según sean: bajo, moderado o alto. (1 pto) a. Acoplamiento normal (BAJO) Una unidad de software llama a otra de un nivel inferior y tan solo intercambian datos. b. Acoplamiento de datos (BAJO) Una unidad de software está acoplada a otra por los datos cuando ambas necesitan del mismo conjunto local de datos para funcionar. c. Acoplamiento por estampado (MEDIO) Los módulos se pasan datos con estructura de registro. No es muy deseable si el módulo receptor sólo requiere parte de los datos que se le pasan. d. Acoplamiento de control (ALTO) Decimos que un método está acoplado a otro por control cuando de alguna manera un método controla la ejecución del otro. En general, suele ocurrir cuando un método pasa algún parámetro a otro, y en función de él se comporta de una u otra manera. e. Acoplamiento externo (MEDIO) Las unidades de software están ligadas a componentes externos, como por ejemplo dispositivos de entrada / salida, protocolos de comunicaciones, etc. f. Acoplamiento común (MEDIO) Dos unidades de software acceden a un mismo recurso común, generalmente memoria compartida, una variable global o un fichero. g. Acoplamiento de contenido (ALTO) Ocurre cuando una unidad de software necesita acceder a una parte de otra unidad de software. 3. Realice una consulta sobre el “enfoque de refinamiento stepwise”. Aplique este enfoque para desarrollar tres niveles distintos de abstracciones del procedimiento para el problema del salto del caballo (1.5 ptos) El refinamiento Stepwise es una estrategia de diseño propuesta originalmente por Niklaus Wirth. Un programa se elabora por medio del refinamiento sucesivo de los detalles del procedimiento. Se desarrolla una jerarquía con la descomposición de un enunciado macroscópico de la función (abstracción del procedimiento) en forma escalonada hasta llegar a los comandos del lenguaje de programación. En realidad, el refinamiento es un proceso de elaboración. Se comienza con un enunciado de la función (o descripción de la información), definida en un nivel de abstracción alto. Es decir, el enunciado describe la función o información de manera conceptual, pero no dice nada sobre los trabajos internos de la función o de la estructura interna de la información. Después se trabaja sobre el enunciado original, dando más y más detalles conforme tiene lugar el refinamiento (elaboración) sucesivo.
  • 3. La abstracción y el refinamiento son conceptos complementarios. La primera permite especificar internamente el procedimiento y los datos, pero elimina la necesidad de que los “extraños” conozcan los detalles de bajo nivel. El refinamiento ayuda a revelar estos detalles a medida que avanza el diseño. Ambos conceptos permiten crear un modelo completo del diseño conforme éste evoluciona. NIVEL ALTO DE ABTRACCIÓN  Mover caballo en el tablero NIVEL MEDIO DE ABTRACCIÓN  Mover caballo en forma de ele (L) en el tablero  Marcar casillas ya visitadas  No repetir casillas ya visitadas NIVEL BAJO DE ABTRACCIÓN  Situar el caballo en una posición inicial cualquiera en un tablero de nxn dimensiones.  Mover caballo dos casillas en dirección horizontal o vertical y una en dirección perpendicular a la anterior.  Marcar casillas ya visitadas respectivamente con el número correspondiente a cada jugador (1 o 2).  No repetir casillas ya visitadas y si no puede mover ha perdido el juego. 4. Realice una consulta sobre Modelo de Contexto del Sistema y Modelos de Utilización. Explíquelos. (0.5 pto) El modelo de contexto y el modelo de utilización del sistema representan dos modelos complementarios entre un sistema y su entorno:  El modelo contexto del sistema es un modelo estático que describe a los otros sistemas su entorno, El contexto del sistema es la parte del entorno del sistema relevante para definir, entender, e interpretar los requerimientos del sistema. se utiliza con frecuencia como fuente de inspiración para el diseño de los objetos software. Muestra (a los modeladores) clases conceptuales significativas en un dominio de problema.  El modelo de utilización del sistema es un modelo dinámico que describe cómo el sistema interactúa con su entorno. Describe la funcionalidad propuesta del nuevo sistema. Representa la interacción entre un usuario (humano o máquina) y el sistema.
  • 4. 5. Realice los Modelos de Contexto del Sistema y Modelos de Utilización para El Juego. (1 pto) Contexto del Sistema