viernes, 4 de febrero de 2011

Cuestionario 1

1. ¿Qué es análisis de sistemas?
Es el proceso que nos permite estudiar y determinar las metas globales dividiéndolas en sus diversas partes componentes, en busca de una síntesis o comprensión de los problemas a resolver. Es identificar las metas globales, las perspectivas de los involucrados en el sistema, sus necesidades y requerimientos, sobre la planificación temporal y presupuestal, líneas de mercadeo y otros puntos que puedan ayudar al desarrollo del proyecto.

2. ¿Qué es diseño de sistemas?
El diseño es la generación de una estructura lógica de acción que permite dar solución a un proceso determinado. El diseño del sistema produce los detalles que establece la forma en que el sistema cumplirá con los requerimientos identificados durante la fase de análisis.

3. ¿Qué es un requerimiento del sistema?
Los requerimientos son declaraciones que identifican atributos, capacidades, características y/o cualidades que necesita cumplir un sistema (o un sistema de software) para que tenga valor y utilidad para el usuario. En otras palabras, los requerimientos muestran qué elementos y funciones son necesarias para un proyecto.

4. ¿Qué es una metodología de desarrollo del Sistema?(Ejemplos)
La metodología comprende una disposición lógica de pasos tendientes a conocer y resolver problemas administrativos por medio de un análisis ordenado, comenzando por una cuidadosa identificación y definición del problema, avanzando sistemáticamente hasta alcanzar su solución.
Una metodología completa es algo más que una notación, un proceso, y herramientas. Además de una "notación, de un proceso, y de herramientas," estas "metodologías completas" proporcionan: Guías para estimar costos, Manejo del proyecto en las tareas y entregas, Medidas y métricas, Formas definidas y dirección en las entregas de la construcción, Políticas y procedimientos para garantizar la calidad del software,Descripciones de los roles y programas de entrenamiento detallados, Ejemplos totalmente trabajados, Ejercicios de entrenamiento, Técnicas para adaptar el método, y Técnicas definidas


5. ¿Qué es el análisis orientado a objetos?
Es aquel que se realiza al estudiar los objetos en un ambiente, así como los eventos que interactúan con dichos objetos.

6. ¿Qué es clase y objeto?
La clase son las definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.

Un objeto es cualquier cosa, real o abstracta, acerca de la cual almacenamos datos y los métodos que controlan dichos datos.

7. ¿Qué es encapsulamiento?
El empaque conjunto de datos y métodos se llama encapsulado. El objeto esconde sus datos de los demás objetos y permite el acceso a los datos mediantes sus propios métodos. Esto recibe el nombre de ocultamiento de la información. El encapsulado evita la corrupción de datos de un objeto. Es el resultado o acto de ocultar los detalles de implantación de un objeto respecto de su usuario.

8. ¿Qué es polimorfismo?
Es la capacidad de almacenar objetos de un determinado tipo en variables de tipos antecesores del primero a costa, claro está, de sólo poderse acceder a través de dicha variable a los miembros comunes a ambos tipos. Sin embargo, las versiones de los métodos virtuales a las que se llamaría a través de esas variables no serían las definidas como miembros del tipo de dichas variables, sino las definidas en el verdadero tipo de los objetos que almacenan.

9. ¿Qué es herencia?
Mecanismo que permite derivar características de una clase a otra y así extender sus funcionalidades. Uno de sus funciones más importantes es proveer polimorfismo. Existen dos tipos de herencias:
Herencia simple: una clase sólo puede heredar características de una sola clase, o sea, puede tener un padre. Smalltalk, Java y Ada soportan herencia simple.
Herencia múltiple: una clase puede heredar características de una o más clases, por lo tanto, puede tener varios padres.
La herencia es una de las características de los lenguajes del paradigma orientado a objetos.

10. ¿Cuáles son las partes de un objeto?
Los objetos tienen dos componentes que son atributos y métodos.

11. ¿Qué lenguajes de P.O.O. existen? Menciónalos.
C++
Java
Ruby
Python
OCAML
Object Pascal
CLIPS
Visual .net
Actionscript
COBOL
Perl
C#
Visual Basic.NET
PHP
Delphi

12. ¿Qué es UML?
(Unified Modeling Language - Lenguaje Unificado de Modelado). UML es un popular lenguaje de modelado de sistemas de software. Se trata de un lenguaje gráfico para construir, documentar, visualizar y especificar un sistema de software. Entre otras palabras, UML se utiliza para definir un sistema de software.

13. ¿Quiénes crearon UML?
Grady Booch, es uno de los desarrolladores de UML así como desarrollador del Método Booch de análisis y diseño orientado a objetos. Reconocido por muchos logros en el campo, es un popular conferencista sobre tecnología alrededor del mundo. Actualmente investigador en jefe de Rational Software Corporation.

