Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

CAPITULO N°1 PROGRAMACIÓN ORIENTADA DE OBJETOS

1. A que se refiere cuando se indica que el paradigma a utilizar es la orientada a objetos


POO

La programación orientada a objetos nos es más que un modelo de programación donde un


programa es dividido en módulos de software independientes unos de otros, pero con
capacidad de interactuar entre sí para cumplir con un objetivo

2. Defina una clase

La clase es el elemento fundamental de la programación orientada a objetos con el lenguaje


C#.

Una clase es una estructura de datos que combina estados (atributos) y acciones (métodos y
otros miembros de función) en una sola unidad.

3. Explique los niveles de acceso de una clase

Public: No existe ninguna restricción

Protected: Solo pueden tener acceso la clase contenedora o los tipos derivados de la clase

Internal: Unicamente se permite el acceso ensamblado

Private: Solo tiene acceso al tipo de contenedor

Protected Internal: El acceso es limitado al ensamblado actual o los tipos derivados de la clase
contenedora

4. Defina un objeto

Los objetos permiten definir variables en memoria que se conocen con el nombre de objetos o
instancias de clase

5. Como se crear un objeto

Para crear un objeto de una determinada clase, se procede básicamente en dos pasos:

primero se declara una variable con el tipo que representa la clase y luego se le asigna
memoria con el operador new.

Clase objeto=new Clase();

6. Indique los elementos básicos de la programación orientada de objetos

- Abstracción

- Encapsulamiento

- Modularidad

- Herencia

- Polimorfismo

7. Explique qué se entiende al proceso de abstracción


La abstracción es un concepto fundamental de la programación orientada a objetos que
permite definir un conjunto de características esenciales y comunes a un grupo de objetos,
independientemente de su implementación específica Defina el encapsulamiento dentro de
una clase

8. Explique cómo se define el modularidad en la programación orientada a objetos

El modularidad es la propiedad, de la programación orientada a objetos, que permite dividir


una aplicación de software en componentes más pequeños, generalmente llamados módulos.

9. El encapsulamiento a que hace referencia

El encapsulamiento hace referencia a la protección que debe hacer una clase de los elementos
que la conforman, especialmente de aquellos que contienen los datos.

Una propiedad tiene un aspecto semejante a un método. Se encarga de leer un valor contenido
en un campo (get) y mostrarlo hacia el exterior; o al contrario, leer un valor desde el exterior y
asignarlo El descriptor get devuelve al exterior el valor contenido en el campo que manipula la
propiedad. Este descriptor es equivalente a leer el valor de un campo. Utiliza la palabra clave
return para identificar el campo devuelto.

El descriptor set se encarga de asignar a un campo un valor proveniente desde exterior. Para
ello utiliza el parámetro implícito value que contiene el valor que se haya asignado a la
propiedad desde el exterior.a un campo (set).

10. Que es la herencia y como se representa

La herencia es la característica más importante de la programación orientada a objetos porque


permite crear clases que se derivan de otras clases y este es uno de los aspectos vitales en la
reutilización de componentes.

La herencia es la capacidad que ofrece un lenguaje de programación de poder crear nuevas


clases a partir de clases existentes, aprovechando el código de estas últimas. La herencia
supone la existencia de una clase base y una o más clases derivadas.

11. Cuantos niveles de herencia existen

Dentro de la programación orientada a objetos existen dos tipos de herencia: simple y


múltiple. Existe herencia simple cuando una clase solo se deriva de una clase base; y herencia
múltiple cuando una clase se deriva de dos o más clases base.

class ClaseDerivada : ClaseBase

12. Explique cómo represento el polimorfismo

En términos de programación orientada a objetos, y de forma práctica, el polimorfismo


permite hacer referencia a objetos de diferentes clases por medio de una misma operación, la
cual se ejecuta y aplica de acuerdo al objeto que la invoca.

Existen dos formas de redefinir un miembro de una clase en una clase derivada. El primero
consiste en implementar un miembro en la clase base en forma corriente,

