Está en la página 1de 24

Modelando una Solucin

de Software
(Alineados con la estrategia)



Versin resumida
(Extractos de la versin original)





Juan Bravo Carrasco



Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 2
JUAN BRAVO CARRASCO, 2008
Inscripcin N 169.936 del 24 de marzo de 2008
I.S.B.N.: 978-956-7604-15-9 del 24 de marzo de 2008
Derechos reservados, jbravo@vtr.net
(392 pginas., 24,5 x 17 cm.)













Puede adquirir la versin completa en formato papel o digital desde la pgina
www.evolucion.cl.














EDITORIAL EVOLUCIN S.A.
www.evolucion.cl, info@evolucion.cl
Santiago de Chile


Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 3
Contenido
CONTENIDO 3
INTRODUCCIN 4
CAPTULO 1. MTODO PARA LA GESTIN DE PROYECTOS 14
CAPTULO 2. INGENIERA DE SOFTWARE 16
CAPTULO 3. TEORA DE MODELOS APLICADA 18
CAPTULO 4. MODELAMIENTO DE DATOS 19
CAPTULO 5. ORIENTACIN A OBJETOS 20
CAPTULO 6. UNIFIED MODELING LANGUAGE (UML) 21
CAPTULO 7. HERRAMIENTAS DE LA TECNOLOGA DE INFORMACIN 22

Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 4
Introduccin
Modelar una solucin de software es una labor bella y creativa. Por esta razn,
frecuentemente se obtienen muy buenos productos que son verdaderas obras de
arte, tal como si a un artista le encargaran una obra (requerimientos) y l,
utilizando sus propios mtodos y herramientas de trabajo, diera vida a una
creacin nica e irrepetible.
Ser posible profesionalizar conservando la creatividad? S! y de esta forma
los mtodos y herramientas van a recibir el aporte de muchas personas. Modelar
soluciones de software puede ser arte y tecnologa a la vez.
Este es el desafo, modelar soluciones de software con tcnicas normalizadas,
buscando simplicidad, eficiencia y adaptabilidad al cambio, en el contexto de un
proceso general de desarrollo que permita trazabilidad y productos repetibles.
Por qu modelar? Porque es necesario representar formalmente una realidad
deseada, que de otra forma resultara muy difcil de transmitir, en este caso una
solucin de software. Lo ms probable es que la realidad deseada se encuentre
vagamente escrita y que principalmente est en la mente de las personas, ms como
un deseo difuso que como un requerimiento. La funcin del modelamiento es hacer
tangible y aclarar esa realidad para que luego se pueda implementar.
Si esa realidad deseada da respuesta a una necesidad por una parte y por otra los
modelos de esa realidad son factibles de implementar, entonces la probabilidad de
xito es alta. Eso es lo que quiere mostrar la siguiente figura.
Shari Pfleeger explica en su libro Ingeniera de software (2002, p. 226): Se utiliza
la especificacin de requerimientos para definir el problema. Entonces, podemos
declarar que algo es una solucin a un problema si satisface todos los
requerimientos planteados en la especificacin. En muchos casos el nmero de
soluciones es prcticamente ilimitado.
Siempre es necesario modelar la solucin antes de implementar?
Depende, si usted slo quiere extender una pared interior de 2 metros, es posible
que no requiera los modelos, puede contratar un experto y slo darle instrucciones
verbales, tal vez le resulte y ahorre tiempo y dinero. Sin embargo, si quiere
construir su casa necesitar de maquetas y muchos planos (obra gruesa, caeras de
agua, cables de electricidad y todo lo dems).
Necesidad
Realidad deseada
(difusa)
Modelos
de la solucin
Problema Solucin Implementacin
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 5
En el software es igual, toda aplicacin desde un costo de algunos miles de dlares
ya hace necesario un modelar formalmente. La idea es superar la construccin
artesanal de software (por ejemplo, construir sin planos) y aplicar los nuevos
conocimientos sobre teora de modelos, normalizacin (tal como orientacin a
objetos y UML) y construccin con herramientas CASE.
Contenido del libro
Lo primero sucede en esta misma introduccin, una seleccin de los modelos ms
relevantes de una solucin de software, donde slo se muestra un boceto de ellos
para lograr una visin de conjunto (el detalle de cada uno est en el resto del libro).
Esta presentacin ser nuestra gua y a partir de esta experiencia extraeremos una
conclusin vital: las competencias que debera tener un profesional de la
informtica. Las competencias son conocimientos, habilidades y actitudes
necesarias para modelar aplicaciones computacionales (o soluciones de
software), en este texto se presentan en la forma de captulos:
1. Un mtodo completo para la gestin de proyectos y as situar el
modelamiento de soluciones de software en su contexto.
2. La profesionalizacin de conocimientos que aporta la ingeniera de software
para comprender todos los aspectos tcnicos de los modelos, las normas y
estndares que existen.
3. Los mltiples aportes de la nueva teora de modelos, en particular el
modelamiento de funciones y el criterio curso normal de los eventos.
4. El indispensable modelamiento de datos.
5. Los necesarios conocimientos de la orientacin a objetos.
6. El estndar UML.
7. Las herramientas de la tecnologa de informacin.
Cada captulo, en el mismo orden, profundiza en la competencia
correspondiente, producindose un avance que parece una pirmide, tal como se
aprecia en la siguiente figura.
CAPTULO 1. MTODO PARA LA GESTIN DE PROYECTOS
CAPTULO 2. INGENIERA DE SOFTWARE
CAPTULO 3. TEORA DE MODELOS
CAPTULO 4. MODELAMIENTO DE DATOS
CAPTULO 5. ORIENTACIN A OBJETOS
CAPTULO 6. UML
CAPTULO 7. HERRAMIENTAS TI
Competencias necesarias para modelar aplicaciones computacionales
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 6
Sntesis de modelos de una solucin de software
Los modelos se crean en las etapas de anlisis y diseo de la Gestin Sistmica de
Proyectos (GSP)
1
. El camino para dibujarlos es iterativo, es decir, se van
perfeccionando mediante borradores sucesivos.
Es recomendable contar cuanto antes con un boceto de todos los modelos que se
considerarn para cada etapa de la aplicacin particular, una primera versin
destinada a lograr una visin de conjunto. Ese es el sentido de esta introduccin.
Seguimos la idea de una doble espiral que se traslapan parcialmente: la primera del
anlisis y la segunda del diseo, tal como vemos en la figura.

