Você está na página 1de 11

PROGRAMACION INGENIERIA DE SOFTWARE IV

ACTIVIDAD 3 CUESTIONARIO
1- Qu es una computadora?
Es una mquina electrnica, analgica o digital, dotada de una memoria de gran
capacidad y de mtodos de tratamiento de la informacin, capaz de resolver
problemas matemticos y lgicos mediante la utilizacin automtica de programas
informticos.
2- Explica lo que significa Software y Hardware.

Hardware Se trata de todos los componentes fsicos que forman parte de un


ordenador (o de otro dispositivo electrnico): procesador, RAM, impresora,
teclado, ratn.

Software Se trata de la parte conceptual del ordenador. Es decir los datos y


aplicaciones que maneja. De forma ms prctica se puede definir como cualquier
cosa que se pueda almacenar en una unidad de almacenamiento es software (la
propia unidad sera hardware).
3- Definicin de algoritmo
Son una serie de pasos que permiten obtener la solucin a un problema y siempre
debe tener uno o ms resultados.
4- Menciona algunas caractersticas que debe contener un algoritmo
Un algoritmo debe resolver el problema para el que fue formulado.
Lgicamente no sirve un algoritmo que no resuelve ese problema. En el
caso de los programadores, a veces crean algoritmos que resuelven
problemas diferentes al planteado.
Los algoritmos son independientes del ordenador. Los algoritmos se
escriben para poder ser utilizados en cualquier mquina.
Los algoritmos deben de ser precisos. Los resultados de los clculos
deben de ser exactos, de manera rigurosa. No es vlido un algoritmo que
slo aproxime la solucin.
Los algoritmos deben de ser finitos. Deben de finalizar en algn momento.
No es un algoritmo vlido aquel que produce situaciones en las que el
algoritmo no termina.
Los algoritmos deben de poder repetirse. Deben de permitir su ejecucin
las veces que haga falta. No son vlidos los que tras ejecutarse una vez, ya
no pueden volver a hacerlo por la razn que sea.

5- Cules son los tres procesos para crear un algoritmo?


Entrada. Los datos iniciales que posee el algoritmo antes de ejecutarse.
Proceso. Acciones que lleva a cabo el algoritmo.

Salida. Datos que obtiene finalmente el algoritmo.

6- Segn la REA Cul es la definicin de programa?


Conjunto unitario de instrucciones que permite a un ordenador realizar funciones
diversas, como el tratamiento de textos, el diseo de grficos, la resolucin de
problemas matemticos, el manejo de bancos de datos, etc.
7- Tipos de programacin
Programacin desordenada
Predomina el instinto del programador por encima del uso de cualquier mtodo
lo que provoca que la correccin y entendimiento de este tipo de programas
sea casi ininteligible.

Programacin estructurada

En esta programacin se utiliza una tcnica que genera programas que slo
permiten utilizar tres estructuras de control:

- Secuencias (instrucciones que se generan secuencialmente)


- Alternativas (sentencias if)
- Iterativas (bucles condicionales)

Programacin modular

El cdigo de los mdulos puede ser invocado en cualquier parte del cdigo.
Realmente cada mdulo se comporta como un subprograma que, partir de unas
determinadas entradas obtiene unas salidas concretas. Su funcionamiento no
depende del resto del programa por lo que es ms fcil encontrar los errores y
realizar el mantenimiento.

Programacin orientada a objetos

Cada objeto posee datos y mtodos propios, por lo que los programadores se
concentran en programar independientemente cada objeto y luego generar el
cdigo que inicia la comunicacin entre ellos. Es la programacin que ha
revolucionado las tcnicas ltimas de programacin ya que han resultado un
importante xito gracias a la facilidad que poseen de encontrar fallos, de reutilizar
el cdigo y de documentar fcilmente el cdigo.

8- Qu es una metodologa del desarrollo de software?


Son los procesos a seguir sistemticamente para idear, implementar y mantener
un producto software desde que surge la necesidad del producto hasta que
cumplimos el objetivo por el cual fue creado.
9- Cules son las etapas del ciclo de vida de un software?
Planificacin: idearemos un planeamiento detallado que gue la gestin del
proyecto, temporal y econmicamente.
Implementacin: acordaremos el conjunto de actividades que componen la
realizacin del producto.
Puesta en produccin: nuestro proyecto entra en la etapa de definicin, all
donde se lo presentamos al cliente o usuario final, sabiendo que funciona
correctamente y responde a los requerimientos solicitados en su momento.
Esta etapa es muy importante no slo por representar la aceptacin o no
del proyecto por parte del cliente o usuario final sino por las mltiples
dificultades que suele presentar en la prctica, alargndose excesivamente
y provocando costos no previstos.