Pero la forma más utilizada en C#, es aquella donde el programador de una clase base
prevé cuales miembros se podrían eventualmente redefinir y los marca como virtuales.

13. Como se representa una interface

Las interfaces son módulos que solo definen un conjunto de métodos, pero no proporcionan
implementación alguna

interface NombreInterfase

// Listado de firmas de propiedades y métodos

Una interfaz solo contiene las firmas de métodos y propiedades que serán implementados por
las clases que la implementen.

14. Que es la recursividad

Las funciones recursivas son un tipo de función en la programación en el cual una función se
llama a sí misma de manera directa o indirecta. Es decir, una función recursiva es aquella que
se llama a sí En el desarrollo de aplicaciones, las funciones recursivas son muy útiles para
resolver problemas complejos y dividirlos en problemas más pequeños y manejables. misma
para resolver un problema.
CAPITULO N°2: Plataforma .NET

15. Que es la tecnología .NET

.NET es una plataforma de aplicaciones que permite la creación y ejecución de servicios web y
aplicaciones de Internet. En la plataforma de desarrollo se pueden utilizar una serie de lenguajes,
implementaciones, herramientas y bibliotecas para el desarrollo de las aplicaciones.

16. Cuáles son los componentes de la arquitectura .NET

Los dos componentes principales de .NET Framework son Common Language Runtime y la
biblioteca de clases .NET Framework.

Common Language Runtime (CLR) es el motor de ejecución que controla las aplicaciones en
ejecución. Proporciona servicios como la administración de subprocesos, la recolección de
elementos no utilizados, la seguridad de tipos, el control de excepciones, etc.

La Biblioteca de clases proporciona un conjunto de API y tipos para funciones comunes.


Proporciona tipos para cadenas, fechas, números, etc. La biblioteca de clases incluye API para
leer y escribir archivos, conectarse a bases de datos, dibujar y más.

17. Explique como el JIT(Just in Time) trabaja en la depuración.

La depuración Just-in-Time puede iniciar Visual Studio automáticamente cuando se produce un


error en una aplicación que se ejecuta fuera de Visual Studio o esta se bloquea. Con la
depuración Just-in-Time puede probar aplicaciones fuera de Visual Studio y abrir Visual Studio
para empezar a depurar cuando se produce un problema.

18. Cuáles son las implementaciones de .NET

Esta plataforma de desarrollo se utiliza normalmente para crear aplicaciones de windows,


windows movile, windows server, etc con Asp.net, WPF y Windows Forms

Por otro lado, .NET Core es una nueva alternativa que se separó por primera vez del .NET
Framework en 2015. Debido a la mejora del modularidad y a la portabilidad aún más sencilla del
software a plataformas que no sean de Microsoft, .NET Core es particularmente apreciado por
muchos desarrolladores.

19. Cuál es el componente que forma parte de la biblioteca de clases

.NET Standard Library es otro de los componentes que formaban parte de la arquitectura era
la biblioteca de clases portable PCL. Con ella se podía compartir el código entre varios
proyectos específicos de la plataforma, tanto en IOS, Android, Windows y Windows Phone.

20. Como funciona .NET

Para desarrollar un programa basado en el .NET Framework no se necesita mucho. Para escribir
el programa, en casos simples es suficiente un editor de texto y un compilador, que se incluye
en el framework. Con estos dos componentes ya se pueden crear aplicaciones sencillas de
Windows.

21. Cuáles son los lenguajes de programación de .NET

Los dos principales lenguajes de programación en .NET son C# y Visual Basic .NET. El lenguaje
de programación F# también es muy utilizado. Desde 2013, JavaScript también está totalmente
adherida y aceptada.
22. Cuál es la diferencia entre .NET y .NET framework

.NET Framework es la implementación original de .NET. Admite la ejecución de sitios web,


servicios, aplicaciones de escritorio y mucho más en Windows.