Mapas para la visin de conjunto
Conviene observar estos cinco mapas que deberan existir en la organizacin
previo al desarrollo de una aplicacin especfica. Son los mapas de necesidades,
proyectos, procesos, retroalimentacin y sistemas.



1
En el captulo 1 veremos el mtodo completo.
Anlisis Diseo Anlisis Diseo
Problemas detectados:
1. Pago tardo a
Proveedores
2. Trabajadores fuman en
sector atencin clientes
Responsabilidad
Social
Tiempo
Calidad
Productividad
Bienestar
Costo
Soluciones propuestas:
1. Alinear con la estrategia
2. Incluir como plan de
accin de RS
Mapa de necesidades
Mapa de
proyectos
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 7




Estos mapas son modelos que ayudan a lograr la visin de conjunto para luego
formalizar en el anlisis y diseo la solucin de software. El detalle de cada uno
se puede apreciar en el captulo 1.
La visin de conjunto es vital en la visin sistmica, cosmovisin que gua todo
el trabajo de este libro, tanto en los mapas como en los siguientes modelos, los
cuales tienen la caractersticas de contextualidad, es decir, dependen del mtodo
y nivel de madurez de cada organizacin.
Los modelos que se presentan a continuacin para anlisis y diseo son slo una
muestra de las posibilidades del modelamiento. Cada empresa debe tener su
propia ruta metodolgica e incluso adaptada segn tipos de proyectos.
Se presentan los modelos ordenados segn las etapas de anlisis y diseo. En la
siguiente figura se aprecia el objetivo y actores de cada una. Todo el
modelamiento est orientado al cliente (externo, quien paga), la etapa de anlisis
se orienta a definir el qu y la de diseo el cmo, en ambas participan analistas y
usuarios. Una vez que el diseo est completo, se enva al constructor (aunque
sea el mismo analista en otro rol).
Desarrollo
Planificacin
Estratgica
RS
Gestin de
Procesos
Gestin de
Proyectos
Gestin de
Calidad
Control de
Gestin
Gestin de
Contratos
Adquisiciones
Servicios
Bsicos
Finanzas Legal
Remuneraciones
y bienestar
Tecnologa y
Mantencin
Gestin de Personas Procesos Estratgicos
Proceso del Negocio Comercializar
Procesos de Apoyo
Recibir
Emitir
traspaso
Planear
cada local
Traspasar
Distribuir
Preparar
cada local
Presentar
Coordinar
merchand.
Ordenar Vender al detalle
Atencin
al cliente
Servicio
de garanta
Medicin
y seguimiento
Postventa
Conocer
la demanda
Visitar
Clientes
Estadsticas
internas
Proyectar ventas
Emitir O/C
Comprar
Recepcionar
Almacenar
Cotizar
Analizar
cargos
Reclutar Inducir
Formar
Disear
carrera
Evaluar
Vender
Despachar
Cuadrar
Transporte Contabilidad
Devolucin
Cobranzas
Ventas
Entrega
Bodega Compras
Recepcin
Facturacin
Mapa de
procesos
Mapa de retroalimentacin Mapa de sistemas computacionales
Alcance
poco claro
Dificultades para
coordinar entrevistas
con usuarios
Liderazgo
sistmico
Meditacin
= Experiencias para evitar
= Experiencias para replicar
Retroalimentacin de
eventos destacados
Demora
en entrega
final
Buen trabajo
en equipo
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 8



