Está en la página 1de 89

FACULTAD DE INGENIERIA

Escuela Acadmica Profesional: Ingeniera de Sistemas


CURSO

INGENIERIA DE SOFTWARE

Introduccin al Software

Ing. Vctor E. Quevedo


Dioses

CONTENIDO
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
2.9.
3.0

Definicin de Ingeniera de Software


Historia de la Ingeniera de Software
Caractersticas del Software
Mitos del Software
Capas de la Ingeniera de Software
El proceso de Software
Software de alta calidad
Factores de calidad y productividad
Prueba de Entrada
Resolucin de Examen de Entrada

Tpica apariencia del


estudiante promedio
cuando le preguntan
acerca de Ingeniera de
Software

Introduccin

El trmino de Ingeniera de Software


fue introducido a finales de los 60 a
raz de lacrisis del software. Esta crisis
fue el resultado de laintroduccinde la
tercera generacin del hardware.

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.

Por otra parte se exige que el software sea eficaz y


barato tanto en el desarrollo como en la compra.
Tambin se requiere una serie de caractersticas
como fiabilidad, facilidad de mantenimiento y de
uso, eficiencia, 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

proveer metodologas y tcnicas que ayuden a


desarrollar sistemas de software a tiempo, y a
su vez que aseguren que el desarrollador
cumpla con las expectativas de calidad y
permanezca dentro del presupuesto.

RESUMIENDO
Ingeniera

de

sistemtico,

softwarees
disciplinado

la
y

aplicacin

de

cuantificable

un

al

enfoque

desarrollo,

operacin y mantenimiento de software, y el estudio de estos


enfoques,

es

decir,

la

aplicacin

de

la

ingeniera

al

software.integra matemticas, ciencias de la computacin y


prcticas cuyos orgenes se encuentran en la ingeniera.

2.2. HISTORIA DE LA ING DE SW


Ingeniera del Software, es el trmino utilizado por
Fritz Baueren la primera conferencia sobre desarrollo
de software patrocinada por el Comit de Ciencia de
la OTAN celebrada en Garmisch (Alemania), en
octubre de 1968, previamente haba sido utilizado por
el holandsEdsger Dijkstraen su obraThe Humble
Programmer.
Puede definirse segn Alan Davis como "la aplicacin
inteligente de principios probados, tcnicas, lenguajes
y herramientas para la creacin y mantenimiento,
dentro de un coste razonable, de software que
satisfaga las necesidades de los usuarios".

Historia de la ing de sw
(continuacin)
Su origen se debi a que el entorno de desarrollo de sistemas software
adoleca de:

Retrasos considerables en la planificacin


Poca productividad
Elevadas cargas de mantenimiento
Demandas cada vez ms desfasadas frente a las ofertas
Baja calidad y fiabilidad del producto
Dependencia de los realizadores

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:

- Primera Fase. Los albores (1945-1955)

Programar no es una tarea diferenciada del diseo de una


mquina
Uso de lenguaje mquina y ensamblador.
- Segunda Fase. El florecimiento (1955-1965)
Aparecen multitud de lenguajes
Se pensaba que era posible hacer casi todo.

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.

Porque se crea la Ingeniera de


Software??

La ingeniera de software se crea debido a las siguientes caractersticas:


El producto debe ser confiable y realizar slo las tareas especificadas en
los requerimientos.
El producto debe ser robusto. Esto quiere decir que el software se
comporta de manera razonable, incluso en circunstancias no anticipadas
desde el principio.
El producto de software debe ser lo ms reutilizable posible, de manera
tal que pueda ser incorporado en otro producto de software si se
requiere.
El producto de software debe ser eficiente en el uso de los recursos del
sistema.
Se requiere desarrollar el software en una manera que lo haga evolutivo,
de forma tal que se pueda agregar funcionalidad adicional sin efectos
perjudiciales.
El producto de software debe cumplir con los requerimientos de
rendimiento especificados, es decir, debe cumplir algunas de las
restricciones relacionadas al rendimiento.
El producto de software tendr mayor valor si es portable, es decir que
puede trabajar bajo diferentes plataformas de software y ambientes

2.3. CARACTERSTICAS DEL


SOFTWARE
El software se desarrolla o construye;
no se fabrica.

Aunque existen similitudes entre el desarrollo del software y la


