Está en la página 1de 44

Preguntas Ingeniera de software

1) Qu es software?
Muchas personas asocian el trmino de Software con los programas de PC.
Sin embargo, software no son slo programas, sino tambin todos los documentos asociados y la
configuracin de datos que se necesitan para hacer estos programas operen de manera correcta.
Programas de cmputo y documentacin asociada, como ser documentos de requerimientos,
arquitectura y modelos de diseo y manuales de usuario.

2) Qu tipo de productos de software pueden ser?
Genricos: desarrollados para ser vendidos a una gama de diversos clientes. !emplo "ord
Hechos a medida: desarrollado para un cliente particular acorde a sus requerimientos y especificaciones.
#n nuevo software puede ser creado, desarrollando nuevos programas, configurando sistemas de software
genrico o reutili$ando software e%istente.

3) Qu es ingeniera de software?
s una disciplina de la ingenier&a que concierne a todo lo referente con la produccin de software
'os ingenieros de software deber&an adoptar un enfoque sistem(tico y organi$ado con respecto a su traba!o,
utili$ar herramientas y tcnicas apropiadas con relacin al problema planteado, las restricciones del
desarrollo de los recursos disponibles.

) Indi!ue "as diferencias entre "a ingeniera de software # "a ciencia de "a computaci$n?
%a computaci$n comprende teor&as y fundamentos de cualquier sistema de cmputo.
%as teoras de "a computaci$n a)n son insuficientes para respaldar completamente a la ingenier&a de
Software como ocurre en otras ingenier&as como la elctrica.
%a ingeniera de software concierne los aspectos pr(cticos del desarrollo y la entrega de software )til.

&) Indi!ue "as diferencias entre "a ingeniera de software # "a ingeniera de sistemas?
Ingeniera de sistemas compete todos los aspectos de desarrollo de sistemas basados en cmputos
incluyendo el hardware y el software y procesos de ingenier&a.
%os ingenieros de sistema est(n involucrados con la especificacin del sistema, diseo arquitectnico,
integracin y despliegue de s& mismo.
Ingeniera de software es parte de este proceso, haciendo referencia al desarrollo de la infratuctura del
software, aplicaciones y bases de datos en el sistema.





6) Qu es proceso de software?
#n con!unto sistem(tico de actividades cuya meta es el desarrollo o la evolucin de software
') (u)"es son "as acti*idades genricas !ue hacen todos "os procesos?
+specificaci$n: s lo que el sistema deber&a hacer y restricciones del sistema
,esarro""o: Produccin del sistema de software
-a"idaci$n: Comprobando que el software es lo que el cliente quiere
+*o"uci$n: Cambios y mantenimiento en el software con relacin a los cambios en los requerimientos y
demanda
.) Qu es mode"o de software?
#na representacin simplificada de un proceso de software, presentada desde una perspectiva especifica.
/) ,e e0emp"os de perspecti*a de software?
Perspectiva de flu!o de traba!o de traba!o* secuencia de actividades
Perspectiva de flu!o de datos * flu!os de informacin
Perspectiva de casos de uso * quien hace que funcione
11) Indi!ue cu)"es son "os mode"os genricos?
Modelo cascada
+esarrollo interactivo
,ng. de sw basada en componentes
11) ,escri2a "os costos de "a ingeniera de software?
-igurosamente el ./0 de los costos son de desarrollo, 1/0 de los costos son de pruebas.
Para el software hecho a medida, a menudo los costos de evolucin e%ceden a los costos de desarrollo.
'os costos var&an acorde al sistema a desarrollar y a los requerimientos con respecto a los atributos del
mismo, como lo pueden ser su funcionamiento y la confiabilidad del sistema
'a distribucin de los costos depende del sistema empleado para el desarrollo de software

12) ,escri2a "a metodo"oga de desarro""o de software?
%isten algunos acercamientos estructurados *2 al desarrollo de software que incluyen *2 modelos del
sistema, notaciones, reglas, pautas de diseos y pasos a seguir
,escripciones de mode"o
3ode"os gr)ficos: que deben ser producidos
4eg"as
4estricciones: aplicadas a modelos de sistema
4ecomendaciones
Pautas: para un buen diseo en la pr(ctica
Pasos a seguir: 3ue actividades deben seguirse

13) Qu son "as herramientas (56+?
Son sistemas de sw cuya finalidad es proveer soporte para para actividades o procesos, tambin sirve para el
desarrollo de software.
Son usados frecuentemente como soporte de la metodolog&a de desarrollo.
4erramientas Case tempranas o superiores
4erramientas encargadas de soportar requerimientos de actividades y diseo.
4erramientas case tard&as o inferiores
4erramientas para soportar etapas posteriores en el desarrollo como lo son la programacin, depuracin y
pruebas.
!emplos de herramientas case inferiores tenemos los ,+ como netbeans, +5c, visual studio, etc.

