Software Engineering v 2
-
Upload
cru-bocas-del-toro -
Category
Documents
-
view
227 -
download
0
Transcript of Software Engineering v 2
-
7/21/2019 Software Engineering v 2
1/54
Ingeniera de Software
Agustn J. Gonzlez
ElO329: Diseo ! "rogra#a$i%nOrientados a O&'eto(o#ado de:
http://www.dsic.upv.es/~uml
http://inst.eecs.berkeley.edu/~cs169/
entre otras fuentes.
-
7/21/2019 Software Engineering v 2
2/54
De)ni$i%n
*+993, -a ali$a$i%n #e$anis#os siste#ti$os/dis$ilinados/ ! $uanti)$a&les ara el desarrollo/oera$i%n ! #anten$i%n de software0 esto es laali$a$i%n de la ingeniera al software.
Esta&le$i#iento ! uso de rin$iios $on$ara$teres de ingeniera aroiados arao&tener/ e)$iente#ente/ software $on)a&le/ 1ueoere e)$az ! e)$iente#ente en #1uinas
reales -a ali$a$i%n del artedel desarrollo software
'unto $on las $ien$ias#ate#ti$as !$o#utadores ara disear/ $onstruir/ !
#antenerrogra#as $o#uta$ionales e)$ientes! e$on%#i$os1ue logran sus o&'etios.
-
7/21/2019 Software Engineering v 2
3/54
Estado del arte en Ing. DeSoftware
Es una $ien$ia rigurosa $on fuertesfunda#entos #ate#ti$os4
Es una $a#o t5$ni$o &ien desarrollado
$on #u$6o de dis$ilina de ingeniera4 O est real#ente en un estado ri#itio...
A lo #s una serie de 7#e'ores r$ti$as8/desarrolladores de software $onstru!en
software ! si 5stos fun$ionan enton$esnosotros estudia#os $o#o ellos lo 6i$ieron.
Si 5stos fun$ionan or un largo tie#oenton$es estudia#os sus ro$esos de software
an #s $uidadosa#ente.
-
7/21/2019 Software Engineering v 2
4/54
onstru$$i%n de una $asa ara 7)do8
Puede hacerlo una sola persona
Requiere:
Modelado mnimo
Proceso simple
Herramientas simples
-
7/21/2019 Software Engineering v 2
5/54
onstru$$i%n de una $asa
Construida eficientemente y en un tiempo
razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas ms sofisticadas
-
7/21/2019 Software Engineering v 2
6/54
onstru$$i%n de un ras$a$ielos
-
7/21/2019 Software Engineering v 2
7/54
Herramientas(Ej: Rational Rose)
Proceso(MetodologasEj: ITIL, Extreme ProgramminRUP: Rational Unifed
Process)
otaci!n (UML)
laes en Desarrollo de SI
"alidad:Ej: "MM
-
7/21/2019 Software Engineering v 2
8/54
#istema "om$%tacional
Proceso de egocios
&rden
Item
en'o
El modelado captura laspartes esenciales del sistema
A&stra$$i%n ;
-
7/21/2019 Software Engineering v 2
9/54
Interfaz de Usuario(Visual Basic,
Java, ..)Lgica del Negocio
(C++, Java, ..)
ervidor de B!s(C++ " #L, ..)
$%lti&les iste'as
Co'&onenteseutilizados
Manejar la complejidad
Modelar el sistemaindependientementedel lenguaje deimplementacin
Promover la Reutilizacin
>ota$i%n *=isual, ; ?ene)$ios
-
7/21/2019 Software Engineering v 2
10/54
"or 1u5 la Orienta$i%n aO&'etos4
"ro@i#idad de los $on$etos de #odeladorese$to de las entidades del #undo real
-
7/21/2019 Software Engineering v 2
11/54
...Los conceptos bsicos de la OO se conocendesde hace dos dcadas, pero su aceptacintodava no est tan extendida como los benefcios
que esta tecnologa puede sugerir
"ro&le#as en OO
-
7/21/2019 Software Engineering v 2
12/54
B "ro&le#as en OO
Cn o&'eto $ontiene datos ! oera$iones 1ueoeran so&re los datos/ ero ...
"ode#os distinguir dos tios de o&'etosdegenerados: Cn o&'eto sin datos *1ue sera lo #is#o 1ue una
&i&liote$a de fun$iones, Cn o&'eto sin 7oera$iones8/ $on s%lo oera$iones del
tio $rear/ re$uerar/ a$tualizar ! &orrar *1ue se$orresondera $on las estru$turas de datos
tradi$ionales,
Cn siste#a $onstruido $on o&'etos degeneradosno es un siste#a erdadera#ente orientado a
o&'etos
-
7/21/2019 Software Engineering v 2
13/54
"ro$eso de Desarrollode S
-
7/21/2019 Software Engineering v 2
14/54
El ro$eso de desarrollo7o#leto8
Se da en un $onte@to ! deendiendo elte@to o inestigador desta$a #s o #enosetaas.
El #s $o#leto 1ue 6e isto in$lu!e:
Al desarrollo es a lo 1ue nor#al#ente sela da #s 5nfasis en la literatura.
Sueo LanzamientoInvestigacin Desarrollo Soporte
Tiempo
-
7/21/2019 Software Engineering v 2
15/54
Requisitos nuevoso modificados
Sistema nuevoo modificadoProceso de esarrollo
de Soft!are
u5 es un "ro$eso de DesarrollodeS4
De)ne ui5nde&e 6a$er u5/ undo! %#ode&e 6a$erlo
>o e@iste un ro$eso de software uniersal. -as$ara$tersti$as de $ada ro!e$to *e1uio dedesarrollo/ re$ursos/ et$., e@igen 1ue el ro$esosea $on)gura&le
Sueo LanzamientoInvestigacin Desarrollo Soporte
Tiempo
-
7/21/2019 Software Engineering v 2
16/54
Freas $u&iertas or la Ing. deSolftware
-a Ingeniera del Software estudia todos los ase$tosinolu$rados en el desarrollo de software/ entre los$uales se en$uentran: Eta$as de %n Proecto de sot*are
Paradigmas + eno%es $ara enrentar eldesarrollo del $roecto de sot*are ("ascada,Interati'o incremental)
Tiem$o "ostos
-s$ectos tecnol!gicos
.esti!n de Proectos
-
7/21/2019 Software Engineering v 2
17/54
Etaas de un ro!e$to deSoftwareEtaas Hitos es$en$iales r1ueridos en un ro!e$to de
desarrollo de software: &$ort%nidad de egocio (Hito) Le'antamiento Incial de Re%erimientos (/ominio del
$ro0lema)
Entendi#iento ini$ial de la ro&le#ti$a a resoler
euniones $on liente
Ese$i)$a$i%n ini$ial de re1ueri#ientos "onecci!n de Pro$%esta
Esti#a$i%n de esfuerzos ! lani)$a$i%n del ro!e$to. Csode t5$ni$as *OO
-
7/21/2019 Software Engineering v 2
18/54
Etaas de un ro!e$to deSoftware *$ont,
-r%itect%ra (/ominio de la #ol%ci!n)
Ese$i)$a$i%n de la te$nologa a utilizar *J2EE/ .>E(, Ese$i)$a$i%n de "atrones de Diseo
/ise2o (/ominio de la #ol%ci!n)
Diseo de Interfa$es *we&/ gui/ $o#andos/ oz,
ealiza$i%n de diagra#as de se$uen$ia
ealiza$i%n de diagra#as de $lases "onstr%cci!n + "odifcaci!n
Entendi#iento real del diseo * solu$i%n, a rogra#ar
"rogra#a$i%n e)$iente ! oti#a del $%digo fuente
o#entar en for#a entendi&le ! razona&le el $%digofuente
onstru$$i%n de rogra#a de 7(ES(8
"rue&a unitaria del desarrollador #ediante un rogra#ade 7(ES(8
Pr%e0as Unitarias
ealiza$i%n de lan de rue&as
Pr%e0as Integradas
-
7/21/2019 Software Engineering v 2
19/54
Etaas de un ro!e$to deSoftware *$ont,
"a$acitaci!n a Us%arios
onfe$$i%n de
-
7/21/2019 Software Engineering v 2
20/54
"lani)$ar ! Ealuar"ro!e$tos ...
"odr5 $u#lir $on loslazos4
Estar5 dentro de loresuuestado4
El 7$liente8 1uedarsatisfe$6o4Las Metodologas pueden ser la ayuda que
necesitamos, si podemos usarlas correctamente !!
-
7/21/2019 Software Engineering v 2
21/54
"ro$esos/
-
7/21/2019 Software Engineering v 2
22/54
u5 es una
-
7/21/2019 Software Engineering v 2
23/54
-as giles #s $ono$idas ...
K" *"rogra#a$i%n E@tre#a, -a fa#ilia ristal de o$L&urn %digo A&ierto ASD *Desarrollo de Software Adata&le, SC< D *Desarrollo
-
7/21/2019 Software Engineering v 2
24/54
-
7/21/2019 Software Engineering v 2
25/54
Aostando or C" ...
-
7/21/2019 Software Engineering v 2
26/54
Desarrollo de software:ara$tersti$as de C" ...
uiado ! "anejado por #asos de $so
#entrado en la Arquitectura
Iterativo e Incremental
Desarrollo %asado en #omponentes
$tilizacin de $"L
&roceso Integrado
-
7/21/2019 Software Engineering v 2
27/54
"rin$iales #etodologas en eltie#o
Tiempo
Modelo
Tradicional
de Cascada
Tiempo
!efinicin de
equerimientos
nlisis & !iseo
Implementacin y
est !nitarios
Construccin"#ruebas
t
t
Iteracin 1 Iteracin 2 Iteracin 3
P
C
A&D
R
P
C
A&D
R
P
C
A&D
R
Modelo
Iterativo
Incremental
Integracin y
test del sistema
$peracin ymantencin
-
7/21/2019 Software Engineering v 2
28/54
TiempoTiempo
EsfuerzoNecesarioporActividad
EsfuerzoNecesarioporActividad
TransicinTransicinElaboraciElaboracinn
ConstrucciConstruccinn
ConcepcinConcepcin
Iteraci!nPreliminar
5 5 5 55 5 5 5Iteraci!n
6
Iteraci!n
7
5 5 5 55 5 5 5 Iteraci!n
n
Iteraci!n
n86
C" De)ne ases deDesarrollo ...
-n1lisis 9/ise2o
"onstr%cci!n
Pr%e0as
/istri0%ci!n
Re%erimientos
reas de trabajo(Workflow)
A & D
C
P
D
R
A & D
C
P
D
R
A & D
C
P
D
R
A & D
C
P
D
R
-
7/21/2019 Software Engineering v 2
29/54
Conce&cinConce&cin *laoracin*laoracin ConstruccinConstruccin ransicinransicin
Co'&ro'iso de
recursos &ara faseelaoracin
-ito
/etivos,
visin
-ito
r0uitectura
-ito
Ca&acidad
&eracional
ce&tacindel cliente
Lieracin
1roducto
Tiempo
I#ortan$ia de los Hitos enC" ...
-
7/21/2019 Software Engineering v 2
30/54
-
7/21/2019 Software Engineering v 2
31/54
Cn E'e#lo: o#arar $on =;
-
7/21/2019 Software Engineering v 2
32/54
M Pr%e0as %ncionalesM Pr%e0as de desem$eM .esti!n de re%isitosM .esti!n de cam0ios
confg%raci!nM Ingeniera de egociM Ingeniera de datosM /ise2o de interaces
ational Cni)ed "ro$ess+99N
ationalO&'e$tor! "ro$ess+99;+99P
O&'e$tor! "ro$ess+9NP;+99Q
Eno%e Ericsson
UML
ational Cni)ed "ro$ess *C",
Ot i i% i il
-
7/21/2019 Software Engineering v 2
33/54
Otra isi%n si#ilar $on #sA$tiidades
Ot i i% i il
-
7/21/2019 Software Engineering v 2
34/54
Otra isi%n si#ilar $on #sA$tiidades
Disciplinas o reas de tra'ajo
"odelado del (egocio
)equisitos
Anlisis ! Diseo
Implementacin
&rue'as
Despliegue, distri'ucin
*ntorno
estin de con+iguracin ! cam'ios
estin del pro!ecto
&rimarios
De Apo!o
-
7/21/2019 Software Engineering v 2
35/54
Delo!#ent Set "ro'e$t
-
7/21/2019 Software Engineering v 2
36/54
ara$tersti$as Esen$iales deC"
"ro$eso Dirigido or los asos de Cso "ro$eso Iteratio e In$re#ental "ro$eso entrado en la Ar1uite$tura
"ro$eso dirigido or los asos de
-
7/21/2019 Software Engineering v 2
37/54
e0uisitosaturar/ de)nir !alidar los $asos de
uso
ealizar los$asos de uso
=eri)$ar 1ue sesatisfa$en los
$asos de uso
n2lisis " !ise3o
I'&le'entacin
1rueas
Casos de Usointegran el
traa/o
"ro$eso dirigido or los asos deCso
di i id l d
-
7/21/2019 Software Engineering v 2
38/54
"aso de Uso Realiaci!n de -n1lisis Realiaci!n de /ise2o
"aso de Pr%e0a
;
tra$eT tra$eT
tra$eTtra$eT
"rue&as un$ionales
"rue&asCnitarias
U(6e Cni)ed Software Deelo#ent "ro$ess. I. Ja$o&son/ G. ?oo$6 and J. u#&aug6. Addison;esle!/ +999V
... "ro$eso dirigido or los asos deCso
-
7/21/2019 Software Engineering v 2
39/54
... "ro$eso dirigido or los asos de C
-
7/21/2019 Software Engineering v 2
40/54
El $i$lo de ida iteratio se &asa en laeolu$i%n de rototios e'e$uta&les 1uese #uestran a los usuarios ! $lientes
En el $i$lo de ida iteratio en $adaitera$i%n se rerodu$e el $i$lo de ida en$as$ada a #enor es$ala
-os o&'etios de una itera$i%n se
esta&le$en en fun$i%n de la ealua$i%n delas itera$iones re$edentes
"ro$eso Iteratio e In$re#ental
"ro$eso Iteratio e
-
7/21/2019 Software Engineering v 2
41/54
-n1lisis
/ise2o
"odifc5
Pr%e0as eIntegraci!n
n 'eces
... "ro$eso Iteratio eIn$re#ental
-as a$tiidades se en$adenan en una#ini;$as$ada $on un al$an$e li#itado orlos o&'etios de la itera$i%n
"ro$eso Iteratio e
-
7/21/2019 Software Engineering v 2
42/54
... "ro$eso Iteratio eIn$re#ental
ada itera$i%n $o#rende: "lani)$ar la itera$i%n *estudio de riesgos, Anlisis de los asos de Cso ! es$enarios
Diseo de o$iones ar1uite$t%ni$as odi)$a$i%n ! rue&as. -a integra$i%n delnueo $%digo $on el 6e$6o en itera$ionesanteriores se 6a$e gradual#ente durante la$onstru$$i%n
Ealua$i%n de la entrega de e'e$uta&le*ealua$i%n del rototio en fun$i%n de lasrue&as ! de los $riterios de)nidos,
"reara$i%n de la entrega *do$u#enta$i%n einstala$i%n del rototio,
-
7/21/2019 Software Engineering v 2
43/54
"nfoque
Cascada
"nfoque#terativo e
#ncremental
"ro$eso Iteratio e In$re#ental
"ro$eso Iteratio e
-
7/21/2019 Software Engineering v 2
44/54
%rado de inali'acin de (rtefactos
... "ro$eso Iteratio eIn$re#ental
-
7/21/2019 Software Engineering v 2
45/54
"ro$eso entrado en la Ar1uite$tura
-a ar1uite$tura de un siste#a es laorganiza$i%n o estru$tura de sus artes #sreleantes
Cn ar1uite$tura e'e$uta&le es unai#le#enta$i%n ar$ial del siste#a/ $onstruidaara de#ostrar algunas fun$iones !roiedades
C" esta&le$e re)na#ientos su$esios de unaar1uite$tura e'e$uta&le/ $onstruida $o#o unrototio eolutio
Ar$6ite$ture
In$etion Ela&oration onstru$tion (ransition
-
7/21/2019 Software Engineering v 2
46/54
ases del i$lo de =ida
El $i$lo de ida $onsiste en una serie de$i$los/ $ada uno de los $uales rodu$e unanuea ersi%n del rodu$to
ada $i$lo est $o#uesto or fases ! $adauna de estas fases est $o#uesta or unn#ero de itera$iones
-as fases son: Ini$io o Estudio de oortunidad Ela&ora$i%n onstru$$i%n
(ransi$i%n
-
7/21/2019 Software Engineering v 2
47/54
...ases del i$lo de =ida
Ini$io o Estudio de oortunidad*inception, De)ne el #&ito ! o&'etios del
ro!e$to Se de)ne la fun$ionalidad !
$aa$idades del rodu$to
Ela&ora$i%n(anto la fun$ionalidad $o#o el
do#inio del ro&le#a se estudian enrofundidad
Se de)ne una ar1uite$tura &si$a
-
7/21/2019 Software Engineering v 2
48/54
...ases del i$lo de =ida
onstru$$i%n El rodu$to se desarrolla a tra5s de
itera$iones donde $ada itera$i%n inolu$ratareas de anlisis/ diseo e i#le#enta$i%n
-as fases de estudio ! anlisis s%lo dieron unaar1uite$tura &si$a 1ue es a1u re)nada de#anera in$re#ental $onfor#e se $onstru!e*se er#iten $a#&ios en la estru$tura,
Gran arte del tra&a'o es rogra#a$i%n !rue&as
Se do$u#enta tanto el siste#a $onstruido$o#o el #ane'o del #is#o
Esta fase roor$iona un rodu$to $onstruido
-
7/21/2019 Software Engineering v 2
49/54
...ases del i$lo de =ida
(ransi$i%n Se li&era el rodu$to ! se entrega al usuario
ara un uso real Se in$lu!en tareas de #arLeting/
e#a1uetado atra$tio/ instala$i%n/$on)gura$i%n/ entrena#iento/ soorte/#anteni#iento/ et$.
-os #anuales de usuario se $o#letan !
re)nan $on la infor#a$i%n anterior Estas tareas se realizan ta#&i5n en
itera$iones
-
7/21/2019 Software Engineering v 2
50/54
-
7/21/2019 Software Engineering v 2
51/54
-
7/21/2019 Software Engineering v 2
52/54
Dos le$$iones i#ortantes
El tie#o es indeendiente del [email protected] una se#ana la $o#ienzo de unro!e$to es tan &ueno $o#o a6orrarla al)nal. Cna se#ana es una se#ana.
Es #u$6o #s f$il a6orrar tie#o alini$io del ro!e$to *$uando losentrega&les son #enos $laros,.
on$lusi%n: "ronto 6a! 1ue tener $laro elro!e$to del ra#o.
Idea rela$ionada: "atrones de
-
7/21/2019 Software Engineering v 2
53/54
Idea rela$ionada: "atrones deDiseo
Es una solu$i%n a un ro&le#a general de diseo. (iene la for#a de un $on'unto de $lases 1ue
inter;a$tan. -as $lases re1uieren ersonaliza$i%n al $aso
ese$)$o *artes en &lan$o,
-
7/21/2019 Software Engineering v 2
54/54
E'e#lo: "atr%n O&serador