Modelos de la etapa de anlisis
La siguiente seleccin de modelos no pretende ser exhaustiva, se incluye con el
nico objetivo de lograr una visin global, no se explican aqu porque el detalle
de cada uno est en los captulos del libro.
En este caso, los modelos siguen la lgica del mtodo GSP, en la empresa
corresponden a los contenidos del proceso de desarrollo de software que sta se
haya dado.
En esta etapa todo el trabajo se centra en el modelo de negocios de la
solucin, con cinco elementos que se representan con la metfora de una
mesa, la cubierta es la estrategia (alineando la de la empresa y la de del
proyecto, incluye responsabilidad social) y las 4 patas son: personas
(incluyendo ambiente), procesos, estructura (organizacional y fsica) y
tecnologa (de todo tipo). En esencia: corresponde decidir Qu hacer,
comenzando por la cubierta de la mesa (detalle de la figura en el captulo
1).

Estructura
Personas
Procesos
Personas
Procesos
Tecnologa
Estrategia
Anlisis Diseo
Cmo Qu
Cliente
Usuarios y Analistas
Constructor
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 9
Luego se comienza a trabajar en la pata de los procesos: levantamiento detallado
y propuestas de cambio. Se emplean principalmente los modelos mapa de
procesos y flujograma de informacin, los cuales se observan en la siguiente
figura (detalle en los captulos 1 y 3 respectivamente).




Desde aqu surgirn definiciones para las otras patas de la mesa: personas,
estructura y tecnologa. Lo cual est descrito en el captulo 1.
Para definir el alcance de la solucin de software en la etapa de anlisis, se puede
emplear esta serie de modelos (una buena tcnica es por borradores sucesivos,
comenzando por cualquiera de ellos). El objetivo es decidir qu incluye el
modelo de negocios (detalle en los captulos 1, 2 y 3).










Cuadrar Despachar Vender
Programar Entregar
Inmediato
ACrdito
Al Contado
A domicilio
Vender al detalle
CLIENTE BODEGA FINANZAS
ADMINISTRATIVO DE BODEGA DESPACHADOR
PROCESO DESPACHOINMEDIATO
GD3
OE
GD4
GD3
GD2
GD1
GD4
OE
Buscar
producto
GDs
Cliente
recibe
y firma
recepcin
GD1
Reservar y
emitir GD
Rebajar
saldo
GD2
OE: Orden de Entrega, GD: Gua de Despacho
PROCESO
CUADRAR
PROCESOS
VENDER
Control
del stock
Compras
Devoluciones
Traspasos
Ventas
Devoluciones
Traspasos
Entradas Salidas Control
del stock
Compras
Devoluciones
Traspasos
Ventas
Devoluciones
Traspasos
Entradas Salidas
Proveedores
Compras
Artculos Ventas
Clientes
Proveedores
Compras
Artculos Ventas
Clientes
Mapa de procesos
Clientes
Proveedores
Gerencia
Sala de ventas
Pedidos y
devoluciones
Artculos y factura
Artculos y gua
Orden de compra y
devoluciones
Peticiones
Despacho de artculos
Niveles
Costos
Control
de stock
Diagrama de contexto
Modelo orientado al objetivo
principal del sistema
Clientes Artculos Proveedores
Cuentas
Contables
Historial
Ventas
Transacciones
Maestros
Historial
Compras
Ventas
X X X X
Compras
X X X X
Devolucin ventas
X X X X
Modelo orientado a los datos
Modelo orientado al flujo de
transacciones
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 10





Una vez lograda la decisin respecto a los qu, es necesario profundizar en los
requerimientos principales de la solucin de software, en tal caso, la
recomendacin es trabajar con estos nuevos modelos (detalle en los captulos 5 y
6).










