cuestionario

9
INSTITUTO TECNOLOGICO DE TAPACHULA EQUIPO: De la Parra Aguirre Ricardo Enrique Hernández Caballero Josafat Alexis Labras Castillo Phil López Hernández Alexander Ruíz Cruz Jesús CARRERA: Ing. Sistemas Computacionales CATEDRÁTICO: MCC. Jehiely Belem Hernández Castillo ASIGNATURA: Fundamentos de Ingeniería de Software

Upload: ricardo-de-la-parra

Post on 08-Dec-2015

2 views

Category:

Documents


0 download

DESCRIPTION

Cuestionario Ingeniería de software

TRANSCRIPT

Page 1: Cuestionario

INSTITUTO TECNOLOGICO DE TAPACHULA

EQUIPO: De la Parra Aguirre Ricardo Enrique Hernández Caballero Josafat Alexis

Labras Castillo PhilLópez Hernández AlexanderRuíz Cruz Jesús

CARRERA: Ing. Sistemas Computacionales

CATEDRÁTICO: MCC. Jehiely Belem Hernández Castillo

ASIGNATURA: Fundamentos de Ingeniería de Software

TRABAJO: Cuestionario de unidad 1

Page 2: Cuestionario

CUESTIONARIO DE UNIDAD 1: FUNDAMENTOS DE INGENIERÍA DE SOFTWARE.

1. ¿Qué es el Software?

R: Son instrucciones (programas de cómputo) que cuando se ejecutan proporcionan las características, función y desempeño buscados.

2. ¿Qué es la Ingeniería de Software?

R: Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software; es decir, la aplicación de la ingeniería al software.

3. ¿Cuáles son las 7 categorías de software de computadora que actualmente existen y define brevemente cada una de ellas?

Software de sistemas: conjunto de programas escritos para dar servicio a otros programas. Software de aplicación: programas aislados que resuelven una necesidad específica de

negocios. Software de ingeniería y ciencias: se ha caracterizado por algoritmos “devoradores de

números”. Las aplicaciones van de la astronomía a la vulcanología, del análisis de tensiones en automóviles a la dinámica orbital del transbordador espacial, y de la biología molecular a la manufactura automatizada.

Software incrustado: reside dentro de un producto o sistema y se usa para implementar y controlar características y funciones para el usuario final y para el sistema en sí.

Software de línea de productos: es diseñado para proporcionar una capacidad específica para uso de muchos consumidores diferentes.

Aplicaciones web: llamadas “webapps”, esta categoría de software centrado en redes agrupa una amplia gama de aplicaciones. En su forma más sencilla, las webapps son poco más que un conjunto de archivos de hipertexto vinculados que presentan información con uso de texto y gráficas limitadas

Software de inteligencia artificial: hace uso de algoritmos no numéricos para resolver problemas complejos que no son fáciles de tratar computacionalmente o con el análisis directo.

4. ¿Qué es proceso, actividad, acción y tarea dentro del contexto del proceso de software?

R: Es un enfoque adaptable que permite que las personas que hacen el trabajo (el equipo de software) busquen y elijan el conjunto apropiado de acciones y tareas para el trabajo.

5. ¿Cuáles son las 5 actividades de una estructura de proceso general para la ingeniería del software y describe brevemente cada una de ellas?

Comunicación. Se busca entender los objetivos de los participantes respecto del proyecto, y reunir los requerimientos que ayuden a definir las características y funciones del software.

Planeación. Define el trabajo de ingeniería de software al describir las tareas técnicas por realizar, los riesgos probables, los recursos que se requieren, los productos del trabajo que se obtendrán y una programación de las actividades.

Modelado. Crea modelos a fin de entender mejor los requerimientos del software y el diseño que los satisfará.

Page 3: Cuestionario

Construcción. Esta actividad combina la generación de código (ya sea manual o automatizada) y las pruebas que se requieren para descubrir errores en éste.

Despliegue. El software (como entidad completa o como un incremento parcialmente terminado) se entrega al consumidor que lo evalúa y que le da retroalimentación, misma que se basa en dicha evaluación.

6. ¿Cuáles son las actividades sombrilla en la ingeniería de software y define brevemente cada una de ellas?

Seguimiento y control del proyecto de software: permite que el equipo de software evalúe el progreso comparándolo con el plan del proyecto y tome cualquier acción necesaria para apegarse a la programación de actividades.

Administración del riesgo: evalúa los riesgos que puedan afectar el resultado del proyecto o la calidad del producto.