.NET es una implementación multiplataforma para ejecutar sitios web, servicios y aplicaciones
de consola en Windows, Linux y macOS. .NET es de código abierto en GitHub. .NET se llamaba
anteriormente .NET Core.
CAPITULO N°3: Arquitecturas de software

23. Defina que es una arquitectura de software

La arquitectura de software de un sistema es el conjunto de estructuras necesarias para


razonar sobre el sistema. Comprende elementos de software, relaciones entre ellos, y
propiedades de ambos

24. Cuáles son los beneficios de una arquitectura de software


 Aumentar la calidad de los sistemas
 Mejorar tiempos de entrega de proyectos
 Reducir costos de desarrollo
25. Que son los requerimientos de un sistema

Requerimiento es una especificación que describe alguna funcionalidad, atributo o factor de


calidad de un sistema de software. Puede describir también algún aspecto que restringe la
forma en que se construye ese sistema.

26. Explique que es requerimiento funcional

Son Enunciados acerca de los servicios del sistema que debe proporcionar, como el sistema
debe reaccionar a entradas generales y cómo el sistema debe comportarse en situaciones
particulares.

27. Explique que es un requerimiento no funcional

Son Limitaciones en los servicios o funciones que ofrece el sistema, como restricciones de
tiempo, restricciones del proceso de desarrollo, normas, etc.

28. Explique que son los atributos de productos y mencione sus elementos

Estos requerimientos especifican o restringen el comportamiento del software. Los ejemplos


incluyen requerimientos de rendimiento sobre qué tan rápido se debe ejecutar el sistema y
cuánta memoria requiere, requerimientos de fiabilidad que establecen la tasa aceptable de
fallas, requerimientos de seguridad y requerimientos de usabilidad.

 Usabilidad
 Eficiencia
 Confiabilidad
 Seguridad
29. Explique los atributos de organización y mencione sus elementos

Son requerimientos de sistemas amplios, derivados de políticas y procedimientos en la


organización del cliente y del desarrollador. Los ejemplos incluyen requerimientos del proceso
operacional que definen cómo se usará el sistema, requerimientos del proceso de desarrollo que
especifican el lenguaje de programación, estándares del entorno o el proceso de desarrollo a
utilizar, y requerimientos ambientales que definen el entorno de operación del sistema.

 Ambientales
 Operacionales
 Desarrollo
30. Explique los atributos externos y mencione sus elementos
Este término cubre todos los requerimientos derivados de factores externos al sistema y su
proceso de desarrollo. En ellos se incluyen requerimientos regulatorios que establecen lo que
debe hacer el sistema para ser aprobado en su uso por un regulador, como sería un banco
central; requerimientos legislativos que tienen que seguirse para garantizar que el sistema opere
conforme a la ley, y requerimientos éticos que garanticen que el sistema será aceptable para sus
usuarios y el público en general.

 Regulatorios
 Éticos
 Legales
31. Cuál es la diferencia entre requerimiento funcional y no funcional en el desarrollo de
software
 El requisito funcional lo especifica el usuario, mientras que el requisito no funcional lo
especifica personal técnico como Arquitecto, líderes técnicos y desarrolladores de
software.
 El requisito funcional es también la actividad que debe realizar el sistema; por otro
lado, los no funcionales dependen de la criticidad de la aplicación. Por ejemplo, si su
aplicación no es crítica y puede vivir con tiempo de inactividad, es posible que no
necesite desarrollar un código complejo de recuperación ante desastres y conmutación
por error, lo que reduce el tiempo total de desarrollo de su aplicación.
 Los requisitos funcionales definen la funcionalidad de un software, es decir, qué
pueden hacer, mientras que los requisitos no funcionales definen, otras cosas que no
son requeridas por el usuario, pero requeridas por un proveedor de servicios o el
software en sí, como el registro, es un requisito no funcional para respaldar una
aplicación, no utilizada directamente por el usuario, pero esencial para solucionar
cualquier problema en un entorno de producción.

