Вы находитесь на странице: 1из 5

1. Qu es software?

Programas de ordenador y la documentacin asociada. Los productos de software se pueden desarrollar para algn
cliente en particular o para un mercado general.
2. Qu es ingeniera de software?
La ingeniera de software es una disciplina de ingeniera que comprende todos los aspectos de la produccin de
software desde las etapas iniciales de la especificacin del sistema, hasta el mantenimiento de ste despus que se
utiliza.
3. Qu es un modelo de proceso de software?
El modelo de proceso de software es una representacin simplificada de un proceso de software, presentada desde
una perspectiva especfica.
4. Qu es CASE?
Sistemas de software que intentan proporcionar ayuda automatizada a las actividades del proceso del software. Los
sistemas CASE a menudo se utilizan como apoyo al mtodo.
5. Cules son algunos de los atributos de un buen software. Justifique cada atributos?
El software debe tener la funcionalidad y el rendimiento requeridos por el usuario, adems de ser mantenible,
confiable y fcil de utilizar. Ya que si no cumple con las funcionalidades que el usuario requiere, el software no le
servir.
El rendimiento tambin es muy importante porque los tiempos de espera no deben ser excesivos, o el usuario
perder fcilmente la paciencia.
Debe ser mantenible, ya que no servir de mucho tener un software que al cambiar la resolucin de pantalla,
cambiar sistema operativo, etc, deje de funcionar. La IEEE define mantenibilidad como La facilidad con que un
sistema software o componente puede ser modificado para corregir faltas, mejorar rendimiento u otros atributos, o
adaptar a un entorno cambiante.
6. De acuerdo al libro, existen dos tipos de productos de software: genrico y personalizado. Explique cada uno
de ellos.
- Productos genricos: Son sistemas aislados producidos por una organizacin de desarrollo y que se venden al
mercado abierto a cualquier cliente que le sea posible comprarlos. Ejemplos de este tipo de producto son el
software para PCs tales como bases de datos, procesadores de texto, paquete de dibujos y herramientas de gestin
de proyectos.
-Productos personalizados: Son sistemas requeridos por un cliente en particular. Un contratista de software
desarrolla el software especialmente para ese cliente. Ejemplos de este tipo de software son los sistemas de control
para instrumentos electrnicos, sistemas desarrollados para llevar a cabo procesos de negocio especficos y
sistemas de control del trfico areo.
7. De acuerdo a Sommerville: Cul es la diferencia entre ingeniera de software y Ciencia de la computacin?
La ciencia de la computacin comprende la teora y los fundamentos, la ingeniera del software comprende las
formas prcticas para desarrollar y entregar un software til.
8. Cul es la diferencia entre ingeniera de software e ingeniera de sistemas?
La ingeniera de sistema se refiere a todos los aspectos del desarrollo de sistemas informticos, incluyendo
hardware, software e ingeniera de procesos. La ingeniera de software es parte de este proceso.
9. Qu es un proceso de software?
El proceso de software es conjunto de actividades cuya meta es el desarrollo o evolucin del software.
10. Identifique y explique las actividades fundamentales de los procesos que son comunes para todos los
procesos de software.
Existen 4 actividades fundamentales de procesos que son comunes para todos los procesos de software, estas
actividades son:
1. Especificacin del software donde los clientes e ingenieros definen el software a producir y las restricciones
sobre su operacin.
2. Desarrollo del software donde el software se disea y programa.
3. Validacin del software donde el software se vlida para asegurar que es lo que el cliente requiere.

4. Evolucin del software donde el software se modifica para adaptarlo a los cambios requeridos por el cliente y
el mercado.

11. La mayor parte de los modelo de proceso de software se basan en uno de los tres modelos o paradigmas de
desarrollo de software:
a. Modelo cascada;
Considera las actividades fundamentales del proceso de especificacin, desarrollo, validacin y evolucin, y los
representa como fases separadas del proceso, tales como la especificacin de requerimientos, el diseo del
software, la implementacin, las pruebas, etc..

b. Desarrollo evolutivo
Este enfoque entrelaza las actividades de especificacin, desarrollo y validacin. Un sistema inicial se desarrolla
rpidamente a partir de especiaciones abstractas. ste se refina y basndose en las peticiones del cliente para
producir un sistema que satisfaga sus necesidades.

c. Ingeniera del software basada en componentes (CBSE)


Esta tcnica supone que las partes del sistema existen. El proceso de desarrollo del sistema se enfoca en la
integracin de estas partes ms que desarrollarlas desde el principio.
Se basa en la existencia de un nmero significativo de componentes reutilizables. El proceso de desarrollo del
sistema se enfoca en integrar estos componentes en el sistema ms que en desarrollarlos desde cero.

