Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERIA DE SOFTWARE
Introduccin al Software
CONTENIDO
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
2.9.
3.0
Introduccin
El
hardware
dejo
de
ser
un
impedimento
para
eldesarrollode
lainformtica;
redujo
loscostosy
mejoro
lacalidadyeficienciaen
el
software producido
Introduccin (continuacin)
La crisis se caracterizo por los siguientesproblemas:
Imprecisin en laplanificacindelproyectoy estimacin de
los costos.
Baja calidad del software.
Dificultad
demantenimientodeprogramascon
undiseopoco estructurado, etc.
2.1. DEFINICIN DE IS
Fritz Bauer, 1969: Ms que una
disciplina
o
una
parte
del
conocimiento, La Ingeniera es un
verbo, una palabra de accin, un
modo de enfocar el problema.
La Ingeniera del Software es el
establecimiento y uso de principios
robustos de la ingeniera a fin de
obtener econmicamente software
que sea fiable y que funcione
DEFINICIN DE IS
Bohem, 1976: Ingeniera del Software es la
aplicacin practica del conocimiento cientfico en
el diseo y construccin de programas de
computadora y la documentacin necesaria
requerida para desarrollar, operar (funcionar) y
mantenerlos.
Mills, 1980: La Ingeniera de Software tiene
como uno de sus principales objetivos la
produccin de programas que cumplan las
especificaciones, y que se demuestren correctos,
producidos en el plazo y costo adecuado
DEFINICIN DE IS
Meyer, 1988: La Ingeniera de Software es la
produccin de software de calidad.
IEEE 1993: La Ingeniera de Software es la
aplicacin
de
un
enfoque
sistemtico,
disciplinado y cuantificable hacia el desarrollo,
operacin y mantenimiento del software; es
decir, la aplicacin de Ingeniera de Software.
RESUMIENDO
La ingeniera de software es una aplicacin
prctica
del
conocimiento
cientfico
para
RESUMIENDO
Ingeniera
de
sistemtico,
softwarees
disciplinado
la
y
aplicacin
de
cuantificable
un
al
enfoque
desarrollo,
es
decir,
la
aplicacin
de
la
ingeniera
al
Historia de la ing de sw
(continuacin)
Su origen se debi a que el entorno de desarrollo de sistemas software
adoleca de:
Historia de la ing de sw
(continuacin)
Esto es lo que se ha denominado habitualmente "crisis del
software", que histricamente se gener en los siguientes
pasos:
Historia de la ing de sw
(continuacin)
- Tercera Fase. La crisis (1965-1970)
Desarrollo inacabable de grandes programas
Ineficiencia, errores, coste impredecible
Nada es posible.
- Cuarta Fase. Innovacin conceptual (1970-1980)
Fundamentos de programacin
Verificacin de programas
Metodologas de diseo.
- Quinta Fase. El diseo es el problema (1980-?)
Entornos de programacin
Especificacin formal
Programacin automtica.
Historia de la ing de sw
(continuacin)
Cmo se define crisis?
La palabra crisis se define en el diccionario como "un punto decisivo en el
curso de algo; momento, etapa, o evento decisivo o crucial". Sin embargo
para el software no ha habido ningn punto crucial, slo una lenta evolucin.
La crisis en la industria del software permanece durante muchos aos, lo
cual parece una contradiccin para el trmino. Lo que si se podra decir es
quehay un problema crnico en el desarrollo de software.
Que ha venido originado por una falta de:
Formalismo y metodologa
Herramientas de soporte
Administracin eficaz
Historia de la ing de sw
(continuacin)
Actualmente est surgiendo una gran expectativa ante la
evolucin de laIngeniera del Software, al ir apareciendo
nuevos mtodos y herramientas formales que van a permitir en
el futuro un planteamiento de ingeniera en el proceso de
elaboracin de software.
Dicho planteamiento permitir dar respuesta a los problemas de:
- Administracin
- Calidad
- Productividad
- Fcil mantenimiento
Este ltimo es uno de los grandes problemas, pues puede llegar
a suponer un importe superior al 60% del total del coste del
software.
ndice de Fallos
Mortalidad
Infantil
Tiempo
Curva de Baera
Pressman Roger S. Ingeniera del software, Ed. Mc Graw Hill, 5 ed
ndice de fallos
Cambio
Curva real
Tiempo
Pressman Roger S. Ingeniera del software, Ed. Mc Graw Hill, 6 ed
Las reas claves del Proceso forman la base del control de gestin de
proyectos del software y establecen contexto en el que se aplican los
mtodos tcnicos, se obtienen productos del trabajo (modelos,
documentos, datos, informes, formularios, etc.), se establecen hitos, se
segura la calidad y el cambio se gestiona adecuadamente.
Capa de Herramientas
Herramientas
Mtodos
Proceso
Un enfoque de calidad
Las herramientas de la Ingeniera de Software proporcionan un enfoque
automtico o semi-automtico para el proceso y para los mtodos. Cuando se
integran herramientas para que la informacin creada por una herramienta la
pueda utilizar otra, se establece un sistema de soporte para el desarrollo del
software llamado Ingeniera del Software Asistida por Computadora (CASE).
Deseos
Necesidades
Especificacione
s
Software
El proceso de desarrollo de
software
las
necesidades
y/o
Otras definiciones de
CALIDAD
Control de Calidad
El control de calidad es una serie de
inspecciones, revisiones y pruebas
utilizadas a lo largo del proceso del
software para asegurar que cada
producto cumpla con los requisitos
que le han sido asignados.
Garanta de Calidad
La garanta de calidad consiste en la auditoria y
las funciones de informacin de la gestin. El
objetivo de la garanta de calidad es proporcionar
la gestin para informar de los datos necesarios
sobre la calidad del producto, por lo que se va
adquiriendo una visin ms profunda y segura de
que la calidad del producto esta cumpliendo sus
objetivos.
Costos de Calidad
los
de
las
la
Costos de Prevencin
En el costo de prevencin se incluye:
Planificacin de calidad,
Revisiones de tcnicas formales,
Equipo de pruebas,
Formacin.
Costos de Evaluacin
En el costo de evaluacin se incluyen actividades
para tener una visin mas profunda de la
condicin del producto la primera vez a travs de
cada proceso.
Algunos ejemplos de costos de evaluacin:
Inspeccin en el proceso y entre procesos,
Calibrado y mantenimiento del equipo,
Pruebas.
Costos de Fallo
Los costos de fallo son los costos que desapareceran si
no surgieran defectos antes del envi de un producto a
los clientes.
Estos costos se pueden subdividir en costos de fallo
interno y costos de fallo externo.
Los internos se producen cuando se detecta un error en
el producto antes de su envi. Entre estos se incluyen:
Revisin,
Reparacin,
Anlisis de las modalidades de fallos.
Continuacin
Los costos de fallo externo son los que se
asocian a los defectos encontrados una vez
enviado el producto al cliente.
Algunos ejemplos de costos de fallo externo:
Resolucin de quejas,
Devolucin y sustitucin de productos,
Soporte de lnea de ayuda,
Trabajo de garanta.
Portabilidad
Flexibilidad
Reusabilidad
Facilidad de Prueba
Interoperatividad
Correccin
Fiabilidad
Usabilidad
Integridad
Eficiencia
Factores de calidad de
McCall
Correccin. Hasta dnde satisface un programa su
especificacin y logra los objetivos propuestos por el
cliente. Hace lo que quiero?. Dicho de otra forma,
es la capacidad de los productos de software para
realizar con exactitud sus tareas, tal y como se
definen en las especificaciones.
La correccin es la cualidad principal. Si un sistema
no hace lo que se supone que debe hacer, poco
importan el resto de consideraciones que hagamos
sobre l si es rpido, si tiene una bonita interfaz de
usuario, etc.
Factores de calidad de
McCall
Fiabilidad. Hasta donde se puede
esperar que un programa lleve a cabo
su funcin con la exactitud requerida.
Lo hace de forma fiable todo el
tiempo?.
Eficiencia. Es la capacidad de un
sistema de software para exigir la
menor cantidad posible de recursos
hardware, tales como tiempo del
procesador,
espacio
ocupando
Factores de calidad de
McCall
Integridad. Es la capacidad de los sistemas
software de proteger sus diversos componentes
(programas, datos, etc.) contra modificaciones y
accesos no autorizados. Hasta donde se puede
controlar el acceso al software o a los datos por
personas no autorizadas. Es Seguro?
Usabilidad (facilidad de manejo). Es la facilidad
con la cual personas con diferentes formaciones y
aptitudes pueden aprender a usar los productos de
software y aplicarlos a la resolucin de problemas.
Tambin cubre la facilidad de instalacin, de
operacin y de supervisin.
Factores de calidad de
McCall
Facilidad de mantenimiento. El
esfuerzo necesario para localizar y
arreglar un error en un programa.
Puedo corregirlo.
Flexibilidad. El esfuerzo es
necesario para modificar un programa
que ya esta en funcionamiento.
Puedo cambiarlo?.
Facilidad de prueba. El esfuerzo
necesario para probar un programa y
Factores de calidad de
McCall
Portabilidad. Es la facilidad de transferir los
productos software a diferentes entornos hardware y
software.
Reusabilidad (capacidad de reutilizacin). Es la
capacidad de los elementos de software de servir
para la construccin de muchas aplicaciones
diferentes.
Interoperatividad. El esfuerzo necesario para
acoplar un sistema con otro. Interoperatividad es la
facilidad de combinar unos elementos de software
con otros. Podr hacerlo interactuar con otro
sistema?.
50
2. Proceso de desarrollo de
Software
51
Iniciacin
Elaboracin
Construccin
Transicin
Modelado del
negocio
Requisitos
Anlisis y diseo
Implementacin
Pruebas
Despliegue
Flujos de trabajo
de soporte
Gestin del cambio
y configuraciones
Gestin del proyecto
Entorno
Iteraciones
preliminares
53
Iter
#1
Iter
#2
Iter
#n
Iter
#n+1
Iter
#n+2
Iter
#m
Iter
#m+1
4. Lenguaje Unificado de
Modelado.
UML es un lenguaje grfico para modelar, disear,
estructurar, visualizar, especificar y documentar Software.
UML es un lenguaje para modelar.
Su vocabulario y sintaxis estn ideados para la
representacin conceptual y fsica de un sistema.
Proporciona vocabulario comn a la cadena de produccin.
Es un estndar para crear planos completos y no ambiguos.
54
Lenguaje Unificado de
Modelado
Use Case
Use Case
Diagrams
Diagramas
Diagrams de
Secuencia
Scenario
Scenario
Diagrams
Diagramas
Diagrams de
Colaboracin
Scenario
Scenario
Diagrams
Diagramas
Diagrams de
Estados
55
Use Case
Use Case
Diagrams
Diagramas
Diagrams de
Casos de Uso
State
State
Diagrams
Diagramas
Diagrams de
Clases
Modelo
State
State
Diagrams
Diagramas
Diagrams de
Objetos
State
State
Diagrams
Diagramas
Diagrams de
Componentes
Component
Component
Diagrams
Diagramas
Diagrams de
Diagramas de
Actividad
Distribucin
56
Examen de Entrada
Ejemplo
Gestin de Proforma
AN_Cliente
60
AN_Vendedor
EN_Proforma
EN_Articulo
61
AN_Vendedor
<<include>>
Nueva Proforma
<<extend>>
<<include>>
Elabora Proforma
Buscar Cliente
<<include>>
Buscar Articulo
U_ Vendedor
<<extend>>
Agregar Articulo
<<extend>>
<<extend>>
Grabar Proforma
62
Quitar Articulo
AN_Vendedor
Verifirca Existencias
Hay Articulo?
NO
SI
Proporciona Informacin
Solicita Informacin
Elabora la Proforma
Recibe la Proforma
63
DIAGRAMA DE
SECUENCIA
1 : Iniciar Sesion()
14 : Muestra mensaje()
64
65
66
67
DIAGRAMA DE CLASES
Proforma
Acceso
MenuBase
ProformaNue
ProformaBas
ClienteBus
ProformaBus
ArticuloBus
ArticuloAgr
ProformaGra
Mensaje
68
Fecha
-num: String
-fec: String
-emp: Empleado
-cli: Cliente
-lineas: HashMap
RegistroProf
-pro: Proforma
+acceso()
+nuevo()
+cancelar()
+busCliente()
+busArticulo()
+agregar()
+quitar()
+grabar()
+getFec(): Strimg
LineaProf
Empleado
-cod: String
-nom: String
-car: String
-usua: String
-pass: String
+setCod(cod: String): void
+getCod(): String
+setNom(nom: String): void
+getNom(): String
+setCar(car: String): void
+getCar(): String
+setUsua(usua: String): void
+getUsua(): String
+setPass(pass: String): void
+getPass(): String
-art: Articulo
-can: int
+setArt(art: Articulo): void
+getArt(): Articulo
+setCan(can: int): void
+getCan(): int
+getImporte(): double
GeneraNumero
+getNum(sql: String): String
Cliente
Articulo
-dni: String
-nom: String
-dir: String
-cod: String
-nom: String
-pre: String
Operacion
Conexion
+getConexion(): Connection
69
Proceso
Iterativo III
DIAGRAMA DE
Acceso
COMPONENTES
Proforma
LineaProf
Menu
Cliente
ProformaNue
ProformaBas
Articulo
ClienteBus
ProformaBus
RegistroProf
Empleado
ArticuloBus
Operacion
Conexion
Fecha
GeneraNumero
ArticuloAgre
ProformaGra
Mensaje
70
71
72
73
74
75
76
77
78
Proceso Iterativo
79
80
81
82
83
84
85
86
Referencias
Larman, C (2010). UML y Patrones, Madrid:Prentice Hall
Pressman, R (2002). Ingeniera del Software. Un Enfoque Prctico.
5 ed. Mxico:McGraw-Hill
Weitzenfeld, A (2005). Ingeniera de Software Orientada a Objetos
con UML, Java e Internet, Mxico:Thomson
Bennett, S. ,McRobb, S. (2007). Anlisis y Diseo Orientado a
Objetos de Sistemas Usando UML 3 ed. Madrid:McGraw-Hill
87
88
Fundamentos de TI
En grupos
PROYECTO DE APRENDIZAJE Y SERVICIOS
1) Liste las empresas, negocios o instituciones del Distrito de
San Martin de Porres que visitara para su trabajo de
aprendizaje y servicios del ciclo.
2) La tecnologa de informacin es un arma estratgica o una
herramienta de supervivencia para cada una de ellas?.
Justifique
3) Tendencias y retos de las tecnologas de informacin.
PREGUNTAS DE CRITERIO
5) Qu tendencias tecnolgicas cree habr en el futuro ?
6) La tecnologa de la informacin solo tiene efectos
positivos?
7) Presente en grupo un organizador visual de la sesin 1.