Escolar Documentos
Profissional Documentos
Cultura Documentos
El Enfoque Estructurado
En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de
Datos) como principal herramienta para entender al sistema antes de
plasmarlo a cdigo fuente. DFD es un diagrama en el que participan procesos
(mtodos), flujo de datos (argumentos) y archivos (Base de datos). Hay de
diferentes niveles dependiendo la complejidad del sistema que se analiza,
hablando de lenguajes tiene muchas diferencia con la orientada a objetos, un
mnimo cambio en el cdigo puede llegar alterar al resto del programa cosa
que en la orientada a objetos eso no sucede lo cual es una ventaja porque as
no se pierde tiempo en arreglar cosas ya hechas. Una desventaja es que una
porcin de cdigo en lenguaje estructurado es difcil que pueda servir en
otros proyectos, esto si es habitual en lenguaje orientada a objetos, con solo
importar clases ya hechas se escribe menos cdigo y se ahorra tiempo.
Diccionario de Datos
Diseo de Mdulo
Un modelo de datos es un lenguaje orientado a describir una Base de Datos.
Tpicamente un Modelo de Datos permite describir:
Proceso
Conjunto de tareas lgicamente relacionadas que existen para obtener un
resultado definido dentro de un negocio o proyecto.
Diseo de Mdulo
Fase de Diseo
*****************
Fase de Diseo
Tabla de Diferencias
Aplicacin web
Aplicacin web. En
la Ingeniera de
software se
denomina aplicacin
web a aquellas
aplicaciones que los
usuarios pueden
utilizar accediendo a
un Servidor web a
travs de Internet o
de una intranet
mediante un Concepto Aplicaciones que los usuarios pueden
navegador. En otras : utilizar accediendo a un Servidor web a
palabras, es una travs de Internet o de una intranet
aplicacin mediante un navegador.
(Software) que se
codifica en un lenguaje soportado por los navegadores web en la que se
confa la ejecucin al navegador.
Las aplicaciones web son populares debido a lo prctico del navegador web
como Cliente ligero, a la independencia del Sistema operativo, as como a la
facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar
software a miles de usuarios potenciales.
Contenido
[ocultar]
1 Historia
2 Interfaz
3 Consideraciones tcnicas
5 Uso empresarial
6 Ventajas y desventajas
o 6.1 Ventajas
o 6.2 Desventajas
8 Lenguajes de programacin
9 Fuentes
Historia
En un principio la Web era sencillamente una coleccin de pginas estticas,
documentos, etc., para su consulta o descarga. El paso inmediatamente
posterior en su evolucin fue la inclusin de un mtodo para elaborar pginas
dinmicas que permitieran que lo mostrado tuviese carcter dinmico (es
decir, generado a partir de los datos de la peticin). Este mtodo fue
conocido como CGI ("Common Gateway Interface") y defina un mecanismo
mediante el que se poda pasar informacin entre el servidor y ciertos
programas externos.
El funcionamiento de los CGIs tena un punto dbil: cada vez que se reciba
una peticin, el servidor deba lanzar un proceso para ejecutar el programa
CGI. Como la mayora de CGIs estaban escritos en lenguajes interpretados,
como Perl o Python, o en lenguajes que requeran "run-time environment",
como Java o VisualBasic, el servidor se vea sometido a una gran carga. La
concurrencia de mltiples accesos al CGI poda comportar problemas graves.
Interfaz
Las interfaces web tienen ciertas limitaciones en las funcionalidades que se
ofrecen al usuario. Hay funcionalidades comunes en las aplicaciones de
escritorio como dibujar en la pantalla o arrastrar-y-soltar que no estn
soportadas por las tecnologas web estndar.
Consideraciones tcnicas
Una ventaja significativa es que las aplicaciones web deberan funcionar
igual independientemente de la versin del sistema operativo instalado en el
cliente. En vez de crear clientes para Windows, Mac OS X, GNU/Linux y
otros sistemas operativos, la aplicacin web se escribe una vez y se ejecuta
igual en todas partes. Sin embargo, hay aplicaciones inconsistentes escritas
con HTML, CSS, DOM y otras especificaciones estndar para navegadores
web que pueden causar problemas en el desarrollo y soporte de estas
aplicaciones, principalmente debido a la falta de adiccin de los navegadores
a dichos estndares web (especialmente versiones de Internet
Explorer anteriores a la 7.0). Adicionalmente, la posibilidad de los usuarios de
personalizar muchas de las caractersticas de la interfaz (tamao y color de
fuentes, tipos de fuentes, inhabilitar Javascript) puede interferir con la
consistencia de la aplicacin web.
Uso empresarial
Una estrategia que est emergiendo para las empresas proveedoras de
software consiste en proveer acceso va web al software. Para aplicaciones
previamente distribuidas, como las aplicaciones de escritorio, se puede optar
por desarrollar una aplicacin totalmente nueva o simplemente por adaptar la
aplicacin para ser usada con una interfaz web. Estos ltimos programas
permiten al usuario pagar una cuota mensual o anual para usar la aplicacin,
sin necesidad de instalarla en el ordenador del usuario.
Ventajas y desventajas
Ventajas
Ahorra tiempo: Se pueden realizar tareas sencillas sin necesidad de
descargar ni instalar ningn programa.
Desventajas
Procesamiento de imgenes
Captura de imgenes
PHP
Javascript
Perl
Ruby
Python
HTML
XML
Se utilizan para servir los datos adecuados a las necesidades del usuario, en
funcin de como hayan sido definidos por el dueo de la aplicacin. Los
datos se almacenan en alguna base de datos estndar.
Lenguaje unificado de modelado
Collage de diagramas UML.
El lenguaje unificado de modelado (UML, por sus siglas en ingls, Unified Modeling
Language) es el lenguaje de modelado de sistemas de software ms conocido y
utilizado en la actualidad; est respaldado por el Object Management Group (OMG).
Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema.
UML ofrece un estndar para describir un "plano" del sistema (modelo), incluyendo
aspectos conceptuales tales como procesos, funciones del sistema, y aspectos
concretos como expresiones de lenguajes de programacin, esquemas de bases de
datos y compuestos reciclados.
Es importante remarcar que UML es un "lenguaje de modelado" para especificar o para
describir mtodos o procesos. Se utiliza para definir un sistema, para detallar los
artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje
en el que est descrito el modelo.
Se puede aplicar en el desarrollo de software gran variedad de formas para dar soporte
a una metodologa de desarrollo de software (tal como el Proceso Unificado
Racional, Rational Unified Process o RUP), pero no especifica en s mismo qu
metodologa o proceso usar.
UML no puede compararse con la programacin estructurada, pues UML significa
Lenguaje Unificado de Modelado, no es programacin, solo se diagrama la realidad de
una utilizacin en un requerimiento. Mientras que programacin estructurada es una
forma de programar como lo es la orientacin a objetos, la programacin orientada a
objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML
solo para lenguajes orientados a objetos.
UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de
las entidades representadas.
ndice
[ocultar]
1Estandarizacin de UML
2Historia
o 2.2UML 1.x
o 2.3UML 2.x
o 3.1Estructurales
o 3.2De comportamiento
3.2.1De interaccin
4Vase tambin
5Referencias
6Enlaces externos
Estandarizacin de UML[editar]
Desde el ao 2005, UML es un estndar aprobado por la ISO como
ISO/IEC 19501:2005 Information technology Open Distributed Processing Unified
Modeling Language (UML) Versin 1.4.2.
En el ao 2012 se actualiz la norma a la ltima versin definitiva disponible en ese
momento, la 2.4.1, dando lugar a las normas ISO/IEC 19505-1 e ISO/IEC 19505-2.
Historia[editar]
Antes de UML 1.x[editar]
Despus de que la Rational Software Corporation contratara a James Rumbaugh
de General Electric, en 1994, la compaa se convirti en la fuente de los dos esquemas
de modelado orientado a objetos ms populares de la poca: Object-Modeling
Technique (OMT) de Rumbaugh, que era mejor para anlisis orientado a objetos, y el
Mtodo Booch (de Grady Booch) que era mejor para el diseo orientado a objetos. Poco
despus se les uni Ivar Jacobson, el creador del mtodo de ingeniera de software
orientado a objetos. Jacobson se uni a Rational, en 1995, despus de que su
compaa Objectory AB fuera comprada por Rational. Los tres metodologistas eran
conocidos como los Tres Amigos, porque se saba de sus constantes discusiones sobre
las prcticas metodolgicas.
En 1996 Rational concluy que la abundancia de lenguajes de modelado estaba
alentando la adopcin de la tecnologa de objetos, y para orientarse hacia un mtodo
unificado, encargaron a los Tres Amigos que desarrollaran un "lenguaje unificado de
modelado" abierto. Se consult con representantes de compaas competidoras en el
rea de la tecnologa de objetos durante la OOPSLA '96; eligieron "cajas" para
representar clases en lugar de la notacin de Booch que utilizaba smbolos de "nubes".
Bajo la direccin tcnica de los Tres Amigos (Rumbaugh, Jacobson y Booch) fue
organizado un consorcio internacional llamado UML Partners en 1996 para completar
las especificaciones del UML, y para proponerlo como una respuesta al OMG RFP. El
borrador de la especificacin UML 1.0 de UML Partners fue propuesto a la OMG
en enero de 1997. Durante el mismo mes, la UML Partners form una Fuerza de Tarea
Semntica, encabezada por Cris Kobryn y administrada por Ed Eykholt, para finalizar las
semnticas de la especificacin y para integrarla con otros esfuerzos de
estandarizacin. El resultado de este trabajo, el UML 1.1, fue presentado ante la OMG
en agosto de 1997 y adoptado por la OMG en noviembre de 1997.
UML 1.x[editar]
Como notacin de modelado, la influencia de la OMT domina UML (por ejemplo, el uso
de rectngulos para clases y objetos). Aunque se quit la notacin de "nubes" de Booch,
s se adopt la capacidad de Booch para especificar detalles de diseo en los niveles
inferiores. La notacin de "Casos de Uso" del Objectory y la notacin de componentes
de Booch fueron integrados al resto de la notacin, pero la integracin semntica era
relativamente dbil en UML 1.1, y no se arregl realmente hasta la revisin mayor de
UML 2.0.
Conceptos de muchos otros mtodos orientados a objetos (MOO) fueron integrados
superficialmente en UML con el propsito de hacerlo compatible con todos los MOO.
Adems, el grupo tom en cuenta muchos otros mtodos de la poca, con el objetivo de
asegurar amplia cobertura en el dominio de los sistemas en tiempo real. Como
resultado, UML es til en una gran variedad de problemas de ingeniera, desde procesos
sencillos y aplicaciones de solamente un usuario a sistemas concurrentes y distribuidos.
UML 2.x[editar]
UML ha madurado considerablemente desde UML 1.1, varias revisiones menores (UML
1.3, 1.4 y 1.5) han corregido defectos y errores de la primera versin de UML. A estas le
ha seguido la revisin mayor UML 2.0 que fue adoptada por el OMG en 2005.
Aunque UML 2.1 nunca fue lanzado como una especificacin formal, las versiones 2.1.1
y 2.1.2, aparecieron en 2007, seguidas por UML 2.2 en febrero de 2009. UML 2.3 fue
lanzado oficialmente en mayo de 2010. UML 2.4.1 fue lanzado oficialmente en agosto de
2011. UML 2.5 fue lanzado en octubre de 2012 como una versin "En proceso" que fue
formalmente liberada en junio de 2015.
Diagrama de clases Los diagramas de clase son, sin duda, el tipo de diagrama
UML ms utilizado. Es el bloque de construccin principal de cualquier solucin
orientada a objetos. Muestra las clases en un sistema, atributos y operaciones de
cada clase y la relacin entre cada clase. En la mayora de las herramientas de
modelado, una clase tiene tres partes, nombre en la parte superior, atributos en el
centro y operaciones o mtodos en la parte inferior. En sistemas grandes con
muchas clases relacionadas, las clases se agrupan para crear diagramas de clases.
Las Diferentes relaciones entre las clases se muestran por diferentes tipos de
flechas.
DEFINICION
El MODELO en espiral, propuesto originalmente por BOEHM en 1976, es un modelo de
proceso de software evolutivo donde se conjuga la naturaleza de construccin de prototipos
con los aspectos controlados y sistemticos del MODELO LINEAL y SECUENCIAL.
Proporciona el potencial para el desarrollo rpido de versiones incrementales del software
que no se basa en fases claramente definidas y separadas para crear un sistema.
Hay una cosa que solo se hace una vez: planificacin inicial o previa.
Planificar
TIPOS
El modelo espiral tuvo varias modificaciones que son:
Modelo WINWIN.
El movimiento de la espiral, ampliando con cada iteracin su amplitud radial, indica que cada
vez se van construyendo versiones sucesivas del software, cada vez ms completas.
Anlisis de riesgos: las tareas requeridas para evaluar riesgos tcnicos y otras
informaciones relacionadas con el proyecto.
MODELO WINWIN
El modelo en espiral WINWIN de Boehm, define un conjunto de actividades de negociacin
al principio de casa paso alrededor de la espiral. Ms que una simple actividad de
comunicacin con el cliente se definen las siguientes actividades:
El modelo en espiral WINWIN introduce tres hitos en el proceso, llamados puntos de fijacin
que ayudan a establecer la completitud de un ciclo alrededor del espiral y proporcionan hitos
de decisin antes de continuar el proyecto de software.
VENTAJAS
DESVENTAJAS
Modelo costoso
El modelo en cascada puro difcilmente se utilice tal cual, pues esto implicara un previo y
absoluto conocimiento de los requisitos, la no volatilidad de los mismos (o rigidez) y etapas
subsiguientes libres de errores; ello slo podra ser aplicable a escasos y pequeos
desarrollos de sistemas. En estas circunstancias, el paso de una etapa a otra de las
mencionadas sera sin retorno, por ejemplo pasar del Diseo a la Codificacin implicara un
diseo exacto y sin errores ni probable modificacin o evolucin: "codifique lo diseado que
no habrn en absoluto variantes ni errores". Esto es utpico; ya que intrnsecamente el
software es de carcter evolutivo, cambiante y difcilmente libre de errores, tanto durante su
desarrollo como durante su vida operativa.
2. Diseo:
Es una etapa dirigida hacia la estructura de datos, la arquitectura del
software, las representaciones de la interfaz y el detalle procedimental
(algoritmo). En forma general se hace un esbozo de lo solicitado y se
documenta hacindose parte del software.
4. Pruebas:
Esta etapa se centra en los procesos lgicos internos del software,
asegurando que todas las sentencias se han comprobado, y en la deteccin
de errores.
5. Mantenimiento:
Debido a que el programa puede tener errores, puede no ser del completo
agrado del cliente o puede necesitar, eventualmente acoplarse a los cambios
en su entorno. Esto quiere decir que no se rehace el programa, sino que
sobre la base de uno ya existente se realizan algunos cambios. El Modelo
Lineal Secuencial es el paradigma de desarrollo de software ms antiguo que
existe, sin embargo esto no ha impedido que se haya creado una
desconfianza alrededor de l basada en los siguientes errores reales:
Ventajas
Se debe tener en cuenta que fue el primer modelo empleado, y por lo tanto
es mejor que ninguno.
Desventajas
Los proyectos reales raras veces siguen el modelo secuencial que propone el
modelo.
A menudo es difcil que el cliente exponga explcitamente todos
los requerimientos.
Cada uno de estos errores es real. Sin embargo el paradigma del ciclo devida
clsico tiene lugar definido e importante trabajo de la ingeniera del software.
Modelo de Prototipos
Modelo de
Prototipos. Modelo de Prototipos
Tambin conocido
como desarrollo
con prototipacin o
modelo de
desarrollo evolutivo,
se inicia con la
definicin de los
objetivos globales
para el software,
luego se identifican
los requisitos
conocidos y las
reas del esquema
en donde es necesaria ms definicin. Este modelo se utilizan para dar
al usuario una vista preliminar de parte del software. Este modelo es
bsicamente prueba y error ya que si al usuario no le gusta una parte del
prototipo significa que la prueba fallo por lo cual se debe corregir el error que
se tenga hasta que el usuario quede satisfecho. Adems el prototipo debe
ser construido en poco tiempo, usando los programas adecuados y no se
debe utilizar mucho dinero pues a partir de que este sea aprobado nosotros
podemos iniciar el verdadero desarrollo del software. Pero eso si al construir
el prototipo nos asegura que nuestro software sea de mejor calidad, adems
de que su interfaz sea de agrado para el usuario. Un prototipo podr ser
construido solo si con el software es posible experimentar.
Contenido
[ocultar]
1 Etapas
3 Ventajas
5 Desventajas
7 Tipos de prototipos
8 Vase tambin
9 Fuentes
Etapas
Recoleccin y refinamiento de requisitos
Producto de Ingeniera
Cmo se lleva a cabo
Se comienza elaborando un prototipo del producto final: qu aspecto tendr,
cmo funcionar. Para muchas interfaces de usuario, este modelo puede
resultar tan simple como unos dibujos con lpiz y papel o tan complejo como
el propio cdigo operativo final. Para interfaces de hardware o estaciones de
trabajo, el modelo puede consistir en maquetas de
espuma, caucho, cartn o cartulina. Cuanto ms prximo se encuentre el
prototipo al producto real, mejor ser la evaluacin, si bien se pueden obtener
magnficos resultados con prototipos de baja fidelidad.
Ventajas
No modifica el flujo del ciclo de vida
Este modelo es til cuando el cliente conoce los objetivos generales para
el software, pero no identifica los requisitos detallados de entrada,
procesamiento o salida.
Desventajas
Debido a que el usuario ve que el prototipo funciona piensa que este es el
producto terminado y no entienden que recin se va a desarrollar el software.
Tipos de prototipos
Hay dos clases de prototipos el desechable y el evolucionario.
El desechable: nos sirve para eliminar dudas sobre lo que realmente quiere
el cliente adems para desarrollar la interfaz que ms le convenga al cliente.
Modelo Incremental
Introduccin:
El modelo incremental fue propuesto por Harlan Mills en el ao 1980. Surgi el enfoque
incremental de desarrollocomo una forma de reducir la repeticin del trabajo en el proceso
de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta
adquirirexperiencia con el sistema. Este modelo se conoce tambin bajo las siguientes
denominaciones:
Mtodo de las comparaciones limitadas sucesivas.
El Modelo Incremental combina elementos del Modelo Lineal Secuencial con la filosofa
interactiva de Construccin de Prototipos. Como se muestra en la Figura 1, el modelo
incremental aplica secuencias lineales de forma escalonada mientras progresa el tiempo en
el calendario. Cada secuencia lineal produce un incremento del software. El primer
incremento generalmente es un producto esencial denominado ncleo.
Anlisis
Diseo
Cdigo
Prueba
Sin embargo, para la produccin del Software, se usa el principio de trabajo en cadena o
Pipeline. Con esto se mantiene al cliente en constante contacto con los resultados obtenidos
en cada incremento. Es el mismo cliente el que incluye o desecha elementos al final de cada
incremento a fin de que el software se adapte mejor a sus necesidades reales. El proceso se
repite hasta que se elabora el producto completo. De esta forma el tiempo de entrega se
reduce considerablemente.
Al iniciar del desarrollo, los clientes o los usuarios, identifican a grandes rasgos, las
funcionalidades que proporcionar el sistema. Se confecciona un bosquejo de requisitos
funcionales y ser el cliente quien se encarga de priorizar que funcionalidades son mas
importantes. Con las funcionalidades priorizadas, se puede confeccionar un plan de
incrementos, donde en cada incremento se indica un subconjunto de funcionalidades que el
sistema entregar. La asignacin de funcionalidades a los incrementos depende de la
prioridad dada a los requisitos. Finalizado el plan de incrementos, se puede comenzar con el
primer incremento.
Caractersticas:
Se evitan proyectos largos y se entrega "algo de valor" a los usuarios con cierta
frecuencia.
Ventajas:
Desventajas:
El nombre Proceso Unificado se usa para describir el proceso genrico que incluye
aquellos elementos que son comunes a la mayora de los refinamientos existentes.
Tambin permite evitar problemas legales ya que Proceso Unificado de
Rational o RUP son marcas registradas por IBM (desde su compra de Rational Software
Corporation en 2003). El primer libro sobre el tema se denomin, en su versin
espaola, El Proceso Unificado de Desarrollo de Software (ISBN 84-7829-036-2) y fue
publicado en 1999 por Ivar Jacobson, Grady Booch y James Rumbaugh, conocidos
tambin por ser los desarrolladores del UML, el Lenguaje Unificado de Modelado. Desde
entonces los autores que publican libros sobre el tema y que no estn afiliados a
Rational utilizan el trmino Proceso Unificado, mientras que los autores que pertenecen
a Rational favorecen el nombre de Proceso Unificado de Rational.
Caractersticas[editar]
Iterativo e Incremental[editar]
El Proceso Unificado es un marco de desarrollo iterativo e incremental compuesto de
cuatro fases denominadas Inicio, Elaboracin, Construccin y Transicin. Cada una de
estas fases es a su vez dividida en una serie de iteraciones (la de inicio puede incluir
varias iteraciones en proyectos grandes). Estas iteraciones ofrecen como resultado
un incremento del producto desarrollado que aade o mejora las funcionalidades del
sistema en desarrollo.
Cada una de estas iteraciones se divide a su vez en una serie de disciplinas que
recuerdan a las definidas en el ciclo de vida clsico o en cascada: Anlisis de requisitos,
Diseo, Implementacin y Prueba. Aunque todas las iteraciones suelen incluir trabajo en
casi todas las disciplinas, el grado de esfuerzo dentro de cada una de ellas vara a lo
largo del proyecto.
Diagrama ilustrando como el nfasis relativo en las distintas disciplinas cambia a lo largo del
proyecto.
Centrado en la arquitectura[editar]
El Proceso Unificado asume que no existe un modelo nico que cubra todos los
aspectos del sistema. Por dicho motivo existen mltiples modelos y vistas que definen la
arquitectura de software de un sistema. La analoga con la construccin es clara,
cuando construyes un edificio existen diversos planos que incluyen los distintos
servicios del mismo: electricidad, fontanera, etc.
Fases[editar]
El Proceso Unificado de desarrollo puede ser dividido en cuatro fases para su
mejor desarrollo. Estas fases ayudando tanto a la elaboracin como a la
resolucin de problemas.
Inicio[editar]
En la fase de inicio se define el negocio: facilidad de realizar el proyecto, se
presenta un modelo, visin, metas, deseos del usuario, plazos, costos y
viabilidad.
Elaboracin[editar]
En esta fase se obtiene la visin refinada del proyecto a realizar, la
implementacin iterativa del ncleo de la aplicacin, la resolucin de riesgos
altos, nuevos requisitos y se ajustan las estimaciones.
Construccin[editar]
Esta abarca la evolucin hasta convertirse en producto listo incluyendo
requisitos mnimos. Aqu se afinan los detalles menores como los diferentes
tipos de casos o los riesgos menores.
Transicin[editar]
En esta fase final, el programa debe estar listo para ser probado, instalado y
utilizado por el cliente sin ningn problema. Una vez finalizada esta fase, se
debe comenzar a pensar en futuras novedades para la misma.
Desde el punto de vista Tcnico: el proyecto est formado por los flujos de
trabajo fundamentales: captura de requerimientos, anlisis, diseo,
implementacin y pruebas.
Tantos el punto de vista Gerencial como el Tcnico concuerdan en: La
iteracin .