Diseo general de la interfaz Diagrama de casos de uso
Cotizar
Jefe de
Adquisiciones
Cotizador
Aprobar
cotizacin
Enviar
O/C
Aprobar
O/C
Ingresar
O/C
Terminales del rea de Adquisiciones
Administrativo de
Adquisiciones
O/C = Orden
de Compra
Ingresa la Orden de Compra
a partir de los documentos de
cotizacin a proveedores.
La O/C queda disponible
para ser enviada al proveedor
luego de la aprobaci n
electrnica por el jefe de
adquisiciones
Ingresar O/C
Terminal en bodega
Administrativo de
Adquisiciones
Lneas de la
O/C
Unidades
Precio
Bodega
...
Encabezado
de O/C
N O/C
Fecha
Proveedores
Rut
Nombre
compuesta por
* 1
existe en contiene
* 1
contiene existe en
*
1
existe en
almacena
Productos
...
Caso de uso de alto nivel Caso de uso de expandido
Modelo conceptual con atributos
Encabezado de
O/C
Proveedores
Lneas de la
O/C
Productos
* 1
* 1
1
1..*
Bodega
*
1
compuesta por
se asocia a
contiene
existe en contiene
existe en
existe en
almacena
Encabezado de
O/C
Proveedores
Lneas de la
O/C
Productos
* 1
* 1
1
1..*
Bodega
*
1
compuesta por
se asocia a
contiene
existe en contiene
existe en
existe en
almacena
1. Si el nmero de O/C ya existe, vea caso de uso Corregir Correlativo. 2
Incluye interfaces detalladas de E/S
Ingresar O/C
Terminal del Administrativo de Adquisiciones
Administrativo
de Adquisiciones
Resumen: (el mismo del caso de uso de alto nivel).
Funciones relacionadas:
Curso Normal de los eventos
Excepciones:
Accin del actor Respuesta del sistema
1. Tomar la O/C desde el archivador
2. Ingresar N O/C en (A) 3. Verifica correlativo y env a respuesta
en (B)
4. Ingresar Rut en (D) 5. Verifica que proveedor exista, obtiene
y despliega nombre y fono en (E) y (F)
6.
Para cada lnea: Para cada lnea:
7. Ingresar el cdigo de 8. Verifica existencia del producto,
producto en (H) obtiene y d espliega la descripci n
y el precio en (I) y (J)
9. Ingresar las unidades en (K) 10. Calcula el s ubtotal y despliega en
(L)
10. Dar OK a la l nea 11 .
Modelo conceptual de datos
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 11






Modelos de la etapa de diseo
De la misma forma que la etapa de anlisis, es decir, mediante borradores
sucesivos y la tcnica de desarrollo en espiral (ver anexo 3) se avanza en el
diseo, sin mayores problemas de volver a veces a la etapa de anlisis, porque
ambas forman una totalidad que llamamos modelar una solucin de software (el
detalle de estos modelos est en los captulos 5 y 6).













N Gua Recepcin
Fecha Recepcin
RUT Proveedor -
Razn Social Proveedor
Cdigo Enc. Recepcin
AA
CC
BB
DD
EE FF
GG
Direccin Proveedor
Comuna Ciudad Fono Fax
HH
II JJ KK LL
MM NN OO
Grabar Grabar
L. Cdigo Descripcin Precio Cantidad Valor Neto
Total acumulado
PP QQ RR
Encargado Recepcin
Cerrada
Anulada
SS TT
UU
Cerrar Cerrar VV
Anular Anular
WW
Salir Salir
XX
Gua Interna de Recepcin por Compra
Gua de Despacho de Proveedor N Fecha G/ D. Proveedor N de O/C. Gua de Despacho de Proveedor N Fecha G/ D. Proveedor N de O/C.
e-Mail
YY ZZ
LL LL
XX XX
Interfaz de Entrada
Ingreso de transaccin
Encabezado, detalle y totales segn
Formato de pantalla adjunto
Aceptar datos y actualizar lnea a
lnea cada producto.
Enviar mensajes para verificar
Existencia de personas y artculos,
Ambos deben existir.
Cuadrar totales para referencia.
Enviar solicitudes para actualizar el stock
Ingreso de transaccin
Encabezado, detalle y totales segn
Formato de pantalla adjunto
Aceptar datos y actualizar lnea a
lnea cada producto.
Enviar mensajes para verificar
Existencia de personas y artculos,
Ambos deben existir.
Cuadrar totales para referencia.
Enviar solicitudes para actualizar el stock
Ingreso de transaccin
Encabezado, detalle y totales segn
Formato de pantalla adjunto
Aceptar datos y actualizar lnea a
lnea cada producto.
Enviar mensajes para verificar
Existencia de personas y artculos,
Ambos deben existir.
Cuadrar totales para referencia.
Enviar solicitudes para actualizar el stock
Tabla de objetos, clase Ingreso de transaccin
Objeto Atributos Funciones
Ingreso de ventas Indicar stock del producto Deben cuadrar totales, stock mayor a
unidades por vender. Mensaje 5
Ingreso de compras Crear proveedor y artculo si no
existen. Mensaje 4

