Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.1. INTRODUCCIN
Se dice entonces que una metodologa es la que permita definir las etapas, las salidas,
entradas de un proyecto. Mantener un programa no es fcil, pero se puede lograr, por lo
tanto, las metodologas deben permitir una robusta formacin del proyecto que permita
utilizar mecanismos de mejora y que se usen los recursos disponibles con su mayor
rendimiento y eficacia.
1.2.2. METODOLOGAS VS. CICLO DE VIDA
Una metodologa define una estrategia global para enfrentarse con el proyecto. Entre los
elementos que forman parte de una metodologa se pueden destacar:
El ciclo de vida es el conjunto de fases por las que pasa el sistema que se est
desarrollando desde que nace la idea inicial hasta que el software es retirado o
remplazado.
Entre las funciones que debe tener un ciclo de vida se pueden destacar:
1
Definir las entradas y salidas de cada fase.
Describir los estados por los que pasa el producto.
Describir las actividades a realizar para transformar el producto.
Definir un esquema que sirve como base para planificar, organizar, coordinar,
desarrollar, entre otros.
Inicio: ste es el nacimiento de la idea. Aqu definimos los objetivos del proyecto y
los recursos necesarios para su ejecucin. Hacia dnde queremos ir, y no cmo
queremos ir. Las caractersticas implcitas o explcitas de cada proyecto hacen
necesaria una etapa previa destinada a obtener el objetivo por el cual se escribirn
miles o cientos de miles de lneas de cdigo. Un alto porcentaje del xito de
nuestro proyecto se definir en estas etapas que, al igual que la etapa de
debugging, muchos lderes de proyecto subestiman.
Planificacin: idearemos un planeamiento detallado que gue la gestin del
proyecto, temporal y econmicamente.
Implementacin: acordaremos el conjunto de actividades que componen la
realizacin del producto. Puesta en produccin: nuestro proyecto entra en la etapa
de definicin, all donde se lo presentamos al cliente o usuario final, sabiendo que
funciona correctamente y responde a los requerimientos solicitados en su
momento. Esta etapa es muy importante no slo por representar la aceptacin o
no del proyecto por parte del cliente o usuario final sino perlas mltiples
dificultades que suele presentar en la prctica, alargndose excesivamente y
provocando costos no previstos.
Control en produccin: control del producto, analizando cmo el proceso difiere
o no de los requerimientos originales e iniciando las acciones correctivas si fuesen
necesarias. Cuando decimos que hay que corregir el producto, hacemos
referencia a pequeas desviaciones de los requerimientos originales que puedan
llegar a surgir en el ambiente productivo. Si nuestro programa no realiza la tarea
para lo cual fue creada, esta etapa no es la adecuada para el rediseo. Incluimos
tambin en esta etapa el liderazgo, documentacin y capacitacin, proporcionando
directivas a los recursos humanos, para que hagan su trabajo en forma correcta y
efectiva.
2
Diseo: Ya sabemos qu hacer, ahora tenemos que determinar cmo debemos
hacerlo (cmo debe ser construido el sistema en cuestin?); definimos en detalle
entidades y relaciones de las bases de datos, seleccionamos el lenguaje que
vamos a utilizar, el Sistema Gestor de Bases de Datos, entre otros).
Implementacin: Empezamos a codificar algoritmos y estructuras de datos,
definidos en las etapas anteriores, en el correspondiente lenguaje de
programacin o para un determinado sistema gestor de bases de datos. En
muchos proyectos se pasa directamente a esta etapa; son proyectos muy
arriesgados que adoptan un modelo de ciclo de vida de code & fix (codificar y
corregir) donde se eliminan las etapas de especificaciones, anlisis y diseo con la
consiguiente prdida de control sobre la gestin del proyecto.
Debugging (Depuracin): El objetivo de esta etapa es garantizar que nuestro
programa no contiene errores de diseo o codificacin. En esta etapa no
deseamos saber si nuestro programa realiza lo que solicit el usuario, esa tarea le
corresponde a la etapa de implementacin. En sta deseamos encontrar la mayor
cantidad de errores. Todos los programas contienen errores: encontrarlos es
cuestin de tiempo. Lo ideal es encontrarla mayora, si no todos, en esta etapa.
Tambin se pueden agregar pruebas de rendimiento.
Validacin: Esta etapa tiene como objetivo la verificacin de que el sistema
desarrollado cumple con los requerimientos expresados inicialmente por el cliente
y que han dado lugar al presente proyecto. En muchos proyectos las etapas de
validacin y debugging se realizan en paralelo por la estrecha relacin que llevan.
Sin embargo, tenemos que evitar la confusin: podemos realizarlos en paralelo,
pero no como una nica etapa.
Evolucin: En la mayora de los proyectos se considera esta etapa como
Mantenimiento y evolucin, y se le asigna, no slo el agregado de nuevas
funcionalidades (evolucin); sino la correccin de errores que surgen
(mantenimiento). En la prctica esta denominacin no es del todo errnea, ya que
es posible que aun luego de una etapa de debugging y validacin exhaustiva, se
filtren errores.
Una metodologa puede seguir uno o varios modelos de ciclo de vida, adaptndose a
cada uno de ellos, dependiendo de las necesidades dadas en un momento determinado,
es decir, el ciclo de vida indica lo que hay que obtener a lo largo del desarrollo del
proyecto, pero no da las indicaciones de cmo obtenerlo. La metodologa indica los
diferentes pasos y fases para obtener los distintos productos parciales y finales. En s
para el desarrollo de software, se necesita aplicar una metodologa o varias metodologas,
dentro de un ciclo de vida, de manera que sepamos qu hacer y cmo hacerlo para
conseguir lo que se quiere y cumplir con las metas planteadas.
1.3. MODELOS DE PROCESOS EN EL DESARROLLO DE SOFTWARE
3
Estos modelos tienen como propsito la produccin eficaz y eficiente de un producto
software que rena los requisitos del cliente. Este proceso es intensamente intelectual,
afectado por la creatividad y juicio de las personas involucradas. La mayora de los
modelos de procesos de desarrollo del software son dirigidos por el tiempo; cuanto ms
tarde sea, ms atrs se encontrar en el proceso de desarrollo. Como todo proceso, estn
constituidos de pasos o fases que contienen a su vez actividades, estos modelos de
desarrollo de software se basan en un ciclo de vida para desarrollar el mismo, como lo
son:
4
Estos modelos son tiles si queremos describir un conjunto nico de actividades dentro de
un marco de trabajo para un proceso de software. cada actividad debe contener un
conjunto de acciones de ingeniera del software, y definir cada accin en cuanto a un
conjunto de tareas que identifique el trabajo (y los productos del trabajo) que deben
completarse para alcanzar las metas de desarrollo. Sin importar el modelo del proceso
que se desee usar, los ingenieros de software eligen una manera tradicional para realizar
el marco de trabajo genrico para el proceso, ya que estos modelos se caracterizan por
ser en esencia rgidos, estrictos y los ms utilizados.
En las metodologas convencionales, el ciclo de vida de un proyecto, puede definirse
como un ciclo de vida lineal, ya que imponen una disciplina de trabajo sobre el proceso de
desarrollo del software, con el fin de conseguir un software ms eficiente. Para ello, se
hace nfasis en la planificacin total de todo el trabajo realizar y una vez que est todo
detallado, comienza el ciclo de desarrollo del producto software. Se centran
especialmente en el control del proceso, mediante una rigurosa definicin de roles,
actividades, artefactos, herramientas y notaciones para el modelado y documentacin
detallada. Adems, las metodologas tradicionales no se adaptan adecuadamente a los
cambios, por lo que no son mtodos adecuados cuando se trabaja en un entorno, donde
los requisitos no pueden predecirse o bien pueden variar.
Los modelos prescriptivos de proceso definen un conjunto distinto de actividades,
acciones, tareas fundamentos y productos de trabajo que se requieren para desarrollar
software de alta calidad. Los ingenieros de software y sugerentes deben adaptar un
modelo prescripto de proceso a sus necesidades y despus lo siguen. Adems, la gente
que ha solicitado el software tiene un papel por desempear se ejecuta el modelo de
software. Por qu es importante? Porque proporciona estabilidad, control y organizacin
a una actividad que si no se controla puede volverse catica. Cules son los pasos? El
proceso conduce a un equipo de software a travs de un conjunto de actividades del
marco de trabajo que se organizan en un flujo de proceso. Cul es un obtenido? Desde
punto de vista de un ingeniero de software, los productos de trabajo son los programas,
documentos y datos que se producen como consecuencia de las actividades y tareas que
define el proceso.
2.2.1. MODELO EN CASCADA
El modelo en cascada, algunas veces llamado el ciclo de vida clsico, sugiere un enfoque
sistemtico, secuencial hacia el desarrollo del software, que se inicia con la especificacin
de requerimientos del cliente y que contina con la planeacin, el modelado, la
construccin y el despliegue para culminar en el soporte del software terminado.
5
Este modelo es aplicable en donde existen ocasiones en que los requisitos de un
problema se entienden de una manera razonable y deben estar bien definidos, tambin
cuando el trabajo fluye desde la comunicacin a travs del despliegue de una manera casi
lineal, esta situacin se encuentra a veces cuando es necesario hacer adaptaciones o
mejoras bien definidas a un sistema existente. El modelo en cascada es el paradigma
ms antiguo para la ingeniera del software. Sin embargo, en las dcadas pasadas, las
crticas a este modelo de proceso han ocasionado que aun sus ms fervientes
practicantes hayan cuestionado su eficacia.
Entre los problemas que algunas veces se encuentran al aplicar el modelo en cascada
estn:
1. Es muy raro que los proyectos reales sigan el flujo secuencial que propone el
modelo. A pesar de que el modelo lineal incluye iteraciones, lo hace de manera
indirecta. Como resultado, los cambios confunden mientras el equipo de proyecto
acta.
2. Con frecuencia es difcil para el cliente establecer todos los requisitos de manera
explcita. El modelo en cascada lo requiere y se enfrentan dificultades al
incorporarla incertidumbre natural presente en el inicio de muchos proyectos.
3. El cliente debe tener paciencia. Una versin que funcione de los programas estar
disponible cuando el proyecto est muy avanzado. Un error grave ser desastroso
si no se detecta antes de la revisin del programa. En un anlisis interesante de
proyectos reales, Bradac (1994) concluy que la naturaleza lineal del modelo en
cascada conduce a "estados de bloqueo" en los cuales algunos miembros del
equipo del proyecto deben esperar a otros para terminar tareas dependientes. De
hecho, el tiempo de espera puede superar el que se aplica en el trabajo
productivo. El estado de bloqueo tiende a ser ms comn al principio y al final del
proceso secuencial.
En la actualidad, el trabajo del software est acelerado y sujeto a una cadena infinita de
cambios (de caractersticas, funciones y contenido de la informacin). Con frecuencia, el
modelo en cascada no es apropiado para dicho trabajo. Sin embargo, puede servir como
un modelo de proceso til en situaciones donde los requerimientos estn fijos y donde el
trabajo se realiza, hasta su conclusin, de una manera lineal. Las principales etapas de
este modelo segn Sommerville (2005) son:
6
integran y prueban como un sistema completo para asegurar que se cumplan los
requerimientos del software.
Funcionamiento y mantenimiento. El sistema se instala y se pone en
funcionamiento prctico. El mantenimiento implica corregir errores no descubiertos
en las etapas anteriores del ciclo de vida.
7
evaluarlo. El desarrollo incremental es til sobre todo cuando el personal necesario para
una implementacin completa no est disponible. Los primeros incrementos se pueden
implementar con menos gente. Si el producto esencial es bien recibido se agrega (si se
requiere) ms personal para implementar el incremento siguiente. Adems, los
incrementos se pueden planear para manejar los riesgos tcnicos. Por ejemplo, un
sistema grande podra requerir la disponibilidad de un hardware nuevo que est en
desarrollo y cuya fecha de entrega es incierta. Sera posible planear los primeros
incrementos de forma que se evite el uso de este hardware, lo que permitira la entrega de
funcionalidad parcial a los usuarios finales sin retrasos desordenados.
Combina elementos del modelo en cascada aplicado en forma iterativa. El modelo
incremental aplica secuencias lineales de manera escalonada conforme avanza el tiempo
en el calendario. Cada secuencia lineal produce incrementos. Produce entregas de
software pequeas pero usables (incrementos). Cada parte se construye sobre partes ya
entregadas.
2.2.3. MODELO DE DESARROLLO RPIDO DE APLICACIONES (DRA)
8
2) Si los desarrolladores y clientes no se comprometen con las actividades rpidas
necesarias para completar el sistema en un marco de tiempo muy breve, los
proyectos DRA fallarn.
3) Si un sistema no se puede modular en forma apropiada, la construccin de los
componentes necesarios para el DRA ser problemtica.
4) Si el alto rendimiento es un aspecto importante, y se alcanzar al convertir
interfaces en componentes del sistema, el enfoque DRA podra no funcionar.
5) El DRA sera inapropiado cuando los riesgos tcnicos son altos (por ejemplo,
cuando una aplicacin nueva aplica muchas nuevas tecnologas).
9
interaccin ocurre cuando el prototipo satisface las necesidades del cliente, a la vez que
permite que el desarrollador comprenda mejor lo que se necesita hacer.
Propuesto por Boehm en 1988 con la finalidad de paliar los inconvenientes del modelo en
cascad y adecuar el desarrollo por prototipos a problemas complejos. Este paradigma
combina el paradigma de cascada y el de construccin por prototipos, agregando una
etapa de "anlisis de riesgo". El paradigma de espiral es un modelo de ciclo de vida
orientado a riesgos que divide un proyecto software en mini-proyectos y donde cada mini-
proyecto se centra en uno o ms riesgos importantes hasta que todos estos estn
controlados. Este modelo se realiza en varias iteraciones; se parte de una escala pequea
la cual comienza con la identificacin de objetivos, alternativas y restricciones; en medio
de la espiral, se localizan riesgos, se genera un plan para manejarlos, y a continuacin se
establece una aproximacin a la siguiente iteracin.
10
Se proporciona el potencial para el desarrollo rpido de versiones incremntales del
software. En el modelo espiral, el software se desarrolla en una serie de versiones
incremntales. Durante las primeras iteraciones, la versin incrementar podra ser un
modelo en papel prototipo. Durante las ltimas iteraciones, se producen versiones cada
vez ms completas de ingeniera del sistema. El modelo en espiral se divide en un
nmero de actividades estructurales tambin llamadas guiones de tareas. Estas inclusive
pueden variar de 3 a 6 tareas.
Cuando empieza este proceso evolutivo, el equipo de ingeniera del software gira
alrededor de la espiral en la direccin de las agujas del reloj, comenzando por el centro. El
primer circuito de la espiral produce el desarrollo de una especificacin de productos; los
pasos siguientes en la espiral se podran utilizar para desarrollar un prototipo y
progresivamente versiones ms sofisticadas del software. Cada paso de la regin de
planificacin produce ajustes en el plan del proyecto. El costo y la planificacin se ajustan
segn la reaccin ante la evaluacin del cliente. Adems, el gestor del proyecto ajusta el
nmero planificado de iteraciones requeridas para completar el software.
En esencia, la espiral, cuando se caracteriza de esta forma, permanece operativo hasta
que el software de se retira. Hay veces en que el proceso est inactivo, pero siempre que
se inicie un cambio, el proceso arranca en el punto de entrada adecuado (p. Ej.: mejora el
producto). El modelo en espiral es un enfoque realista del desarrollo de sistemas y de
software a gran escala. Como el software evoluciona, a medida que progresa el proceso,
el desarrollador y el cliente comprenden y reaccionan mejor ante riesgos en cada uno de
los niveles evolutivos. El modelo en espiral utiliza la construccin de prototipos como
mecanismos de reduccin de riesgos, pero lo que es ms importante, permite a quien lo
desarrolla aplicar el enfoque de construccin de prototipos en cualquier etapa de
evolucin del producto. Mantiene el enfoque sistemtico de los pasos sugeridos por el
ciclo de vida clsico, pero lo incorpora al marco de trabajo interactivo que refleja de forma
ms realista el mundo real. El modelo en espiral demanda una consideracin directa de
los riesgos tcnicos en todas las etapas del proyecto, y si se aplica adecuadamente, debe
reducir los riesgos antes de que se conviertan en problemticos.
11
Las tecnologas de objetos proporcionan el marco de trabajo tcnico para un modelo de
proceso basado en componentes para la ingeniera del software. El paradigma de
orientacin a objetos enfatiza la creacin de clases que encapsula tanto los datos como
los algoritmos que se utilizan para manejar los datos. Si se disean y se implementan
adecuadamente, las clases orientadas a objetos son reutilizables por las diferentes
aplicaciones y arquitecturas de sistemas basados en computadora.
El modelo ensamblador de componentes configura aplicaciones desde componentes
preparados de software (algunas veces llamados << clases >>). La actividad de la
ingeniera comienza con la identificacin de clases candidatas. Esto se lleva a cabo
examinando los datos que se van a manejar por parte de la aplicacin y el algoritmo que
se va a aplicar para conseguir el tratamiento. Los datos y los algoritmos correspondientes
se empaquetan en una clase.
El modelo de ensamblaje de componentes incorpora muchas de las caractersticas del
modelo en espiral. Es evolutivo por naturaleza [NIE92], y exige un enfoque interactivo
para la creacin del software. Sin embargo, el modelo ensamblador de componentes
configura aplicaciones desde componentes preparados de software (algunas veces
llamados << clases >>).
El modelo ensamblador de componentes lleva a la reutilizacin del software, y la
reutilizacin proporciona beneficios a los ingenieros del software.
2.2.7. MODELO DE DESARROLLO CONCURRENTE
12
una red de actividades. Todas las actividades de la red existen simultneamente con
otras. Los sucesos generados dentro de una actividad dada o en algn otro lugar en la red
de actividad inicia las transiciones entre los estados de una actividad.
2.2.8. MODELO DE MTODOS FORMALES
13
Los mtodos y las herramientas disponibles para el desarrollo de cada una de las
fases a realizar.
Se trata, por tanto, de conseguir que cada mdulo de la estructura en rbol que se
obtenga cumpla las siguientes caractersticas:
1. Mdulos de pequeo tamao.
El impacto de un cambio a realizar puede ser perfectamente aislado. Si el tamao
de los mdulos es reducido, una determinada modificacin afectar a un nmero
mayor de mdulos, sin embargo, la cantidad de cdigo a considerar ser menor. O
Independencia modular. Cuanto mayor es la independencia de un mdulo es ms
sencillo trabajar con l, por tanto, el diseo debe reducir la comparticin de
ficheros, de datos, la de dispositivos, las interfaces comunes con el Sistema
Operativo y las llamadas, desde o hacia otros mdulos.
2. Caractersticas de Caja Negra.
La caracterstica de Caja Negra se aplica a cualquier sistema, programa o mdulo,
para dar una visin exclusiva de sus entradas y salidas, sin tener en cuenta los
detalles de cmo se realiza el proceso. El uso de la Caja Negra permite una visin
ms fcil del conjunto, posponiendo la consideracin de los detalles para una
etapa posterior.
3. Modelizacin conceptual.
Un sistema ser ms fcil de mantener si el modelo utilizado en su diseo se ha
basado en los conceptos lgicos de la organizacin, los cuales sern ms
familiares y comprensibles para el personal de mantenimiento que las
descripciones fsicas (equipo, organizacin de la unidad, cmo se realiza el trabajo
en la actualidad, ), o Aislamiento de los detalles. En un sistema existen partes
que reflejan la filosofa otras partes que reflejan los detalles. Debido a que los
detalles son ms susceptibles de cambiar, ambas partes deben disearse por
separado para evitar que una variacin en los detalles afecte a la filosofa del
sistema.
14
Paradigma del desarrollo de Sistemas (POO)
1. INTRODUCCIN
2. MODELOS
15
Por otra parte, el modelo conceptual debe ser declarativo de manera que permita
postergar decisiones de implementacin. Esta caracterstica nos separara de lo que
denominamos enfoques orientados a objetos clsicos, en los que la especificacin es
principalmente imperativa y se limita en general a la estructura de los objetos y los perfiles
de las operaciones.
La tarea de verificacin del modelo exige disponer de algn formalismo preciso y a la vez
con toda la capacidad expresiva necesaria para capturar todos los aspectos de inters del
problema. Las notaciones grficas son atractivas pues facilitan el modelado y la legibilidad
de una especificacin de requisitos, pero pierden estas ventajas cuando se sobrecargan
con detalles. Por otra parte, las representaciones puramente textuales, y ms aun siendo
formales, tienen el grado de detalle que se desee, pero exigen ms esfuerzo en su
utilizacin. Esto sugiere que metodolgicamente la mejor solucin es una combinacin de
ambas tcnicas: grficas y textuales. Como el objetivo es obtener un modelo completo y
preciso del sistema, una representacin textual final es la ms adecuada, pues tanto las
tcnicas textuales como las grficas pueden ser finalmente trasladadas a texto para
describir el modelo en su totalidad.
2.1. MODELO CONCEPTUAL
Modelo de Objetos.
Modelo Dinmico.
Modelo Funcional.
Estos tres modelos describen la sociedad de objetos desde tres puntos de vista
complementarios.
2.1.1. MODELO ORIENTADO A OBJETOS.
La dimensin estructural.
La dimensin dinmica.
La dimisin funcional.
16
4) Definir la jerarqua de herencia de las clases. (Definir la jerarqua de clases, para
que el sistema quede lo ms abstracto posible).
17
Los desgramas de estado, interaccin (secuencia, comunicacin, tempo y visin de
conjunto) son utilizados para describir como los objetos interactan dinmicamente. El
modelo dinmico est constituido principalmente por los diagramas de estado y de
actividad, a continuacin, se presentan las principales caractersticas de casa uno de
ellos:
En resumen, el UML contiene las herramientas necesarias para la definicin del modelo
dinmico de los sistemas de software mediante diversas herramientas que ayudan a
definir el comportamiento del sistema durante lo largo del tiempo. Cada tipo de diagrama
ayuda a capturar la informacin de los sistemas como un todo con todos los detalles del
mismo a travs de diagramas que definen el comportamiento.
B. Ejemplo de Diagrama
2.1.3. MODELO FUNCIONAL.
18
El modelo funcional representa todos los factores esenciales del desarrollo de software
ignorando aquellos que forman parte de los detalles ms especficos de sistema. Este
modelo parte de un propsito general bien especificado y de la manera ms simplificada
posible.
Desde una perspectiva ms general el modelo funcional se relaciona con el modelo
orientado a objetos, este modelo se relaciona con una entidad existente. ste modelo
tiene tres principios fundamentales:
Particionamiento
Abstraccin
Proyeccin
Este modelo est basado en conceptos de funciones o procesos, de modo que estos se
conviertan en el elemento ms importante de este enfoque. Este modelo describe los
clculos dentro del sistema, es decir lo que sucede. Comprende los siguientes tipos de
funciones:
Funcin asncrona: Una funcin asincrnica puede ser activado por otro objeto o
funcin para realizar alguna accin.
Funcin asncrona dependiente de un estado: Un asncrono dependiente del
estado es generalmente una funcin "one-shot" de accin, que se ejecuta durante
una transicin de un estado a otro estado. Esta funcin se activa mediante una
transformacin de control
Funcin peridica: Una funcin peridica se activa a intervalos regulares para
realizar alguna accin. La frecuencia con la que se activa una funcin especfica
depende de la aplicacin
Funcin peridica dependiente de un estado: Una funcin peridica se activa a
intervalos regulares para realizar alguna accin. La frecuencia con la que se activa
una funcin especfica depende de la aplicacin. Esta funcin se activa mediante
una transformacin de control
Un ejemplo de programas que utilizan este tipo de modelado pueden ser compiladores, ya
que por lo general este tipo de programas realizan clculos de las operaciones que tiene
que realizar un sistema. Por otra parte, las bases de datos a menudo tienen un modelo
funcional trivial, ya que su finalidad es almacenar y organizar datos, no transformarla.
El Mtodo Orientado a Objetos proporciona un modelo mediante el cual el analista slo
tiene que categorizar cada atributo de entre un conjunto predefinido de tres categoras no
disjuntas. Estas categoras determinan qu informacin se necesita para determinar cmo
cambia el valor del atributo ante la ocurrencia de determinados eventos.
Las tres categoras de atributos son:
Cardinales.
Independientes del estado.
De situacin.
19
Cardinales: sus eventos relevantes incrementan o decrementan su valor en una
determinada cantidad. Ej:
Incremento USR:alquilar(...) +1
Decremento USR:devolver(...) -1
Independientes de estado: tienen un valor que slo depende de la ltima accin ocurrida.
Una vez ha ocurrido una accin relevante el nuevo valor del atributo es independiente del
valor que tena antes. Ej:
20
2.3. MODELO DE EJECUCIN
Esta estrategia es un patrn genrico que define los componentes software a utilizar para
implementar en un entorno de desarrollo las propiedades del sistema utilizando una
arquitectura lgica de tres niveles (three-tier):
Las clases que implementan las tareas de control de acceso y construccin de la vista del
sistema (clases y servicios visibles) se implementarn en el nivel de interfaz. La
informacin necesaria para configurar la vista del sistema est incluida en la
especificacin del sistema (relaciones de agente) obtenida en la fase de modelado
conceptual.
Cualquier activacin de un servicio tiene dos partes: la construccin del mensaje y la
ejecucin (s es posible).
21
1) Identificacin del objeto servidor: si el objeto existe el nivel de persistencia se
encargar de recuperar el objeto servidor de la base de datos y si es un evento de
creacin reservar espacio para su almacenamiento.
2) Introducir los argumentos necesarios para la ejecucin del evento: el nivel de
interfaz preguntar por los argumentos del evento que va a activarse (s es
necesario).
Una vez el mensaje se ha enviado, se identifica el objeto servidor (la existencia del
objeto servidor es una condicin implcita para ejecutar cualquier evento, excepto si se
trata del evento creacin) y se procede a seguir una secuencia de acciones sobre
dicho objeto:
Una vez finalizadas con xito las acciones precedentes, los componentes de la capa de
persistencia se encargan de actualizar (UPDATE) la BDR correspondiente.
Los pasos anteriores guiarn la implementacin de cualquier aplicacin para asegurar la
equivalencia funcional entre la descripcin del sistema, recogida en el modelo conceptual,
y su realizacin en un entorno de programacin de acuerdo con el modelo de ejecucin.
3. METODOLOGAS
22
1) Obtencin de requerimientos.
2) Modelo conceptual.
3) Diseo navegacional.
4) Diseo de la interfaz abstracta.
5) Implementacin.
3.2. SOHDM
Inicio: Se hace un plan de fases, donde se identifican los principales casos de uso
y se identifican los riesgos. Se concreta la idea, la visin del producto, como se
enmarca en el sistema, el alcance del proyecto.
Elaboracin: Se realiza el plan que seguir el proyecto de software, donde se
contemplan todos los casos de uso del sistema.
Construccin: Se realiza un producto totalmente operativo y se elabora el manual
de usuario, es en esta fase donde se define la arquitectura del proyecto.
23
Transicin: Se implementa el proyecto, en esta fase se entrena a los usuarios
como deben utilizar el producto, en esta fase se el proyecto pasa del desarrollador
el usuario (transicin).
3.4. UML
Catalysis: Un mtodo orientado a objetos que fusiona mucho del trabajo reciente
en mtodos orientados a objetos, y adems ofrece tcnicas especficas para
modelar componentes distribuidos.
Objetory: Un mtodo de Caso de Uso guiado para el desarrollo, creado por Ivar
Jacobson.
Shlaer/Mellor: El mtodo para disear sistemas de tiempo real.
Fusion: Desarrollado en Hewlett Packard a mediados de los noventa como primer
intento de un mtodo de diseo orientado a objetos estndar.
OMT: La Tcnica de Modelado de Objetos fue desarrollada por James Rumbaugh
y otros, y publicada en el libro de gran influencia. Un mtodo que propone anlisis
y diseo iterative, ms centrado en el lado del anlisis.
Booch: Parecido al OMT con caractersticas adicionales.
Un caso de uso se modela para todos los procesos que el sistema debe llevar a cabo. Los
procesos se describen dentro del caso de uso por una descripcin textual o una
secuencia de pasos ejecutados. Una vez que el comportamiento del sistema est captado
de esta manera, los casos de uso se examinan y amplan para mostrar qu objetos se
interrelacionan para que ocurra este comportamiento. Los casos de uso son la forma ms
efectiva y fcil de modelar los requisitos de un usuario desde el punto de vista de este.
Los casos de uso son la herramienta que describen como debe funcionar un sistema o
como se deseara que funcione. No es realmente una aproximacin a la orientacin a
objetos; es realmente una forma de modelar procesos. Los casos de uso son
generalmente el punto de partida del anlisis orientado a objetos con UML.
4. CICLO DE VIDA
La ayuda que proporciona el ciclo de vida del proyecto es que puede organizar las
actividades del administrador, aumentando la probabilidad de que se traten los problemas
pertinentes en el momento adecuado.
24
Esta tcnica fue presentada en la dcada de los 90, tal vez como una de las mejores
metodologas a seguir para la creacin de productos software.
Puede considerarse como un modelo pleno a seguir, como as tambin una alternativa
dentro de los modelos anteriores.
Al igual que la filosofa del paradigma de la programacin orientada a objetos, en esta
metodologa cada funcionalidad, o requerimiento solicitado por el usuario, es considerado
un objeto.
Los ciclos de vida clsicos se centran en el proyecto, el desarrollo orientado a objetos se
basa en el producto, no comprende los procesos como funciones, sino que arma mdulos
basados en componentes, es decir, cada componente es independiente del otro y se
relacionan entre ellos a travs de interfaces, son ms modulares y se dividen en mini-
proyectos lo cual permiten que el cdigo sea reutilizable.
25
2) Construccin: Es la ms importante y se divide a su vez en otras cinco actividades
Planificacin
Investigacin
Especificacin
Implementacin
Revisin
3) Entrega
Cada clase puede tener un ciclo de vida slo para ella debido a que cada una puede estar
en una fase diferente en un momento cualquiera. La ventaja es que permite un desarrollo
solapado e iterativo. En la figura se muestra un esquema de este tipo de ciclo de vida.
26
Tiene un componente secuencial y un componente concurrente.
Enfoque Ascendente.
La ocultacin de la informacin posibilita la forma del modelo de clsteres de ingeniera
concurrente.
27
Este proceso fractal (mas que lineal), consiste en un desarrollo multiciclo en forma de
remolino en lugar de una cascada, de ah su nombre.
Propuesto por Ambler (Ambler, 1994). Modelo muy didctico seala que el pinball refleja
la forma que se desarrolla el software.
El autor destaca que al igual que en el juego del pinball, la habilidad es el factor ms
importante.
28
Hay un alto grado de iteracin y solapamiento, lo que lleva a una forma de trabajo
muy dinmica.
BIBLIOGRAFA
1) http://148.204.211.134/polilibros/Portal/Polilibros/P_proceso/ANALISIS_Y_DISEnO
_DE_SISTEMAS/IngenieriaDeSoftware/CIS/UNIDAD%20I/1.5.htm
2) https://sites.google.com/site/paradigmasdelais/4-1-el-enfoque-estructurado
3) https://helisulbaransistemas.blogspot.com/2014/09/paradigmas-en-el-desarrollo-
de-software.html
4) http://exa.unne.edu.ar/informatica/anasistem2/public_html/apuntes/maf/cap2.htm
5) http://es.slideshare.net/waralivt/desarrollo-estructurado
6) https://maestria-modulo7.blogspot.com/2012/05/ciclo-de-vida-orientado-objetos-
vs.html
7) http://exa.unne.edu.ar/informatica/anasistem2/public_html/apuntes/maf/cap4.htm#
CiclodeVida
8) http://exa.unne.edu.ar/informatica/anasistem2/public_html/apuntes/maf/cap3.htm
9) https://webcache.googleusercontent.com/search?
q=cache:JqPMrpFGrIwJ:indalog.ual.es/mtorres/LP/DOO.pdf+&cd=5&hl=es&ct=cln
k&gl=ar
10) https://sites.google.com/site/paradigmasdelais/4-2-el-enfoque-orientado-a-objetos
11) http://es.slideshare.net/RafaelMiranda2/modelado-orientado-a-objetos
12) http://es.slideshare.net/josefabiandiazs/ciclos-de-vida-orientados-a-objetos
29