Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen Libro Modelando Una Solucion de Software JBC 2011
Resumen Libro Modelando Una Solucion de Software JBC 2011
de Software
(Alineados con la estrategia)
Versin resumida
(Extractos de la versin original)
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
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.
P ro b le m a
N ecesidad
S o lu ci n
R ealidad deseada
(difusa)
Im p le m e n ta ci n
M odelos
de la solucin
C A P T U L O 7 . H E R R A M IE N T A S T I
C A P T U L O 6 . U M L
C A P T U L O 5 . O R IE N T A C I N A O B JE T O S
C A P T U L O 4 . M O D E L A M IE N T O D E D A T O S
C A P T U L O 3 . T E O R A D E M O D E L O S
C A P T U L O 2 . IN G E N IE R A D E S O F TW A R E
C A P T U L O 1 . M T O D O P A R A L A G E S T I N D E P R O Y E C T O S
A nlisis
D iseo
P ro d u ctivid ad
C o sto
C alid ad
S o lu cio n es p ro p u estas:
1 . A lin ear co n la estrateg ia
2 . In clu ir co m o p lan d e
acci n d e R S
T iem p o
P ro b lem as d etectad o s:
1 . P ag o tard o a
P ro veed o res
2 . T rab ajad o res fu m an en
secto r aten ci n clien tes
Mapa de necesidades
Mapa de
proyectos
Procesos Estratgicos
Mapa de
procesos
Desarrollo
Planificacin
Estratgica
Gestin de Personas
Gestin de
Procesos
RS
Gestin de
Proyectos
Gestin de
Calidad
Control de
Gestin
Analizar
cargos
Gestin de
Contratos
Evaluar
Reclutar
Inducir
Formar
Disear
carrera
Proyectar ventas
Conocer
la demanda
Cotizar
Recibir
Distribuir
Ordenar
Vender al detalle
Postventa
Preparar
cada local
Vender
Recepcionar
Planear
cada local
Atencin
al cliente
Emitir
traspaso
Presentar
Despachar
Medicin
y seguimiento
Traspasar
Coordinar
merchand.
Cuadrar
Servicio
de garanta
Visitar
Clientes
Emitir O/C
Estadsticas
internas
Almacenar
Procesos de Apoyo
Adquisiciones
Servicios
Bsicos
Finanzas
Contabilidad
Legal
Transporte
Remuneraciones
y bienestar
Tecnologa y
Mantencin
M editacin
C obranzas
B uen trabajo
en equip o
D evolucin
L ideraz go
sistm ic o
V entas
A lcance
poco claro
R etroalim entacin de
eventos destacados
D em ora
en entrega
final
Facturacin
C om pras
B odega
E ntrega
D ificultades para
coordinar entre vistas
con usuarios
R ecepcin
Mapa de retroalimentacin
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).
Q u
C m o
A nlisis
D iseo
C onstructor
C liente
U suarios y A nalistas
E strategia
P ersonas
T ecnologa
P rocesos
E structura
Vender
BODEGA
ADMINISTRATIVO DE BODEGA
Reservar y
emitir GD
Cuadrar
Despachar
PROCESOS
VENDER
GD4
Al Contado
Inmediato
A Crdito
A domicilio
FINANZAS
DESPACHADOR
GD3
GD2
GD1
GDs
Buscar
producto
GD4
OE
Rebajar
saldo
Cliente
recibe
y firma
recepcin
Programar
Entregar
GD3
GD2
GD1
Mapa de procesos
PROCESO
CUADRAR
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).
P edidos y
devoluciones
C lientes
C ostos
G erencia
N iveles
A rtculos y factura
C om pras
V entas
C ontrol
del stock
D evoluciones E ntradas
T raspasos
Salidas
D evoluciones
T raspasos
C ontrol
de stock
D espacho de artculos
A rtculos y gua
P roveedores
P eticiones
S ala de ventas
Diagrama de contexto
M aestros
P roveedores
C lientes
V entas
C om pras
D evolucin ventas
C om pras
C lientes
A rtculos
A rtculos P roveedores
T ran saccion es
X
X
C uentas
C ontables
H istorial
V entas
X
X
X
X
V entas
H istorial
C om pras
A p ro b ar
co tizaci n
A d m in istrativo d e
A d q u isicio n es
In g resar
O /C
A p ro b ar
O /C
E n viar
O /C
O /C = O rd en
d e C o m p ra
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).
T erm inal en bodega
In gresar O /C
A dm inistrativo de
A dquisiciones
Ingresar O /C
4. In gresar R ut en (D )
6 .
P ara cada lnea:
7. Ingresar el c digo de
producto en (H )
9. Ingresar las unidades en (K )
10. D ar O K a la lnea
alto nivel
Caso de uso de
se asocia a
1..*
contiene
*
E ncabezado de
O /C
1. T om ar la O /C desde el archivador
2. In gresar N O /C en (A )
existe en
P roveedores
P roveedores
contiene
*
existe en
R ut
N om bre
L neas de la
O /C
contiene
*
existe en
P roductos
L neas de la
O /C
U nidades
P recio
1
existe en
alm acena
contiene existe en
*
P roductos
...
existe en *
alm acena
B odega
B odega
...
N G u a R ecep ci n
R U T P roveed or
LL
C d igo
F on o
N d e O /C .
P recio
F ax
D escrip cin
C /E
M ensaje 1
Ingresar
transaccin
P ersonas
e-M ail
C iu d ad
L.
E ncabezado
de transaccin
D ireccin P roveed or
C om u n a
F ech a R ecep ci n
C an tid ad
D etalle de
transaccin
C /E
P roductos
M ensajes 4 y 5
V alor N eto
W
Y
C errar X
XX
A n u lar Z
S alir
V
G rab ar
Interfaz visual
detallada
C /E
M ensaje
1
E ncabezado, detalle y
totales segn form ato
C /E
1 A ceptar datos
2 C uadrar totales
1 C lculo total
R ut
N om bre
D ireccin
T elfono
1 A gregar
2 C onsultar
3 Im prim ir
D etalle
de transaccin
N docum ento
C digo artculo
C osto
C antidad
Ingreso de transaccin
P ersonas
Ingreso de transaccin
P roductos
C /E
M ensaje s 4 y 5
C digo artculo
T ipo artculo
D escripcin
ltim o costo
S aldo
1
2
3
4
5
A gregar
C onsultar
Im prim ir
S um ar saldo
R estar saldo
O b jeto
Ingreso d e ventas
Ingreso d e co m p ras
A d m in istrativo
S istem a
In g resar N d e O /C
In g resar c d ig o d e p ro d .
R ep etir h asta
q u e n o h a ya m s
p ro d u cto s
Diagrama de secuencia
C on trato
Id en tificacin : D ar O K al in greso de la lnea
R esp on sab ilid ad es: con cada ingreso de lnea los
conceptos deben ser consistentes.
T ip os d e d atos: afecta a los conceptos
E ncabezado de O /C y D etalle de O /C .
R eferen cias cru zad as: no hay
N otas: nada especial
E xcep cion es: la no existencia de la lnea en el
sistem a ya fue validada con el ingreso de O /C .
S alid a : no hay
P recon d icion es: no existe la lnea.
P oscon d icion es:
S e cre una lnea en el concepto detalle.
S e actualiz el contador de lneas en el
encabezado.
S e actualiz la asociacin entre
encabezado y detalle de O /C .
Contrato
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).
P roveedores
E ncabezado de O /C
N O /C
Fecha
C rear lnea
Im prim ir
com puesta por
se asocia a
contiene
R ut
N om bre
existe en
C rear proveed.
M odificar R ut
M odificar nom bre
1..*
L neas de la
O /C
U nidades
P recio
A gregar lnea
contiene
*
existe en
P roductos
...
1
existe en
alm acena
B odega
...
1: C rear lnea de O /C
E ncabezado
de O /C
1.1: C rear (cod , cant, pre)
L neas de la
O /C
Diagrama de colaboracin
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
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.
Veremos:
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
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
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
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
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.
Veremos:
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.