32. Explique el estilo de arquitectura monolítica

El estilo arquitectónico monolítico consiste en crear una aplicación autosuficiente que contenga
absolutamente toda la funcionalidad necesaria para realizar la tarea para la cual fue diseñada,
sin contar con dependencias externas que complementen su funcionalidad. En este sentido, sus
componentes trabajan juntos, compartiendo los mismos recursos y memoria. En pocas palabras,
una aplicación monolítica es una unidad cohesiva de código.

33. Explique el estilo de arquitectura cliente servidor

Cliente-Servidor es uno de los estilos arquitectónicos distribuidos más conocidos, el cual está
compuesto por dos componentes, el proveedor y el consumidor. El proveedor es un servidor que
brinda una serie de servicios o recursos los cuales son consumido por el Cliente.

En una arquitectura Cliente-Servidor existe un servidor y múltiples clientes que se conectan al


servidor para recuperar todos los recursos necesarios para funcionar, en este sentido, el cliente
solo es una capa para representar los datos y se detonan acciones para modificar el estado del
servidor, mientras que el servidor es el que hace todo el trabajo pesado.

34. Explique el estilo de arquitectura en capas

La arquitectura en capas es una de las más utilizadas, no solo por su simplicidad, sino porque
también es utilizada por defecto cuando no estamos seguros que arquitectura debemos de
utilizar para nuestra aplicación.
La arquitectura en capas consta en dividir la aplicación en capas, con la intención de que cada
capa tenga un rol muy definido, como podría ser, una capa de presentación (UI), una capa de
reglas de negocio (servicios) y una capa de acceso a datos (DAO), sin embargo, este estilo
arquitectónico no define cuantas capas debe de tener la aplicación, sino más bien, se centra en
la separación de la aplicación en capas (Aplica el principio Separación de preocupaciones (SoC)).

35. Explique el estilo de arquitectura en micro servicios SOA

Una arquitectura SOA es que, todas las aplicaciones que construimos están diseñadas para ser
integradas con otras aplicaciones, por lo que deben de exponer como servicios todas las
operaciones necesarias para que otras aplicaciones pueden interactuar con ella.

36. Explique cómo trabaja el estilo modelo vista controlador MVC

El patrón conocido como Modelo-Vista-Controlador (MVC) separa el modelado del dominio, la


presentación y las acciones basadas en datos ingresados por el usuario en tres clases diferentes:

Modelo. El modelo administra el comportamiento y los datos del dominio de aplicación,


responde a requerimientos de información sobre su estado (usualmente formulados desde la
vista) y responde a instrucciones de cambiar el estado (habitualmente desde el controlador).

Vista. Maneja la visualización de la información.

Controlador. Interpreta las acciones del ratón y el teclado, informando al modelo y/o a la vista
para que cambien según resulte apropiado.

37. Defina la arquitectura basado en componentes

Los sistemas de software basados en componentes se basan en principios definidos por una
ingeniería de software específica (CBSE).

En un estilo de este tipo:

Los componentes en el sentido estilístico son componentes en el sentido de CBSE y son las
unidades de modelado, diseño e implementación. Las interfaces están separadas de las
implementaciones, y las interfaces y sus interacciones son el centro de incumbencias en el
diseño arquitectónico. Los componentes soportan algún régimen de introspección, de modo
que su funcionalidad y propiedades puedan ser descubiertas y utilizadas en tiempo de
ejecución.
CAPITULO N°4: Framework

38. Defina un framework de desarrollo de software

Un framework es una estructura de soporte definida, en la cual otro proyecto de software puede
ser organizado y desarrollado. Los frameworks suelen incluir: soporte de programas, bibliotecas,
lenguaje de scripting, software para desarrollar y unir diferentes componentes de un proyecto
de desarrollo de programas. Los frameworks permiten: facilitar el desarrollo de software, evitar
los detalles de bajo nivel, permitiendo concentrar más esfuerzo y tiempo en identificar los
requerimientos de software.