10- Describe los objetivos de las etapas de un modelo de ciclo de vida


Expresin de necesidades: esta etapa tiene como objetivo el armado de un
documento en el cual se reflejan los requerimientos y funcionalidades que
ofrecer al usuario el sistema a implementar (qu, y no cmo, se va a
implementar).
Especificaciones: formalizamos los requerimientos; el documento obtenido
en la etapa anterior se tomar como punto de partida para esta etapa.
Anlisis: determinamos los elementos que intervienen en el sistema a
desarrollar, su estructura, relaciones, evolucin temporal, funcionalidades,
tendremos una descripcin clara de qu producto vamos a construir, qu
funcionalidades aportar y qu comportamiento tendr.
Diseo: ya sabemos qu hacer, ahora tenemos que determinar cmo
debemos hacerlo (cmo debe ser construido el sistema en cuestion?;
definimos en detalle entidades y relaciones de las bases de datos,
seleccionamos el lenguaje que vamos a utilizar, el Sistema Gestor de Bases
de Datos, etc.).
Implementacin: empezamos a codificar algoritmos y estructuras de datos,
definidos en las etapas anteriores, en el correspondiente lenguaje de

programacin o para un determinado sistema gestor de bases de datos. En


muchos proyectos se pasa directamente a esta etapa; son proyectos muy
arriesgados que adoptan un modelo de ciclo de vida de code & fix (codificar
y corregir) donde se eliminan las etapas de especificaciones, anlisis y
diseo con la consiguiente prdida de control sobre la gestin del proyecto.
Debugging: el objetivo de esta etapa es garantizar que nuestro programa no
contiene errores de diseo o codificacin. En esta etapa no deseamos
saber si nuestro programa realiza lo que solicit el usuario, esa tarea le
corresponde a la etapa de implementacin. En sta deseamos encontrar la
mayor cantidad de errores. Todos los programas contienen errores:
encontrarlos es cuestin de tiempo. Lo ideal es encontrar la mayora, si no
todos, en esta etapa. Tambin se pueden agregar testeos de performance.
Validacin: esta etapa tiene como objetivo la verificacin de que el sistema
desarrollado cumple con los requerimientos expresados inicialmente por el
cliente y que han dado lugar al presente proyecto. En muchos proyectos las
etapas de validacin y debugging se realizan en paralelo por la estrecha
relacin que llevan. Sin embargo, tenemos que evitar la confusin:
podemos realizarlos en paralelo, pero no como una nica etapa.
Evolucin: en la mayora de los proyectos se considera esta etapa como
Mantenimiento y evolucin, y se le asigna, no slo el agregado de nuevas
funcionalidades.
11- Que son los paradigmas de programacin?
Los paradigmas de programacin son las estrategias para crear la estructura de
un programa. Existen dos grupos: la programacin imperativa y la declarativa. En
la primera codificamos qu hacer y cmo, en la segunda slo qu hacer, el
lenguaje que utilizado har el resto. Un ejemplo de la ltima es el lenguaje SQL,
mediante el cual pedimos datos de una base pero no cmo hacerlo.
12-Relacionando los paradigmas de programacin .Menciona los dos
clasificaciones de metodologas

Metodologa estructurada: la orientacin de esta metodologa se dirige


hacia los procesos que intervienen en el sistema a desarrollar, es decir,
cada funcin a realizar por el sistema se descompone en pequeos
mdulos individuales. Es ms fcil resolver problemas pequeos, y luego
unir cada una de las soluciones, que abordar un problema grande.
Metodologa orientada a objetos: a diferencia de la metodologa
mencionada anteriormente, sta no comprende los procesos como
funciones sino que arma mdulos basados en componentes, es decir, cada
componente es independiente del otro. Esto nos permite que el cdigo sea

reutilizable. Es ms fcil de mantener porque los cambios estn localizados


en cada uno de estos componentes.

13-Cules son las visiones de un modelo de ciclo de vida?