construccin
del
hardware,
ambas
actividades
son
fundamentalmente diferentes.
En ambas actividades la buena calidad se adquiere mediante un
buen diseo, pero la fase de construccin del hardware puede
introducir problemas de calidad que no existen (o son fcilmente
corregibles) en el software.
Ambas actividades dependen de las personas, pero la relacin
entre las personas dedicadas y el trabajo realizado es
completamente diferente para el software.
Ambas actividades requieren la construccin de un producto
pero los enfoques son diferentes.
Los costos del software se concentran en la ingeniera. Esto
significa que los proyectos de sw no se pueden manejar como si
fueran proyectos de fabricacin.

2.3. CARACTERSTICAS DEL


SOFTWARE
El software no se desgasta
Se
estropea

ndice de Fallos

Mortalidad
Infantil

Tiempo

Curva de Baera
Pressman Roger S. Ingeniera del software, Ed. Mc Graw Hill, 5 ed

Curva de fallos para el Software

ndice de fallos

Incremento del ndice de fallos


por efectos de laterales

Cambio

Curva real

Tiempo
Pressman Roger S. Ingeniera del software, Ed. Mc Graw Hill, 6 ed

2.3. CARACTERSTICAS DEL


SOFTWARE
Aunque la industria tiene una
tendencia hacia la construccin
por componentes, la mayora
del software an se construye a
la medida.
En el mundo del hardware, la
reutilizacin de componentes es una
parte natural del proceso de ingeniera.
En el mundo del software es el inicio.

2.5. CAPAS DEL


SOFTWARE

La Ingeniera del Software es una tecnologa estratificada, y debe estar


sustentada en un compromiso con la calidad.

Capa del Proceso


Herramientas
Mtodos
Proceso
Un enfoque de calidad

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 los Mtodos


Herramientas
Mtodos
Proceso
Un enfoque de calidad

Los mtodos de la Ingeniera del Software indican como construir


tcnicamente el software. Los mtodos abarcan una gran gama de tareas
que incluyen anlisis de requisitos, diseo, construccin de programas,
pruebas y mantenimiento.

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).

2.6. EL PROCESO DEL


SOFTWARE

Deseos
Necesidades
Especificacione
s

Software

El proceso de desarrollo de
software

2.6. EL PROCESO DEL


SOFTWARE
Un proceso de software establece un
marco comn del proceso definiendo
un pequeo numero de actividades del
marco de trabajo que son aplicables a
todos los proyectos del software, con
independencia de su tamao o
complejidad.

2.7. SOFTWARE DE ALTA


CALIDAD
Qu es calidad?

El grado en que un sistema, componente, o


proceso cumple con los requerimientos
especificados,

las

necesidades

expectativas del cliente o usuario.

y/o

Otras definiciones de
CALIDAD

ISO 9000: Calidad: grado en el que un conjunto de caractersticas


inherentes cumple con los requisitos

Real Academia de la Lengua Espaola: Propiedad o conjunto de


propiedades inherentes a una cosa que permiten apreciarla como igual, mejor
o peor que las restantes de su especie

Philip Crosby: Calidad es cumplimiento de requisitos

Armand V. Feigenbaum: Satisfaccin de las expectativas del cliente.

Genichi Taguchi: Calidad es la menor prdida posible para la sociedad.

William Edwards Deming: Calidad es satisfaccin del cliente.

Walter A. Shewhart: La calidad como resultado de la interaccin de dos


dimensiones: dimensin subjetiva (lo que el cliente quiere) y dimensin
objetiva (lo que se ofrece).

2.7. SOFTWARE DE ALTA


CALIDAD
Qu es calidad de software?
Pressman (2002) se refiere a la calidad del
software como
La concordancia con los requisitos
funcionales y de rendimiento
explcitamente establecidos, con los
estndares de desarrollo explcitamente
documentados, y con las caractersticas
implcitas que se espera de todo software
desarrollado profesionalmente.

Las definiciones anteriores resaltan tres


puntos importantes:
Los requisitos del software son la base de las medidas
de calidad. La falta de concordancia con los requisitos
es una falta de calidad.
Los estndares especificados definen un conjunto de
criterios de desarrollo que guan la forma en que se
aplica la ingeniera del software. Si no se siguen esos
criterios, casi siempre habr falta de calidad.
Existe un conjunto de requisitos implcitos que a
menudo no se mencionan. Si el software se ajusta a sus
requisitos explcitos pero falla en alcanzar los requisitos
implcitos, la calidad del software queda en entredicho.

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

El costo de la calidad incluye todos