39. Mencione las ventajas de usar framework


 Ayuda a establecer mejores prácticas de programación y al uso adecuado de patrones
de diseño.
 El código es más seguro.
 Se puede evitar el código duplicado y redundante.
 Ayuda a desarrollar código de manera consistente con menos errores.
 Facilita el trabajo en tecnologías sofisticadas.
 Se podría crear su framework de software o contribuir a frameworks de código abierto.
Por lo tanto, hay una mejora continua en la funcionalidad.
 Varios segmentos de código y funcionalidades están prediseñados y probados
previamente. Esto hace que las aplicaciones sean más confiables
 Probar y depurar el código es mucho más fácil y pueden hacerlo incluso los
desarrolladores que no son propietarios del código.
 El tiempo necesario para desarrollar una aplicación se reduce significativamente.

40. Explique los tipos de framework


 Framework de aplicaciones web: Facilitan la creación de aplicaciones web
 Framework de aplicaciones móviles: Facilitan la creación de aplicaciones móviles
 Framework Data Ciencia: Facilitan la manipulación de datos, análisis de datos y el
aprendizaje automatico

41. Mencione ejemplos de framework de acuerdo al tipo


Framework de aplicaciones web: Angular, React, Vue, etc
Framework de aplicaciones móviles: Ionic, Xamarin, Fluter, etc
Framework Data Ciencia: Tensorflow, Pytorch, etc
CAPITULO N°5: Patrones de Diseño

42. Defina un patrón de diseño De Software

Los patrones de diseño son descripciones de objetos y clases conectadas que se personalizan
para resolver un problema de diseño general en un contexto particular.

Los patrones de diseño ofrecen soluciones comunes a problemas recurrentes de diseño de


aplicaciones

43. Cuál es la clasificación de los patrones de diseño

● Creacionales: Los patrones creacionales proporcionan varios mecanismos de creación de


objetos que incrementan la flexibilidad y la reutilización del código existente.

● Estructurales: Los patrones estructurales explican cómo ensamblar objetos y clases en


estructuras más grandes, a la vez que se mantiene la flexibilidad y eficiencia de estas
estructuras.

● De comportamiento: Los patrones de comportamiento tratan con algoritmos y la asignación


de responsabilidades entre objetos.

44. Explique patrón de diseño Singleton

Este patrón consiste en utilizar una sola instancia de clase, definiendo así un único punto global
de acceso a ella. Dicha instancia es la encargada de la inicialización, creación y acceso a las
propiedades de clase.

Este patrón es muy utilizado cuando se quiere controlar el acceso a un único recurso físico
(fichero de lectura de uso exclusivo), o haya datos que deban estar disponibles para el resto de
objetos de la aplicación (una instancia de log, por ejemplo).

45. Explique patrón de diseño Adapter

Este patrón "proporciona una interfaz unificada a un conjunto de interfaces en un subsistema".


Head First Design Patterns da la misma explicación y señala que convierte la interfaz de una clase
en otra interfaz que los clientes esperan. El adaptador permite que las clases puedan trabajar
juntas ya que, de otro modo, no podrían debido a tener interfaces incompatibles.

● Adaptadores de clase: generalmente usan herencia múltiple o varias interfaces para


implementarlo.

● Adaptadores de objetos: realizan las composiciones de objetos para adaptarlos.

46. Explique patrón de diseño Observer

Este patrón define una dependencia entre objetos de forma que cuando un objeto cambia su
estado, todos los objetos que dependen de él son notificados y pueden reaccionar si lo desean
a una acción.

El objeto de datos, o Subject, provee de métodos para que cualquier objeto


Observer pueda suscribirse o cancelar la suscripción, pasando una referencia de sí mismo al
Observable o Subject. El Subject mantiene una lista con las referencias a sus Observers para
notificarles cada cambio de estado.

También podría gustarte