1) (u)"es son "os atri2utos de un 2uen software?
l software debe proveer una funcionalidad y el funcionamiento que el usuario requiriera.
+ebe ser6 mantenerle, confiable y aceptable
3anteni2i"idad: el sw debe evolucionar para cubrir todas aquellas necesidades que var&an con el tiempo
(onfia2i"idad: +ebe ser confiable
+ficiencia6 l sw no deber&a hacer un mal uso de los recursos del sistema
5cepta2i"idad: l sw debe aceptar las necesidades de los usuarios para lo cual fue diseado. Ser compatible
y que funcione con otros sistemas




1&) (u)"es son "os principa"es desafos de "a ingeniera de software?
%a heterogeneidad de "os ing de sw
sto se refiere a la percepcin que tienen las personas sobre la labor de un ingeniero inform(tico7 para ellos
uno debe poseer conocimiento de todo lo relacionado a la tecnolog&a
l desaf&o de uno como futuro profesional es de!ar bien claro la especiali$acin de la funcin que uno reali$a
como inform(tico en este caso como ingeniero de software
Para ello tenemos tcnicas de desarrollo para la construccin de software que puedan encararse con
plataformas heterogenias y ambientes cambiantes
+ntrega
8a que por la comple!idad de los sistemas de la ingenier&a de software, la fecha de trmino nunca es tan
e%acta.
Para ello tambin e%isten tcnicas que lleven a una entrega de software mucho m(s r(pido
(onfian7a
9l ser un producto intangible en su etapa de desarrollo, como ingenieros de sw se hace un desaf&o
presentar alg)n avance al cliente
Para ello tambin e%isten tcnicas en las cuales demuestre que el software es de confian$a para con sus
usuarios
,istri2uci$n de costos por acti*idad















(ostos de desarro""o de producto




(u)"es son "os aspectos de responsa2i"idad profesiona"?
'a ingsw implica responsabilidades 2 que el simple uso de habilidades tcnicas
'os ing de sw deben comportarse de manera honesta y tica para as& ser respetado como profesionales
9ctuar ticamente es mucho : que actuar dentro de los m(rgenes de la ley.
(onfidencia"idad
Siempre los ingsw deben respetar este punto, hayan firmado un contrato de con fidelidad o no
(apacidad
'os ingsw no deber&an pretender tener 2 capacidad ;intelectual y laboral< de la que tienen, debe aceptar
traba!os que estn dentro de su capacidad
+erechos de propiedad intelectual
'os ingsw deben estar conscientes de las leyes que gobiernan el uso de propiedad intelectual, como
patentes y derechos reservados
Garanti7ar !ue "a propiedad inte"ectua" de "os c"ientes este protegida
Mal uso de la computadora
'os ingsw no deber&an usar sus tcnicas y habilidades para hacer mal uso de las computadoras de otras
personas.
8a sea !ugar en la computadora de un cliente hasta por e!emplo diseminar un virus
($digo de 8tica 5(39I+++
'as sociedades profesionales en los stados #nidos cooperaron para producir un cdigo de pr(ctica tica.
Miembros de estas organi$aciones fueron consecuentes con el cdigo de pr(ctica tica cuando se asociaron.
l cdigo contiene ocho principios relacionados al comportamiento y las decisiones hechas por ingenieros de
software profesionales, incluyendo a los que lo e!erc&an, educadores, encargados, supervisores y editores,
as& como aprendices y estudiantes de la profesin.



($digo de 8tica : Principios
P;<%I(=
'os ingenieros de software actuar(n constantemente con el inters p)blico.
(%I+>?+ @ +3P%+5,=4
'os ingenieros de software actuar(n acorde al mayor inters de sus clientes y empleadores en constancia
con el inters p)blico.
P4=,;(?=
'os ingenieros de software garanti$ar(n que sus productos y relativas modificaciones van acorde a los
est(ndares profesionales m(s altos posibles
(=%+G56
'os ingenieros de software ser(n condescendientes y brindar(n apoyo a sus colegasA
;>= 3I63=
'os ingenieros de software participar(n en la formacin continua con respecto a la pr(ctica de su profesin y
promover(n un acercamiento tico a la pr(ctica de la profesin.
,i"emas 8ticos
+esacuerdo en principio con las pol&ticas de administracin superior.
l empleador act)a de un modo no tico y lan$a un sistema de seguridad cr&tico sin terminar la prueba del
sistema.
Participacin en el desarrollo de armamento militar o sistemas nucleares.
4esumen
'a ,ngenier&a de Software es una disciplina de la ingenier&a concerniente a todos los aspectos de la
produccin de software.
'os productos software est(n consistidos de programas desarrollados y su documentacin asociada.
9tributos esenciales del producto son la mantenibilidad, formalidad, eficiencia y utilidad.
l proceso de software consiste en actividades involucradas en el desarrollo de productos software.
9ctividades b(sicas son la especificacin del software, desarrollo, validacin y evolucin.
'as metodolog&as son maneras organi$adas de producir software. stas incluyen sugerencias para el proceso
a seguir, notaciones a usar, reglas que rigen las descripciones del sistema que son pautas para el desarrollo.
'as herramientas C9S son sistemas de software diseadas para soportar actividades rutinarias en el
proceso de software, como ser6 editar diagramas de diseo, verificaciones de la consistencia de diagramas y
seguir el rastro de las pruebas del programa que han sido e!ecutadas.
'os ingenieros de software tienen responsabilidades para con la profesin y la sociedad. =o deber&an
simplemente preocuparse de aspectos tcnicos.
'as sociedades profesionales publican cdigos de conducta que establecen los est(ndares de
comportamiento que se esperan de sus miembros.

(u)" es "a funci$n de un administrador de pro#ecto?
s el coordinador y responsable del traba!o de su equipo.
ntre sus responsabilidades est(6
> coordinar el traba!o de los distintos miembros del equipo
> interactuar con el cliente
> planificar y administrar el proyecto
> velar por el cumplimiento de los pla$os y los costos programados.

(u)" es "a funci$n de un ana"ista?
s el encargado de especificar los requisitos del problema a desarrollar.
ntre sus tareas est(6
> entrevistar al cliente
> generar los documentos de requisitos de software ;S-+< y de usuario ;#-+<
> velar porque el diseo cumpla con los requisitos ;funciones de tester<
> velar porque el producto final cumpla con los requisitos ;funciones de tester<.

(u)" es "a funci$n de un administrador de un diseBador?
s el encargado de general el diseo del sistema.
ntre sus funciones est(6 genera el diseo arquitectnico y diseo detallado de sistema bas(ndose en los
requisitos7
?enerar un prototipo r(pido del sistema ;con analistas e implementadores< para chequear los requisitos7
5elar porque los requisitos del cliente cuenten con una solucin factible ;funcin de tester<7
5elar porque el producto final se a!uste al diseo reali$ado ;funcin de tester<.

(u)" es "a funci$n de un administrador de un imp"ementador?
s el encargado de implementar el sistema.
ntre sus funciones est(6
> implementar los diseos del sistema ;@+ y cdigo e!ecutable<7
> implementar los prototipos r(pidos para chequea los requisitos7
> coordinar la tarea de todas las personas que colaboren con la implementacin.
(u)" es "a funci$n de un administrador de un tester?
s el encargado de asegurar la calidad de cada uno de los productos ;documentos, prototipos, programas,
producto<.
ntre sus tareas est(6
> coordinar las inspecciones y caminatas7
> velar por la adhesin al est(ndar adoptado para el desarrollo7
> velar por la completitud, e%actitud y no ambigAedad de los documentos7
> velar por la calidad del producto final ;cumplimiento de los requisitos<.

Introducci$n a "a Ingeniera de 6oftware
?eneralidades de la ,ngenier&a de Software.
Problemas con la e!ecucin de grandes proyectos de software.
B3u se requiereC
Caracter&sticas de la ,ngenier&a de Software.
Conclusiones.

(u)"es son "as caractersticas de" software?
SDEF"9- considerado como 9-F
F-9=S,C,G= 8 -CD=DC,M,=FD ;Casas de Software<
-9 +' SDEF"9-+ del problema de ,=?=,D, aH HH uso de MFD+D'D?I9
>5?;45%+C5 ,+% 6=D?E54+
Producto 'gico
Costos en el desarrollo y no en la produccin
=o se desgasta
Confiabilidad determinada por atributos lgicos
(545(?+4I6?I(56 ,+% 6=D?E54+
5ariedad de funciones
5ariedad de ,mplementacin
volucin ;9ceptar cambios y me!oras<
5isibilidad
Continuidad ;pequeos cambios, requieren ?randes cambios en el proyecto<
P-D+#CFDS + SDEF"9- J3#,59'= 9K P-D+#CFDS + ,=?=,-,9
(I(%= ,+ -I,5
P-D+#CFD CD=CPF#9' 8 =D EIS,CD ;+ebe tener un mayor componente 4umano<
,+6+Q;I%I<4I= +>?4+ (=3P=>+>?+6
*4ardware, principios f&sicos y matem(ticos
* Software
P4=(+6= ,+ 6=%;(I=> ,+ P4=<%+356
9 travs de CDMP#F9+D-S
3=,+%=6 para descri2ir 5"goritmos 3ecani7a2"es
9lgoritmos de MarLov
M(quinas de Furing
Eunciones recursivas
Qu es "a ingeniera de software? por *arios autores
1)La Ingeniera de Software es el rea de las ciencias de la computacin que trata con la construccin de
Sistemas de software, los cuales son tan grandes y complejos que se construyen con equipos de ingenieros
[!e""i#1$%&'onstruccin multi(persona de software multi()ersiones [*arnas+,$%&
-).s un proceso definido paso a paso, que facilita la especificacin, el dise/o, la implementacin y las
prue0as de una solucin de software, para un conjunto de requisitos e1plcitos, de modo eficiente y efica"&%
sto requiere que antes de empe$ar se tenga6
Db!etivos claros
Planes para lograr los ob!etivos,
Procedimientos que implementen los planes,
#n ambiente conducente al logro de los ob!etivos
2 .s la aplicacin prctica del conocimiento cientfico, en el dise/o y construccin de programas de
computador, y la documentacin requerida para el desarrollo, operacin y mantenimiento de 3l%

(u)"es son "os pasos de para construir un producto de ingeniera?
M. P'9=,E,C9C,G=
N. 9=O',S,S
P. +,SQD
1. ,MP'M=F9C,G=
R. P-#@9
.. DP-9C,G=
S. M9=F=,M,=FD

+strategias genera"es de "a ingeniera de software?
9nali$ar un problema antes de plantear una solucin. =o plantear soluciones tratando de identificar los
problemas.
Separar los problemas comple!os en sub*problemas m(s simples6
> acotar las relaciones entre los sub*problemas.
=o evitar el cambio, administrarlo.
specificar claramente la calidad esperada.
+n cuanto a" c"ienteF
=unca perder de vista al cliente y al usuario.
Fener en cuenta6
> los ob!etivos particulares del cliente y el usuario,
> los temores del usuarios,
> los costos de aprender el uso del sistema,
> los costos de usar el sistema ;incluyendo actividades que no implican el uso del computador<,
> agradoTdesagrado de usar el software.

5 !u se refiere con "a facti2i"idad?
+isear algo implementable6
> con tecnolog&a accesible,
> con costos aceptables,
> con pla$os adecuados,
> con una buena relacin costo*beneficio,
> con un nivel de calidad suficiente y abordable
Qu es un pro#ecto grande?
'a ,ngenier&a de Software tiene que ver con la cconcepcin, diseo, implementacin y mantenimiento de
sistemas ?-9=+S basados en computador.
> l software debe ser terminado a tiempo y dentro del presupuesto7
> el software debe tener niveles de desempeo y usabilidad aceptables7
> el software debe ser correcto, confiable y robusto.
'o m(s dif&cil es lograr todo esto en grandes proyectos

(u)n grande es un pro#ecto grande?
> "indows =F 1./ tiene entre . y M/ millones de l&neas de cdigo.
> l cdigo del bombardero @N tiene P.R millones.
> #n switch telefnico t&pico tiene N millones. M milln de l&neas de cdigo ;M M'DC< es6
> MP./// p(ginas ;SR l&neas por p(gina<7
> N. tomos de R// p(ginas cada uno7
> NN horas para imprimir ;M/ ppTmin<7
> MN horas para recompilar ;...depende de la m(quina<.
(onsecuencias
n casos e%tremos6
> quiebra del productor de software7
> quiebra de los clientes que dependen del producto7
> prdida de vidas humanas.

Qu ca"idad presenta nuestro software?
Eallos en el desarrollo.
9ccidentes.
Software de ba!a calidad.

(u)"es son "os pro2"emas con e" desarro""o de software?
studio llevado a cabo por ,@M en el ao MUU16
l RR0 de los sistemas costaron m(s de lo previsto.
l .V0 e%cedieron el tiempo previsto para su desarrollo.
l VV0 se tuvo que volver a disear por completo.

Sistema de 9utomati$acin 9van$ada ;E99, MUVN*MUU1<
l promedio de produccin industrial era de M// dlaresTl&nea, y se preve&a pagar R// dlaresTl&nea.
Se termin por pagar S//*U// dlaresTl&nea.
Fraba!os cancelados por valor de ../// millones de dlares.


,epartamento de +stadstica %a2ora" G1//')
N de cada seis nuevos sistemas que se ponen en funcionamiento sufren cancelaciones.
'os grandes sistemas tienen apro%imadamente un R/0 de probabilidad de ser cancelados.
'a media de tiempo empleado en un proyecto se e%cede en un R/0 con respecto al pla$o previsto.
'as W partes de los sistemas se consideran Jfracasos operativosK.

5ccidentes
'a mayor parte de los e%pertos coinciden en sealar que 6
Jla manera m(s probable de destruir el mundo es por accidenteK.
8 aqu& es donde entramos en !uego nosotros, los profesionales de la inform(tica6 Jnosotros somos los que
provocamos los accidentesX.
=athaniel @orenstein, creador de M,M en6 *rogramming as if *eople 4attered5 6riendly *rograms,
Software .ngineering and 7t!er 8o0le 9elusions, Princeton #niversity Press, Princeton, =Y, MUUM.

Historias de Horror
l @anL of 9merica proyect #SZNP M para un proyecto de R aos. Se termin gastando m(s de
#SZ./ M para finalmente abandonar el proyecto. Prdidas totales estimadas en m(s de #SZM/// M.
l bombardero @M requiri #SZM/// M m(s de lo proyectado para me!oras su sistema de defensa.
9ll State ;seguros< comen$ en MUVN un proyecto de automati$acin integral de sus operaciones de R aos
de duracin y #SZV M de presupuesto. Eue abandonado en MUUP despus de gastar #SZM// M.

(omo para preocuparse
@lueCross ;isapre norteamericana< perdi m(s de #SZ./ M en pagos incorrectos debido a un error en el
software por el que hab&an pagado m(s de #SZN// M.
l 1 de !ulio de MUU., un cohete 9riane se desvi de su curso y e%plot a PS// m de altura. 'a causa6 un error
de software. Parte de las conclusiones de la comisin investigadora son6
J...en el escenario de la falla, la principal causa tcnica es el error de operando al convertir la variable @4, y
la falta de proteccin en esta conversin caus que el computador S-, de!ara de funcionar.K
(asos "mite
ntre MUVS y MUUR a lo menos . pacientes fueron severamente heridos o muertos por un error en los
sistemas del Fherac*NR;acelerador lineal usado para administracin de radioterapia<.
(aso ?herac:2& G1/.&:.')
Se trataba de un aparato de radioterapia dotado de controlador de software.
Se retir el interbloqueo del hardware, pero el software no ten&a dispositivo de interbloqueo.
l software fall al mantener las constantes vitales6 un flu!o de electrones o bien un flu!o m(s intenso de
radiacin mediante placa para generar rayos [.
9 consecuencia de ello se produ!eron varias muertes por quemaduras.
l programador no ten&a e%periencia en programacin concurrente.
5ase6 http6TTsunnyday.mit.eduTtherac*NR.html
Cabr&a pensar que se aprender&a de la e%periencia y que un desastre de este tipo no volver&a a suceder
!am(s.
Sin embargo... 'a 9gencia ,nternacional de nerg&a 9tmica anunci una Jemergencia radiolgicaK el NN de
Mayo del N//M en Panam(.
NV pacientes sufrieron sobree%posicin6 V murieron, P de ellos como consecuencia directa de la
sobree%posicin7 con la probabilidad de que W de los N/ que sobrevivieron desarrollaran Jserias
complicaciones que en algunos casos, a la larga, podr&an resultar mortalesK
'os e%pertos anunciaron que el equipo de radioterapia Jfuncionaba perfectamenteK7 la ra$n de la
emergencia tuvo que ver con la entrada de datos.
Si los datos se introdu!eron en varios bloques protegidos dentro de un lote, la dosis se comput de manera
incorrecta.
9l menos, la E+9 lleg a la conclusin de que Jla interpretacin de los datos del bloqueo de flu!o por el
softwareK fue uno de los factores causantes del desastre.
5isite la web6 http6TTwww.fda.govTcdrhTocdTpanamarade%p.html

5riane:& GHunio de 1//6)

9gencia spacial uropea.
Prdida absoluta de misiles no tripulados poco despus del despegue.
Causada por una e%cepcin en el cdigo de 9da.
=i siquiera se precis el cdigo defectuoso despus del despegue.
+ebido a un cambio en el entorno f&sico6 se infringieron supuestos no documentados.
5isite la web6 http6TTwww.esa.intThtdocsTtidcTPressTPressU.TarianeRrep.html
n los desastres provocados por fallos de software, son m(s comunes los accidentes como el del 9riane, que
los causados por aparatos de radioterapia. =o es muy probable que los errores en el cdigo sean la causa7
normalmente, el problema se remonta al an(lisis de las necesidades7 en este caso, a un error al articular y
evaluar presunciones claves sobre el entorno.

6er*icio de 5m2u"ancias de %ondres G1//2)
Prdida de llamadas, doble servicio por llamadas duplicadas.
Mala seleccin del programador6 e%periencia insuficiente.
5isite la web6 http6TTwww.cs.ucl.ac.uLTstaffT9.EinLelsteinTlas.html
l desastre del Servicio de 9mbulancias de 'ondres se debi en realidad a fallos de gestin. 'os inform(ticos
que desarrollaron el software pecaron de ingenuidad y aceptaron una oferta de una empresa desconocida
que era bastante peor que las de otras compa&as m(s acreditadas.
Cometieron el terrible error de saltar a la red repentinamente, sin pararse a contrastar la e!ecucin del
sistema nuevo y la del ya e%istente. 9 corto pla$o, estos problemas se acentuar(n debido al uso generali$ado
del software en nuestra infraestructura c&vica.
+n e" informe PI?5( se hac&a eco de esta realidad, y los argumentos que en l se e%pon&an han servido para
incrementar los fondos destinados a la investigacin en software6
X'a demanda de software ha crecido mucho m(s r(pido que nuestra capacidad para crearlo. 9dem(s, el
pa&s requiere un tipo de software m(s pr(ctico, fiable y robusto que el que se est( desarrollando hoy en d&a.
=os hemos hecho peligrosamente dependientes de los grandes sistemas de software, cuyo comportamiento
no es del todo comprensible, y que a menudo fallan de forma imprevistaX.
In)estigacin en tecnologa de la informacin5 In)irtiendo en nuestro futuro
Comit Consultor en Fecnolog&a de la ,nformacin del Presidente ;P,F9C< ,nforme al Presidente, N1 de
febrero de MUUU



(aractersticas de" software grande?
+sca"a: : : : : : : > 2una sola persona no puede entenderlo todo.
(omp"e0idad >2 requiere traba!o en equipo,
> 2problemas de mane!o de personas,
> 2coordinacin, egos, motivacin, rotacin, etc.
-ida : : : : : : :> 2aos y dcadas.
(am2io
> las necesidades cambian desde que se comien$a el desarrollo,
> el sistema es o0soletoK no bien se termina.
+specificaciones imprecisas
> ambigAedad, contradicciones, requisitos cambiantes,
> distintos usuarios piden distintas cosas del sistema.
Qu se re!uiere?
<urocracia: )til y efectiva, tediosa pero vital.
Mane!o formal del proceso de desarrollo7
+ocumentacin formal detallada tanto interna como e%terna
Puede pensarse en trminos de contratos cliente*productor7
I ?ra7a2i"idad:
B3uin escribi este cdigoC
BCu(ndo se agreg esta parteC
B3uin autori$ el cambioC
I 3ane0o de configuraci$n # contro" de *ersionesA
?cnicas usadas
5n)"isis riguroso de" pro2"ema:
> interaccin con el usuario7
,iseBo cuidadoso usando principios !ue han demostrado ser Jti"es:
> abstraccin, encapsulamiento, ocultamiento, etc. ,mplementacin disciplinada7
Prue2as rigurosas:
> procedimientos bien definidos de antemano,
> resultados de las pruebas documentados7
P"anificaci$n a "argo p"a7o Gmantenimiento)A


Productos de desarro""o de software?
3)s !ue c$digo: en un proyecto de software se genera adem(s del cdigo, muchos otros
documentos6 requisitos formales, diseo de alto nivel, diseo detallado, plan y casos de prueba,
documentacin de usuario, estudios de factibilidad, informes de marLeting, planes de
mantenimiento, informes de errores y correcciones.
6e re!uieren personas
,ngeniero de procesos
9nalista de requisitos
Programadores
?erente de proyecto
,ngeniero de calidad
+iseador de software
5erificador*testeador
?estor de configuracin de software
I6 como una Ingeniera
5taca pro2"emas pr)cticos rea"es
> la gente realmente quiere o necesita resolver esos problemas.
Genera so"uciones ra7ona2"es
> en trminos de costos, uso de recursos, etc.
?iene su 2ase en "a ciencia
> sus resultados son repetibles,
> usa modelos matem(ticos,
> es un (rea tcnica bien entendida.
(odificaci$n de" conocimiento
> la e%periencia de generaciones se plasma en manuales para ser reutili$ada.
4esponsa2i"idad profesiona"
> cdigo de conducta,
> tica profesional,
> acreditacin y monitoreo por parte de sociedades profesionales.

Pero e" software es diferente
=o es posible aplicar metodolog&as usadas en la ingenier&a de otros productos porque hay varias diferencias
importantes6
I e" software no se manufactura sino !ue se desarro""a o crea
Control de calidad de distinta naturale$a, recursos humanos con distinto perfil, estructura de costos
radicalmente distinta.
I +" software no se desgasta Gidea"mente)K pero sufre en*e0ecimientoA
5Jn fa"tan cosas
%a ma#or parte de "os pro#ectos imp"ica partir casi de cero:
> no hay cat(logos de componentes a disposicin de los ingenieros.
Da"encias ha2itua"es importantes:
> procesos no repetibles,
> modelos y descripciones imprecisas,
> ba!a confiabilidad,
> la e%periencia no se comparte, codifica ni re*usa,
> entrenamiento insuficiente de los profesionales.
Proceso de ,esarro""o de 6oftware
Para me!orar la situacin es necesario me!orar el proceso de desarrollo de software.
Para me!orar el proceso, debe ser m(s visible.
%a administraci$n # contro" de pro#ectos de software imp"ica:
> mtricas, recursos y tiempos,
> mane!o de riesgo,
> mane!o de cambios,
> control de calidad.
(onc"usiones
5n)"isis # especificaci$n de re!uisitos
> no queremos software que no se use,
> no queremos usuarios descontentos.
,iseBo de software
> queremos diseos que respeten los requisitos,
> queremos diseos realistas.

-erificaci$n # *a"idaci$n
> queremos productos confiables,
> queremos productos que satisfagan las especificaciones.
5po#o de" computador
> queremos hacer todo de la forma m(s eficiente posible

Por !u es importante "a ingeniera de software?
9porte del software a la econom&a de .## ;datos del ao MUU.<6
Principal fuente de super(vit por e%portaciones en la balan$a comercial.
N1./// millones de dlares de ingresos por e%portaciones de software y 1./// millones gastados en
importaciones, arro!an un super(vit anual de N/./// millones de dlares.
;+atos tomados de6 Software 'onspiracy, MarL Minasi, Mc?raw 4ill, N///<.

Pape" de" software en "a infraestructura:
=o slo tiene un papel importante en ,nternet7 tambin en sectores como transportes, energ&a, medicina y
finan$as.
l software se halla cada ve$ m(s presente como elemento incorporado a otros mecanismos arraigados.
'os automviles modernos, por e!emplo, poseen entre M/ y M// procesadores para dirigir todo tipo de
funciones, desde el reproductor de m)sica hasta el sistema de frenado.

Qu es coste de software?
Coste total de la propiedad del software6 R veces el coste del hardware.
l grupo ?artner calcula que el coste de mantenimiento de un PC durante R aos asciende en la actualidad a
S dlares por cada \ de memoria del ordenador<.

(a"idad de software?
Sistema de medicin de la calidad6 erroresTLloc.'a medicin se reali$a despus de la entrega del software.
'a media en la industria es de apro%imadamente M/. +e alta calidad6 M o menos.
B3u son los procesos de la produccin de softwareC
BDb!etivos de los modelos de procesoC
B@eneficios de los modelos de procesoC
Bvolucin de los modelos de procesoC
Proceso de Producci$n de 6oftware
Son las actividades que se reali$an para la construccin, liberacin y evolucin de un producto de software,
comen$ando con una idea y finali$ando con el retiro del sistema.
'os modelos estructurados de procesos de software se conocen como ciclo de )ida del software.
=20eti*os de 3ode"os de Procesos
'a meta de un modelo estructurado de proceso es determinar el orden de las etapas que componen el
desarrollo y la evolucin de un software, estableciendo los Jcriterios de transicinK para progresar de una
etapa a la siguiente.
%os mode"os est)n hechos para contestar "as siguientes preguntas en un pro#ecto de software:
B3u debemos hacer a continuacinC
BCu(nto tiempo debemos continuar hacindoloC
<eneficios de "os 3ode"os
Proveen gu&as a los ingenieros de software acerca del orden en el cual deben ser llevadas a cabo las variadas
actividades tcnicas.
,an un marco o estructura para gerenciarK desarro""ar # mantener e" softwareK e" cua" nos permite:
> estimar los recursos,
> definir hitos intermedios,
> monitorear los progresos.
+*o"uci$n de "os 3ode"os
Codificar ] Corregir ;2MU./<
Modelo de Cascada ;2MUS/<
Modelo de Fransformaciones ;2MUSR<
Modelo volutivo ;2MUVR<
Modelo de spiral ;2MUVV<
-#P ;2MUUS<
"eb ;2MUUV<
Programacin %trema ;2N///<





Indi!ue a"gunos mode"os genricos # especficos?
=o basta con seleccionar un modelo genrico de desarrollo de software y tratar de adaptarse a l.
Se requiere una definicin m(s precisa de cmo se llevan a cabo las distintas tareas.

3ode"os genricos:
Son todos los modelos de desarrollo tradicional de software6 cascada, espiral, prototipos, etc.
Presentan una estrategia general para reali$ar el desarrollo,
Casi nunca es posible reali$ar un desarrollo adhiriendo completamente al modelo.
Permiten un entendimiento de tipo general del proceso pero no es f(cil llevarlos a un nivel de detalle m(s
fino, necesario para guiar el traba!o de los profesionales7
=o representan en forma precisa lo que realmente se hace.

3ode"os +specficos:
> aparecen las principales acti)idades involucradas en el proceso7
> brindan una especificacin precisa entre las mismas7
> establecen relaciones entre 'as diversas tareas, 'os artefactos producidos en ellas, las personas que las
reali$an, las herramientas utili$adas7
> usan formalismos particulares.

(odificar # (orregir
#sado en los comien$os de la computacin cuando sta era a)n una actividad personal y artesanal.
(onsta de dos etapas:
> codificar
> eliminar errores en el cdigo.

Duente de dificu"tades # deficiencias:
> luego de una secuencia de cambios, el cdigo era tan enredado que eliminar errores era una tarea pesada
y muy dif&cil de reali$ar7
> cuando el desarrollo de sistemas de! de ser una actividad personal y artesanal, el modelo no pod&a
mane!ar la comple!idad de los sistemas7
> no acepta la rotacin de personal en un proyecto.

+Lp"i!ue c$mo funciona e" mode"o cascada?
l modelo de cascada, aunque algo desprestigiado, contin)a siendo usado para visuali$ar las
etapas de desarrollo ;Bcmo deber&a avan$arseC< y funciona bien si no hay grandes sorpresas.


(u)"es son "as acti*idades en e" mode"o cascada?
n el modelo de cascada puro no hay retroalimentacin entre las actividades.
+Listen diferentes *ersiones !ue inc"u#en entre & # 11 acti*idades:
> estudio de factibilidad, integracin, instalacin, etc.
+n todo caso es importante:
> identificar de las actividades principales,
> definicin de los documentos que debe entregarse como hito al fin de la tarea.





,ocumentos de" mode"o cascada



Dases de" mode"o de cascada?
9n(lisis de requerimientos y definicin.
+iseo del sistema y del software.
,mplementacin y prueba de unidades
,ntegracin y prueba del sistema.
Dperacin y mantenimiento.
%a dificu"tad en esta mode"o resideK en "a dificu"tad de hacer cam2ios entre etapasA

+Lp"i!ue e" mode"o e*o"uti*o o incrementa"?
'a idea es combinar los elementos del tradicional modelo de cascada con la filosof&a de prototipos
,ncremento M
Modelo de la cascada
,ncremento N
Modelo de la cascada
etc.
Actividad Documentos Producidos
Anlisis de Requerimientos Documento de Requerimientos
Definicin de Requerimientos Documento de Requerimientos.
Especificacin del Sistema. Especificacin Funcional, Plan de Pruebas
de Aceptacin.
Diseo Arquitectural Especificacin de la Arquitectura, y Plan de
Pruebas del Sistema
Diseo de Interfaces Especificacin de la Interfaces y Plan de
pruebas de Interacin.
Diseo Detallado Especificacin del diseo y Plan de prueba
de !nidades.
"odificacin "dio de Prorama
Prueba de !nidades Reporte de prueba de unidades
Prueba de #dulos Reporte de prueba de mdulos
Prueba de Interacin Reporte de prueba de interacin y #anual
de usuario final
Prueba del Sistema Reporte de prueba del sistema
Prueba de Aceptacin Sistema final mas la documentacin.
(aractersticas de" desarro""o e*o"uti*o?


(aractersticas de" desarro""o e*o"uti*o
Secuencias lineales en forma escalonada.
Cada secuencia genera un incremento del software.
I +0emp"o:
+iseo e implementacin de interfaces usuarias7
+iseo, implementacin y carga de la base de datos7
+iseo e implementacin de los procesos de ingreso y consulta de informacin en l&nea7
+iseo e implementacin de los procesos batch.

Cada incremento es una versin reducida del producto final que puede ser validada por el usuario.
s una buena preparacin para el mantenimiento evolutivo del sistema.


Pro2"emas con e" desarro""o e*o"uti*o
Poca visibilidad en el proceso
'os sistemas est(n pobremente especificados
Se requieren habilidades especiales.
5p"ica2i"idad con e" desarro""o e*o"uti*o
Para sistemas interactivos pequeos o medianos.
Para partes de sistemas grandes ;p.e!. la interfa$ de usuario<.
Para sistemas de corta vida.

Qu es un prototipo?
Prototipo eLp"oratorio
l ob!etivo es traba!ar con clientes hasta evolucionar a un sistema final, a partir de una especificacin inicial.
Se debe comen$ar con unas especificaciones bien entendidas.

Prototipo de Mthrow:awa#NA G(am2io)
l ob!etivo es entender los requerimientos del sistema. Se puede comen$ar con especificaciones poco
entendidas.

Qu pro2"emas # riesgos tienen "os mode"os?
(ascadaA
9lto riesgo en sistemas nuevos debido a problemas en las especificaciones y en el diseo.
@a!o riesgo para desarrollos bien comprendidos utili$ando tecnolog&a conocida.
PrototipoA
@a!o riesgo para nuevas aplicaciones debido a que las especificaciones y el diseo se llevan a cabo pas a
paso.
9lto riesgo debido a falta de visibilidad
+*o"uti*oA
9lto riesgo debido a la necesidad de tecnolog&a avan$ada y habilidades del grupo desarrollador.



3ane0o de riesgos?
'a tarea principal del administrador consiste en minimi$ar riesgos.
l JriesgoK inherente en una actividad se mide en base a la incertidumbre que presenta el resultado de esa
actividad.
'as actividades con alto riesgo causan sobre*costes en cuanto a planeacin y costos
l riesgo es proporcional al monto de la calidad de la informacin disponible. Cuanto menos informacin,
mayor el riesgo.
3ane0o de 4iesgos
'a tarea principal del administrador consiste en minimi$ar riesgos.
l JriesgoK inherente en una actividad se mide en base a la incertidumbre que presenta el resultado de esa
actividad.
'as actividades con alto riesgo causan sobre*costes en cuanto a planeacin y costos
l riesgo es proporcional al monto de la calidad de la informacin disponible. Cuanto menos informacin,
mayor el riesgo.
Qu son "os mode"os h2ridos?
'os sistemas grandes est(n hechos usualmente de varios subsistemas.
=o es necesario utili$ar el mismo modelo de proceso para todos los subsistemas.
l prototipo es recomendado cuando e%isten especificaciones de alto riesgo.
l modelo de cascada es utili$ado en desarrollos bien comprendidos.

(u)"es son "as fases de" mode"o en espira"?
P"anteamiento de =20eti*os: Se identifican los ob!etivos espec&ficos para cada fase del proyecto.
Identificaci$n # reducci$n de riesgos: 'os riesgos clave se identifican y anali$an, y la informacin sirve para
minimi$ar los riesgos.
,esarro""o # -a"idaci$n: Se elige un modelo apropiado para la siguiente fase del desarrollo.
P"aneaci$n: Se revisa el proyecto y se tra$an planes para la siguiente ronda del espiral.
P"anti""a para una ronda de" espira"
Db!etivos.
-estricciones.
9lternativas.
-iesgos.
-esolucin de riesgos.
-esultados.
Planes.
?arant&as


(u)" es "a f"eLi2i"idad de" mode"o en espira"?
Para sistemas bien comprendidos utili$a el Modelo de Cascada. 'a fase de an(lisis de riesgos es
relativamente f(cil.
Con requerimientos estables y sistemas de seguridad cr&ticos, utili$a modelos formales.
Con especificaciones incompletas, utili$a el modelo de prototipo.
Pueden utili$arse modelos h&bridos en distintas partes del desarrollo.
(u)"es son "as *enta0as de" mode"o en espira"?
Centra su atencin en la reutili$acin de componentes y eliminacin de errores en informacin descubierta
en fases iniciales.
'os ob!etivos de calidad son el primer ob!etivo.
,ntegra desarrollo con mantenimiento.
Provee un marco de desarrollo de hardwareTsoftware.
(u)"es son "os pro2"emas de" mode"o en espira"?
l desarrollo contractual especifica el modelo del proceso y los resultados a entregar por adelantado.
-equiere de e%periencia en la identificacin de riesgos.
-equiere refinamiento para uso generali$ado.

+Lp"i!ue "a *isi2i"idad de procesos?
'os sistemas de software son intangibles por lo que los administradores necesitan documentacin para
identificar el progreso en el desarrollo.
+sto puede causar pro2"emasAA
l tiempo planeado para entrega de resultados puede no coincidir con el tiempo necesario para completar
una actividad.
'a necesidad de producir documentos restringe la iteracin entre procesos.
l tiempo para revisar y aprobar documentos es significativo.
+" mode"o de cascada es aJn e" mode"o 2asado en resu"tados m)s uti"i7adoA





-isi2i"idad de Procesos

+Lp"i!ue !ue es "a responsa2i"idad profesiona"?
'os ,ngenieros de software no solo deben considerar aspectos tcnicos. +eben tener una visin m(s amplia,
en lo tico, social y profesional.
>o eListen estatutos para ninguno de estos aspectosA
+esarrollo de sistemas militares.
Pirater&a.
3ue es me!or para la profesin de ,ngeniero de Software.
5spectos 8ticos
Confidencialidad.
Competencia.
+erechos de propiedad intelectual l.
Mal uso de la computadora.

4esumen
'os productos de software consisten de programas y documentacin.
l proceso de software consiste en aquellas actividades involucradas en el desarrollo de software.
'os productos de software consisten de programas y documentacin.
l proceso de software consiste en aquellas actividades involucradas en el desarrollo de software.
l modelo de cascada considera cada actividad del proceso como una actividad discreta.
l modelo de desarrollo evolutivo considera actividades del proceso en forma concurrente.
l modelo de espiral se basa en an(lisis de riesgos.
'a visibilidad del proceso involucra la creacin de documentos o resultados de las actividades.
'os ,ngenieros de software deben tener responsabilidades ticas, sociales y profesionales.
Modelo de Proceso Visibilidad del Proceso
#odelo de "ascada $uena %isibilidad, cada acti%idad produce un
documento o resultado
Desarrollo E%oluti%o &isibilidad pobre, muy caro al producir
docuementos en cada iteracin.
#odelos Formales $uena %isibilidad, en cada fase deben
producirse documentos.
Desarrollo orientado a la reutili'acin &isibilidad moderada. Importante contar con
documentacin de componentes reutili'ables.
#odelo de Espiral $uena %isibilidad, cada semento y cada
anillo del espiral debe producir un
documento.

Qu es un proceso de software?
+" mode"o de cascada
Separadas y distintas fases de la especificacin y el desarrollo.
,esarro""o e*o"uti*o
specificacin, desarrollo y validacin est(n intercalados.
,ngenier&a de Software @asada en Componentes
+" sistema est) montado a partir de "os componentes eListentesA
4ay muchas variantes de estos modelos, por e!emplo, el desarrollo formal donde se toma un proceso similar
al de cascada, pero la especificacin es una especificacin formal que se perfecciona a travs de varias
etapas hacia un diseo implementable.

(u)"es son "os mode"os genricos de proceso de software?
+" mode"o de cascada
Separadas y distintas fases de la especificacin y el desarrollo.
,esarro""o e*o"uti*o
specificacin, desarrollo y validacin est(n intercalados.
Ingeniera de 6oftware <asada en (omponentes
l sistema est( montado a partir de los componentes e%istentes.
4ay muchas variantes de estos modelos, por e!emplo, el desarrollo formal donde se toma un
proceso similar al de cascada, pero la especificacin es una especificacin formal que se
perfecciona a travs de varias etapas hacia un diseo implementable.

(u)"es son "as fases de" mode"o de cascada?
9n(lisis de requerimientos y definicin diseo del sistema y del software
!ecucin y unidad de pruebas
,mplementacin y pruebas del sistema
Dperacin y mantenimiento
l principal inconveniente del modelo de cascada es la dificultad de acomodar el cambio despus
de que el proceso est( en marcha. #na fase tiene que ser completada antes de pasar a la siguiente
fase.

(u)"es son "os pro2"emas de" mode"o cascada?








+Lp"i!ue de !u se trata e" desarro""o e*o"uti*o?





+Lp"i!ue !ue es "a ingeniera de software 2asada en componentes?





,esarro""o orientado a "a reuti"i7aci$n?







Qu es interacci$n de procesos?







Qu es "a entrega incrementa"?







-enta0as de" desarro""o incrementa"?






Qu es "a programaci$n eLtrema?





Qu es e" desarro""o en espira"?





(u)"es son "os sectores de" mode"o en espira"?





5 !u se refiere con especificaci$n de software?







5 !u se refiere diseBo e imp"ementaci$n de software?









(u)"es son "as acti*idades de" proceso de diseBo?






Indi!ue a"gunos mtodos estructurados?






Qu es "a programaci$n # "a depuraci$n?






Qu es "a *a"idaci$n de software?




Proceso de prue2as?

Qu es una e*o"uci$n de software?




Qu es un proceso unificado rationa" # sus fases?




(u)"es son "as 2uenas pr)cticas de" 4;P?





+Lp"i!ue "a ingeniera de software 2asada en computadora?





Qu es "a tecno"oga (56+?




Qu es "a gesti$n de pro#ectos?


(u)"es son "as decisiones de "a gesti$n de pro#ectos?






(u)"es son "as acti*idades de "a gesti$n de pro#ectos?






(u)"es son "os aspectos comunes de "a gesti$n de pro#ectos?





+Lp"i!ue "a dotaci$n de persona" de" pro#ecto?







+Lp"i!ue c$mo se ""e*a a ca2o "a p"anificaci$n de pro#ectos?






(u)" es "a estructura de" p"an de pro#ecto?








%a organi7aci$n de "as acti*idades en un pro#ecto?






Qu es "a ca"endari7aci$n de pro#ecto?





(u)"es son "os pro2"emas de "a ca"endari7aci$n?






Gr)ficos de 2arras # redes de acti*idades?







Qu es "a gesti$n de riesgo?





Qu es e" proceso de gesti$n de riesgos?







Qu es e" an)"isis de "os riesgos?






Qu es "a p"anificaci$n de "os riesgos?






Qu es "a super*isi$n de riesgos?






Qu es "a ingeniera de re!uerimientos?







Qu es un re!uerimiento?






Qu es "a a2stracci$n de re!uerimientos?








(u)"es son "os tipos de re!uerimientos?












Qu es e" sistema %I<6@6?






5"gunos e0emp"os de re!uerimientos funciona"es?





Qu es "a imprecisi$n de re!uerimientos?






Qu es "a integridad de re!uerimientos # consistencia?








Qu son "os re!uerimientos no funciona"es?









(u)"es son "os tipos de re!uerimientos no funciona"es?








Ha2"e de "as metas # re!uerimientos?









Qu es "a interacci$n de re!uerimientos?






Qu es e" re!uerimiento de dominio?






(u)"es son "os pro2"emas de "os re!uerimientos de dominio?






+Lp"i!ue !ue son "os re!uerimientos de usuario?







(u)"es son "os pro2"emas con e" "engua0e natura"?






(u)"es son "os re!uerimientos de usuario par un sistema de compati2i"idad %I<6@6?






(u)"es son "os re!uerimientos de usuario para un editor de cuadricu"a?






(u)"es son "os pro2"emas de re!uerimientos?







(u)"es son "as directrices para "a redacci$n de re!uerimientos?







Qu es re!uerimientos de" sistema?






(u)"es son "os pro2"emas con "as especificaciones en "engua0e natura"?






Qu son "as especificaciones 2asadas en formu"ario?






Qu es "a especificaci$n ta2u"ar?






Qu es e" mode"o grafico?






Qu son "os diagramas de secuencia?




Qu es "a especificaci$n de "a interfa7?



Qu es e" documento de re!uerimientos?

También podría gustarte