El alcance del ciclo de vida, que depende de hasta dnde deseamos llegar
con el proyecto: slo saber si es viable el desarrollo de un producto, el
desarrollo completo o el desarrollo completo ms las actualizaciones y el
mantenimiento.
La cualidad y cantidad de las etapas en que dividiremos el ciclo de vida:
segn el ciclo de vida que adoptemos, y el proyecto para el cual lo
adoptemos.
La estructura y la sucesin de las etapas, si hay realimentacin entre ellas,
y si tenemos libertad de repetirlas (iterar).
14- Tipos de modelo de ciclos de vida y descripcin
Ciclo de vida lineal: Es muy fcil dividir las tareas, y prever los tiempos
(sumando linealmente los de cada etapa). Requiere tambin que se
conozca desde el primer momento, con excesiva rigidez, lo que va a ocurrir
en cada una de las distintas etapas antes de comenzarla. Esto ultimo
minimiza, tambin, las posibilidades de errores durante la codificacin y
reduce al mnimo la necesidad de requerir informacin del cliente o del
usuario.
Ciclo de vida en cascada puro: admite iteraciones, contrariamente a la
creencia de que es un ciclo de vida secuencial como el lineal. Despus de
cada etapa se realiza una o varias revisiones para comprobar si se puede
pasar a la siguiente. Es un modelo rgido, poco flexible, y con muchas
restricciones. Aunque fue uno de los primeros, y sirvi de base para el resto
de los modelos de ciclo de vida.

Ciclo de vida con componentes: dispone de todos los requerimientos al


comienzo, para el desarrollo de un producto con funcionalidades conocidas
o para proyectos, que aun siendo muy complejos, se entienden
perfectamente desde el principio. Se evidencia que es un modelo
puramente terico, ya que el usuario rara vez mantiene los requerimientos
iniciales y existen muchas posibilidades de que debamos retomar alguna
etapa anterior.

Ciclo de vida en V: contiene las mismas etapas que el ciclo de vida en


cascada puro. A diferencia de aqul, a ste se le agregaron dos subetapas
de retroalimentacin entre las etapas de anlisis y mantenimiento, y entre
las de diseo y debugging.

Ciclo de vida tipo Sashimi : En esta etapa se solapan las etapas, Esto
suele, en muchos casos, aumentar su eficiencia ya que la retroalimentacin
entre etapas se encuentra implcitamente en el modelo. La ventaja es que
se puede tener ms gente trabajando al mismo tiempo, pero la desventaja
es que pueden surgir dependencias entre las distintas subetapas que
detengan el proyecto temporalmente si no es gestionado de manera
correcta. Podemos utilizar este modelo para administrar cualquier proyecto
mencionado en los modelos anteriores. Pero cuidando de administrar muy
bien los tiempos.

Ciclo de vida iterativo: Este modelo busca reducir el riesgo que surge
entre las necesidades del usuario y el producto final por malos entendidos
durante la etapa de solicitud de requerimientos. Es la iteracin de varios
ciclos de vida en cascada. Al final de cada iteracin se le entrega al cliente
una versin mejorada o con mayores funcionalidades del producto. El
cliente es quien luego de cada iteracin, evala el producto y lo corrige o

propone mejoras. Estas iteraciones se repetirn hasta obtener un producto


que satisfaga al cliente.

Ciclo de vidas por prototipos: En la prctica los prototipos se


utilizan para validar los requerimientos de los usuarios en cualquier ciclo de
vida. Si no se conoce exactamente cmo desarrollar un determinado
producto o cules son las especificaciones de forma precisa, suele
recurrirse a definir especificaciones iniciales para hacer un prototipo, o sea,
un producto parcial y provisional. En este modelo, el objetivo es lograr un
producto intermedio, antes de realizar el producto final, para conocer
mediante el prototipo cmo respondern las funcionalidades previstas para
el producto final. Antes de adoptar este modelo de ciclo debemos evaluar si
el esfuerzo por crear un prototipo vale realmente la pena adoptarlo
Ciclo de vida evolutivo Este modelo acepta que los requerimientos del
usuario pueden cambiar en cualquier momento en la prctica muestra que
obtener todos los requerimientos al comienzo del proyecto es
extremadamente difcil, no slo por la dificultad del usuario de transmitir su
idea, sino porque estos requerimientos evolucionan durante el desarrollo y
de esta manera, surgen nuevos requerimientos a cumplir.

Ciclo de vida incremental se basa en la filosofa de construir


incrementando las funcionalidades del programa. Se realiza construyendo
por mdulos que cumplen las diferentes funciones del sistema. Esto permite
ir aumentando gradualmente las capacidades del software. Este ciclo de
vida facilita la tarea del desarrollo permitiendo a cada miembro del equipo
desarrollar un modulo particular en el caso de que el proyecto sea realizado
por un equipo de programadores.

Ciclo de vida en espiral El modelo se basa en una serie de ciclos


repetitivos para ir ganando madurez en el producto final. Toma los
beneficios de los ciclos de vida incremental y por prototipos, pero se tiene
ms en cuenta el concepto de riesgo que aparece debido a las
incertidumbres e ignorancias de los requerimientos proporcionados al
principio del proyecto o que surgirn durante el desarrollo.

