Preguntasy Respuestas Examen
Preguntasy Respuestas Examen
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.
Protected: Solo pueden tener acceso la clase contenedora o los tipos derivados de la clase
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
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.
- Abstracción
- Encapsulamiento
- Modularidad
- Herencia
- Polimorfismo
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).
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.
Las interfaces son módulos que solo definen un conjunto de métodos, pero no proporcionan
implementación alguna
interface NombreInterfase
Una interfaz solo contiene las firmas de métodos y propiedades que serán implementados por
las clases que la implementen.
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
.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.
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.
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.
.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.
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.
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 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
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.
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
Usabilidad
Eficiencia
Confiabilidad
Seguridad
29. Explique los atributos de organización y mencione sus elementos
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.
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.
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.
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)).
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.
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.
Los sistemas de software basados en componentes se basan en principios definidos por una
ingeniería de software específica (CBSE).
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
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.
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.
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).
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.