costos acarreados en la bsqueda
la calidad o en bsqueda de
actividades
relacionadas
en
obtencin de la calidad.

los
de
las
la

El costo de calidad se puede dividir


en:
Costos de prevencin
Costos de evaluacin
Costos de fallos.

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.

2.8. FACTORES DE CALIDAD Y PRODUCTIVIDAD


(McCall)

Los factores que afectan la calidad del


software se pueden categorizar en dos
amplios grupos:
Factores que se pueden medir directamente (por
ejemplo, defectos por punto de funcin) y
Factores que se pueden medir solo
indirectamente (por ejemplo, facilidad de uso o
de mantenimiento).

2.8. FACTORES DE CALIDAD Y PRODUCTIVIDAD


(McCall)
Facilidad de Mantenimiento

Portabilidad

Flexibilidad

Reusabilidad

Facilidad de Prueba

Interoperatividad

Revisin del Producto

Transicin del Producto

Operacin del Producto

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?.

1. Introduccin a la Ingeniera de Software


La Ingeniera del Software es el establecimiento y uso de
principios de ingeniera, orientados a obtener software
econmico que sea fiable y funcione de manera eficiente sobre
mquinas reales, mediante la aplicacin de los elementos y
actividades siguientes: mtodos; planificacin y estimacin de
proyectos; anlisis de los requisitos del sistema y del software;
diseo de estructuras de datos; arquitectura de programas y
procedimientos algortmicos; codificacin; pruebas; instalacin
y mantenimiento; herramientas; y procedimientos.
La Ingeniera de Software concierne teoras, mtodos y
herramientas para el desarrollo profesional de software.

1. Introduccin a la Ingeniera de Software


Cul es la diferencia entre Ingeniera de Software e ingeniera
de sistemas?
A la ingeniera de sistemas le competen todos los aspectos de
desarrollo de sistemas basados en cmputos, incluyendo
hardware, software y procesos de ingeniera. La Ingeniera de
Software es parte de este proceso, haciendo referencia al
desarrollo de la infraestructura del software, aplicaciones y
bases de datos en el sistema.

1. Introduccin a la Ingeniera de Software


Qu es software?
Programas de cmputo y documentacin (documentos de
requerimientos, arquitectura y modelos de diseo y manuales
de usuario).
Los productos software pueden ser:
Genricos: Desarrollados para ser vendidos a una gama de
diversos clientes.
Hecho a medida: Desarrollado para un cliente particular
acorde a sus requerimientos y especificaciones.

1. Anlisis y Diseo de Sistemas


Cmo se construye un Sistema de
Informacin

50

2. Proceso de desarrollo de
Software

Un conjunto estructurado de actividades


necesarias para desarrollar un Sistema.

51

3. Proceso Unificado de Desarrollo (RUP)


Que es RUP: Forma disciplinada de asignar tareas y
responsabilidades en una empresa de desarrollo (quin hace
qu, cundo y cmo).
Objetivo: Asegurar la produccin de software de calidad
dentro de plazos y presupuestos predecibles.
RUP sigue un modelo iterativo que aborda la descomposicin
de un proyecto en mini proyectos realizando las tareas ms
riesgosas primero.
RUP se centra en la funcionalidad que el sistema debe poseer
para satisfacer las necesidades de un usuario que interacta
con el.
RUP establece una arquitectura de software permite obtener
diferentes vistas del sistema: Conceptual, Lgico, Fsico.
52

3. El Proceso Unificado de Desarrollo (RUP)


Fases
Flujos de trabajo
del proceso

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

Lenguaje Unificado de Modelado


1.Diagramas de casos de uso: Representa las funcionalidad del sistema.
2.Diagramas de clases: Representa la arquitectura del sistema.
3.Diagramas de objetos: Representa los objetos y sus relaciones.
4.Diagramas de secuencia: Representacin temporal de los objetos.
5.Diagramas de colaboracin: Representacin espacial de los objetos.
6.Diagramas de actividades: Representan el comportamiento de una
operacin.
7.Diagramas de estados: Representan el comportamiento de una clase.
8.Diagramas de componentes: Representan los componentes fsicos.
9.Diagramas de despliegue: Representan el despliegue de los
componentes.

56

Examen de Entrada

Ejemplo

Sistema de ventas en una tienda

4.- Ejemplo de Desarrollo del