Encabezado
de transaccin
N documento
Fecha
Rut persona
1 Agregar
2 Consultar
3 Imprimir
Detalle
de transaccin
N documento
Cdigo artculo
Costo
Cantidad
1 Clculo total
Productos
1 Agregar
2 Consultar
3 Imprimir
4 Sumar saldo
5 Restar saldo
Personas
1 Agregar
2 Consultar
3 Imprimir
C/E
Mensaje
1
C/E
C/E
Mensajes 4 y 5
Ingreso de transaccin
1 Aceptar datos
2 Cuadrar totales
Encabezado, detalle y
totales segn formato
Cdigo artculo
Tipo artculo
Descripcin
ltimo costo
Saldo
Rut
Nombre
Direccin
Telfono
Visin interna de la clase ingreso de
transaccin con la tabla de objetos
Ingresar
transaccin
Encabezado
de transaccin
Personas
Detalle de
transaccin
Productos
C/E
Mensaje 1
C/E
Mensajes 4 y 5
Ingresar
transaccin
Encabezado
de transaccin
Personas
Detalle de
transaccin
Productos
C/E
Mensaje 1
C/E
Mensajes 4 y 5
Modelo funcional generalizado
Interfaz visual detallada
Modelo funcional generalizado y detallado
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 12






Ingresar N de O/C
Dar OK a la lnea
Ingresar cdigo de prod.
Administrativo Sistema
Repetir hasta
que no haya ms
productos
Ingresar cantidad
Ingresar N de O/C
Dar OK a la lnea
Ingresar cdigo de prod.
Administrativo Sistema
Repetir hasta
que no haya ms
productos
Ingresar cantidad
Contrato
Identificacin: Dar OK al ingreso de la lnea
Responsabilidades: con cada ingreso de lnea los
conceptos deben ser consistentes.
Tipos de datos: afecta a los conceptos
Encabezado de O/C y Detalle de O/C.
Referencias cruzadas: no hay
Notas: nada especial
Excepciones: la no existencia de la lnea en el
sistema ya fue validada con el ingreso de O/C.
Salida: no hay
Precondiciones: no existe la lnea.
Poscondiciones:
Se cre una lnea en el concepto detalle.
Se actualiz el contador de lneas en el
encabezado.
Se actualiz la asociacin entre
encabezado y detalle de O/C.
Contrato Diagrama de secuencia
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 13
Los dos modelos ms caractersticos del diseo desde el punto de vista de UML
son el de diseo de clases y colaboracin (detalle en el captulo 6).