12. Los retos fundamentales que afronta la ingeniera de software son tres (3):
1. El reto de la heterogeneidad: Cada vez ms, se requiere que los sistemas operen como sistemas distribuidos
en redes que incluyen diferentes tipos de computadoras y con diferentes clases de sistemas de soporte. A
menudo es necesario integrar software nuevo con sistemas heredados ms viejos escritos en diferentes
lenguajes de programacin. El reto de la heterogeneidad es desarrollar tcnicas para construir software
confiable que sea lo suficientemente flexible para adecuarse a esta heterogeneidad.
2.

El reto de la entrega: Muchas tcnicas tradicionales de ingeniera del software consumen tiempo. El tiempo
que stas consumen es para producir un software de calidad. Sin embargo, los negocios de hoy en da deben
tener una gran capacidad de respuesta y cambiar con mucha rapidez. Su software de soporte tambin debe
cambiar con la misma rapidez. El reto de la entrega es reducir los tiempos de entrega para sistemas grandes y
complejos sin comprometer la calidad del sistema.

3. El reto de la confianza: Puesto que el software tiene relacin con todos los aspectos de nuestra vida, es
esencial que podamos confiar en l. Esto es especialmente importante en sistemas remotos de software a los
que se accede a travs de pginas web o interfaces de servicios web. El reto de la confianza es desarrollar
tcnicas que demuestren que los usuarios pueden confiar en el software.
13. Explique el modelo desarrollo evolutivo
El desarrollo evolutivo se basa en la idea de desarrollar una implementacin inicial, exponindola a los
comentarios del usuario y refinndola a travs de las diferentes versiones hasta que se desarrolla un sistema
adecuado. Las actividades de especificacin, desarrollo y validacin se entrelazan en vez de separarse, con una
rpida retroalimentacin entre stas.

14. Explique los siguientes comportamiento profesionales:


a. Confidencialidad: Usted normalmente debe respetar la confidencialidad de sus empleadores o clientes
independientemente de que se haya firmado un acuerdo formal de confidencialidad.
b. Competencia: No debe falsificar su nivel de competencia, ni aceptar conscientemente trabajos que estn fuera de
su capacidad.
c. Derechos de la propiedad intelectual: Debe ser consciente de las leyes locales que gobiernan el uso de la
propiedad intelectual, como las patentes y el copyright. Debe asegurarse de que la propiedad intelectual de los
empleadores y clientes est protegida.
d. Uso inapropiados de los computadores: No debe emplear sus habilidades tcnicas para utilizar de forma
inapropiada las computadoras de otras personas. El uso inapropiado de las computadoras va desde los
relativamente triviales (utilizar juegos en la mquina de un empleado, por ejemplo) hasta los extremadamente
serios (difusin de virus)
15. Identifique y explique dos (2) problemas asociados con el Modelo Cascada.
-Debido a los costos de produccin y aprobacin de documentos, las interacciones son costosas e implican rehacer
el trabajo. Por lo tanto, despus de un nmero reducido de iteraciones, es normal congelar partes del desarrollo,
como la especificacin, y continuar con las siguientes etapas de desarrollo. Los problemas se posponen para su

resolucin, se pasan por alto o se programan. Este congelamiento prematuro de requerimientos puede implicar que
el sistema no haga lo que los usuarios desean. Tambin puede conducir a sistemas mal estructurados debido a que
los problemas de diseo se resuelven mediante trucos de implementacin.
-Durante la fase final del ciclo de vida (funcionamiento y mantenimiento), el software se pone en funcionamiento.
Se descubren errores y omisiones en los requerimientos originales del software. Los errores de programacin y de
diseo emergen y se identifica la necesidad de una nueva funcionalidad. Por tanto, el sistema debe evolucionar
para mantenerse til. Hacer estos cambios (mantenimiento del software) puede implicar repetir etapas previas del
proceso. Por lo tanto, repetir todas las etapas por una falla anterior resulta tedioso y requiere de esfuerzos
considerables.

16. Bajo qu condiciones usted empleara el Modelo Cascada para desarrollar software?
Slo se debe utilizar cuando los requerimientos se comprendan bien y sea improbable que
cambien radicalmente durante el desarrollo del sistema.
17. Explique la siguiente afirmacin: Uno de los problemas del modelo evolutivo es que A menudo los sistemas
tienen una estructura deficiente
Los cambios continuos tienden a corromper la estructura del software. Incorporar cambios en l se convierte cada
vez ms en una tarea difcil y costosa.

18. Cul es la novedad (o innovacin) introducida por el Modelo Espiral?