Software
Tienda: Elaborar Proforma y Comprobante de Pago de
Artculos.
El cliente solicita artculos al vendedor este verifica las
existencias del articulo (Stock), si existe elabora la proforma
y la entrega al cliente, en caso contrario informa al cliente y
este se retira.
El cliente luego de un tiempo evala la proforma y decide
comprar los artculos, el vendedor verifica la proforma y
solicita al cliente cancelar el importe en caja, el cajero elabora
el comprobante de pago y se realiza la operacin.

Proceso Iterativo III

Gestin de Proforma
AN_Cliente

60

AN_Vendedor

Proceso Iterativo III


AN_Cliente

EN_Proforma

EN_Articulo

61

AN_Vendedor

Proceso Iterativo III


DIAGRAMA DE CASOS DE USO
Acceso al sistema

<<include>>

Nueva Proforma

<<extend>>
<<include>>

Elabora Proforma

Buscar Cliente

<<include>>
Buscar Articulo

U_ Vendedor
<<extend>>
Agregar Articulo
<<extend>>

<<extend>>

Grabar Proforma

62

Quitar Articulo

Proceso Iterativo III


DIAGRAMA DE ACTIVIDADES
AN_Cliente

Solicita una Proforma

AN_Vendedor

Verifirca Existencias
Hay Articulo?

NO
SI
Proporciona Informacin

Solicita Informacin

Elabora la Proforma
Recibe la Proforma

63

Proceso Iterativo III


Sistema
: U_Vendedor

DIAGRAMA DE
SECUENCIA

1 : Iniciar Sesion()

2 : Muestra Menu Principal()


3 : Nuava Proforma()

4 : Muestra Numero,Fecha, Usuario()


5 : Busca Cliente()

6 : Muestra datos del cliente()


7 : Busca Articulo()

8 : Muestra datos del articulo()


9 : Agrega articulo a Proforma()

10 : Muestra lineas del detalle()


11 : Quita articulo de Proforma()

12 : Muestra detalle actualizado()


13 : Graba Proforma()

14 : Muestra mensaje()

64

Proceso Iterativo III

65

Proceso Iterativo III

66

Proceso Iterativo III

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

+setNum(num: String): void


+getNum(): String
+setFec(fec: String): void
+getFec(): String
+setEmp(emp: Empleado): void
+getEmp(): Empleado
+setCli(cli: Cliente): void
+getCli(): Cliente
+getLineas(): HashMap
+agregarLinea(art: Articulo, can: int): void
+quitarLinea(cod: String): void
+getTotal(): double

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

+setDni(dni: String): void


+getDni(): String
+setNom(nom: String): void
+getNom(): String
+setDir(dir: String): void
+getDir(): String

+setCod(cod: String): void


+getCod(): String
+setNom(nom: String): void
+getNom(): String
+setPre(pre: double): void
+getPre(): double

Operacion

Conexion

+ejecutar(sql: String): String


+getTabla(sql: String): List
+getFila(sql: String): Object[]

+getConexion(): Connection

Proceso Iterativo III


DIAGRAMA DE BASE DE DATOS

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

Proceso Iterativo III

71

Proceso Iterativo III

72

Proceso Iterativo III

73

Proceso Iterativo III

74

Proceso Iterativo III

75

Proceso Iterativo III

76

Proceso Iterativo III

77

Proceso Iterativo III

78

Proceso Iterativo

79

Proceso Iterativo III

80

Proceso Iterativo III


Proforma
-num: String
-fec: String
-emp: Empleado
-cli: Cliente
-lineas: HashMap
+setNum(num: String): void
+getNum(): String
+setFec(fec: String): void
+getFec(): String
+setEmp(emp: Empleado): void
+getEmp(): Empleado
+setCli(cli: Cliente): void
+getCli(): Cliente
+getLineas(): HashMap
+agregarLinea(art: Articulo, can: int): void
+quitarLinea(cod: String): void
+getTotal(): double

81

Proceso Iterativo III

82

Proceso Iterativo III


Articulo
-cod: String
-nom: String
-pre: String
+setCod(cod: String): void
+getCod(): String
+setNom(nom: String): void
+getNom(): String
+setPre(pre: double): void
+getPre(): double

83

Proceso Iterativo III


Cliente
-dni: String
-nom: String
-dir: String
+setDni(dni: String): void
+getDni(): String
+setNom(nom: String): void
+getNom(): String
+setDir(dir: String): void
+getDir(): String

84

Proceso Iterativo III


Conexion
+getConexion(): Connection

85

Proceso Iterativo III

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.

También podría gustarte