Aseguramiento de la calidad del software: define y ejecuta las actividades requeridas para garantizar la calidad del software.

Revisiones técnicas: evalúa los productos del trabajo de la ingeniería de software a fin de descubrir y eliminar errores antes de que se propaguen a la siguiente actividad.

Medición: define y reúne mediciones del proceso, proyecto y producto para ayudar al equipo a entregar el software que satisfaga las necesidades de los participantes; puede usarse junto con todas las demás actividades estructurales y sombrilla.

Administración de la configuración del software: administra los efectos del cambio a lo largo del proceso del software.

Administración de la reutilización: define criterios para volver a usar el producto del trabajo (incluso los componentes del software) y establece mecanismos para obtener componentes reutilizables.

Preparación y producción del producto del trabajo: agrupa las actividades requeridas para crear productos del trabajo, tales como modelos, documentos, registros, formatos y listas.

7. Menciona los diferentes tipos de flujo de proceso que pueden existir en la ingeniería de software:

Flujo general de las actividades, acciones y tareas, así como de las interdependencias entre ellas.

Grado en el que las acciones y tareas están definidas dentro de cada actividad estructural Grado en el que se identifican y requieren los productos del trabajo. Forma en la que se aplican las actividades de aseguramiento de la calidad. Manera en la que se realizan las actividades de seguimiento y control del proyecto. Grado general de detalle y rigor con el que se describe el proceso. Grado con el que el cliente y otros participantes se involucran con el proyecto. Nivel de autonomía que se da al equipo de software. Grado con el que son prescritos la organización y los roles del equipo

8. ¿En qué consiste el modelo en Cascada?

Page 4: Cuestionario

R: Sugiere un enfoque sistemático y secuencial para el desarrollo del software, que comienza con la especificación de los requerimientos por parte del cliente y avanza a través de planeación, modelado, construcción y despliegue, para concluir con el apoyo del software terminado

9. ¿En qué consiste el modelo incremental?

R: Aplica secuencias lineales en forma escalonada a medida que avanza el calendario de actividades. Cada secuencia lineal produce “incrementos” de software susceptibles de entregarse de manera parecida a los incrementos producidos en un flujo de proceso evolutivo

10. ¿En qué consiste el modelo de prototipado?

R: Son iterativos, consiste en desarrollar versiones cada vez más completas del software

11. ¿En qué consiste el modelo en espiral?

R: Es un modelo evolutivo del proceso del software y se acopla con la naturaleza iterativa de hacer prototipos con los aspectos controlados y sistémicos del modelo de cascada.

12. ¿En qué consiste el modelo concurrente?

R: Define una serie de eventos que desencadenan transiciones de un estado a otro para cada una de las actividades, acciones o tareas de la ingeniería de software.

13. Menciona ejemplos de modelos de procesos Especializados:

R: Desarrollo basado en componentes, El modelo de métodos formales, Desarrollo de software orientado a aspectos.

14. ¿En qué consiste el proceso Unificado?

R: Analiza la necesidad de un proceso del software impulsado por el caso de uso, centrado en la arquitectura, iterativo e incremental

15. ¿En qué consiste el proceso personal de software (PPS)?

R: Pone el énfasis en la medición personal tanto del producto del trabajo que se genera como de su calidad.

16. ¿En qué consiste el proceso del equipo de software (PES)?

R: Construye un equipo “autodirigido” para el proyecto, que se organice para producir software de alta calidad.

17. ¿Cuáles son los principios de agilidad de cualquier proceso de desarrollo de software ágil?

1. La prioridad más alta es satisfacer al cliente a través de la entrega pronta y continua de software valioso.

2. Son bienvenidos los requerimientos cambiantes, aun en una etapa avanzada del desarrollo. Los procesos ágiles dominan el cambio para provecho de la ventaja competitiva del cliente.

Page 5: Cuestionario

3. Entregar con frecuencia software que funcione, de dos semanas a un par de meses, de preferencia lo más pronto que se pueda. 4. Las personas de negocios y los desarrolladores deben trabajar juntos, a diario y durante todo el proyecto.

5. Hay que desarrollar los proyectos con individuos motivados. Debe darse a éstos el ambiente y el apoyo que necesiten, y confiar en que harán el trabajo.

6. El método más eficiente y eficaz para transmitir información a los integrantes de un equipo de desarrollo, y entre éstos, es la conversación cara a cara.