Ciclo de vida orientada a objetos Los objetos estn representados


por un conjunto de propiedades, a los cuales denominamos atributos, por
otra parte, al comportamiento que tendrn estos objetos los denominamos
mtodos. Vemos que tanto la filosofa de esta metodologa, los trminos
utilizados en ella y sus fines, coinciden con la idea de obtener un concepto
de objeto sobre casos de la vida real.
15- Qu es un ciclo de vida en una base de datos?
La base de datos es uno de los componentes principales de un sistema de
informacin, por lo que el ciclo de vida de un sistema de informacin est
inherentemente ligado al ciclo de vida de la base de datos sobre la que se apoya.
16-Tipo de diseo de la base de datos:
Diseo conceptual: Descripcin del esquema de la base de datos utilizando
un modelo de datos conceptual.
Diseo lgico: Descripcin de la base de datos con un modelo de datos
implementarle (p.ej. el modelo relacional).
Diseo fsico: Descripcin de la base de datos a nivel interno.
17-Cmo hacer el diseo de un desarrollo de software?
Estudio de alternativas y diseo arquitectnico
18-En cul de las etapas solicita la adquisicin de componentes?
En la implementacin
19- Cules son las pruebas que se hacen en el desarrollo de software?
Pruebas de unidad, Pruebas de integracin, Pruebas alfa, Pruebas beta, Test de
aceptacin.
20-Qu es una incertidumbre?
Los modelos de ciclo de vida del software detallados en este libro desean tener
cierta medida de la incertidumbre. Y muchos de estos ciclos de vida consideran
que se puede medir, en un sentido de deseo, como la cantidad de informacin
necesaria para evitar los riesgos posibles cuando se emprende la tarea del
desarrollo de software.
21-Cul es el modelo de tres capaz?
Es un modelo de programacin para aplicaciones de acceso a datos en que se
busca separar la arquitectura del programa en tres capas. En la capa de datos
solo nos preocupamos del almacenamiento de stos, en la capa de negocios
situamos todas las transacciones y validaciones y en la capa de presentacin slo
encontraremos las rutinas de visualizacin e interaccin con el usuario.

22-De qu se encarga la ingeniera inversa?


Se encarga de obtener y analizar el resultado de una etapa del ciclo de vida para
obtener el resultado de la etapa anterior. Lo que se busca es analizar el cdigo
para obtener el diseo con el cual fue implementado.
23-Qu modelo est en la cresta de cola?
Ciclo de vida por prototipo.
24- Diferencias entre el modelo en espiral al evolutivo
En el incremental partimos de que no hay incertidumbre en los requerimientos
iniciales, en el evolutivo somos conscientes de que comenzamos con un alto
grado de incertidumbre. En el incremental suponemos que conocemos el
problema, y lo dividimos. El evolutivo gestiona la incertidumbre.

25-

Menciona una ventaja y desventaja del modelo de ciclo de vida en


espiral

Es que puede comenzarse el proyecto con un alto grado de incertidumbre, se


entiende tambin como ventaja el bajo riesgo de retraso en caso de deteccin de
errores, ya que se puede solucionar en la prxima rama del espiral. La desventaja
es el costo temporal que suma cada vuelta del espiral, la dificultad para evaluar los
riesgos y la necesidad de la presencia o la comunicacin continua con el cliente o
usuario.
26-Cul es la caracterstica principal del modelo de ciclo de vida orientado
a objetos?
Es la abstraccin de los requerimientos de usuario, por lo que este modelo es
mucho ms flexible que los restantes, que son rgidos en requerimientos y
definicin, soportando mejor la incertidumbre que los anteriores, aunque sin
garantizar la ausencia de riesgos.
27-Qu es la CRC?
(claseresponsabilidadescolaboracin) como herramienta para obtener las
abstracciones y mecanismos clave de un sistema analizando los requerimientos
del usuario.
28-Qu se debe analizar antes de crear un proyecto de desarrollo de
software?

La complejidad del problema, el tiempo que disponemos para hacer la entrega


final, o si el usuario o cliente desea entregas parciales, la comunicacin que existe
entre el equipo de desarrollo y el usuario y, por ltimo, qu certeza (o
incertidumbre) tenemos de que los requerimientos dados por el usuario son
correctos y completos.
29-Menciona un lenguaje para crear una base de datos
Sql

30-

Para que se utiliza la reingeniera?

Utiliza los resultados obtenidos por la ingeniera inversa para corregir o prevenir
errores en un software. En los umbrales del ao 2000, se reflej la importancia de
la reingeniera para evitar el efecto Y2K.

Você também pode gostar