Download - simulacion
-
7/21/2019 simulacion
1/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1
Una introduccin a la Ingeniera de
Software
-
7/21/2019 simulacion
2/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 2
Objetivos
Introducir y comprender la Ingeniera de
Software y explicar su importancia.
Establecer respuestas a preguntas clave acerca
de la Ingeniera de Software. Introducir aspectos ticos y profesionales y
explicar la importancia de los mismos para los
ingenieros de software.
-
7/21/2019 simulacion
3/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 3
!picos expuestos
"reguntas frecuentes acerca de la Ingeniera de
Software. #esponsabilidad tica y profesional.
-
7/21/2019 simulacion
4/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 4
Ingeniera de Software
$as economas de !O%&S las naciones desarrolladasson dependientes de software y sistemasinform'ticos.
(ada ve) m's sistemas son controlados por software.
$a Ingeniera de Software concierne teoras* mtodosy +erramientas para el desarrollo profesional desoftware.
$os gastos en software representan una fraccinsignificativa del "I, en todos los pases desarrollados.
-
7/21/2019 simulacion
5/31Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 5
(ostos del Software
$os costos del software a menudo dominan enlos costos de un sistema computacional oinform'tico. $os costos de software en una "(son a menudo mayores -ue el costo del
+ardware. (uesta m's el mantenimiento del software -ue
el desarrollo del mismo. "ara sistemas de largavida* los costos de mantenimiento se multiplican
con respecto a los costos de desarrollo. & la Ingeniera de Software le compete el
desarrollo de software rentable.
-
7/21/2019 simulacion
6/31Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 6
"reguntas frecuentes acerca de
Ingeniera de Software
u es Software/
u es la Ingeniera de Software/
(u'l es la diferencia entre Ingeniera de
Software y (omputacin/ (u'l es la diferencia entre Ingeniera de
Software e Ingeniera de Sistemas/
u es un proceso de software/
u es un modelo de proceso de software/
-
7/21/2019 simulacion
7/31Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 7
"reguntas frecuentes acerca de
Ingeniera de Software
(u'les son los costos -ue implica la Ingeniera de
Software/
(u'les son las metodologas de desarrollo de
Software/
u son las +erramientas (&SE 0(omputer1&ided
Software Engineering2
(u'les son los atributos de un buen software/
(u'les son los desafos primordiales frente a laIngeniera de Software/
-
7/21/2019 simulacion
8/31Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 8
u es software/
"rogramas de cmputo y documentacin asociada* como serdocumentos de re-uerimientos* ar-uitectura y modelos dedise3o y manuales de usuario.
$os productos software pueden ser desarrollados para uncliente particular o bien para el mercado en general.
$os productos software pueden ser45 6enricos 7 desarrollados para ser vendidos a una gama de diversos
clientes* ejemplo4 software como Excel o 8ord.
5 9ec+o a medida 7 desarrollado para un cliente particular acorde a susre-uerimientos y especificaciones.
:uevo software puede ser creado desarrollando nuevos
programas* configurando sistemas de software genrico oreutili)ando software existente.
-
7/21/2019 simulacion
9/31Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 9
u es la Ingeniera de Software/
$a Ingeniera de Software es una disciplina de la
ingeniera -ue concierne a todo lo referente con
produccin de software.
$os ingenieros de software deberan adoptar unenfo-ue sistem'tico y organi)ado con respecto a
su trabajo* utili)ar +erramientas y tcnicas
apropiadas con relacin al problema planteado*
las restricciones del desarrollo y los recursos
disponibles.
-
7/21/2019 simulacion
10/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 10
(u'l es la diferencia entre Ingeniera de
Software y (omputacin/
$a computacin comprende teoras y
fundamentos de cual-uier sistema de cmputo;
a la Ingeniera de Software le concierne los
aspectos pr'cticos del desarrollo y entrega de
software
-
7/21/2019 simulacion
11/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 11
(u'l es la diferencia entre Ingeniera de
Software e ingeniera de sistemas/
& la ingeniera de sistemas le competen todos losaspectos de desarrollo de sistemas basados encmputos* incluyendo +ardware* software yprocesos de ingeniera. $a Ingeniera de Software
es parte de este proceso* +aciendo referencia aldesarrollo de la infraestructura del software*aplicaciones y bases de datos en el sistema.
$os ingenieros de sistemas est'n involucrados conla especificacin del sistema* dise3oar-uitectnico* integracin y despliegue del mismo.
-
7/21/2019 simulacion
12/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 12
u es un proceso de software/
Un conjunto sistem'tico de actividades cuya meta esel desarrollo o la evolucin del software.
&ctividades genricas en todos los procesos desoftware son4
5 Especificacin 7 lo -ue el sistema debera +acer y susrestricciones de desarrollo
5 %esarrollo 7 produccin del sistema software
5 =alidacin 7 comprobando -ue el software es lo -ue elcliente -uiere
5 Evolucin 7 cambios y mantenimiento en el software conrelacin a los cambios en los re-uerimientos y demandas.
d l d d
-
7/21/2019 simulacion
13/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 13
u es un modelo de proceso de
software/
Una representacin simplificada de un proceso de
software* presentada desde una perspectiva especfica.
Ejemplos de perspectivas de proceso son4
5 "erspectiva de flujo de trabajo 7 secuencia de actividades;
5 "erspectiva de flujo de datos 7 flujo de informacin;5 "erspectiva de (asos de Uso 7 -uin +ace -u 0funcionalidad2.
>odelos de proceso genricos
5 >odelo en (ascada;
5 %esarrollo iterativo;
5 Ingeniera de Software basada en componentes.
-
7/21/2019 simulacion
14/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 14
(u'les son los costos de Ingeniera de
Software/
#igurosamente* ?@A de los costos son dedesarrollo* B@A son costos de prueba. "arasoftware +ec+o a medida* los costos deevolucin a menudo exceden los costos de
desarrollo. =aran acorde al tipo de sistema a desarrollar y a
los re-uerimientos con respecto a los atributosdel mismo* como ser el funcionamiento y la
confiabilidad del sistema. $a distribucin de los costos depende del
modelo empleado para el desarrollo del software
-
7/21/2019 simulacion
15/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 15
%istribucin de costos por actividadWaterfall model
Iterative development
Component-based software engineering
Development and evolution costs for long-lifetime systems
System evolution
10 200 30 000
System development
Speci!cation Design Development Integration and testing
2" "0 #" 1000
Speci!cation Development Integration and testing
2" "0 #" 1000
Speci!cation Iterative development System testing
2" "0 #" 1000
-
7/21/2019 simulacion
16/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 16
(ostos de desarrollo del producto
-
7/21/2019 simulacion
17/31
-
7/21/2019 simulacion
18/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 18
u son las +erramientas (&SE 0(omputer1
&ided Software Engineering2
Sistemas de software cuya finalidad es la de proveer
soporte automati)ado para actividades de proceso o
desarrollo de software.
$os sistemas (&SE son usados con frecuencia como
soporte dentro de la metodologa de desarrollo. 9erramientas (&SE tempranas o Superiores
5 9erramientas para soportar las actividades tempranas de
re-uerimientos y dise3o dentro del proceso de software;
9erramientas (&SE tardas o Inferiores
5 9erramientas para soportar actividades posteriores como ser laprogramacin* depuracin y prueba o testeo.
-
7/21/2019 simulacion
19/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 19
(u'les son los atributos de un buen
software/
El software debe entregar la funcionalidad y elfuncionamiento re-ueridos por el usuario al l mismo* ydebe ser mantenible* confiable y aceptable.
>antenibilidad5 El software debe evolucionar para cubrir necesidades
cambiantes; (onfiabilidad
5 El software debe ser confiable; Eficiencia
5 El software no debera +acer mal uso de los recursos delsistema;
&ceptabilidad5 El software debe aceptar las necesidades de los usuarios para
los cuales fue dise3ado. Esto significa -ue debe ser entendible*de utilidad y compatible con otros sistemas.
-
7/21/2019 simulacion
20/31
-
7/21/2019 simulacion
21/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 21
#esponsabilidad tica y profesional
$a Ingeniera de Software implica
responsabilidades mayores -ue el simple uso de
+abilidades tcnicas.
$os ingenieros de software deben comportarse
de manera +onesta y ticamente responsable si
van a ser respetados como profesionales.
(omportamiento ticamente responsable es
muc+o m's -ue simplemente actuar dentro de laley.
& t d bilid d
-
7/21/2019 simulacion
22/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 22
&spectos de responsabilidad
profesional
(onfidencialidad5 $os ingenieros deberan normalmente respetar la
confidencialidad de sus clientes independientementede -ue se +aya firmado o no un previo acuerdo deconfidencialidad.
(apacidad5 $os ingenieros no deberan pretender tener mayor
capacidad 0intelectual y laboral2 de la -ue tienen*deben aceptar conscientemente trabajo -ue est
acorde a su capacidad.
&spectos de responsabilidad
-
7/21/2019 simulacion
23/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 23
&spectos de responsabilidad
profesional
%erec+os de propiedad intelectual5 $os ingenieros deberan estar conscientes de las leyes -ue
gobiernan el uso de propiedad intelectual* como ser patentes y
derec+os reservados. %eben ser cuidadosos al garanti)ar -ue
la propiedad intelectual de sus clientes est' protegida.
>al uso de la computadora5 $os ingenieros de software no deberan usar sus +abilidades
tcnicas para un mal uso de las computadoras de otras
personas. El mal uso de una computadora comprende desde lo
relativamente simple 0jugar en la computadora del cliente2
+asta lo extremamente serio 0diseminar virus2.
-
7/21/2019 simulacion
24/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 24
(digo de Etica &(>CIEEE
$as sociedades profesionales en los Estados Unidoscooperaron para producir un cdigo de pr'ctica tica.
>iembros de estas organi)aciones fueronconsecuentes con el cdigo de pr'ctica tica cuandose asociaron.
El cdigo contiene oc+o principios relacionados alcomportamiento y las decisiones +ec+as poringenieros de software profesionales* incluyendo a los-ue lo ejercan* educadores* encargados* supervisores
y editores* asi como aprendices y estudiantes de laprofesin.
-
7/21/2019 simulacion
25/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 25
(digo de Etica 1 pre'mbulo
"re'mbulo5 $a versin corta del cdigo resume aspiraciones a un alto nivel de
abstraccin; las cl'usulas -ue se incluyen en la versin completadan ejemplos y detalles de cmo estas aspiraciones cambiannuestro modo de actuar como profesionales de la Ingeniera deSoftware. Sin las aspiraciones* los detalles pueden llegar a ser
legalistas y aburridos; sin los detalles* las aspiraciones puedenllegar a ser ruidosas pero vacas; juntas* las aspiraciones y losdetalles forman un cdigo co+esivo.
5 $os ingenieros de software se comprometer'n a +acer del an'lisis*especificacin* dise3o* desarrollo* prueba y mantenimiento desoftware una profesin respetable y beneficiosa. &corde a sucompromiso con la salud* bienestar y seguridad del p
-
7/21/2019 simulacion
26/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 26
(digo de Etica 1 "rincipios
"U,$I(O5 $os ingenieros de software actuar'n constantemente con el
inters p"$E&%O#
5 $os ingenieros de software actuar'n acorde al mayor inters
de sus clientes y empleadores en constancia con el inters
p
-
7/21/2019 simulacion
27/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 27
(digo de Etica 1 "rincipios
UI(IO5 $os ingenieros de software mantendr'n su integridad e
independencia de juicio como profesional.
6E#E:(I&
5 6erentes y lderes de Ingeniera de Software suscribir'n y
promover'n un acercamiento tico +acia el manejo de
desarrollo de software y evolucin.
"#OFESIO:
5 $os ingenieros de Software incrementar'n la integridad y
reputacin de la profesin en constancia con el inters p
-
7/21/2019 simulacion
28/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 28
(digo de Etica 1 "rincipios
(O$E6&S5 $os ingenieros de software ser'n condescendientes
y brindar'n apoyo a sus colegas.
U:O >IS>O
5 $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.
-
7/21/2019 simulacion
29/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 29
%ilemas Eticos
%esacuerdo en principio con las polticas deadministracin superior.
El empleador act
-
7/21/2019 simulacion
30/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 30
"untos (lave
$a Ingeniera de Software es una disciplina de la ingenieraconcerniente a todos los aspectos de la produccin desoftware.
$os productos software est'n consistidos de programasdesarrollados y su documentacin asociada. &tributos
esenciales del producto son la mantenibilidad* formalidad*eficiencia y utilidad. El proceso de software consiste en actividades involucradas
en el desarrollo de productos software. &ctividades b'sicasson la especificacin del software* desarrollo* validacin yevolucin.
$as metodologas son maneras organi)adas de producirsoftware. Estas incluyen sugerencias para el proceso a seguir*notaciones a usar* reglas -ue rigen las descripciones delsistema -ue son pautas para el desarrollo.
-
7/21/2019 simulacion
31/31
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 31
"untos (lave
$as +erramientas (&SE son sistemas de softwaredise3adas para soportar actividades rutinarias en el proceso
de software* como ser4 editar diagramas de dise3o*
verificaciones de la consistencia de diagramas y seguir el
rastro de las pruebas del programa -ue +an sido ejecutadas.
$os ingenieros de software tienen responsabilidades paracon la profesin y la sociedad. :o deberan simplemente
preocuparse de aspectos tcnicos.
$as sociedades profesionales publican cdigos de conducta
-ue establecen los est'ndares de comportamiento -ue se
esperan de sus miembros.