Ms que representar el proceso de software como una secuencia de actividades con retrospectiva de una actividad
a otra, se representa como una espiral. Cada ciclo en la espiral representa una fase del proceso del software. As, el
ciclo ms interno podra referirse a la viabilidad del sistema, y el siguiente ciclo a la definicin de requerimientos,
el siguiente ciclo al diseo del sistema, y as sucesivamente.
La diferencia principal entre el modelo espiral y los otros modelos del proceso de software es la consideracin
explcita del riesgo en el modelo espiral. Informalmente, el riesgo significa sencillamente algo que puede ir mal.
Por ejemplo, si la intencin es utilizar un nuevo lenguaje de programacin, un riesgo es que los compiladores
disponibles sean poco fiables o que no produzcan cdigo objeto suficientemente eficiente. Los riesgos originan
problemas en el proyecto, como los de confeccin de agendas y excesos en los costos, por lo tanto la disminucin
de riesgos es una actividad muy importante en la gestin del proyecto.
19. Los administradores de proyectos hacen el mismo trabajo que otros administradores de otras reas del
conocimiento. Sin embargo, la ingeniera de software es diferente en varios aspectos: 1) el producto es
intangible; 2) no existen procesos del software estndar; y 3) a menudo los proyectos de software son nicos.
Explique cada una de las diferencias.

20. Identifique dos hitos del proceso de desarrollo de software.


21. Escriba un resumen objetivo y conciso de diseo e implementacin de software. (pag. 71)
La etapa de implementacin del desarrollo de software es el proceso de convertir una
especificacin del sistema en un sistema ejecutable. Siempre implica los procesos de
diseo y programacin de software, pero, si se utiliza un enfoque evolutivo de desarrollo,
tambin puede implicar un refinamiento de la especificacin del software.
Un diseo de software es una descripcin de la estructura del software que se va a
implementar, los datos que son parte del sistema, las interfaces entre los componentes del
sistema y, algunas veces, los algoritmos utilizados.
22. Escriba un resumen objetivo y conciso de validacin de software. (pag. 74)
La validacin del software o, de forma ms general, la verificacin y validacin (V & V) se utiliza para mostrar
que el sistema se ajusta a su especificacin y que cumple las expectativas del usuario que lo comprar. Implica
procesos de comprobacin, como las inspecciones y revisiones, en cada etapa del proceso del software desde la
definicin de requerimientos hasta el desarrollo del programa. Sin embargo, la mayora de los costos de validacin
aparecen despus de la implementacin, cuando se prueba el funcionamiento del sistema.

23. Escriba un resumen objetivo y conciso del Proceso Unificado Rational. (pag. 76)
El proceso unificado de Rational (RUP) es un ejemplo de un modelo de proceso moderno
que proviene del trabajo en el UML y el asociado Proceso Unificado de Desarrollo de
Software. Rene elementos de todos los modelos de procesos genricos (cascada,
evolutivo, e ing de soft basada en componentes), iteraciones de apoyo, e ilustra buenas
prcticas en la especificacin y el diseo.
Los modelos de procesos genricos presentan un solo enfoque del proceso, en contraste el
RUP se describe normalmente desde tres perspectivas:
1. Una perspectiva dinmica que muestra fases del modelo sobre el tiempo.
2. Una perspectiva esttica que muestra las actividades del proceso que se representan.
3. Una perspectiva prctica que sugiere buenas prcticas a utilizar durante el proceso.
El RUP es un modelo en fases, pero a diferencia del modelo cascada donde las fases se
equiparan con las actividades del proceso, las fases en el RUP estn relacionadas con
asuntos de negocios ms que tcnicos.

En la fase de inicio se establece un caso de negocio para el sistema. Se deben identificar


las entidades externas (personas y sistemas) que interactan con el sistema y definir estas
interacciones. Con esta informacin se evala el aporte del sistema hacia el negocio. Si el
aporte es de poca importancia se puede cancelar el proyecto despus de esta fase.
24. Escriba un resumen objetivo y conciso de la Ingeniera de Software Asistida por Computador. (pag. 79)
Ingeniera de software asistida por computadora (CASE) es el nombre que se le da al software que se utiliza para
ayudar a las actividades del proceso del software como la ingeniera de requerimientos, el diseo, el desarrollo de
programas y las pruebas. Por lo tanto, las herramientas CASE incluyen editores de diseo, diccionarios de datos,
compiladores, depuradores, herramientas de construccin de sistemas, etc.
Proporciona ayuda al proceso del software automatizando algunas de sus actividades, as como proporcionando
informacin acerca del software en desarrollo. Se pueden automatizar el desarrollo de modelos grficos del
sistema como parte de la especificacin de requerimientos, la generacin de interfaces de usuario a partir de la
descripcin grfica de la interfaz que es elaborada de forma interactiva por el usuario, etc.

Вам также может понравиться