Lneas de la
O/C
Unidades
Precio
Agregar lnea
Productos
...
Bodega
...
Encabezado de O/C
N O/C
Fecha
Crear lnea
Imprimir
Proveedores
Rut
Nombre
Crear proveed.
Modificar Rut
Modificar nombre
1
1..*
compuesta por
se asocia a
* 1
existe en contiene
* 1
contiene existe en
*
1
existe en
almacena
Operacin: Dar OK al Ingreso de la lnea de O/C
Ingresar producto
(cd, cant, pre)
1: Crear lnea de O/C
(cod, cant, pre)
1.1: Crear (cod, cant, pre)
Terminal del
administrativo
Encabezado
de O/C
Lneas de la
O/C
Diagrama de colaboracin
Diagrama de diseo de clases
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 14
Captulo 1.
Mtodo para la gestin de proyectos
Este captulo introduce en los conceptos y la necesidad de contar con un mtodo
completo para la gestin de proyectos en la organizacin, no slo en el mbito
tecnolgico.
Esta es la primera competencia considerada para apoyar la elaboracin de
modelos de una solucin de software, tal como se aprecia en la siguiente figura
(en la introduccin se incluy la visin global de las competencias). Es necesario
que el analista conozca la totalidad de pasos de un proyecto para insertar su
aporte. Podramos decir que es un conocimiento de tipo horizontal, con visin
de procesos, porque se refiere a entender la totalidad de la gestin de proyectos,
independiente de que su foco estar en las etapas de anlisis y diseo.
La visin global, sistmica, que ofrece un mtodo es indispensable para entender
la totalidad que surge de necesidades concretas en la empresa que los proyectos
ayudarn a resolver creando una habilidad organizacional.
Al mtodo que presentamos en estas pginas le hemos llamado GSP (Gestin
Sistmica de Proyectos), es resultado de extensas investigaciones acerca de las
mejores prcticas de proyectos y es un extracto del libro Gestin de proyectos de
procesos y tecnologa, sealado en el prlogo.
Trabajar metodolgicamente es una competencia indispensable para todo
profesional del rea de proyectos y para todo tipo de proyectos, ya sea que estn
orientados a procesos del negocio, de apoyo o estratgicos. Por otra parte, toda
organizacin debe contar con un mtodo para la gestin de sus proyectos.
Las etapas son los grandes bloques que aporta el mtodo GSP: concepcin,
factibilidad, anlisis, diseo, implementacin, despliegue y operacin.
Las etapas estn agrupadas en tres fases: estudio, desarrollo y mejora continua.
Tanto las etapas como las fases se pueden traslapar en los lmites.
Tambin existen prcticas transversales a las etapas, es decir, aplican en algunas
o en todas las etapas del mtodo. Son 28: direccin del proyecto, plan de la
etapa, exposicin de los planes, retroalimentacin, equipo de trabajo, entrevistas,
comunicacin, informes, tcnicas, herramientas de apoyo, trazabilidad, Quick
wins, costos y duracin, gestin de riesgos, gestin de la calidad, responsabilidad
social, insercin, orientacin al cliente, sensibilizacin, capacitacin,
seguimiento, cuidar la solucin anterior, continuidad operacional, plan de
recursos fsicos del proyecto, kill time, control de cambios, gestin del cambio y
gestin de proveedores.
Veremos:
Trabajar metodolgicamente
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 15
Claves de la implantacin de mtodo
Adaptacin y profesionalismo
Etapas genricas
Prcticas transversales


Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 16
Captulo 2.
Ingeniera de Software
El objetivo ms importante de la ingeniera de software es lograr la produccin
profesional de software, donde se aumente la calidad y la productividad y se
disminuyan los riesgos del proyecto mediante una excelente planificacin y
modelamiento. No se refiere a la produccin en serie, sino a la obtencin de un
producto creativo y personalizado, desarrollado con mtodo, tcnicas y
herramientas conocidas.
Esta es la segunda competencia considerada para apoyar la elaboracin de
modelos de una solucin de software, tal como se aprecia en la siguiente figura
(en la introduccin se incluy la visin global de las competencias). Es necesario
que el analista conozca acerca de la ingeniera de software para que inserte su
aporte en el contexto de esta disciplina. Es una competencia de tipo vertical,
porque se profundiza en una especializacin, el desarrollo de software.
Se trata de avanzar desde aplicaciones computacionales que son obras de arte
nicas, hacia productos de programacin normalizados, con documentacin
automatizada, fciles de construir y de mantener, para lograr aumentos de
productividad de los desarrolladores de software.
No hay una contradiccin entre obtener productos creativos trabajando
metodolgicamente.
Hay que desmitificar la produccin de software, transformndola en una
actividad mucho ms amistosa, a travs de la aplicacin de tcnicas simples y
herramientas poderosas, con una finalidad revolucionaria: permitir que los
usuarios calificados puedan participar activamente en todo el ciclo de
desarrollo. Usuarios calificados son profesionales y ejecutivos que poseen
entrenamiento formal en tecnologa de la informacin, quienes conocen su
problema y saben como estructurarlo.
La orientacin del captulo y de todo el libro, es hacia la produccin de software
que apoye directamente los procesos de la organizacin teniendo siempre al
cliente como norte (al cliente final, el que paga).
La ingeniera de software incluye la produccin de otros productos de software,
como sistemas operativos, herramientas de productividad o de automatizacin de
oficinas. stos siguen patrones parecidos a la produccin de software
administrativo e incluyen algunos aspectos ms especializados, como el nfasis
en la programacin orientada al objeto o la utilizacin de lenguajes que provean
mxima eficiencia.
Todo lo que se refiere al apoyo automatizado para el desarrollo de software
(Herramientas CASE) se incluy en el captulo 7, sobre herramientas de la
tecnologa de informacin.
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 17
Veremos:
Alcance de la ingeniera de software
Planificacin en informtica
Sistema de productividad en el desarrollo de software
Criterios de desarrollo de software
Mtodos para la produccin de software
Apoyo del diseo en la explotacin del sistema
Diseo de interfaces
Normas y estndares aplicados a los modelos TI



Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 18
Captulo 3.
Teora de Modelos Aplicada
La nueva teora de modelos aporta avances vitales que deben ser conocidos para
enriquecer la creacin de modelos de una solucin de software.
Esta es la tercera competencia considerada para apoyar la elaboracin de
modelos de una solucin de software, tal como se aprecia en la siguiente figura
(en la introduccin se incluy la visin global de las competencias). En este caso,
el analista debe conocer acerca de la teora de modelos como una simple
responsabilidad profesional que deriva de su misin de modelador de una
realidad deseada.
Los aportes de visin sistmica y de la gestin de procesos, en particular el
criterio del curso normal de los eventos, son claves en esta misin.
Veremos:
Marco terico de los modelos
Modos de procesamiento
Once claves de los modelos computacionales
Modelamiento de funciones
Fundamentos del modelamiento de funciones
Criterio curso normal de los eventos




Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 19
Captulo 4.
Modelamiento de Datos
El modelamiento de datos logra una visin de conjunto de los datos de la
aplicacin y de su contexto. En todo caso, se requiere un gran modelo con los
conjuntos de datos de toda la organizacin para que las diferentes aplicaciones
vean y trabajen con la porcin que les corresponde.
Esta es la cuarta competencia considerada para apoyar la elaboracin de modelos
de una solucin de software, tal como se aprecia en la siguiente figura (en la
introduccin se incluy la visin global). Es indispensable que el analista
conozca acerca del modelamiento de datos como simple responsabilidad
profesional porque es una habilidad bsica de su labor.
Es vital la visin de conjunto que provee el modelo conceptual de datos de toda
la organizacin, permite comprender, ubicarse y evitar inconsistencias como la
de crear dos veces la misma tabla. De esta forma, el aporte de la solucin de
software ser aportar nuevas tablas o modificar las existentes.
Veremos:
Definiciones sobre el modelo de datos
Criterios bsicos de normalizacin de datos
Enfoque de bases de datos

Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 20
Captulo 5.
Orientacin a Objetos
La orientacin a objetos (OO) provee una forma simple y natural para crear los
modelos de la solucin de software. Los objetivos que se pretenden lograr son
ambiciosos: aumentar la productividad, mejorar la calidad, facilitar la
mantencin, incorporar al usuario, reducir los riesgos y reutilizar el trabajo
previo, entre otros. Cabe destacar dos caractersticas: la mayor naturalidad y el
aporte a los contenidos a travs de una biblioteca de clases que se va
perfeccionando en el tiempo.
Esta es la quinta competencia considerada para apoyar la elaboracin de modelos
de una solucin de software, tal como se aprecia en la siguiente figura (en la
introduccin se incluy la visin global de las competencias). Es necesario que el
analista sea muy hbil en la orientacin a objetos como parte de su
responsabilidad profesional, porque es una competencia central de su labor que
tiene un impacto mucho ms all de las etapas de anlisis y diseo, tiene que ver
con la visin de trabajar con integracin y componentes.
Con la orientacin a objetos es posible que la solucin de un desarrollador sea
comprendida ms fcilmente por otros, obtenindose mayor independencia del
modelo respecto a su creador; as, la empresa usuaria se beneficia doblemente,
porque no se repiten soluciones a los mismos problemas y porque hay una
inversin en inteligencia al ser posible que nuevos especialistas aprovechen todo
o parte del avance de sus predecesores, ms aun cuando el diseo queda
registrado en alguna herramienta de apoyo para esta etapa.
En este libro se aborda la orientacin a objetos desde el punto de vista del
desarrollo de las aplicaciones computacionales que apoyarn el negocio de la
organizacin.
Veremos:
Fundamentos de la orientacin a objetos
Definiciones sobre orientacin a objetos
Conceptos de la orientacin a objetos
Proceso de generalizacin
Fases de la orientacin a objetos
Incorporacin de la tecnologa de objetos

Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 21
Captulo 6.
Unified Modeling Language (UML)
UML significa literalmente Lenguaje Unificado de Modelamiento, aunque la
idea queda mejor expresada con: Modelamiento Visual del Software, expresin
que se est utilizando cada vez ms en espaol. UML est orientado a la
especificacin, visualizacin y documentacin de los productos de software. Se
le considera parte del desarrollo tecnolgico de un modelo de negocios, enfocado
en la definicin de los requerimientos de la aplicacin.
Esta es la sexta competencia considerada para apoyar la elaboracin de modelos
de una solucin de software, tal como se aprecia en la siguiente figura (en la
introduccin se incluy la visin global de las competencias). Es indispensable
que el analista maneje UML porque es el nico estndar en esta materia, por lo
tanto, tambin se trata de una responsabilidad profesional, porque hoy es
considerado como parte de la calidad estar integrado al mundo (y en este caso es
literal porque UML es el lenguaje utilizado para solicitar servicios de desarrollo
al otro lado del planeta).
UML surgi de los aportes combinados de tres pioneros en el campo del
modelamiento orientado a objetos, los doctores Grady Booch, Jim Rumbaugh e
Ivar Jacobson, a peticin de la OMG (Object Management Group), organizacin
creada por las empresas lderes mundiales de la industria del software (entre las
cuales se encuentran IBM, Unisys, Alcatel, Toshiba y Microsoft) destinada a
fijar estndares en la industria con la tecnologa de objetos.
La primera versin de UML estuvo disponible en 1997. Ha sido perfeccionado
en el tiempo y la versin actual es la 2.0.
Es mucho lo que se puede decir de UML, en este captulo veremos los modelos y
en el anexo 7 podr ver un caso completo, el cual puede bajar desde la pgina
www.evolucion.cl.
Veremos:
Modelos de UML
Aplicacin de los modelos UML en la etapa de anlisis
Aplicacin de los modelos UML en la etapa de diseo



Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 22
CAPTULO 7.
Herramientas de la Tecnologa de Informacin
Las Herramientas de la Tecnologa de Informacin son todos los productos de
software que permiten aumentar la productividad de especialistas y usuarios. stas
incluyen desde poderosos procesadores de texto hasta sofisticados sistemas
administradores de bases de datos, pasando por mltiples productos de ayuda
directa a usuarios y especialistas en desarrollo de aplicaciones.
Esta es la sptima competencia considerada para apoyar la elaboracin de
modelos de una solucin de software, tal como se aprecia en la siguiente figura
(en la introduccin se incluy la visin global de las competencias). El analista
debe tener una visin global de las herramientas de la tecnologa de informacin
y debe conocer en detalle las que apoyan directamente su labor. Es una
responsabilidad profesional para aumentar la productividad del modelamiento y
para compartir en equipos de trabajo.
En el caso de las herramientas de ayuda en la produccin de software conviene
actuar con prudencia, por ah aparecen mensajes del siguiente tipo: es posible
que las aplicaciones se construyan casi solas o que el mismo usuario pueda
construir su propio software sin depender del programador. Esos y otros
mensajes se demuestran con aplicaciones muy pequeas y estructuradas,
extrapolndose las conclusiones al resto del software. Sin embargo, siendo
vlido, esa es una parte pequea de la realidad, lo habitual es que el especialista
en informtica tenga la responsabilidad de construir aplicaciones de mayor nivel
de complejidad, en las cuales la herramienta ser slo un apoyo y siempre que se
pueda integrar al esquema de desarrollo del departamento de sistemas en
particular.
Para tranquilidad de muchos programadores, hasta hoy no se ha visto el
reemplazo de un especialista por una herramienta de productividad. S ocurre que
la incorporacin de la nueva herramienta acarrea a veces nuevas contrataciones,
debido a la complejidad de su manejo y al aprovechamiento de las nuevas
oportunidades que genera su mayor potencial.
Abordaremos el tema con una introduccin general a los lenguajes de cuarta
generacin, para apreciar la evolucin que deriv en las herramientas de la
tecnologa de informacin. Luego estudiaremos las herramientas de uso especfico,
es decir, aqullas orientadas a temas precisos, como procesadores de texto, planillas
electrnicas o consultas de bases de datos; algunos productos los pueden usar
directamente los usuarios finales. Despus, revisaremos las soluciones de software
generalizadas, para concluir con las herramientas de apoyo para la produccin de
software, ms conocidas como herramientas CASE.
Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 23
Veremos:
Evolucin de los lenguajes de computador
Herramientas de uso especfico
Una pirmide de soluciones
Herramientas de apoyo para la produccin de software



Resumen libro Modelando una solucin de software, Juan Bravo Carrasco 24
Fin resumen
Puede adquirir la versin completa en formato papel o digital desde la pgina
www.evolucion.cl o escribir a silviabravo@evolucion.cl. Cel. 9-2252004.
Si desea estudiar estos temas con mayor profundidad, en nuestra pgina
www.evolucion.cl puede apreciar nuestros programas de cursos, diplomado y
mster.

También podría gustarte