7. La medida principal de avance es el software que funciona.

8. Los procesos ágiles promueven el desarrollo sostenible. Los patrocinadores, desarrolladores y usuarios deben poder mantener un ritmo constante en forma indefinida.

9. La atención continua a la excelencia técnica y el buen diseño mejora la agilidad.

10. Es esencial la simplicidad: el arte de maximizar la cantidad de trabajo no realizado.

11. Las mejores arquitecturas, requerimientos y diseños surgen de los equipos con organización propia.

12. El equipo reflexiona a intervalos regulares sobre cómo ser más eficaz, para después afinar y ajustar su comportamiento en consecuencia.

18. ¿Cuáles son las actividades en el proceso de programación extrema (XP) y define brevemente cada una de ellas?

Planeación. La actividad de planeación (también llamada juego de planeación) comienza escuchando. Escuchar lleva a la creación de algunas “historias” (también llamadas historias del usuario) que describen la salida necesaria, características y funcionalidad del software que se va a elaborar. Cada historia es escrita por el cliente y colocada en una tarjeta indizada.

Diseño. El diseño XP sigue rigurosamente el principio MS (mantenlo sencillo). Un diseño sencillo siempre se prefiere sobre una representación más compleja. Además, el diseño guía la implementación de una historia conforme se escribe: nada más y nada menos.

Codificación. Después de que las historias han sido desarrolladas y de que se ha hecho el trabajo de diseño preliminar, el equipo no inicia la codificación, sino que desarrolla una serie de pruebas unitarias a cada una de las historias que se van a incluir en la entrega en curso (incremento de software). Un concepto clave durante la actividad de codificación (y uno de los aspectos del que más se habla en la XP) es la programación por parejas. XP recomienda que dos personas trabajen juntas en una estación de trabajo con el objeto de crear código para una historia.

Pruebas. Las pruebas unitarias que se crean deben implementarse con el uso de una estructura que permita automatizarlas (de modo que puedan ejecutarse en repetidas veces y con facilidad).

Page 6: Cuestionario

19. ¿Cuáles son las acciones de desarrollo que define cada uno de los patrones de proceso de la metodología Scrum?

R: Requerimientos, análisis, diseño, evolución y entrega

20. ¿Cuáles son las características de la Tecnología Estructurada?

R: Un programa escrito de acuerdo a estos principios no solamente tendrá una estructura, sino también una excelente presentación, un programa escrito de esta forma tiende a ser mucho más fácil de comprender que programas escritos en otros estilos., la facilidad de comprensión del contenido de un programa puede facilitar el chequeo de la codificación y reducir el tiempo de prueba y depuración de programas, un programa que es fácil para leer y el cual está compuesto de segmentos bien definidos tiende a ser simple, rápido y menos expuesto a mantenimiento.

21. ¿Cuáles son las características de la Tecnología Orientada a Objetos?

R: Fomenta la reutilización y extensión del código, Permite crear sistemas más complejos, Relacionar el sistema al mundo real, Facilita la creación de programas visuales, Construcción de prototipos, Agiliza el desarrollo de software, Facilita el trabajo en equipo, Facilita el mantenimiento del software

22. ¿Qué son las herramientas CASE?

R: Son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste de las mismas en términos de tiempo y de dinero.

23. Menciona 5 ejemplos de herramientas CASE en ingeniería de software y describe brevemente para qué sirven:

Microsoft Project. Es un software de administración de proyectos diseñado, desarrollado y comercializado por Microsoft para asistir a administradores de proyectos en el desarrollo de planes, asignación de recursos a tareas, dar seguimiento al progreso, administrar presupuesto y analizar cargas de trabajo.

Visual Paradigm. Es una herramienta UML profesional que soporta el ciclo de vida completo del desarrollo de software: análisis y diseño orientados a objetos, construcción, pruebas y despliegue

ArgoUML. Herramienta que contiene funciones avanzadas en las etapas de diseño y modelación de software. Presenta licencia comercial.

Enterprise Architect (EA) Professional. Es una herramienta CASE de Sparx Systems. Soporta ocho de los nueve diagramas estándares del UML: diagrama de casos de uso, de clases, de secuencia, de colaboración, de actividad, de estados, de implementación (componentes), de despliegue y varios perfiles del UML.

MagicDraw. Es una herramienta de modelaje con completas características UML, sin duda es una de las mejores herramientas CASE del mercado, que procura mantenerse además siempre al día con continuas actualizaciones.