Ivar Jacobson. Es vicepresidente de Engineering, inventor del método OOSE, fundador de Objectory AB en Suecia, que recientemente se fusionó con Rational Software Corporation. Principal autor de libros sobre Ingeniería de Software Orientada a Objetos..


James Rumbaugh. Es uno de los especialistas en la metodología orientada a objetos. Jefe de desarrollo de la técnica de modelado de objetos (OMT). Trabajó 25 años en General Electric para el Centro de Investigación y desarrollo en Schenectady, Nueva York. Desarrolló el lenguaje DSM orientado a objetos, la runotación de modelado de objetos OMT y editor de la herramienta de modelado de objetos gráficos. Uno de los inventores de la arquitectura de flujo de datos.

14. ¿Qué metodologías Orientadas a Objetos existen y sus autores?
Metodología de Booch. Técnica usada en ingeniería de software, con lenguaje de modelado de objetos. Los aspectos notables de la metodología son sus elementos gráficos orientados a objetos. Su autor es Grady Booch.

Metodología de Jacobson. Es más centrada al usuario, ya que todo en su método se deriva de los escenarios de uso. Se basa en diagramas de casos de uso y de interacción.

MDA. Model Driven Architecture. Es un conjunto emergente de estándares y tecnologías enfocadas en un estilo particular de desarrollo de software; surgió para que el diseño y la arquitectura pudieran ser alterados independientemente.

RUP (Rational Unified Process) es una infraestructura flexible de desarrollo de software para prácticas recomendadas, probadas y arquitectura configurable.

SCRUM. Es una metodología para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comunmente en entornos basados en el desarrollo ágil. Expuesta por Schwaber y Mike Beedle.

15. ¿Qué es calidad del software?
Es desarrollar software basados en estándares para lograr funcionalidad y rendimiento completos satisfaciendo los requerimientos del cliente. Un software de calidad debiera cumplir con requerimientos funcionales y de performance además de ser mantenible, confiable y aceptable.

16. ¿Qué es moprosoft?
MoProSoft es el modelo de procesos para la industria mexicana de Software, fue diseñado conjuntamente por la UNAM (Universidad Nacional Autónoma de México), Secretaria de Economía y la AMCIS(Asociación Mexicana para la Calidad en la Ingeniería de Software). Fue diseñado con la idea de poder medir la capacidad de los procesos que utilizan las empresas para garantizar constante de los desarrollos y mantenimiento de software.

17. ¿Qué es competisoft?
Mejora de procesos de software para pequeñas empresas. O bien, Mejora de procesos para fomentar la competitividad de la pequeña y mediana industria del software de Iberoamérica. Creada con el objetivo de incrementar el nivel de competitividad de las PYMES Iberoaméricanas productoras de software mediante la creación y difusión de un marco metodológico común que, ajustado a sus necesidades específicas, pueda llegar a ser la base sobre al que establecer un mecanismo de evaluación y certificación de la industria del software reconocido en toda Iberoamérica.

18. ¿Qué es la CMMI?
Capabiliti Maturity Model Integration (Modelo Integrado de Capacidad y Madurez) Es un modelo de calidad del software que clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir software. Es un modelo que consta de 5 niveles: Inicial (resultados impredecibles y pobremente controlados), Repetible (pueden repetirse tareas previamente conocidas), Definido (proceso conocido y bien entendido), Cuantitativamente Gestionado (o Administrado, proceso siempre medido y controlado) y Optimizado (el proceso se enfoca en la mejora constante). Implantar este modelo es costoso tanto en lo económico como en los años que puede tomar.

19. ¿Qué es RUP?
Rational Unified Process (Proceso Unificado Racional) Es un proceso de desarrollo de software que proviene de Rational, una división de IBM. Divide el proceso de desarrollo en cuatro distintas fases, cada una involucra modelado de negocios, analisis y diseño, implementación, pruebas, y despliegue o utilización. Esta metodología proporciona una forma estructurada para empresas que prevean crear software. Proporciona un plan específico para cada paso del proceso de desarrollo, ayuda a evitar el desperdicio de recursos y reduce los costos inesperados de desarrollo.

20. ¿Qué es el ciclo de vida de desarrollo de software? Mencione sus etapas.
Es un enfoque sistemático por fases del análisis y diseño de un sistema de información.

Etapas del Ciclo de vida:

  • Definición del problema.
  • Recopilación de información.
  • Análisis.
  • Diseño.
  • Programación.
  • Prueba.
  • Documentación.
  • Implementación.