Upload
smario-pc
View
261
Download
0
Embed Size (px)
DESCRIPTION
Tutorial
Citation preview
PONTIFICIA UNIVERSIDAD CATOLICA
DEL ECUADOR
FACULTAD DE INGENIERIA
ESCUELA DE SISTEMAS
TEMA:
GUIA PRACTICA PARA REALIZAR UN ANALISIS
COMPARATIVO DE HERRAMIENTAS DE
DESARROLLO
(UN CASO APLICATIVO)
AUTOR:
LUCERO VASQUEZ PATRICIO JAVIER
"Trabajo previo a la obtención del Título de Ingeni ero en Sistemas y Computación"
Quito, 2004
Dedicatoria
La realización de esta tesis la
dedico a mis padres que han
constituido un gran apoyo en mi
carrera.
Agradecimiento
A Fabio Puente B, Susana
Mazapanta y Beatriz Campos por
su desinteresada colaboración.
“Para triunfar debemos primero
creer que lo podemos hacer”
Michael Korda
CONTENIDO
INTRODUCCIÓN , I
JUSTIFICACIÓN, II
OBJETIVOS, III
ALCANCE, IV
HIPÓTESIS, IV
METODOLOGÍA, IV
CAPITULO 1
1.1 HERRAMIENTAS DE DESARROLLO, DEFINICION , 1
1.2 TIPOS DE HERRAMIENTAS DE DESARROLLO , 3
1.3 EL PROCESO, 13
1.3.1 PROCESO, METODOS Y HERRAMIENTAS, 13
1.3.2 UNA VISION GENERAL DE LA INGENIERIA DEL SOFTWARE, 14
1.3.3 MODELO DE PROCESO DEL SOFTWARE, 15
1.3.4 EL MODELO LINEAL SECUENCIAL, 16
1.3.5 EL MODELO DE CONSTRUCCION DE PROTOTIPOS, 17
1.3.6 El MODELO DRA, 17
1.3.7 MODELOS EVOLUTIVOS DE PROCESO DE SOFTWARE,18
1.3.7.1 El modelo incremental, 19
1.3.7.2 El modelo espiral, 19
1.3.7.3 El modelo espiral winwin (victoria & victoria), 20
1.4 METODOLOGIA DE DESARROLLO DE SISTEMAS, 21
1.4.1 CLASIFICACION DE LAS METODOLOGÍAS, 22
1.4.1.1 Metodologias estructuradas, 2
1.4.1.2 Principlaes metodologias oficiales, 24
1.4.1.2.1 Metodología merise, 24
1.4.1.2.2 Metodologia ssadm, 25
1.4.1.2.3 Metodologia métrica , 25
1.4.1.3 Metodologiaorientada a objetos, 26
1.4.1.3.1 Introduccion, 26
1.4.1.3.2 Analisis orientado a objetos, 27
1.4.1.3.3 Pasos genericos de un analisis orientado a objetos, 27
1.5 LENGUAJE DE MODELAMIENTO UNIFICADO, 28
1.5.1 INTRODUCCION, 28
1.5.2 ARQUITECTURA DEL UML , 29
1.5.3 FUNCIONAMIENTO Y BENEFICIOS DE UML , 30
1.6 REQUERIMIENTOS DE EMPRESA, 31
1.6.1 DETERMINACION DE NECESIDADES, 35
1.7 ANALISIS COSTO – BENEFICIO, 36
CAPITULO 2
2.1 HERRAMIENTAS EXISTENTES EN EL MERCADO , 39
2.2 HERRAMIENTAS EXISTENTES EN EL MERCADO, DESCRIPC IÓN, 39
2.2.1 MICROSOFT, 39
2.2.1.1 Visual Studio.net, 40
2.2.1.1.1 Visual Studio .Net 2003 Enterprise Architect, 41
2.2.1.1.2 Visual Studio .Net 2003 Enterprise Developer, 41
2.2.1.1.3 Visual Studio .Net 2003 Professional, 42
2.2.1.2 Visual basic.net 2003, 42
2.2.1.3 Visual C++ .NET 2003, 42
2.2.1.4 Visual C # .NET 2003, 43
2.2.1.5 Visual J#.NET, 43
2.2.1.6 Visual FoxPro 7.0, 44
2.2.2 ORACLE, 45
2.2.2.1 Oracle9i jdeveloper, 45
2.2.2.1.1 Oracle 9i Data Base, 46
2.2.2.1.2 Oracle9i Database R2, 46
2.2.2.1.3 Oracle9i Application Server, 47
2.2.2.1.4 Oracle9i Developer Suite, 48
2.2.3 BORLAND, 48
2.2.3.1 Kylix 3.0, 49
2.2.3.1.1 Kylix 3 Enterprise, 50
2.2.3.1.2 Kylix 3 Professional, 50
2.2.3.1.3 Kylix 3 Open Edition, 51
2.2.3.2 Jbuilder 9, 52
2.2.3.2.1 JBuilder 9 Enterprise, 52
2.2.3.2.2 JBuilder 9 Developer, 53
2.2.3.2.3 JBuilder 9 Personal, 54
2.2.3.2.4 JBuilder 9, WebLogic Edition, 54
2.2.3.3 C++ Builder Studio 6, 54
2.2.3.3.1 C++ Builder Studio Enterprise, 55
2.2.3.3.2 C++ Builder Profesional, 56
2.2.3.3.3 C++Builder 6 Personal, 56
2.2.3.4 Delphi 7 Studio, 57
2.2.3.4.1 Delphi 7 Studio Architect, 57
2.2.3.4.2 Delphi 7 Studio Enterprise, 58
2.2.3.4.3 Delphi 7 Studio Professional, 58
2.2.3.4.4 Delphi 7 Studio Personal Edition, 59
2.2.4 SYBASE, 59
2.2.4.1 PowerBuilder 9.0, 60
2.2.4.2 PowerDesigner 9.5, 60
2.2.5 ARTech, 61
2.2.5.1 Genexus 8.0, 61
2.2.6 SOFTWARE LIBRE, 62
2.2.6.1 Php 4.0, 62
2.3 BASES DE DATOS, DESCRIPCION, 64
2.3.1 MICROSOFT SQL SERVER, 64
2.3.2 MySQL, 64
2.3.3 ORACLE, 65
2.3.4 POSTGRESQL, 65
2.3.5 INFORMIX,65
2.3.6 SYBASE, 66
CAPITULO 3
3.1 CARACTERISTICAS GLOBALES DE LAS HERRAMIENTAS, 68
3.1.1 MICROSOFT, 68
3.1.1.1 Visual Studio. NET 2003, 68
3.1.1.1.1 Beneficios de Visual Studio.Net a los programadores, 68
3.1.1.1.2 Beneficios de Visual Studio .NET Enterprise Architect a los
programadores, 69
3.1.1.1.3 Beneficios de Visual Studio .NET 2003 Enterprise Developer a los
programadores, 71
3.1.1.1.4 Beneficios de Visual Studio .NET 2003 Professional a los
programadores, 72
3.1.1.1.5 Información general acerca de las características Visual Studio .Net
2003, 73
3.1.1.1.5.1 Información general acerca de las
características Visual Studio .NET 2003
Enterprise Architect, 74
3.1.1.1.5.2 Información general acerca de las
características Visual Studio .NET 2003
Enterprise Developer, 76
3.1.1.1.5.3 Información general acerca de las
características Visual Studio .NET 2003
Pofessional, 79
3.1.1.1.6 Resumen y notas importantes, 82
3.1.1.2 Visual Basic.NET 2003, 84
3.1.1.2.1 Beneficios de Visual Basic.NET 2003 a los
programadores, 84
3.1.1.2.2 Información general acerca de las características de
Visual Basic .NET 2003, 86
3.1.1.2.3 Resumen y notas importantes, 90
3.1.1.3 C++ .NET, 93
3.1.1.3.1 Beneficios de C++ .NET a los programadores, 93
3.1.1.3.2 Información general acerca de las características de
Visual C++ .NET 2003, 93
3.1.1.3.3 Resumen y notas importantes, 96
3.1.1.4 C# .NET 2003, 98
3.1.1.4.1 Beneficios de C# .NET 2003 a los programadores,98
3.1.1.4.2 Información general acerca de las características de
Visual C# .NET 2003, 99
3.1.1.4.3 Resumen y notas importantes, 101
3.1.1.5 J# .NET, 105
3.1.1.5.1 Beneficios de J# .NET 2003 a los programadores, 105
3.1.1.5.2 Información general de las características de Visual J#
.NET, 105
3.1.1.5.3 Resumen y notas importantes, 108
3.1.2 ORACLE, 111
3.1.2.1 Oracle9i Developer Suite, 111
3.1.2.1.1 Beneficios y Características de Oracle9i Developer
Suite, 111
3.1.2.2 Principales características de la base
de datos Oracle 9i, 112
3.1.2.3 Principales características de Oracle 9i
Application Server, 112
3.1.2.4 Beneficios y Características de
Oracle9i Jdeveloper, 113
3.1.2.5 Resumen y notas importantes, 114
3.1.3 BORLAND, 116
3.1.3.1 Kylix 3.0, 116
3.1.3.2 Jbuilder, 118
3.1.3.3 C++ Builder, 121
3.1.3.4 Delphi 7 Studio, 124
3.1.4 SYBASE, 124
3.1.4.1 PowerBuilder 9.0, 127
3.1.4.2 PowerDesigner 9.5, 130
3.1.5 ARTECH, 133
3.1.5.1 Genexus 8.0, 133
3.1.6 SOFTWARE LIBRE
3.1.6.1 Php 4.0, 137
3.2 DETERMINACION DE PUNTOS CLAVE AL MOMENTO DE ESC OGER
UNA HERRAMIENTA DE DESARROLLO, 140
3.3 LICENCIAMIENTOS, 144
3.3.1 Tipos de software de acuerdo a su licencia, 144
3.3.1.1 Software Libre, 145
3.3.1.2 Software de Fuente Abierta, 147
3.3.1.3 Software de dominio público, 148
3.3.1.4 Software protegido con copyleft, 148
3.3.1.5 Software no protegido con copyleft, 149
3.3.1.6 Software abarcado por GPL, 149
3.3.1.7 El sistema GNU, 150
3.3.1.8 Software GNU, 150
3.3.1.9 Software semilibre, 151
3.3.1.10 Software propietario, 151
3.3.1.11 Freeware, 152
3.3.1.12 Shareware, 152
3.3.1.13 Software de Demostración, 153
3.3.1.14 Software Comercial, 153
3.3.1.15 Resumen, 154
3.4 COSTOS, 155
3.5 SOPORTE, 157
3.6 REQUERIMIENTOS DEL SISTEMA, 160
CAPITULO 4
4.1 GENERACION DE LA GUIA, 161
4.1.1 TIPOS DE EMPRESAS, 161
4.1.2 GESTION DEL SISTEMA, 163
4.1.3 TIPOS DE SISTEMAS, 166
4.1.4 ALTERNATIVAS, 167
4.1.5 CONSIDERACIONES, 181
CAPITULO 5
5.1 ANALISIS COMPARATIVO ENTRE HERRAMIENTA MICROSOF T Y
ORACLE EN UN CASO APLICATIVO, 182
5.2 CASO PRÁCTICO, 183
5.3 SEGUIMIENTO DE LA GUIA, 183
5.3.1 TIPO DE EMPRESA, 184
5.3.2 TIPO DE SISTEMA, 184
5.3.3 GESTION DEL SISTEMA, 185
5.3.4 ALTERNATIVAS, 185
CAPITULO 6
6.1 CONCLUSIONES, 191
6.2 RECOMENDACIONES, 194
GLOSARIO DE TERMINOS TECNICOS, i
GLOSARIO DE SIGLAS, iv
BIBLIOGRAFIA, x
ANEXOS
CAPITULO 1
1.1 HERRAMIENTAS DE DESARROLLO, DEFINICION
A través de los cambios en la tecnología del software y hardware, nos
encontramos una gama de herramientas de desarrollo para diferentes
plataformas y equipos de cómputo. A medida que surgen más tecnologías se
vuelven más complejos los sistemas basados en redes corporativas,
virtuales, empresariales, etc. es como el caso de los sistemas multiusuarios
y la tecnología de Internet e Intranet.
Cada día las herramientas de desarrollo como Oracle, Microsoft,
entre otras, pueden satisfacer las exigencias de un mercado que está a la
vanguardia del cambio, por lo tanto también es indispensable conocer los
equipos que deberán ser utilizados por los sistemas creados con estas
herramientas y que aplicaciones complementarias pueden interactuar con
ellos.
Las herramientas de desarrollo facilitan la rápida construcción de
aplicaciones. Las nuevas herramientas proveen a los desarrolladores
substanciales oportunidades que no habían existido previamente y para
mantenerse actualizados con las herramientas con las cuales estamos más
familiarizados, permitiendo a los desarrolladores construir sus aplicaciones
de una manera rápida, sencilla y segura.
Con el empleo de estas herramientas el desarrollo de soluciones
informáticas y aplicaciones lograrán optimizar los procesos de gestión
externa e Interna así como minimizar tiempos de respuestas.
Prácticamente las herramientas de desarrollo son utilizadas para la
creación de aplicaciones. La mayoría de las herramientas de desarrollo son
sencillas y completas y ayudan a la rápida construcción e integración de los
servicios y aplicaciones de Internet XML1. Aumenta enormemente la
productividad del desarrollador, al mismo tiempo que mejoran las
operaciones.
Existen herramientas que son más completas para el desarrollo de la
empresa, permitiendo construir soluciones de negocios de forma rápida, así
como crear aplicaciones escalables de fácil interacción con los sistemas
existentes especialmente las orientadas a Web.
No existe en la literatura una definición explicita, completa y clara del
concepto de herramienta de desarrollo ni de las partes que la componen. El
concepto ha venido madurando desde la década de los 60´s y ha
evolucionado a medida que se han definido técnicas y métodos, además de
la aparición de diversas herramientas de software, de todo lo expuesto
anteriormente podemos decir que la herramienta de desarrollo es un
conjunto de elementos o componentes de programación que ayudan a
acrecentar con orden y amplitud los procesos para interactuar servicios y
aplicaciones.
1 http://www.desarrolloweb.com/articulos/449.php?manual=27
1.2 TIPOS DE HERRAMIENTAS DE DESARROLLO
Se ha encontrado una clasificación interesante que será de utilidad tomado
de: Roger S. Pressman. Ingeniería del Software: Un Enfoque práctico.
Quinta edición. McGraw-Hill, 2002.
1.2.1 TAXONOMIA DE HERRAMIENTAS CASE
Es necesario crear una taxonomía de herramientas CASE –para comprender
mejor la amplitud de CASE y para apreciar mejor en donde se pueden
aplicar estas herramientas dentro del proceso del software- .
La taxonomía que se presenta a continuación utiliza como criterio principal la
función.
1.2.1.1 Herramientas de ingeniería de procesos de n egocio.
El objetivo primordial de las herramientas de esta categoría consiste en
representar objetos de datos de negocio, sus relaciones y la forma en que
fluyen estos objetos de datos entre distintas zonas de negocio en el seno de
la compañía.
1.2.1.2 Modelado de procesos y herramientas de gest ión.
Las herramientas de modelado de procesos (llamadas también herramientas
de tecnología de procesos) se utilizan para representar los elementos clave
del proceso de manera que sea posible entenderlo mejor. Estas
herramientas también pueden proporcionar vínculos con descripciones de
procesos que ayuden a quienes estén implícitos en el proceso de
comprender las tareas que se requieren para llevar a cabo ese proceso.
Además las herramientas de gestión de procesos pueden proporcionar
vínculos con otras herramientas que proporcionan un apoyo para las
actividades de proceso ya definidas.
1.2.1.3 Herramientas de planificación de proyectos.
Las herramientas de esta categoría se centran en dos áreas primordiales: estimación
de costes y de esfuerzos del proyecto de software y planificación de proyectos.
1.2.1.4 Herramientas de análisis de riesgos.
Las herramientas de análisis de riesgo hacen posible que el gestor del
proyecto construya una tabla de riesgos proporcionando una guía detallada
en la identificación y análisis de riesgos.
1.2.1.5 Herramientas de gestión de proyectos.
La planificación del proyecto y el plan del proyecto deberán ser rastreados y
motorizados de forma continua. Además el gestor deberá utilizar las
herramientas que recojan métricas que en última instancia proporcionen una
indicación de la calidad del producto de software. Las herramientas de esta
categoría suelen ser extensiones de herramientas de planificación de
proyectos.
1.2.1.6 Herramientas de seguimientos de requisitos.
El objetivo de las herramientas de seguimiento es proporcionar un enfoque
sistemático para el aislamiento de los requisitos, comenzando por el RFP del
cliente o por la especificación.
1.2.1.7 Herramientas de métricas y gestión.
Las métricas del software mejoran la capacidad del gestor para controlar y
coordinar el proceso de ingeniería de software y la capacidad del ingeniero
para mejorar la calidad del software que se produce.
1.2.1.8 Herramientas de documentación.
Las herramientas de producción de documentos y de autoedición prestan su
apoyo a casi todos los aspectos de ingeniería de software y representan
una importante oportunidad de <<aprovechamiento>> para todos los que
desarrollan software. La mayoría de las organizaciones dedicadas al
desarrollo de software invierten una cantidad de tiempo considerable en el
desarrollo de documentos, y en muchos casos el proceso de documentación
en sí resulta bastante deficiente.
1.2.1.9 Herramientas de software de sistemas.
CASE es una tecnología de estaciones de trabajo. Por tanto el entorno
CASE deberá adaptarse a un software de sistema en red de alta calidad, al
correo electrónico, a los tablones de anuncios electrónicos y a otras
posibilidades de comunicarse.
1.2.1.10 Herramientas de control de calidad.
La mayor parte de las herramientas CASE se afirman tener como su
principal interés el control de calidad que en realidad las herramientas de
métricas hacen una auditoría del código fuente para determinar si se ajusta o
no a ciertos estándares del lenguaje.
1.2.1.11 Herramientas de gestión de bases de datos.
El software de gestión de base de datos sirve como fundamento para
establecer una base de datos CASE, que también se denominará base de
datos del proyecto. Dada la importancia de los objetos de configuración, las
herramientas de gestión de bases de datos para CASE pueden evolucionar
a partir de los sistemas de gestión de base de datos relacionales (SGBDR)
para transformarse en sistemas de gestión de base de datos orientados a
objetos.
1.2.1.12 Herramientas de gestión de configuración d e software.
La gestión de configuración del software se encuentra en el núcleo de todos los
entornos CASE. Las herramientas pueden ofrecer su asistencia en las cinco tareas
principales de CGS -identificación, control de versiones, control de cambios,
auditoria y contabilidad de estados- .
1.2.1.13 Herramientas de análisis y diseño.
Las herramientas de análisis y diseño hacen posible que el ingeniero del software
cree modelos de sistema que vaya a construir. Al efectuar una comprobación de
existencia y validez de modelos, las herramientas de análisis y diseño proporcionan
al ingeniero de software un cierto grado de visión en lo tocante a la representación
del análisis, y le ayuden a eliminar errores antes de que se propaguen al diseño, o lo
que es peor, a la propia implementación.
1.2.1.14 Herramientas PRO/SIM.
Las herramientas PRO/SIM (de construcción de prototipos y simulación)
proporcionan al ingeniero de software la capacidad de predecir el comportamiento de
un sistema en tiempo real antes de llegar a construirlo,
1.2.1.15 Herramientas de desarrollo y diseño de int erfaz.
Las herramientas de desarrollo y diseño de interfaz, son en realidad un conjunto de
herramientas de componentes de programas (clases) tales como menús, botones,
estructuras de ventanas, iconos, mecanismos de desplazamiento de la pantalla,
controladores de dispositivos, etc. Sin embargo, estos conjuntos de herramientas se
están viendo sustituidos por herramientas de construcción de prototipos de interfaz
que permiten una rápida creación en pantalla de interfaces de usuario sofisticadas,
que se ajustan al estándar de interfaz que se haya adoptado para el software.
1.2.1.16 Herramientas de construcción de prototipos .
Se puede utilizar toda una gama de herramientas de construcción de
prototipos. Los generadores de pantallas permiten al ingeniero del software
definir rápidamente la disposición de la pantalla para aplicaciones
interactivas. Otras herramientas de prototipos CASE más sofisticadas
permiten la creación de un diseño de datos, acompañado por diseños e
informes de la pantalla. Muchas herramientas de análisis y diseño son más
extensas y proporcionan opciones de construcción de prototipos.
1.2.1.17 Herramientas de programación.
La categoría de herramientas de programación abarca los compiladores, editores y
depuradores disponibles para apoyar a la mayoría de los lenguajes de programación
convencionales. Además, en esta categoría también residen los entornos de
programación orientados a objetos (OO), los lenguajes de cuarta generación, los
entornos de programación gráfica, los generadores de aplicaciones y los lenguajes de
consulta de bases de datos.
1.2.1.18 Herramientas de desarrollo de Webs.
Las actividades asociadas a la ingeniería Web están apoyadas por una variedad de
herramientas de desarrollo WebApps. Entre estas herramientas se incluyen las que
prestan ayudas en la generación de texto, gráficos, formularios, guiones, applets y
otros elementos de una página Web.
1.2.1.19 Herramientas de análisis estático.
Las herramientas de análisis estático prestan su asistencia al ingeniero del
software a esfuerzos de derivar casos prácticos. En la industria se utilizan
tres tipos de herramientas estáticas de prueba: herramientas de prueba
basadas en código; lenguajes de prueba especializados y herramientas de
pruebas basadas en requisitos.
1.2.1.20 Herramientas de análisis dinámico.
Las herramientas de análisis dinámico interactúan con el programa que se
esté ejecutando, prueban la cobertura de rutas, prueban las afirmaciones
acerca del valor de variables específicas e instrumentan por otro lado el flujo
de ejecución del programa.
1.2.1.21 Herramientas de gestión de pruebas.
Las herramientas de esta categoría gestionan y coordinan las pruebas de
regresiones, efectúan comparaciones que determinan las diferencias entre la
salida real y la esperada y realizan pruebas por lotes de programas con
interfaces hombre-máquina interactivas.
1.2.1.22 Herramientas de pruebas cliente/servidor.
El entorno C/S exige unas herramientas de pruebas especializadas que
ejerciten la interfaz gráfica de usuario y los requisitos de comunicaciones en
red para el cliente y el servidor.
1.2.1.23 Herramientas de reingeniería.
La categoría de herramientas de reingeniería se puede subdividir en las
funciones siguientes:
• Herramientas de ingeniería inversa para producir especificaciones: se
toma el código fuente como entrada y se generan modelos gráficos
de análisis y diseño estructurados, listas de utilización y más
información sobre el diseño.
• Herramientas de reestructuración y análisis de código; y
• Herramientas de reingeniería para sistemas online.
Muchas de las herramientas anteriores señaladas, se ven limitadas a
lenguajes de programación específicos (aunque abarcan la mayoría de
los lenguajes principales) y requieren un cierto grado de interacción con
el ingeniero de software.
1.2.2 EJEMPLOS DE HERRAMIENTAS
Existe una gran variedad de herramientas para diferentes requerimientos de sistemas,
en el siguiente cuadro se clasifican las principales herramientas por categoría.
CATEGORIA HERRAMIENTAS
Lenguajes de Programación Orientados a Objetos:
• Delphi • C++ Builder • Kylix • Visual Studio .NET
• Visual Basic.NET • Visual C++.NET • Visual J++.NET • Visual InterDev • JBuilder • JDeveloper • JDK • VisualAge
Motores de Bases de Datos:
• InterBase • Oracle • Sybase • Microsoft SQL Server • Informix • MySQL
Middleware:
• VisiBroker • Midas • Entera
Desarrollo en AS/400:
• Delphi/400 • C++ Builder/400 • JBuilder/400
Diseño y modelado de datos
• ER/Studio • Rational Rose • Edwin
Instaladores: • InstallShield
Herramientas Case Orientadas a Objetos
• WithClass • Rational Rose.
Generadores de Reportes: • QuickReports • Shazam Report Wizard
Herramientas para desarrollo de aplicaciones de comunicaciones
• Async Professional
Herramientas de Diseño Web
• Adobe After Effects & Photoshop • Microsoft FrontPage & Photodraw • Macromedia Director • Macromedia Flash • Dreamweaver & Fireworks
Herramientas / entornos CASE (y meta-CASE)
• Rational Rose • Dome • MetaEdit
Herramientas de Modelado
• MOSES • GME • Ptolemy
Editores Personalizables
• Emacs • Vim/Gvim
• MED • Eclipse • ConTEXT
Herramientas para "navegación" y consulta de código
• Source Navigator
Herramientas de análisis de código • Herramienta de métricas y
análisis RSM
Herramientas eLearning
• Toolbook II (de Click2learn)
• Herramientas de Macromedia
• Quest (de Mentergy) • LearningWare
Aplicaciones entorno cliente/servidor
• PowerBuilder • PowerJ • Power++ • PowerDesigner • InfoMaker • UDK Developer's Kit for
Unicode
Elaborado por: Patricio Lucero. Fuente: www.audisoft.com http://lml.ls.fi.upm.es/~mcollado/enl aces.html Otras herramientas:
• GraphViz (utilidad para composición y trazado de grafos)
• ExamDiff (visualizador de diferencias entre archivos)
• TkDiff (visualizador y mezclador de diferencias entre archivos)
• Guiffy (visualizador y mezclador de diferencias entre archivos)
1.3 EL PROCESO
Cuando construimos un producto o sistema, es importante seguir una
serie de pasos predecibles, este seguimiento se llama proceso del software.
Las personas que lo elaboran, son los ingenieros del software que adaptan el proceso
a sus necesidades. Además las personas que han solicitado el software tienen un
papel a desempeñar en este proceso.
El proceso es importante porque proporciona estabilidad, control y
organización a una actividad que puede volverse caótica.
1.3.1 PROCESO, METODOS Y HERRAMIENTAS
La ingeniería del software es una tecnología multicapa (herramientas,
métodos, proceso, un enfoque de calidad). Cualquier enfoque de ingeniería
(incluida ingeniería de software) debe apoyarse sobre un compromiso de
organización de calidad.
El fundamento de la ingeniería del software es la capa de proceso. El
proceso de la ingeniería del software es la unión que mantiene juntas las
capas de la tecnología y que permite un desarrollo racional y oportuno de la
ingeniería del software. El proceso define un marco de trabajo para un
conjunto de áreas claves de proceso que se deben establecer para la
entrega efectiva de la tecnología de la ingeniería del software.
Los métodos de la ingeniería del software indican <<como>> construir
técnicamente el software. Los métodos abarcan una gran gama de tareas
que incluyen análisis de requisitos, diseños, construcción de programas,
pruebas y mantenimiento.
Las herramientas de la Ingeniería del software proporcionan un
enfoque automático o semi-automático para el proceso y para los métodos.
Cuando se integran herramientas para que la información creada por una
herramienta la pueda utilizar otra, se establece un sistema de soporte para el
desarrollo del software llamado ingeniería del software asistida por
computadora (CASE).
1.3.2 UNA VISION GENERAL DE LA INGENIERIA DEL SOFTW ARE
La ingeniería es el análisis, diseño, construcción, verificación y gestión
de entidades técnicas (o sociales).
El trabajo que se asocia a la ingeniería del software se puede dividir en tres
fases genéricas, con independencia del área de aplicación, tamaño o
complejidad del proyecto.
La fase de definición se centra sobre el qué. Es decir, durante la
definición, el que desarrolla el software intenta identificar que información ha
de ser procesada, que función y rendimiento se desea, qué comportamiento
del sistema, qué interfaces van a ser establecidas, qué restricciones de
diseño existen, y qué criterios de validación se necesitan para definir un
sistema correcto.
La fase de desarrollo se centra en el cómo. Es decir, durante el
desarrollo un ingeniero del software intenta definir cómo han de diseñarse
las estructuras de datos, cómo ha de implementarse la función dentro de una
arquitectura del software, cómo han de implementarse los detalles
procedimentales, cómo han de caracterizarse interfases, cómo ha de
traducirse el diseño de un lenguaje de programación y cómo ha de realizarse
la prueba.
La fase de mantenimiento se centra en el cambio que va asociado a la
corrección de errores, a las adaptaciones requeridas a medida que
evoluciona el entorno del software y a cambios debido a las mejoras
producidas por los requisitos cambiantes del cliente. Durante la fase de
mantenimiento se encuentran cuatro tipos de cambios que son: corrección,
adaptación, mejora y prevención.
1.3.3 MODELO DE PROCESO DEL SOFTWARE
Para resolver los problemas reales de una industria, un ingeniero del
software o un equipo de ingenieros debe incorporar una estrategia de
desarrollo que acompañe al proceso, métodos y capas de herramientas
descritos en la Sección 1.3.1 y las fases genéricas discutidas en la Sección
1.3.2. Esta estrategia a menudo se llama modelo de proceso o paradigma
de ingeniería de software. Se selecciona un modelo de proceso para la
ingeniería de software según la naturaleza del proyecto y de la aplicación,
los métodos y las herramientas a utilizarse, y los controles y entregas que se
requieren.
En las secciones siguientes, se tratan diferentes modelos de procesos
para la ingeniería del software. Cada una representa un intento de ordenar
una actividad inherentemente caótica. Es importante recordar que cada uno
de los modelos se han caracterizado de forman que ayuden (con esperanza)
al control y coordinación de un proyecto de software real.
1.3.4 EL MODELO LINEAL SECUENCIAL
Llamado algunas veces <<ciclo de vida básico>> o <<modelo en
cascada>>, el modelo lineal secuencial sugiere un enfoque sistemático,
secuencial, para el desarrollo del software que comienza en un nivel de
sistemas y progresa con el análisis, diseño, codificación, pruebas y
mantenimiento. Modelado según el ciclo de ingeniería convencional, el
modelo lineal secuencial comprende las siguientes actividades:
� Ingeniería y modelado de Sistemas/Información.
� Análisis de los requisitos del software.
� Diseño.
� Generación del código.
� Pruebas.
� Mantenimiento.
1.3.5 EL MODELO DE CONSTRUCCION DE PROTOTIPOS
El responsable de el desarrollo del software puede no estar seguro de
la eficacia de un algoritmo, de la capacidad de la adaptación de un sistema
operativo, o de la forma en que debería tomarse la interacción hombre
máquina. En estas y mucha otras situaciones, un paradigma de construcción
de prototipos puede ofrecer el mejor enfoque.
El paradigma de construcción de prototipos comienza con la
recolección de requisitos. El desarrollador y el cliente encuentran y definen
los objetivos globales, entonces aparece un <<diseño rápido>>. El diseño
rápido se centra en una representación de esos aspectos del software que
serán visibles para el usuario/cliente. El diseño rápido lleva a la construcción
de un prototipo. El prototipo lo evalúa el cliente/usuario y se utiliza para
refinar los requisitos del software a desarrollar, permitiendo al mismo tiempo
que el desarrollador comprenda mejor lo que necesita hacer.
1.3.6 El Modelo DRA
El Desarrollo Rápido de Aplicaciones (DRA) es un modelo de proceso de
desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo
extremadamente corto. El modelo DRA es una adaptación a <<alta
velocidad>> del modelo lineal secuencial en el que se logra el desarrollo
rápido utilizando una construcción basada en componentes. Cuando se
utiliza principalmente para aplicaciones de sistemas de información, el
enfoque DRA comprende las siguientes fases:
� Modelado de Gestión.
� Modelado de datos.
� Modelado del proceso.
� Generación de aplicaciones.
� Pruebas y entrega.
1.3.7 MODELOS EVOLUTIVOS DE PROCESO DE SOFTWARE
Se reconoce que el software, al igual que todos los sistemas
complejos, evoluciona con el tiempo. Los requisitos de gestión y de
productos a menudo cambian conforme a que el desarrollo procede en el
camino que lleva al producto final no sea real; las estrictas fechas topes del
mercado hacen que sea posible finalizar un producto completo, por lo que se
debe introducir una versión limitada para cumplir la presión competitiva y de
gestión. En estas y en otras situaciones similares, los ingenieros del software
necesitan un modelo de proceso que se ha diseñado explícitamente para
acomodarse a un producto que evolucione con el tiempo.
Los modelos evolutivos son iterativos. Se caracterizan por la forma en
que permiten a los ingenieros del software desarrollar versiones cada vez
más completas del software.
1.3.7.1 EL MODELO INCREMENTAL
El modelo incremental combina elementos del modelo lineal
secuencial con la filosofía interativa de construcción de prototipos. El modelo
incremental aplica secuencias lineales de forma escalonada mientras
progresa el tiempo en el calendario.
El modelo de proceso incremental, como la construcción de prototipos
(Sección 1.3.5) y otros enfoques evolutivos, es iterativo por naturaleza. Pero
a diferencia de la construcción de prototipos, el modelo incremental se
centra en la entrega de un producto operacional con cada incremento. El
desarrollo incremental es particularmente útil cuando la dotación de personal
no está disponible para una implementación completa en la fecha límite que
se haya establecido para el proyecto.
1.3.7.2 EL MODELO ESPIRAL
El modelo espiral, propuesto originalmente por Boehm, es un modelo
de proceso de software evolutivo que conjuga la naturaleza iterativa de
construcción de prototipos con los aspectos controlados y sistemáticos del
modelo lineal secuencial.
Proporciona el potencial para el desarrollo rápido de versiones
incrementales. Durante las primeras iteracciones, la versión incremental
podría ser un modelo en papel o un prototipo. Durante las últimas
iteracciones, se producen versiones cada vez más complejas del sistema
diseñado.
1.3.7.3 EL MODELO ESPIRAL WINWIN (VICTORIA & VICTOR IA)
El modelo en espiral tratado en la sección 1.3.7.2 sugiere una actividad del
marco de trabajo que aborda la comunicación con el cliente. El objetivo de esta
actividad es mostrar los requisitos del cliente. En un contexto ideal, el desarrollador
simplemente pregunta al cliente lo que se necesita y el cliente proporciona detalles
suficientes para continuar. Desgraciadamente esto rara vez ocurre. En realidad el
cliente y el desarrollador entran en un proceso de negociación, donde el cliente puede
ser preguntado para sopesar la funcionalidad, rendimiento, y otros productos o
características del sistema frente al coste y al tiempo de comercialización.
Las mejores negociaciones se esfuerzan en obtener <<victoria &
victoria>>. Esto es, el cliente gana obteniendo el producto o sistema que
satisface la mayor parte de sus necesidades y el desarrollador gana
trabajando para conseguir presupuestos y lograr una fecha de entrega
realista.
Para mayor información de lo expuesto en este Capítulo 1.3 y parte de la
información expuesta en este Capítulo fue obtenido de Roger S. Pressman.
Ingeniería del Software: Un Enfoque práctico. Quinta edición. McGraw-Hill, 2002.
1.4 METODOLOGIA DE DESARROLLO DE SISTEMAS
Para asegurar la calidad de la información de una empresa cualquiera,
es necesario que el personal contribuya de forma eficiente en la elaboración
de aplicaciones, y esto se consigue definiendo una serie de etapas
intermedias que permitan acrecentar la eficiencia del trabajo.
Las metodologías han venido evolucionando, primero se tuvo un
enfoque en Desarrollo Convencional, después Estructurado y actualmente
Orientado a Objetos.
Parte de lo que se describirá posteriormente en este capítulo fue tomado del
tema Metodologías modernas de desarrollo de Sistemas de Información,
para la Licenciatura de Sistemas Computacionales cuya autor es Araceli
Torres Lecuanda.
Podemos definir como metodología al conjunto de métodos
empleados para el desarrollo de sistemas automatizados.
Una metodología completa es algo más que una notación, un proceso, y
herramientas. Además estas "metodologías completas" proporcionan:
o Guías para estimar costos,
o Manejo del proyecto en las tareas y entregas,
o Medidas y métricas,
o Formas definidas y dirección en las entregas de la
construcción,
o Políticas y procedimientos para garantizar la calidad del
software,
o Descripciones de los roles y programas de entrenamiento
detallados,
o Ejemplos totalmente trabajados,
o Ejercicios de entrenamiento,
o Técnicas para adaptar el método, y
o Técnicas definidas
1.4.1 CLASIFICACION DE LAS METODOLOGIAS
Se dará a continuación una breve descipción de la clasificacion de las
metodologías.
1.4.1.1 METODOLOGIAS ESTRUCTURADAS.
Proponen la creación de modelos del sistema que representan los
procesos, los flujos y la estructura de los datos de una manera descendente,
tanto en las funciones del sistema, en la estructura de los datos o a ambos
aspectos dando lugar a metodologías orientadas a procesos, orientadas a datos
(datos jerárquicos y datos no jerárquicos) y mixtas.
1.4.1.1.1 METODOLOGIAS ORIENTADAS A PROCESOS.
Los datos se introducen en el sistema y el sistema responde ante ellos
transformándolos para obtener las salidas. Una especificación estructurada es
un modelo gráfico, particionado, descendente y jerárquico de los procesos del
sistema y de los datos utilizados por los procesos. Se compone de:
� Diagramas de flujos de datos (DFD)
� Diccionario de datos
� Especificaciones de proceso
1.4.1.1.2 METODOLOGIAS ORIENTADAS A DATOS JERARQUIC OS.
Se orientan más a las entradas y salidas. Se definen las estructuras de
datos y a partir de estas se derivan los componentes procedimentales.
- La estructura de control del programa debe ser jerárquica y se debe derivar
de las estructura de datos del programa.
- El proceso de diseño consiste en definir primero la estructura de los datos
de entrada y salida, mezclarlas todas en una estructura jerárquica de
programa y después ordenar detalladamente la lógica procedimental par
que se ajuste a esta estructura.
- El diseño lógico debe preceder y estar separado del diseño físico.
1.4.1.1.3 METODOLOGIAS ORIENTADAS A DATOS NO JERARQ UICOS.
Los datos constituyen el corazón del sistema de información, son más
estables que los proceso que actúan sobre ellos. El estudio de los procesos
viene derivado de una definición inicial de los datos (modelo de datos)
constituido por el conjunto de entidades de datos básicas y las interrelaciones
entre ellas.
Ejemplo de metodología:
- Ingeniería de la Información:
1) Planificación
2) Análisis.
3) Diseño.
4) Construcción.
1.4.1.2 PRINCIPLAES METODOLOGIAS OFICIALES.
1.4.1.2.1 METODOLOGÍA MERISE
Las mayores aportaciones de la metodología son:
- Un ciclo de vida más largo, se incluye una etapa de planificación previa al
desarrollo (esquema director).
- Introducción de dos ciclos complementarios: ciclo de abstracción y ciclo
de decisión. El primero se basa en tres niveles con dos modelos para
cada nivel, modelo de datos y modelo de tratamientos:
1.4.1.2.2 MEODOLOGIA SSADM.
Los aspectos claves de esta metodología son:
- Énfasis en los usuarios: sus requisitos y participación.
- Definición del proceso de producción.
- Tres puntos de vista: datos, eventos y procesos.
- Máxima flexibilidad en herramientas y técnicas de implementación.
SSADM proporciona un conjunto de procedimientos para llevar a cabo el
análisis y diseño, pero no cubre aspectos como la planificación estratégica ni
entra en la construcción del código.
1.4.1.2.3 METODOLOGIA METRICA.
MÉTRICA v.2 está estructurada mediante una sucesión de fases,
módulos, actividades y tareas que hay que seguir para el desarrollo de
sistemas, e indica los productos que se obtienen en cada una de las tareas.
Algunos son productos finales, y otros, productos intermedios que servirán de
base para la realización de tareas posteriores.
La metodología está dividida en las siguientes fases:
- Fase 0: Plan de Sistemas de Información.
- Fase 1: Análisis de Sistemas.
- Fase 2: Diseño de Sistemas.
- Fase 3: Construcción de Sistemas.
- Fase 4: Implantación de Sistemas.
1.4.1.3 METODOLOGIA ORIENTADA A OBJETOS.
Se encontró una perspectiva interesante de la Metodologías Orientada a
Objetos que será de utilidad tomado del Departamento de Lenguas y
Sistemas Informáticos e Ingeniería de Software, Universidad Pontificia de
Salamanca en Madrid, Facultad de Informática.
1.4.1.3.1 INTRODUCCION.
Durante algunos años se llamo Orientado a Objetos a todo desarrollo
que utilizara como lenguaje de implementación un lenguaje de Objetos. Hoy
en día el paradigma de objetos encierra una visión completa a la Ingeniería
de Software.
Existen muchas razones de ingeniería de software que nos hacen exigir
un mejor modelo de construcción de aplicaciones que el tradicional diseño
modular. Fundamentalmente dos:
1) reutilización : capacidad de los elementos del software para poder ser
utilizados en la construcción de muchas aplicaciones diferentes.
2) extensibilidad: facilidad para adaptar los productos del software a los
cambios en la especificación.
Limitaciones de los enfoques tradicionales: arquitecturas centralizadas
que limitan la flexibilidad.
El modelo de objetos viene a paliar el problema “descentralizado” el
procesamiento mediante el uso de la teoría de tipos abstractos de datos.
Para mejorar la extensibilidad, el paradigma de objetos propone:
• La simplicidad del diseño: una arquitectura simple siempre será más
fácil de adaptar a los cambios que a una compleja.
• Descentralización: cuanto más autónomos sean los módulos menor
será la posibilidad de que un cambio sencillo afecte a más de uno de
ellos.
1.4.1.3.2 ANALISIS ORIENTADO A OBJETOS
El objetivo del análisis orientado a objetos es proporcionar una
descripción de un problema, desarrollando una serie de modelos que
describan el software necesario para que un ordenador pueda satisfacer un
conjunto de requisitos definidos por el cliente.
1.4.1.3.3 PASOS GENERICOS DE UN ANALISIS ORIENTADO A
OBJETOS
Podríamos decir que los pasos fundamentales en un Análisis OO son:
• Obtener los requisitos del cliente para el Sistema OO.
• Identificar los escenarios o casos de uso.
• Construir un modelo de requisitos.
• Seleccionar las clases y objetos usando los requisitos básicos como
guías.
• Identificar los atributos y operaciones para cada objeto del sistema.
• Definir estructuras y jerarquías que organicen las clases.
• Construir un modelo objeto-relación.
• Revisar el modelo obtenido y contrastarlo con los casos de
uso/escenarios.
1.5 LENGUAJE DE MODELAMIENTO UNIFICADO
Parte del contenido presentado en este capítulo, ha sido tomado de este
excelente manual de referencia sobre UML. El Lenguaje Unificado de
Modelado. Manual de Referencia. Addison Wesley, Ed. James Rumbaugh,
Ivar Jacobson y Grady Booch. Rational Software Corporation. Año 2000.
1.5.1 INTRODUCCION
El Lenguaje de Modelamiento Unificado (UML - Unified Modeling
Language) es un lenguaje gráfico para visualizar, especificar y documentar
cada una de las partes que comprende el desarrollo de software. El lenguaje
de modelado pretende unificar la experiencia pasada sobre técnicas de
modelado orientado a objetos (Booch, Rumbaugh y Coad-Yourdon) e
incorporar las mejores prácticas actuales en un acercamiento estándar.
UML no es un lenguaje de programación. Las herramientas pueden ofrecer
generadores de código de UML para una gran variedad de lenguaje de
programación, así como construir modelos por ingeniería inversa a partir de
programas existentes.
Podemos decir que UML no pretende ser un método de desarrollo
completo. No incluye un proceso de desarrollo paso a paso, UML incluye
todos los conceptos que se consideran necesarios para utilizar un proceso
moderno iterativo, basado en construir una sólida arquitectura para resolver
requisitos dirigidos por casos de uso.
1.5.2 ARQUITECTURA DEL UML
Arquitectura de cuatro capas, definida a fin de cumplir con la especificación
Meta Object Facility del OMG:
• Meta-metamodelo: define el lenguaje para especificar metamodelos.
• Metamodelo: define el lenguaje para especificar modelos.
• Modelo: define el lenguaje para describir un dominio de información.
• Objetos de usuario: define un dominio de información específico.
1.5.3 FUNCIONAMIENTO Y BENEFICIOS DE UML
UML consiste de:
Reglas de simbología que aplican a cualquier tipo de modelo hecho
bajo este lenguaje, por ejemplo, el modo en que se coloca un comentario en
cualquier diagrama o el modo en que se aumenta la nomenclatura existente
en UML.
Diferentes tipos de diagramas: de clases, de casos de uso, de
Interacción, de componentes, de distribución, de paquetes, de transición de
estados, etc. Cada diagrama está diseñado para enfocar un aspecto en
particular de un sistema. Por ejemplo, un diagrama de clases ilustra la
estructura estática de un sistema. En un modelo de análisis muestra los
conceptos de negocios del sistema, sus relaciones, sus datos (atributos) y
operaciones.
UML puede ser usado extensivamente en: Recopilación de
requerimientos, Análisis de aplicaciones, Diseño de sistemas, en pruebas,
en implementación, en reingeniería y prácticamente en cualquier actividad
de desarrollo que sea susceptible de ser modelada.
Así por ejemplo, un diagrama de clases, en análisis contendrá relaciones
entre los conceptos de un negocio (venta, compra, vendedor, etc.), mientras
que en diseño contendrá elementos tecnológicos como ventana, botón,
buffer, controlador, conexión, etc. En implementación podrá representar
tablas, estructuras de datos, archivos, o clases programadas en un lenguaje
orientado a objetos.
Cada diagrama puede ser usado con énfasis distinto en cada fase de
desarrollo. Un diagrama cualquiera en una fase de análisis tendrá un énfasis
lógico y mientras más se acerque al diseño y la implementación mayor será
su énfasis físico y tecnológico.
Cabe aclarar que aunque UML es orientado a objetos
preferentemente, es útil en cualquier modelo tecnológico ya que es
independiente de lenguajes de programación o tecnología determinada.
Los beneficios de UML son:
� Mejores tiempos totales de desarrollo.
� Mejor calidad.
� Mejor soporte a la planeación y al control de proyectos.
� Mayor independencia del personal de desarrollo.
� Mayor soporte al cambio organizacional, comercial y tecnológico.
� Alta capacidad de reutilización.
� Minimización de costos.
1.6 REQUERIMIENTOS EMPRESARIALES
La competitividad en una economía cada vez más globalizada es una
de las preocupaciones más importantes en el ámbito de los negocios. Más
en momentos como los actuales, donde la prisa de las organizaciones y la
competencia global exigen a los empresarios incorporar herramientas y
tecnología de punta en sus organizaciones.
La implementación de soluciones con la última tecnología, solo se
venía haciendo en empresas grandes que disponían de los recursos para su
implementación, sin embargo, la reducción de costos y la gran oferta
existente en la actualidad, le permiten ahora a una microempresa, hacer uso
de la tecnología disponible a costos razonables.
La propensión actual del mercadeo es centrar el funcionamiento de la
empresa en construir y mantener relaciones rentables y duraderas con los
clientes. Este concepto se denomina CRM (Customer Relationship
Management). Se trata de conseguir el mayor conocimiento del cliente, sus
gustos, preferencias, perfiles, y la forma como él ha interactuado
históricamente con la compañía. De esta forma se pretende anticiparse a
sus necesidades y brindarle un mejor servicio en busca del aumento de su
satisfacción.
Ante tantas opciones que ofrece el mercado, no es una tarea fácil
elegir la mejor solución para una organización. Las variables a tener en
cuenta son considerables dependiendo del tamaño de la compañía, su
infraestructura actual de tecnología, el modelo de negocio y sus clientes.
El mercado ofrece una gran diversidad de productos que, en muchas
ocasiones, no pueden ser utilizados por las empresas, porque estas buscan
suplir requerimientos particulares que no son muy comunes. Esto implica
que las soluciones deben incluir componentes flexibles, abiertos y
configurables a los procesos de cada organización.
El desarrollo interno puede implicar altos costos de desarrollo y es
posible que el mantenimiento sea complicado después de la puesta en
marcha, ya que el producto requiere de un tiempo para estabilizarse.
Si la empresa tiene una infraestructura adecuada para el desarrollo y
cuenta con la experiencia suficiente en proyectos similares, podría optar por
hacer un desarrollo interno. Si no es el caso, lo mejor es contratar una
compañía que pueda hacer el desarrollo a la medida o adaptar un producto
similar a sus necesidades específicas.
Otro aspecto importante a tener en cuenta a la hora de elegir una
solución es la verificación del cumplimiento de requerimientos. En muchas
ocasiones los proyectos no son exitosos porque no se identificaron
claramente las necesidades del cliente. Tanto el proveedor como la empresa
deben conocer muy bien las necesidades que va a satisfacer la solución.
Si el presupuesto inicial no es muy grande, se debe verificar que el
software sea modular, es decir, que permita adquirir solo los módulos que se
requieren y luego incorporar nuevos módulos a medida que la empresa
crece.
Si la empresa tiene desarrollos propios o de otro proveedor, hay que
verificar que la solución sea abierta, que permita integrar la solución con
otros productos que ya funcionen en la compañía.
Una de las tareas de mantenimiento más frecuente es el ajuste de los
reportes existentes y la creación de nuevas consultas e informes. La
solución debería incluir un generador de reportes. Esto permitirá ajustar los
reportes actuales a las necesidades actuales y crear nuevos reportes.
La facilidad de uso reduce el tiempo de capacitación y permite el
reemplazo de los usuarios fácilmente. La interfase gráfica debería ser
amigable, intuitiva y semejante en todos los módulos de la solución.
La mayoría de soluciones incorporan el control de acceso de los
usuarios al sistema, sin embargo, es deseable que incorpore huellas de
auditoria, es decir que en cada operación efectuada en las bases de datos
se registre el usuario que la efectuó.
Con respecto al acceso a través de Internet, algunas soluciones están
basadas totalmente en una interfase Web para actualización y consulta, sin
embargo, algunos procesos internos que necesitan actualización rápida no
dan espera para obtener una respuesta a través de una conexión vía
Internet.
Por último, el soporte es fundamental para mantener un sistema funcionando. Se
debe verificar que el proveedor ofrezca una buena infraestructura de soporte tanto
presencial como telefónico. De igual forma, que garantice actualizaciones por mejoramiento
tecnológico y cambios en disposiciones legales.
1.6.1 DETERMINACION DE NECESIDADES
Cada empresa debe formularse así misma una pregunta esencial:
¿Qué software necesitamos? La respuesta siempre será valiosa para
asegurar que la compra y utilización de software sea eficiente y efectiva.
Adicionalmente la respuesta a esta pregunta guiará sus esfuerzos para
trabajar en el marco de la ley.
Un buen enfoque para determinar los requerimientos de su empresa
es completar el formulario de normas de la empresa para cada empleado y
paquete de software. Según la Guía para la Administración de Software de la
BSA, Un manual de referencia paso a paso, nos dice que el análisis debe
responder las siguientes preguntas:
1. ¿Su empresa está utilizando el software más adecuado
para satisfacer sus necesidades?
2. ¿Su personal está satisfecho con los programas
actualmente utilizados en la empresa?
3. ¿Hay otros programas que permitirán a su empresa operar
de una manera más eficiente?
4. ¿Tiene instalado en sus equipos programas que ya no
utiliza?
Podremos identificar el software necesario para cada usuario de
computadora determinando los departamentos, secciones o personal que
requieran otros paquetes de software o programas adicionales. De esta
manera se podrá también identificar el software que no es utilizado a fin de
que su empresa pueda decidir si se trata de un producto que desea
mantener.
1.7 ANALISIS COSTO – BENEFICIO
El Análisis Costo Beneficio (ACB) es una técnica para proveer una
evaluación científica del valor social de un proyecto. Si cada beneficio y costo
asociado a un proyecto de inversión se evalúa apropiadamente y ambos flujos se
calculan, la suma resultante, ya sea esta un exceso de beneficios sobre los costos, o
viceversa, difícilmente puede ser cuestionada en el proceso de toma de decisiones, ya
que las estimaciones pueden variar debido a la diferencia de juicio de la persona a
cargo del estudio con respecto tanto a que debe ser incluido como a la manera en que
debe ser evaluado.
La evaluación puede ser realizada desde dos ópticas diferentes:
a) La evaluación privada
Que a su vez tiene dos enfoques: la evaluación económica, que asume que
todo el proyecto se lleva a cabo con capital propio y, por lo tanto, no toma en
cuanta el problema financiero; y la evaluación financiera, que diferencia el
capital propio del prestado.
b) La evaluación social
En ésta, tanto los beneficios como los costos se valoran a precios sombra de
eficiencia o de cuenta. “Para la evaluación social interesa el flujo de
recursos reales (de los bienes y servicios) utilizados y producidos por el
proyecto.
Los costos y beneficios sociales podrán ser distintos de los contemplados por la
evaluación privada económica. La evaluación económica tiene como objetivo el
determinar el impacto que el proyecto produce sobre la economía como un todo. La
evaluación social se diferencia de la anterior por incorporar explícitamente el
problema distribucional.
Bien podemos decir que le análisis costo - beneficio es el proceso de colocar
cifras en dólares en los diferentes costos y beneficios de una actividad. Al
utilizarlo, podemos estimar el impacto financiero acumulado de lo que
queremos lograr.
El análisis costo – beneficio se debe aplicar al comparar los costos y
beneficios de las diferentes decisiones. Un ACB por si solo puede no ser una
guía clara para tomar una buena decisión ya que existen otros puntos que
deben ser tomados en cuenta como es la seguridad, las obligaciones legales
y la satisfacción del cliente.
El ACB involucra los siguientes pasos:
1) Proponer aspectos relevantes o reunir datos provenientes de factores
importantes relacionados con cada una de las decisiones.
2) Determinar los costos relacionados con cada factor. Algunos costos,
como la mano de obra, serán exactos mientras que otros deberán ser
estimados.
3) Sumar los costos totales para cada decisión propuesta.
4) Determinar los beneficios en dólares para cada decisión.
5) Poner las cifras de los costos y beneficios totales en la forma de una
relación donde los beneficios son el numerador y los costos son el
denominador.
6) Comparar las relaciones Beneficios a Costos para las diferentes
decisiones propuestas. La mejor solución, en términos financieros es
aquella con la relación más alta beneficios a costos.
Para una mayor complementación del tema sobre el Análisis Costo - Beneficio
puede acceder al libro de texto TAYLOR. "ingeniería económica". Editorial Limusa,
México. 1978.
Como se observa en los contenidos anteriormente citados, se tiene
una fase introductoria que sirve como base para el desarrollo de la presente
investigación, los siguientes capítulos tienen una particularización sobre el
uso que se puede dar a las herramientas de desarrollo.
CAPITULO 2
2.1 HERRAMIENTAS EXISTENTES EN EL MERCADO
Existe una amplia gama de herramientas de desarrollo de software en el
mercado entre las cuales tenemos las mas importantes y están descritas de
acuerdo a su fabricante, ver Anexo 1.
2.2 HERRAMIENTAS EXISTENTES EN EL MERCADO, DESCRIPC ION
Al existir una gran diversidad de herramientas de desarrollo en el mercado,
tomaremos en cuenta las principales herramientas de acuerdo a su fabricante y
características que hacen de estas las herramientas más apreciadas por el sector
empresarial y programador. En este subcapitulo, daremos una información general de
las principales herramientas, sus características y beneficios, serán desarrolladas en
el capítulo 3.
2.2.1 MICROSOFT (Elaborado 17 Jul. 03)
Microsoft nos ofrece las herramientas con tecnología .NET para crear,
instalar y administrar, aplicaciones distribuidas usando los servicios Web XML.
Para mayor información de las herramientas de desarrollo de Microsoft,
infórmese en el sitio Web2.
2 http://www.microsoft.com/homepage/ms.htm
2.2.1.1 VISUAL STUDIO.NET
Es una herramienta completa para crear aplicaciones y servicios Web
XML3.
Visual Studio.NET es un conjunto de herramientas integrado para la
construcción y desarrollo de servicios web XML. Es una herramienta de
segunda generación de Microsoft para crear e implementar software seguro
y eficaz para la plataforma Microsoft. NET.
Visual Studio. NET 2003 mejora y optimiza a su predecesor que
incluye una gama de funciones, desde modeladores hasta la implementación
de una aplicación en el más pequeño de los dispositivos.
Visual Studio.NET y la plataforma .NET Framework de Microsoft
Windows proporcionan una completa herramienta, eficaz y sofisticada, para
diseñar, desarrollar, depurar e implementar aplicaciones seguras para
Microsoft Windows y Web.
Visual Studio.NET contiene Windows.NET Framework 1.14, que es
una versión mejorada que incluye nuevas funciones, mejoras y
actualizaciones de la documentación.
Los programadores pueden utilizar el mismo modelo de
programación, las mismas herramientas para programadores y los mismos
conocimientos para crear aplicaciones.
Para mayor información de Visual Studio .NET y sus ediciones,
ingrese al sitio web5.
3 http://www.microsoft.com/latam/net/basics/xmlservices.asp 4 http://www.microsoft.com/spanish/msdn/netframework/productinfo/v1.1/default.asp 5 http://www.microsoft.com/latam/vstudio/
2.2.1.1.1 Visual Studio .Net 2003 Enterprise Architect
Tiene la capacidad de Visual Studio .NET 2003 Enterprise Developer
e incluye funciones adicionales para diseñar, especificar y comunicar
arquitectura de aplicaciones, procedimientos de desarrollo recomendados y
funcionalidad de aplicaciones.
2.2.1.1.2 Visual Studio .Net 2003 Enterprise Develo per.
Visual Studio .Net 2003 Enterprise Developer tiene la capacidad de
Visual Studio .Net 2003 Professional e incluye funciones adicionales para
equipos de desarrollo empresarial que creen aplicaciones importantes
orientadas a cualquier dispositivo y que se integre en cualquier plataforma.
2.2.1.1.3 Visual Studio .Net 2003 Professional.
Visual Studio .Net 2003 Professional permite crear con rapidez una
amplia gama de aplicaciones para Microsoft Windows, Web y dispositivos
móviles.
2.2.1.2 VISUAL BASIC.NET 2003.
Visual Basic .NET ofrece una sintaxis familiar y características
potentes como la opción de la programación orientada a objetos con
herencia.
El lenguaje y la herramienta de Visual Basic .NET 2003 son las más
fáciles y productivos para desarrollar aplicaciones para Microsoft Windows y
Web. Los programadores de Visual Basic, así como para programadores
que se lanzan por el entorno de desarrollo de Microsoft .NET, Visual Basic
.NET 2003 ofrece mejores diseñadores visuales, rendimiento de las
aplicaciones y un eficaz entorno de desarrollo integrado (IDE) que conlleva a
ofrecer un método rápido para el desarrollo de aplicaciones.
2.2.1.3 VISUAL C++ .NET 2003.
Visual C++ .NET 2003 es una herramienta que permite crear
aplicaciones y componentes basados en Microsoft Windows y conectados a
.NET, aplicaciones Web dinámicas y servicios Web XML, utilizando el
lenguaje de programación C++.
Visual C++ .NET 2003 ofrece compiladores de gran compatibilidad
con las normas ISO, implementación de bibliotecas STL (Standard Template
Library), una biblioteca ATL (Active Template Library) estándar, bibliotecas
MFC (Microsoft Foundation Class) y un entorno de desarrollo integrado que
permite editar y depurar el código fuente de forma sencilla.
2.2.1.4 VISUAL C # .NET 2003.
Visual C# .NET 2003 es una herramienta y un lenguaje de
programación modernos e innovadores que permiten generar software
conectado a .NET para Microsoft Windows, Web y una amplia gama de
servicios. Debido a su sintaxis familiar, similar a la de C++, a su entorno de
desarrollo integrado (IDE) de gran flexibilidad y a su capacidad para crear
soluciones para una gran variedad de plataformas y dispositivos,
2.2.1.5 VISUAL J#.NET.
Visual J# .NET es la herramienta completa para crear e integrar
rápidamente aplicaciones y servicios Web XML.
Microsoft Visual J#.NET es una herramienta de desarrollo para
programadores de Java que deseen generar aplicaciones y servicios en
Microsoft .NET Framework.
Visual J# .NET proporciona la transición más fácil para
desarrolladores de Java a los servicios Web XML y mejora la
interoperabilidad de los programas en Java con el software existente escrito
en otros lenguajes de programación. Visual J# .NET permite a los clientes de
Microsoft Visual J++ y otros programadores de Java aprovechar las
inversiones existentes en conocimiento y código a la vez que utilizan
completamente la plataforma actual y futura de Microsoft. Visual J# .NET
incluye tecnología que permite a los clientes migrar inversiones en Java a
.NET Framework.
2.2.1.2 VISUAL FoxPro 7.0.
Microsoft Visual FoxPro 7.0 es una herramienta poderosa para crear
rápidamente aplicaciones y componentes de bases de datos. Su lenguaje de
manejo de datos orientado a objetos ofrece a los desarrolladores un conjunto
de herramientas robustas para crear aplicaciones de bases de datos, para el
escritorio, como una solución cliente/servidor o para Web, usando
componentes y servicios Web XML.
2.2.2 ORACLE (Elaborado 1 Ago. 03)
Oracle es una empresa que crea un sistema de bases de datos por
más de 20 años. Su principal producto es el servidor Oracle cuya última
versión es la 9i.
Es un producto vendido a nivel mundial, aunque la gran potencia que
tiene y su elevado precio hace que sólo se vea en empresas muy grandes y
multinacionales, por norma general. En el desarrollo de páginas web pasa lo
mismo: como es un sistema muy caro no está tan extendido como otras
bases de datos, por ejemplo, Access, MySQL, SQL Server, etc.
2.2.2.1 ORACLE9 i JDEVELOPER
Oracle JDeveloper es un IDE Java completo para crear, depurar y
desplegar aplicaciones basadas en componentes. JDeveloper es un entorno
productivo que ofrece herramientas y wizards para acelerar el desarrollo de
una aplicación. También permite a los desarrolladores depurar, en forma
remota, los componentes Java que se ejecutan sobre cualquier servidor
estándar Java Virtual Machine. Con un completo soporte para el desarrollo
de estándares abiertos en cualquier sistema operativo, Oracle9i JDeveloper
permite a los desarrolladores de Java2 Enterprise Edition (J2EE) y XML,
crear aplicaciones de Internet y servicios Web en forma más rápida y con
una calidad de código mucho mayor.
Oracle9i JDeveloper ofrece a los desarrolladores nuevas
características para optimizar la performance de las aplicaciones Java al
tiempo que ofrece un IDE para Java, XML y SQL; business intelligence; UML
(Lenguaje de Modelo Unificado) y servicios Web J2EE.
2.2.2.1.1 ORACLE9 i DATA BASE.
Oracle es una de las bases de datos más flexible y poderosa, además
de ser una de las más utilizadas en el mundo.
Es la plataforma más robusta para soportar desde entornos de
servidores simples para pequeñas empresas hasta entornos de alta
distribución de aplicaciones críticas de negocio en ambientes Internet,
Cliente servidor y Datawarehousing con la capacidad de trabajar tanto en
múltiples plataformas como Unix, Linux y Windows. Así mismo Oracle9i
Database permite a manejar texto, documentos, imágenes, audio, video e
información geográfica de forma integrada y estructurada a nivel
empresarial.
2.2.2.1.2 ORACLE9i DATABASE R2.
Esta nueva versión de esta premiada base de datos contiene
numerosas mejoras en desempeño y funcionalidad, tal como un completo
soporte al XML, mejoras al innovador Oracle9i Real Application Clusters, y
capacidades adicionales de auto-afinacion y auto-administracion para
incrementar la productividad y eficiencia de los DBAs. Adicionalmente, la
funcionalidad OLAP ha sido extendida y se ha optimizado para los
ambientes Windows y Linux.
2.2.2.1.3 ORACLE9 i APPLICATION SERVER.
Oracle Internet Applications Server (OiAS) es uno de los servidores de
aplicaciones empresariales más flexibles y poderosas. Incluye soporte a las
más avanzadas tecnologías como EJB, XML, JP, Web Services, Servlets,
etc.
Oracle Application Server es una parte integral de la Plataforma
Oracle. Moviendo la lógica de la aplicación fuera de la base de datos y
dentro del servidor de aplicaciones, las organizaciones pueden hacer
realidad ahorros sustanciales a través de la reducción de la complejidad,
mejor capacidad de manejo y simplificación del desarrollo y la puesta en
producción. La escalabilidad y arquitectura basada en estándares de Oracle
Application Server así como su integración superior con la base de datos,
son el fundamento para soportar aplicaciones de clase mundial tanto en
ambientes corporativos como de e-business. Oracle Application Server no
solamente trabaja con las bases de datos Oracle, sino que se conecta con
cualquier base de datos compatible con ODBC/JDBC. Oracle 9iAS esta
certificado por Sun compatible con el estándar J2EE 1.3.
2.2.2.1.4 ORACLE9 i DEVELOPER SUITE
Es un conjunto integrado y flexible de herramientas de desarrollo y
servidores para la construcción de aplicaciones de base de datos escalables,
robustas, de alto rendimiento y empresariales para entornos cliente/servidor
y Web.
Contiene un conjunto de herramientas de desarrollo, herramientas de
inteligencia de negocios y herramientas para portales en una única suite,
Oracle Internet Developer suite esta basada en estándares de Internet, como
Java, XML, CORBA, HTML y ofrece un entorno de desarrollo altamente
productivo para responder, con rapidez, a los mercados en constante cambio
y a las necesidades de los usuarios.
2.2.3 BORLAND. (Elaborado 16 Ago. 03)
Dentro de las herramientas del fabricante Borland, describiremos las
principales herramientas que son acogidas por sus usuarios.
Para mayor información de las herramientas de Borland, dirigirse a la web6.
2.2.3.1 KYLIX 3.0.
Kylix 3 presenta a Linux el Desarrollo Rápido de Aplicaciones (RAD)
con un entorno de desarrollo integrado, depurador interactivo, diseño visual
intuitivo y un amplio conjunto de componentes que se combinan para ofrecer
las herramientas necesarias para obtener una aplicación nativa Linux. El
ambiente de desarrollo de Kylix brinda la fácil integración del diseño y el
desarrollo de sofisticadas aplicaciones Linux. Permite moverse rápidamente
de un prototipo hacia la puesta en producción con una única combinación de
características integradas incluyendo herramientas de diseño visual, la
librería de componentes Borland CLX (Component Library for Cross-
platform), un avanzado editor de código, y un depurador gráfico, para
trabajar conjuntamente hacia el desarrollo de aplicaciones de calidad.
Permite la libre elección de lenguajes de programación entre ANSI/ISO C++
y Delphi, que son dos de los más poderosos lenguajes orientados a objetos
en una sola solución de desarrollo, entregando un alto desempeño a la hora
6 http://www.borland.com
de acceder las bases de datos, GUI7 y servicios Web para aplicaciones
sobre Linux.
2.2.3.1.1 KYLIX 3 ENTERPRISE.
Compatibilidad con Borland C++Builder 6 Studio y Delphi 7 Studio
permite un desarrollo de plataforma cruzada Linux/Windows transparente,
mientras el poder del CLX (Component Library for Cross-platform) facilita
aplicaciones confiables de alto rendimiento. BizSnap expande las
capacidades de Linux y Apache con tecnologías SOAP8 Web Services que
interoperan con otras plataformas, lenguajes y Web Services. WebSnap
transforma los servidores Web de Apache Web en servidores de
aplicaciones Web, de clase empresarial orientado a base de datos.
DataSnap proporciona un middleware escalable para crear soluciones de
bases de datos multi-capa de clase empresarial.
2.2.3.1.2 KYLIX 3 PROFESSIONAL.
Borland Kylix 3 Professional ofrece una solución de lenguajes de alto
rendimiento C++ y Delphi para crear rápidamente aplicaciones de base
datos, GUI, y servidores Web para la plataforma Linux.
7 http://www.geocities.com/Athens/Olympus/7428/gui.html 8 http://www.w3.org/TR/SOAP/
Permite a Kylix 3 combinar con Borland C++Builder 6 Studio o Delphi 7
Studio para crear aplicaciones multiplataforma de una sola fuente para
Linux/Windows. CLX (Component Library for Cross-platform) reutilizables,
personalizables, y extendibles, permite construir rápidamente aplicaciones
de alto rendimiento que incorporan información local de bases de datos con
manejadores de bases de datos de alta velocidad para Red Hat Database9,
PostgreSQL10, MySQL y Borland InterBase.
2.2.3.1.3 KYLIX 3 OPEN EDITION.
Borland Kylix 3 Open Edition ofrece una solución integrada de
lenguajes ANSI/ISO C++ y Delphi para construir poderosas aplicaciones
open-source para Linux, licenciadas bajo la Licencia Pública General GNU.
DataSnap.
El middleware DataSnap (antes conocido como MIDAS) ofrece
tecnología runtime11 escalable para la creación de soluciones de bases de
datos multi-capa de alto desempeño de clase empresarial con los ambientes
de desarrollo Borland Delphi, C++Builder, y Kylix . DataSnap provee a los
desarrolladores y empresas con una solución sencilla de alto desempeño
para escalar su infraestructura RDBMS existente con DCOM, Sockets, y con
el estándar de la industria SOAP Web Services.
9 http://www.redhat.com/software/ 10 http://www.postgresql.org/
11 runtime: son las librerías necesarias para que un programa corra.
El middleware DataSnap es compatible con todas los drivers de
acceso a datos de Delphi y C++Builder incluyendo BDE (Borland Database
Engine), con soporte para Microsoft SQL Server 2000, Borland InterBase,
MySQL, IBM DB2 e Informix, Oracle, y otros.
Una nueva licencia de ejecución libre de regalías está incluida con la
compra del Delphi 7 Studio Architect, Delphi 7 Studio Enterprise, C++Builder
6 Studio Enterprise, y Kylix 3 Enterprise. Esta nueva licencia de ejecución
ilimitada puede utilizarse para ejecutar servidores existentes MIDAS y
DataSnap que hayan sido construidos con versiones previas de Delphi,
C++Builder, y Kylix.
2.2.3.2 JBUILDER 9.
JBuilder agiliza el desarrollo de aplicaciones EJB, Web client, XML,
Web Services, móviles y de bases de datos con diseñadores en dos vías
que lideran el tiempo de desarrollo. J2EE incluye diferentes plataformas para
servidores incluyendo BEA12, WebLogic, IBM WebSphere13, SUN ONE,
Oracle9i, Sybase EAServer, y la integración con Borland Enterprise Server.
2.2.3.2.1 JBUILDER 9 ENTERPRISE.
12 http://www.bea.com/
13 http://www-3.ibm.com/software/
JBuilder Enterprise es un completo ambiente de desarrollo visual
para crear soluciones end-to-end en la plataforma Java 2 Enterprise.
Desarrolla y distribuye rápidamente aplicaciones J2EE para múltiples
servidores de aplicación, incluido WebLogic, WebSphere, y el integrado
Borland AppServer14. Además, desarrolla aplicaciones Java XML para
publicar y validar documentos XML y transferir datos en forma correcta
entre XML y bases de datos. Permite conectar la lógica de negocios y los
front ends basados en Web separadamente usando InternetBeans
Express15. Crea aplicaciones Web manejadoras de datos, servlets16 y
JSPs17. Colabore eficientemente como un equipo con el soporte para los
sistemas líderes de control de versiones.
2.2.3.2.2 JBUILDER 9 DEVELOPER
JBuilder 9 Developer ofrece tecnologías para crear e implementar
rápidamente aplicaciones Java, Web y de base de datos con su extensible
editor de código fuente, compilador, diseñadores visuales y los wizards
ahorradores de tiempo.
Ayuda a maximizar su productividad con reingeniería avanzada,
herramientas Javadoc18, soporte a desarrollo en equipo e intercambio de
14 http://www.softland.com.ar/info/Borland/appserver/
15 http://www.oio.de/m/internetbeans/
16 http://www.servlets.com/index.tea
17 http://www.jguru.com/
18 http://java.sun.com/j2se/javadoc/
JDK19. Acelera el desarrollo de aplicaciones con JavaBeans reutilizables.
Acelere la codificación y reduzca errores de sintaxis con las tecnologías
CodeInsight20 y ErrorInsight21. Desarrolle e implemente aplicaciones en las
plataformas Windows, Linux, y Solaris. JBuilder Developer ofrece una
solución flexible y abierta diseñada para trabajar de la forma en que usted
trabaja.
2.2.3.2.3 JBUILDER 9 PERSONAL.
Acelera la codificación y depuración con un integrado y extensible
editor de código fuente, depurador gráfico, compilador, diseñadores visuales,
wizards ahorradores de tiempo, aplicaciones de ejemplo, y soporte a los
estándares de Java. Tiene tutoriales incluidos. Son admitidas en las
plataformas Windows, Linux, y Solaris.
2.2.3.2.4 JBUILDER 9, WebLogic Edition.
Borland JBuilder, WebLogic Edition es una solución de desarrollo
estrechamente integrada para construir aplicaciones empresariales con el
ambiente de desarrollo líder en el mercado JBuilder en la plataforma líder de
la industria BEA WebLogic.
2.2.3.3 C++ BUILDER STUDIO 6.
Desarrolla rápidamente aplicaciones e-bussiness con Web Services.
Mientras que C/C++ continua siendo el lenguaje dominante de programación 19 http://www.jdk.com/
20 http://help.phpedit.net/products/PHPEdit/manual/fr/module.CodeInsight.php
21 http://info.borland.com/techpubs/jbuilder/jbuilder9/introjb/envcoding.html#errorinsight
entre la comunidad de desarrolladores, Borland continua proveyendo el real
desarrollo en C++ con C++Builder 6. Además soporta las tecnologías
emergentes tales como Web Services y Cross-Platform con ANSI/ISO y el
poder y desempeño que los desarrolladores necesitan. La tecnología CLX
cross-platform permite a empresas y desarrolladores construir aplicaciones
en Windows y pasarlas a la plataforma Linux listas para ser ejecutadas.
2.2.3.3.1 C++ BUILDER STUDIO ENTERPRISE.
Desarrollo rápido C++ para e-business con Web Services
Borland C++Builder 6 Enterprise provee una plataforma de desarrollo e-
business robusta, de alta productividad.
La plataforma de desarrollo C++Builder BizSnap Web Services
permite integración business-to-business al crear fácilmente Web Services y
conexiones basados en el estándar de la industria SOAP/XML. Puede
aplicar la eficiencia del desarrollo de aplicaciones Web con WebSnap, la
plataforma de desarrollo de aplicaciones Web basada en componentes;
utilizando DataSnap, construye soluciones de bases de datos middleware de
clase empresarial que se integran a una gran variedad de aplicaciones de
negocio. Construye aplicaciones de plataforma cruzada para Borland C++
para la plataforma Linux con la librería de componentes de Borland CLX,
para desarrollos multiplataforma.
2.2.3.3.2 C++ BUILDER PROFESIONAL.
Borland C++Builder 6 Professional provee un ambiente de desarrollo
visual altamente productivo para construir aplicaciones Web y de base de
datos para la plataforma Windows.
C++Builder permite a los desarrolladores el integrar fácilmente Web
Services provenientes del Internet en sus aplicaciones utilizando el poder y
flexibilidad de SOAP, XML, y WSDL22. C++Builder también incluye CLX que
le permite la creación de aplicaciones de plataforma cruzada listas para ser
recompiladas y correr en la plataforma Linux con versiones actualmente
planeadas de productos Borland C++ para Linux. Permite ganar acceso a
datos con drivers para bases de datos soportando Borland InterBase,
Access, dBase23, y MySQL.
2.2.3.3.3 C++BUILDER 6 PERSONAL.
Borland C++Builder 6 Personal le permite aprender a desarrollar en
C++ con facilidad.
C++Builder 6 Personal contiene las herramientas necesarias para
empezar a desarrollar para la plataforma Windows en C++, incluyendo real
desarrollo visual con facilidades de drag-and-drop, wizards mejorados,
ejemplos de aplicaciones, y un tutorial de C++. Aprenda a depurar y ejecutar
aplicaciones Windows, incluyendo aplicaciones que automatizan objetos
COM, tales como Microsoft Office, Outlook, y otros sistemas activados con
22 http://www.w3.org/TR/wsdl
23 http://www.dbase2000.com
COM. Use wizards de CodeInsight que completan código y componentes
para crear componentes reutilizables sin escribir una sola línea de código.
C++Builder también ofrece soporte para estándares de la industria
incluyendo ANSI/ISO C++, Microsoft Windows 98, 2000, XP, y más.
2.2.3.4 DELPHI 7 STUDIO.
.NET representa claramente el futuro para las aplicaciones Windows
dentro de las empresas. Borland Delphi 7 Studio es la solución para el
desarrollo de aplicaciones empresariales, desde el diseño hasta su
distribución. Delphi 7 Studio está totalmente integrado con las nuevas
tecnologías de desarrollo Web, de modelamiento de reportes y de plataforma
cruzada para incrementar la productividad en el desarrollo. Borland que se
ha dedicado a investigar y brindar toda su experiencia y conocimiento para
llevar el lenguaje y código fuente al más alto nivel posible, ha liberado Delphi
7 Studio como el primer paso para que los desarrolladores inicien la
transición de sus conocimientos actuales hacia Microsoft .NET.
2.2.3.4.2 DELPHI 7 STUDIO ARCHITECT.
Delphi 7 proporciona tecnologías completamente integradas para
incrementar la productividad y provee a los desarrolladores para ir a
Microsoft .NET con el kit de migración Delphi 7 Studio migration kit incluido.
Permite llevar sus aplicaciones a Linux con el ambiente Borland Kylix 3
Enterprise for Delphi incluido, e incremente el retorno de su inversión.
2.2.3.4.3 DELPHI 7 STUDIO ENTERPRISE.
Borland Delphi 7 Studio Enterprise ofrece nuevas tecnologías,
completamente integradas para incrementar la productividad del
desarrollador.
Usando el modelado visual ModelMaker24 basado en tecnología UML
permite desarrollar aplicaciones eficientemente y adicionar contenido
interactivo a sus sitios Web al construir visualmente aplicaciones HTML Web
dinámicas.
2.2.3.4.4 DELPHI 7 STUDIO PROFESSIONAL.
Permite expandir las oportunidades de mercado: uso un código fuente
para aprovechar el poder de desarrollo multi-plataforma para Linux con el
ambiente Borland Kylix 3 para Delphi incluido. Crea aplicaciones altamente
productivas con nuevas tecnologías completamente integradas que le
permiten adicionar contenido interactivo a sus sitios Web, entrega poderosos
reportes, y navega fácilmente a través de directorios UDDI25, con soporte a
fallas (fail over) para Web Services incluido.
24 http://www.modelmakertools.com/
25 http://www.uddi.org/
2.2.3.4.5 DELPHI 7 STUDIO PERSONAL EDITION.
Utilizando la ayuda en línea para crear aplicaciones no-comerciales
de alto desempeño- podemos lograr rápido y fácil. Tenga sus aplicaciones
listas para Microsoft .NET con el kit de migración de Delphi 7 Studio.
Aproveche el soporte a los temas de Windows XP y de a sus aplicaciones
una vista refinada y profesional.
2.2.4 SYBASE. (Elaborado 28 Ago. 03)
Sybase es una empresa pionera en la integración de plataformas,
bases de datos y aplicaciones. Sybase permite a las organizaciones obtener
el máximo valor de su información garantizando a las personas el acceso a
la información correcta en el momento y lugar adecuados, además, garantiza
la integración de sus sistemas y el lanzamiento a la Web de forma rápida y
con bajo costo. La tecnología de Sybase es sobre todo flexible, lo que le
permite integrar cualquier aplicación y plataforma de negocio ya existente
con las nuevas necesidades de su empresa.
2.2.4.1 POWERBUILDER 9.0. (Elaborado 20 Ago. 03)
Es una herramienta para el rápido desarrollo de aplicaciones (RAD)
PowerBuilder 9.0 proporciona capacidades que impulsarán sus iniciativas de
desarrollo a altos niveles. Desde soporte de páginas RAD JavaServer hasta
Web Services para servidores de aplicaciones para .NET o XML entre otros,
PowerBuilder 9.0 permite a los desarrolladores continuar realizando
aplicaciones críticas de negocio para sus clientes, y al mismo tiempo,
permitirles trabajar en entornos Web.
2.2.4.2 POWERDESIGNER 9.5. (Elaborado 20 Ago. 03)
PowerDesigner 9.5 es una herramienta de diseño que proporciona un
entorno gráfico donde se ofrecen de modo totalmente integrado distintas
técnicas de modelo, desde las tradicionales a las actualmente emergentes.
PowerDesigner 9.5 ha mejorado sus capacidades para el modelado de
aplicaciones (UML y modelado de datos) para directivos de los
departamentos de informática y personal técnico.
El nuevo repositorio corporativo de PowerDesigner 9.5 acelera la
colaboración entre distintas áreas en el modelado de los procesos de
negocio y reduciendo los costes asociados al diseño y desarrollo de las
aplicaciones software.
2.2.5 ARTech (Elaborado 5 Nov. 03)
2.2.5.1 GENEXUS 8.0
Genexus es una herramienta para desarrollo de aplicaciones que
cubre todo el ciclo de vida: diseño, generación, modificación y
documentación de bases de datos y programas.
Se caracteriza por su fortaleza en el desarrollo de aplicaciones para
Internet. La inclusión de funcionalidades específicas para el ambiente de
desarrollo y la disponibilidad del generador C#, que es lenguaje nativo para
Microsoft .NET, son algunas de las novedades que ofrece. El soporte de
transacciones en la WEB, la posibilidad de utilizar componentes, y el soporte
de XML y SOAP, son tres de las nuevas funcionalidades de Genexus que
reflejan la fortaleza de esta versión para el desarrollo de aplicaciones Web.
La ejecución de transacciones desde un navegador permite el ingreso de
datos automático en las aplicaciones Web.
Con los dos estándares fuertes para la comunicación entre
aplicaciones como son XML y SOAP, junto a la programación e inteligencia
que brinda Genexus, da la posibilidad de conectar aplicaciones de un modo
rápido y sencillo, brindando soluciones completas a los clientes.
2.2.5.1.1 BASE DE CONOCIMIENTO.
El analista / programador describe la visión de los usuarios (pantallas,
listados, procedimientos, reglas de negocio) mediante objetos, reglas,
funciones, eventos y procedimientos. Esta Base de Conocimiento se
diferencia de los tradicionales diccionarios de datos en su capacidad de
"inferencia automática" (deducción, generación normalizada, documentación
y análisis de impacto) de la base de datos.
Para abarcar más sobre la información de Genexus diríjase a la
página Web26.
26 http://www.genexus.com
2.2.6 SOFTWARE LIBRE. (Elaborado 8 Nov. 03)
2.2.6.1 PHP 4.0
Aunque PHP y ASP27 tienen básicamente la misma funcionalidad, su
sintaxis es completamente distinta y su semántica también presenta
diferencias, por lo que aunque lo que podamos hacer con ASP también lo
podamos hacer en PHP (y viceversa), la adaptación de uno a otro lenguaje
puede resultar algo complicado.
ASP (“Active Server Pages”) es, más que un lenguaje de
programación en sí, una tecnología que permite insertar en una página
HTML código que se ejecutará en el servidor. Este código puede ser Java,
JavaScript28 o, más comúnmente, VBScript29.
Por su parte, PHP ("PHP: Hypertext Preprocessor") provee de una
tecnología similar a ASP para insertar código en las páginas HTML, pero
PHP además de la tecnología es el lenguaje. En PHP sólo podemos incluir
código en un lenguaje.
PHP es un lenguaje interpretado basado principalmente en C, C++ y
Java, con los que comparte prácticamente toda su sintaxis y semántica, y
27 http://www.aspin.com/
28 http://javascript.com/
29 http://msdn.microsoft.com/library/
aporta también algunas características de lenguajes interpretados como Perl
y Bash.
En cuanto a la tecnología detrás de PHP, ya en la versión 3.0 el
intérprete de PHP era bastante más rápido que los intérpretes existentes de
ASP, lo que junto con su buena integración con el servidor HTTP Apache y
su capacidad de acceder a unos 20 sistemas de Bases de Datos distintos, lo
ha convertido en un fuerte competidor frente a las soluciones de Microsoft.
Con la versión 4.0 de PHP ha mejorado todavía más: el intérprete es más
rápido (hasta 12 veces más rápido que el de la versión 3.0); se ha
perfeccionado la integración de PHP con otros servidores además de
Apache, entre otros IIS30; y se ha modularizado todo el diseño interno, entre
otras cosas independizado el intérprete del lenguaje PHP (Zend31) del
módulo de comunicación con el servidor, con lo que a partir de ahora es
posible utilizar PHP como lenguaje interpretado en cualquier otro proyecto
(ya se está trabajando para utilizar PHP como lenguaje para procedimientos
en MySQL.).
2.3 BASES DE DATOS, DESCIPCION.
2.3.1 MICRCROSOFT SQL SERVER (Elaborado 14 Ene. 04)
SQL Server 2000 es la oferta completa de base de datos y análisis.
Tanto por la capacidad para consultar la base de datos mediante un
explorador como por la compatibilidad con el Lenguaje de marcado
30 http://www.microsoft.com/WindowsServer2003/iis/default.mspx
31 http://www.zend.com/
extensible (XML, Extensible Markup Language), SQL Server 2000 es la base
de datos totalmente habilitada para Web. Además, SQL Server 2000 ostenta
marcas de referencia en cuanto a escalabilidad y confiabilidad, que son
críticas para el éxito de una base de datos empresarial. Tanto si lo que se
mide es la velocidad en el desarrollo de aplicaciones como la velocidad del
procesamiento de transacciones, SQL Server 2000 es la base de datos más
rápida, lo que la convierte en la opción principal para la empresa que busca
agilidad en sus operaciones.
2.3.2 MySQL (Elaborado 14 Ene. 04)
MySQL es un sistema de gestión de bases de datos relacional,
licenciado bajo la GPL de la GNU. Su diseño multihilo le permite soportar
una gran carga de forma muy eficiente. MySQL fue creada por la empresa
sueca MySQL AB, que mantiene el copyright del código fuente del servidor
SQL, así como también de la marca.
Este gestor de bases de datos es, probablemente, el gestor más usado en el
mundo del software libre, debido a su gran rapidez y facilidad de uso. Esta
gran aceptación es debida, en parte, a que existen infinidad de librerías y
otras herramientas que permiten su uso a través de gran cantidad de
lenguajes de programación, además de su fácil instalación y configuración.
2.3.3 ORACLE (Elaborado 1 Ago. 03)
Descrita en la sección 2.2.2.
2.3.4 POSTGRESQL (Elaborado 16 Ene. 04)
PostgreSQL es software libre, concretamente está liberado bajo la
licencia BSD, lo que significa que cualquiera puede disponer de su código
fuente, modificarlo a voluntad y redistribuirlo libremente, PostgreSQL
además de ser libre es gratuito y se puede descargar libremente de su
página web para multitud de plataforma.
2.3.5 INFORMIX (Elaborado 16 Ene. 04)
Base de Datos para soluciones de Data Warehouse, OLTP,
Administración de Web/contenido y herramientas de desarrollo para crear
aplicaciones de calidad superior.
1. Base de Datos OLTP para procesamiento de transmisiones con
misión crítica y e-business y todo propósito.
2. Base de Datos OLTP para pequeña y mediana empresa (PYMES).
3. Base de Datos multiusuaria con administración cero.
4. Base de Datos para servidores paralelos de grandes empresas.
5. Base de Datos On line para Data Warehousing
6. Módulos que acoplados e intregrados al motor de base de datos,
amplían la funcionalidad y mejoran su excepcional performance.
2.3.6 SYBASE (Elaborado 16 Ene. 04)
Cuando se trata de su base de datos empresarial, Sybase entiende que
un tamaño no le sirve a todos. Por eso hemos diseñado almacenes de datos
optimizados específicamente para los requerimientos y complejidades de su
negocio. Sybase ofrece tres almacenes de datos únicos para responder a las
necesidades de su negocio:
• Sybase Adaptive Server Enterprise es una poderosa plataforma de
administración de datos diseñada para aplicaciones empresariales
intensivas en transacciones, con capacidades avanzadas para
responder a los requerimientos en evolución de los e-Business.
• Sybase IQ es una base de datos relacional de alto rendimiento
diseñada específicamente desde su raíz para responder a los
requerimientos de inteligencia empresarial y a los nuevos
requerimientos de escalabilidad para almacenes de datos basados en
Web.
SQL Anywhere Studio es un completo paquete que provee manejo de datos
y sincronización empresarial para permitir el rápido desarrollo y despliegue
de soluciones e-Business distribuidas.
CAPITULO 3
3.1 CARACTERISTICAS GLOBALES DE LAS HERRAMIENTAS
Con el mismo seguimiento y tipos de las herramientas de desarrollo que fueron vistas
en el capitulo 2, describiremos a continuación las características globales de las
herramientas de desarrollo dentro de su fabricante.
3.1.1 MICROSOFT (Elaborado 17 Jul. 03)
3.1.1.1 Visual Studio. NET 2003
3.1.1.1.1 Beneficios de Visual Studio. Net a los programadores.
• Crear aplicaciones basadas en Windows rápidas y eficaces.
• Crear aplicaciones para Pocket PC32 rápida y eficaces.
• Crear aplicaciones Web sofisticadas y seguras.
• Crear aplicaciones Web inteligentes, sofisticadas y seguras para
dispositivos móviles.
• Utilizar servicios Web XML en cualquiera de las aplicaciones
mencionadas.
• Evitar conflictos ente archivos .DLL.
• Elimina los costosos problemas de implementación y mantenimiento
de las aplicaciones.
Visual Studio.NET fue creado exclusivamente para permitir la integración
con servicios Web XML. Al hacer posible que las aplicaciones compartan
datos a través de Internet, los servicios Web XML permiten a los
programadores ensamblar aplicaciones a partir de código nuevo y existente,
independientemente de la plataforma, el lenguaje de programación o el
modelo de objetos.
3.1.1.1.2 Beneficios de Visual Studio .NET Enterpr ise Architect a los
programadores.
a. Modelar visualmente aplicaciones, bases de datos y procesos
empresariales .
Crea y comunica arquitectura de aplicaciones, requisitos empresariales,
diseños de base de datos y procesos empresariales. Los arquitectos que
32 http://www.microsoft.com/windowsmobile/products/pocketpc
utilicen Microsoft Visual C++. NET, Microsoft Visual Basic.NET o Microsoft
Visual C#. NET pueden utilizar modelos UML para especificar arquitectura y
funcionalidad de aplicaciones, reducir el tiempo de desarrollo generando
directamente clases, funciones y métodos, y documentar código existente
haciendo ingeniería inversa de proyectos.
Visual Studio.NET 2003 Enterprise Architect proporciona compatibilidad total
con el modelado de base de datos.
b. Crea sólidos marcos de trabajo arquitectónicos y directrices de
procedimientos recomendados.
Enterprise Templates (plantillas empresariales) y el Lenguaje de descripción
de plantillas ayudan a los programadores a superar las innovaciones y
tecnologías que proliferan con rapidez, así como a mejorar la colaboración
entre los equipos de desarrollo.
c. Trabajar en una plataforma confiable y escalable para
aplicaciones distribuidas.
Microsoft Windows .NET Framework, junto con Windows Server 2003, está
diseñado para minimizar el desarrollo de aplicaciones en el entorno
distribuido de Internet y de la informática empresarial. Esto se consigue con
la integración de:
• Estándares públicos de Internet como XML, SOAP, UDDI y WML33.
33 http://thewml.org/
• Mejoras en los servicios Web como la seguridad basada en mensajes
(WS-Security34).
• Una arquitectura sin rigidez y altamente escalable.
• Desarrollo de aplicaciones con el lenguaje que elija.
• Transacciones automáticas fáciles de utilizar, administración
automática de la memoria y fácil implementación.
• Seguridad avanzada para garantizar que los datos y las aplicaciones
estén protegidos con un modelo de seguridad exhaustivo basado en
evidencia.
• Completos servicios del sistema operativo, como monitores de
procesamiento de transacciones y colas de mensajes.
Visual Studio .NET 2003 proporciona una arquitectura abierta y extensible
que permite a otros proveedores crear lenguajes, herramientas y
componentes que se integren sin problemas en el entorno, lo que da a los
programadores varias opciones para cumplir con los requisitos de
desarrollo.
3.1.1.1.3 Beneficios de Visual Studio .NET 2003 En terprise Developer a
los programadores.
a. Un entorno de desarrollo en equipo productivo.
Los equipos de desarrollo pueden mantener el control de versiones y
compartir código fuente y documentación utilizando Microsoft Visual
34 http://www.verisign.com/wss/wss.pdf
SourceSafe. Además, se pueden compartir directrices de desarrollo y
procedimientos entre equipos de desarrollo utilizando el Lenguaje de
descripción de plantillas basadas en XML y los proyectos de Enterprise
Templates. Los equipos de desarrollo pueden analizar el rendimiento y la
escalabilidad de las aplicaciones y los servicios Web XML utilizando
Application Center Test (ACT).
b. Capacidad de crear aplicaciones y servicios Web XML seguros y
escalables.
Enterprise Developer incluye versiones completas para programadores
Windows Server 2003, SQL Server, Microsoft Exchange Server. Microsoft
Commerce Server35 y Microsoft Host Integration Server36, ayudando así la
creación y prueba de aplicaciones antes de implementarlas.
Podemos visualizar consultas para trabajar con procedimientos
almacenados, índices, desencadenadores y funciones definidas por el
usuario para bases de datos de SQl Server o de Oracle.
c. Una plataforma escalable y confiable para aplica ciones
distribuidas.
Windows.NET Framework está diseñado para simplificar el desarrollo de
aplicaciones en el entorno altamente distribuido de Internet y de la
informática empresarial. Esto se consigue con la integración de:
• Estándares públicos de Internet como XML, SOAP, UDDI y WML.
• Una arquitectura sin rigidez y altamente escalable.
35 http://www.microsoft.com/latam/commerceserver/
36 http://www.microsoft.com/hiserver/default.asp
• Desarrollo de aplicaciones con el lenguaje que elija.
• Transacciones automáticas fácil de utilizar, administración automática
de la memoria y fácil implementación.
• Completos servicios del sistema operativo, como monitores de
procesamiento de transacciones y colas de mensajes.
3.1.1.1.4 Beneficios de Visual Studio .NET 2003 Pr ofessional a los
programadores.
a. Crear software profesional con rapidez.
Con un amplio conjunto de diseñadores visuales, una extensa gama de
lenguajes de programación y las herramientas Visual Database Tools
integradas, Visual Studio.NET permite crear software eficaz con rapidez.
b. Reducir los costos de funcionamiento de tecnolog ías de la
información.
La fácil implementación al estilo Web de completas aplicaciones basadas en
Windows, la seguridad integrada y una infraestructura para reutilizar código
existente convierten la última versión de Microsoft Windows .NET
Framework en una plataforma confiable para el desarrollo de Software.
c. Integrar con una gama de aplicaciones, sistemas y dispositivos.
La compatibilidad con los últimos estándares de servicios Web XML y
diseñadores visuales para el desarrollo de aplicaciones para dispositivos
móviles le permiten ampliar fácilmente el alcance de sus aplicaciones a otros
sistemas y dispositivos.
3.1.1.1.5 Información general acerca de las caracte rísticas Visual
Studio .Net 2003.
Como lo hemos descrito anteriormente Visual Studio.NET es una completa
herramienta para crear con rapidez aplicaciones conectadas a Microsoft
.NET para Microsoft Windows y Web, que aumenta notablemente la
productividad de los programadores y permite nuevas oportunidades de
negocio y empresariales.
Conozcamos las características de cada una de las ediciones de Visual
Studio.NET 2003: Enterprise Architect, Developer y Profesional.
3.1.1.1.5.1 Información general acerca de las carac terísticas Visual
Studio .NET 2003 Enterprise Architect.
Visual Studio .NET 2003 Enterprise Architect contiene todas las
características de Visual Studio .NET 2003 Enterprise Developer más las
siguientes características diseñadas especialmente para arquitectos
empresariales y programadores avanzados.
a. Herramientas de diseño visual para aplicaciones distribuidas,
bases de datos y procesos empresariales.
• Especifica y comunica visualmente la arquitectura d e las
aplicaciones.
Utilizando el Lenguaje unificado de modelamiento (UML) basado en
Microsoft Visio37 nos ayuda a especificar y comunicar la arquitectura y
funcionalidad de las aplicaciones. La generación de código base para
crear implementaciones iniciales y la utilización de funciones de
ingeniería inversa nos sirve para documenta implementaciones
existentes en todos los lenguajes de programación de Visual Studio
.NET.
• Obtener compatibilidad con el modelado de base de d atos.
Con el modelado conceptual basado en Visio es fácilmente captar los
requisitos empresariales. La completa ingeniería de ida y vuelta con
modelos de datos lógicos y físicos permite la comunicación entre el
analista empresarial y el diseñador de la base de datos.
• Organización visual de procesos empresariales.
Utilizando una versión completa de Microsoft BizTalk38 Server se puede
vincular visualmente procesos empresariales.
b. Marcos de trabajo arquitectónico y directriz de procedimientos
recomendados.
• Aumenta la eficacia del desarrollo de aplicaciones.
Los programadores avanzados y arquitectos pueden personalizar los
proyectos de Enterprise Templetes para proporcionar puntos de inicio de
aplicaciones para programadores menos experimentados, mejorando así
37 http://www.microsoft.com/latam/office/visio/
38 http://www.microsoft.com/latam/biztalk/
la productividad del equipo de desarrollo. Utilizando los componentes de
Enterprise Instrumentation Framework, simplifica la administración y la
instrumentación de las aplicaciones.
• Comparte procedimientos recomendados.
Para definir con claridad directivas de desarrollo y directrices que ayuden
a los programadores a crear aplicaciones sólidas se utiliza el Lenguaje de
descripción de plantillas con proyectos de Enterprise Templetes. Los
programadores pueden ver inmediatamente las infracciones de directivas
y discrepancias del código resultantes en la ventana Lista de tareas.
• Proporciona orientación a los equipos de desarrollo .
Utiliza sofisticadas aplicaciones de referencia que muestran opciones de
diseño detalladas y documentos para los escenarios de aplicación más
comunes.
c. Plataformas de herramientas escalable y aplicabl e.
• Utiliza un entorno de desarrollo eficaz.
Visual Studio.NET y Microsoft.NET Framework, tiene una gran capacidad
para crear con rapidez aplicaciones y servicios Web XML que abarquen
numerosos dispositivos y entornos de desarrollo.
• Es una plataforma escalable y confiable.
Utilizando Windows .NET y Microsoft Windows Server 2003 nos ayuda a
desarrollar aplicaciones distribuidas con funciones de implementación
mejoradas y mayor seguridad, confiabilidad y rendimiento.
• Optimiza el ciclo de desarrollo.
Hay que seleccionar el mejor lenguaje para las necesidades de desarrollo
de una aplicación entre más de veinte lenguajes compatibles con .NET
Framework. Visual Studio.NET tiene incorporadas una gran variedad de
herramientas de ciclo de vida y productividad.
3.1.1.1.5.2 Información general acerca de las carac terísticas Visual
Studio .NET 2003 Enterprise Developer.
Visual Studio.NET Enterprise Developer contiene todas las características de Visual
Studio.NET Profesional más las siguientes, orientadas específicamente al desarrollo
empresarial en equipo.
a. Productividad del desarrollo en equipo.
• Eficacia con el equipo de desarrollo.
Establece de un modo seguro código fuente, documentos de diseño y
otros activos de desarrollo con funcionalidad de control de versiones
integrada. Aproveche el Lenguaje de descripción de plantillas basado en
XML y los proyectos de Enterprise Templetes para compartir directrices
de desarrollo y procedimientos recomendados entre los equipos de
desarrollo.
• La comprobación de aplicaciones y servicio Web XML .
Creando y ejecutando pruebas en el entorno de Visual Studio.NET para
optimizar el rendimiento y la escalabilidad de aplicaciones y servicios
Web XML utilizando Application Center Test (ACT).
• Aumento de la productividad de los programadores.
La creación rápida de aplicaciones y servicios Web XML que abarcan
numerosas plataformas y dispositivos, y la elección de lenguajes de
programación.
b. Eficaces herramientas para la generación de serv icios.
• Utilización de poderosos servidores.
Las aplicaciones escalables de alto rendimiento permite a los
programadores la utilización de poderosos servidores, incluidos Microsoft
Windows Server 2003, Microsoft SQL Server, Microsoft Exchange Server,
Microsoft Commerse Server y Microsoft Host Integration Server.
• Aplicación y servicios Web XML escalables y seguros .
Con el beneficio de la compatibilidad con los últimos estándares de
servicios Web XML, como WS-Security.
• La simplificación del desarrollo en servidor.
Creando visualmente componentes del servidor con el Explorador de
servidores y el Diseñador de componentes visual.
Se tiene acceso a información y recursos del sistema utilizando el
componente Explorador de servidores del Instrumental de administración
de Windows (WMI).
Con la utilización de Visual Data Base Tools39 se puede trabajar con
procedimientos almacenados, desencadenadores e índices.
c. Plataformas de herramientas escalable y ampliabl e.
• Obtiene ventajas del proveedor de datos para Oracle de .NET
Framework.
39 http://msdn.microsoft.com/library
Los nuevos proveedores de datos administrados de Microsoft.NET
Framework proporcionan acceso rápido a los datos almacenados en
bases de datos de SQL Server y Oracle.
• Plataforma escalable y confiable
La utilización de Windows.NET Framework y Windows Server 2003 nos
ayuda a desarrollar aplicaciones distribuidas con funciones de
implementación mejoradas y mayor seguridad, confiabilidad y
rendimiento. Todas las aplicaciones importantes deben ser orientadas a
servidores empresariales de gran capacidad.
• Optimiza el ciclo de desarrollo.
Hay que seleccionar el mejor lenguaje para las necesidades de desarrollo
de una aplicación entre más de veinte lenguajes compatibles con
Windows.NET Framework. Visual Studio.NET tiene incorporadas una
gran variedad de herramientas de ciclo de vida y productividad.
3.1.1.1.5.3 Información general acerca de las carac terísticas Visual
Studio .NET 2003 Pofessional.
Visual Studio.NET 2003 permite enfrentarse a los desafíos más exigentes
del desarrollo y la implementación de aplicaciones de hoy día, optimizar
procesos empresariales y crear nuevas oportunidades de negocio. El
entorno de desarrollo integrado (IDE) y unificado de Visual Studio.NET 2003
y una amplia gama de lenguajes de programación, le permite crear
aplicaciones profesionales.
a. Crear software profesional con rapidez.
• Variedad de Lenguajes
Una colección de lenguajes modernos, eficaces e interoperables permite
comenzar el proceso de desarrollo de software utilizando el lenguaje que
ya conoce.
• Software profesional para Windows, Web y dispositiv os.
Los diseñadores visuales de formularios agilizan la creación de
aplicaciones de escritorio completas para Windows, aplicaciones Web
dinámicas de amplio alcance y aplicaciones para una gran variedad de
dispositivos.
• Rápido desarrollo para los niveles de servidor y da tos.
El diseñador de componentes y el Explorador de servidores trabajan
unidos para permitir la composición visual de componentes lógicos
empresariales de nivel medio. ADO.NET40 y Visual Database Tools
(integrados) permiten crear software profesional controlado por datos.
b. Reduzca los costos de funcionamiento de tecnolog ías de
información.
• Implementación y mantenimiento de aplicaciones simp lificados.
La implementación permite distribuir aplicaciones basadas en Windows
con la facilidad de las aplicaciones Web, mientras que la implementación
de aplicaciones en paralelo reduce los problemas de versiones de las
DLL. La compatibilidad integrada con la tecnología de Windows Installer
proporciona opciones avanzadas para crear paquetes de implementación
para Windows y Web.
40 http://www.microsoft.com/spanish/msdn/noticias/menu/adonet.asp
• Confiabilidad y seguridad.
Basado en la plataforma probada de Windows.NET Framework, Visual
Studio.NET 2003 utiliza una directiva de seguridad detallada para
modelos de seguridad de acceso del código, basados en funciones y
basados en usuarios.
• Compatibilidad con inversiones existentes.
La actualización sin problemas de proyectos de Visual Studio.NET 2002,
la interoperabilidad con software existente basado en COM41 y la
tecnología mejorada de actualización de Visual Basic garantizan el
aprovechamiento de las inversiones existentes.
c. Integre aplicaciones con dispositivos.
• Compatibilidad sin igual con servicios Web XML.
Las mejoras del cuadro de diálogo Agregar referencia Web, el kit de
desarrollo de servicios Web (WSDK42 , Web Services Development Kit) y
la compatibilidad con SOAP 1.1 se combinan con la plantilla de proyecto
Servicio Web, la compatibilidad con UDDI integra y diseñadores intuitivos
para proporcionar una funcionalidad sin igual para crear y utilizar
servicios Web XML.
• Desarrollo para dispositivos inteligentes.
La compatibilidad nativa con .NET Compact Framework permite
desarrollar, depurar e implementar automáticamente aplicaciones en
dispositivos inteligentes, incluidos dispositivos que utilicen Microsoft
41 http://www.microsoft.com/com/
42 http://www.microsoft.com/spanish/msdn/articulos/archivo/181002/voices/progwsdk.asp
Windows CE .NET43 y Pocket PC. Un sólido emulador garantiza el
desarrollo rápido y preciso de aplicaciones para dispositivos móviles sin
la necesidad de tener el dispositivo.
• Desarrollo de aplicaciones Web para dispositivos mó viles.
La compatibilidad con dispositivos inalámbricos le permite ampliar
fácilmente sus aplicaciones Web nuevas o existentes a más de 200
dispositivos móviles. Los controladores de ASP. NET44 para dispositivos
móviles representan una manera inteligente y una amplia gama de
dispositivos, liberando así a los programadores de preocupaciones sobre
las funciones exclusivas de cada dispositivo.
3.1.1.1.6 Resumen y notas importantes:
a. Con lo expuesto anteriormente podemos decir que Visual Studio.NET
es una completa herramienta de programación para generar e integrar
aplicaciones y servicios Web XML con rapidez.
b. Visual Studio .NET ofrece un entorno altamente productivo ya que al
programar con una amplia gama de aplicaciones que se ejecutan en la
nueva plataforma Microsoft .NET.
c. Debido al entorno de ejecución Microsoft.NET Framework, seguro y de
alto rendimiento, Visual Studio .NET ofrece herramientas eficaces para
depurar, generar, probar e implementar aplicaciones y servicios Web
XML, así como para compartir las mejores prácticas y directrices
dentro de un equipo. 43 http://www.microsoft.com/WINDOWS/EMBEDDED/CE.NET/DEFAULT.ASP
44 http://es.gotdotnet.com/quickstart/aspplus/doc/whatisaspx.aspx
d. Se puede instalar Visual Studio.NET en un equipo donde se esté
ejecutando Visual Studio 6.0 y utilizar ambos, siempre que lo permitan
los requisitos del sistema.
e. Microsoft Visual InterDev está incluido en el entorno de programación
integrado (IDE) de Visual Studio .NET. Todos los lenguajes tendrán
acceso a las funciones de programación para la Web que antes eran
exclusivas de Visual InterDev 6.0.
f. La funcionalidad antes disponible en las versiones Profesional y
Enterprise de Microsoft Visual Basic.NET y Microsoft Visual C++.NET
está disponible en las versiones Profesional y Enterprise de Visual
Studio .NET. Además, hay disponible una versión, Visual Studio.NET
Enterprise Architect Edition, con herramientas especialmente
diseñadas para los arquitectos de software que generan software
empresarial, incluido Microsoft Visio Enterprise Architect Edition.
g. Se pueden actualizar las aplicaciones de Visual Basic 6.0 a Visual
Basic.NET, ya que este último incluye un Asistente para actualización
que permite aprovechar las ventajas de las creaciones del nuevo
lenguaje.
h. Se pude utilizar Visual C++ para producir código para la plataforma
.NET. Además se ha mejorado el Active Template Library45 (ATL),
Microsoft Foundation Classes46 (MFC) y el compilador de Visual C++
45 http://msdn.microsoft.com/visualc/downloads/updates/atl/default.aspx
46 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemfc/htm/mfcstart.asp
.NET. También se ha incluido el servidos ATL para producir servicios
Web XML de código nativo.
i. En los sistemas operativos Microsoft Windows 95, Microsoft Windows
98 y Microsoft Windows Millennium Edition (Me) no serán compatibles
en el tiempo de diseño con Visual Studio .NET, está decisión se tomo
para garantizar que los programadores puedan beneficiarse de las
características mas avanzadas de Visual Studio. Sin embargo para la
ejecución del código, serán compatibles los sistemas operativos
Microsoft Windows 98 y posteriores.
j. .NET Framework permite llamar a componentes COM y COM+47
existentes, y permite exponer componentes basados en .NET
Framework para la programación de elementos COM y COM+.
Además, se ha simplificado una cantidad importante de estructuras
básicas de COM+ 1.0 en Net Framework.
k. Lo que hace .NET Compact Framework es llevar las aplicaciones
basadas en .NET hasta dispositivos móviles inteligentes, incluidos
Pocket PC y Pocket PC2002.
l. Las Extensiones de dispositivo inteligente (SDE48, Smart Device
Extensión) para Visual Studio.NET permiten crear aplicaciones
basadas en .NET para estos dispositivos, utilizando las mismas
herramientas, el mismo código y las mismas técnicas.
47 http://www.microsoft.com/com/tech/COMPlus.asp
48 http://www.sde.be/
m. El funcionamiento de .NET Compact Framework y SDE pronto estarán
disponible con la versión final de Visual Studio .NET. Mientras tanto,
estarán disponibles la versión que se distribuyeron en PDC49 y
DevDays50 en 2001.
3.1.1.2 Visual Basic.NET 2003
3.1.1.2.1 Beneficios de Visual Basic.NET 2003 a lo s programadores.
• Afronta los desafíos de desarrollo para Windows y W eb con
eficacia.
La implementación evita problemas entre archivos .DLL y deja desarrollar
aplicaciones basadas en Windows con la misma facilidad que en Web.
• Desarrollo de aplicaciones para dispositivos móvil es.
Con estas nuevas aplicaciones le permite crear aplicaciones Web para
dispositivos móviles y software basado en Pocket PC.
• Reutilización del código de Visual Basic 6.0.
Gracias a la disponibilidad del asistente de actualización de Visual
Basic.NET y Visual Studio .NET, permite actualizar el código de Visual
Basic 6.0.
• Creación de aplicaciones sólidas basadas en Windows .
Se puede crear aplicaciones basadas en Windows utilizando las
características de interfaz de usuario. La gran mayoría de las
49 http://www.pdc.com
50 http://www.microsoft.com/spanish/msdn/argentina/
herramientas RAD (desarrollo rápido de aplicaciones) se hallan en Visual
Basic.NET 2003, incluido el diseño de formularios.
• Soluciona los conflictos de implementación y contro l de
versiones.
Visual Basic.NET 2003 resuelve sin problemas la instalación y
mantenimiento de aplicaciones, ya que no existirán conflictos entre
archivos .DLL. Se han eliminado los problemas del registro COM (Modelo
de objetos componentes) y de sobrescritura de DLL.
• Crea con facilidad aplicaciones Web.
Con el oportuno Diseñador de Web, los programadores de la anterior
versión de Visual Basic.NET pueden crear auténticas aplicaciones Web
para clientes.
• Proporciona acceso a datos flexible y sencillo.
Visual Basic.NET 2003 tiene compatibilidad tanto con el nuevo ADO.NET
para un acceso a datos flexible y altamente escalable, como con el
enlace de datos ADO (objetos de datos ActiveX Data Objects) para el
acceso a datos orientado a conexiones.
3.1.1.2.2 Información general acerca de las caracte rísticas de Visual
Basic .NET 2003.
Visual Basic .NET 2003 es la segunda versión de Visual Basic .NET, basada
en la alta productividad y el extraordinario rendimiento de la primera versión.
a. Soluciona las tareas con mayor eficacia.
• Aplicaciones eficaces basadas en Windows.
Visual Basic .NET 2003 crea aplicaciones más sólidas de un modo rápido
y fácil con sus nuevas características de productividad, ya que con un
entorno de desarrollo integrado (IDE) mejorado y un tiempo de inicio
reducido, Visual Basic .NET 2003 ofrece la posibilidad de dar formato al
código de manera automática conforme escribe, IntelliSense mejorado,
un explorador de objetos mejorado y un diseñador XML entre otros.
• Aplicaciones basadas en Web.
Una novedad de Visual Basic .NET 2003 es un editor HTML mejorado
para trabajar con páginas Web complejas. Para crear visualmente
aplicaciones Web interactivas es preferible utilizar la tecnología
IntelliSense y la finalización de etiquetas, o elegir el editor WYSIWYG51
(lo que se ve es lo que se imprime).
• Desarrollo simplificado.
Visual Basic .NET 2003 y Windows .NET Framework 1.1 dan soluciones
a los problemas de instalación y mantenimiento de las aplicaciones y
eliminan los conflictos entre archivos .DLL. El control de versiones en
paralelo permite que varias versiones del mismo componente convivan
de un modo seguro en el mismo equipo, de manera que las aplicaciones
pueden utilizar una versión específica de un componente. La
implementación con XCOPY y la descarga automática de Internet de
aplicaciones basadas en Windows combinan la simplicidad de
implementación y mantenimiento de páginas Web con la gran capacidad
de aplicaciones basadas en Windows completas y eficaces.
51 http://www.webopedia.com/TERM/W/WYSIWYG.html
• Acceso a datos flexible y simplificado.
Visual Basic.NET 2003 tiene compatibilidad tanto con el nuevo ADO.NET
para un acceso a datos flexible y altamente escalable, como con el
enlace de datos ADO (objetos de datos ActiveX Data Objects) para el
acceso a datos orientado a conexiones.
• Codificación mejorada.
Las numerosas mejoras del editor de código, como IntelliSense
mejorado, listado inteligente de código para facilitar la lectura, marcas
para indicar errores y un compilador en segundo plano para la
notificación en tiempo real de errores de sintaxis, le transformarán en una
máquina rápida de generación de código RAD (desarrollo rápido de
aplicaciones).
b. Visión futurista a las aplicaciones.
• Acceso directo a la plataforma.
Los programadores de Visual Basic .NET 2003 tienen acceso total a la
eficaz funcionalidad que ofrece Windows .NET Framework 1.1. Utilizando
Visual Basic .NET 2003, los programadores pueden tener acceso rápido
al registro de sucesos, los contadores de rendimiento y el sistema de
archivos, eliminado así la necesidad de utilizar instrucciones 'Declare'.
• Construcciones completas orientadas a objetos.
Es preferible crear código empresarial reutilizable utilizando
construcciones completas orientadas a objetos, ya que el lenguaje
incluye implementación total de herencia, encapsulación y polimorfismo.
El control de excepciones estructurado proporciona un controlador global
de errores y elimina el código innecesario.
• Servicios Web XML.
Los servicios Web XML permiten llamar a componentes que se ejecuten
en cualquier plataforma utilizando protocolos abiertos de Internet.
Trabajar con servicios Web XML es más fácil en Visual Basic .NET 2003,
ya que simplifican el descubrimiento y el uso de servicios Web XML
ubicados dentro del servidor de seguridad. Los servicios Web XML se
pueden crear con la misma facilidad que cualquier clase de Visual Basic
6.0. La nueva plantilla de proyecto Servicio Web XML crea toda la
infraestructura subyacente del servicio Web automáticamente.
• Aplicaciones para servicios móviles.
Visual Basic .NET 2003 y Windows .NET Framework 1.1 ofrecen una
compatibilidad integrada con el desarrollo de aplicaciones Web para más
de 200 dispositivos móviles compatibles con Internet. Estas nuevas
características ofrecen a los programadores una única interfaz Web móvil
y un modelo de programación para obtener compatibilidad con una
amplia gama de dispositivos móviles, incluidos WML 1.1 para teléfonos
móviles WAP, compact HTML (cHTML)52 para teléfonos i-Mode53 y HTML
para Pocket PC, dispositivos de mano y localizadores (pagers).
c. Actualización.
• Interopolaridad Com.
52 http://www.webopedia.com/TERM/C/cHTML.html
53 http://www.redestelecom.com/Actualidad/Reportajes/Comunicaciones
La interoperabilidad COM permite aprovechar sus activos de código
existentes y ofrece comunicación bidireccional sin problemas entre
aplicaciones de Visual Basic 6.0 y de Visual Basic .NET, es decir hay
como mantener el código existente sin la necesidad de generar código
nuevo.
• Reutilización de inversiones existentes.
Nos permite reutilizar todos sus controles ActiveX54 existentes, ya que
formularios Windows Forms de Visual Basic.NET 2003 tienen un
contenedor sólido para todos los controles ActiveX existentes, a mas de
la compatibilidad total con código ADO existente y el enlace de datos
permiten una transición sin problemas a Visual Basic .NET 2003.
• Asistente para actualización.
El actualizar el código de Visual Basic .NET 2003 nos permite obtener
ventajas. El Asistente para actualización a Visual Basic .NET, disponible
en Visual Basic .NET 2003 Standard y superior, actualiza hasta el 95%
del código y los formularios de Visual Basic existentes a Visual
Basic .NET con nueva compatibilidad con clases Web y controles de
usuario.
• Lenguaje sencillo y popular.
Es el lenguaje de programación más fácil de leer y escribir que existe. La
compilación proporciona información al instante y señala los errores con
marcas.
• La mayor comunidad de programadores.
54 http://www.microsoft.com/com/tech/ActiveX.asp
Esta herramienta nos permite incorporar recursos, componentes y código
que son creados por la mayoría de los programadores de Visual Basic.
Además, se puede utilizar componentes de otros proveedores para crear
aplicaciones .NET.
3.1.1.2.3 Resumen y notas importantes:
a. Visual Basic .NET 2003 se basa en la estabilidad y confiabilidad de
Visual Basic .NET 2002.
b. Visual Basic .NET 2003 y Microsoft Windows .NET Framework 1.1
incluyen una compatibilidad integrada con más de 200 dispositivos
Web móviles, incluidos teléfonos móviles, localizadores (pagers) y
asistentes digitales personales (PDA55, Personal Digital Assistant).
c. La versión de Visual Basic .NET para programadores profesionales,
Visual Studio .NET 2003 Professional, simplifica el desarrollo de
aplicaciones para dispositivos inteligentes gracias a la compatibilidad
total con .NET Compact Framework.
d. Migrar a Visual Basic .NET es mucho más fácil. El Asistente para
actualización a Visual Basic .NET está disponible ahora en la edición
Standard y se ha mejorado para permitir la actualización de más tipos
de componentes, incluidos controles de usuario y clases Web. Además
de un entorno de desarrollo integrado (IDE) mejorado con un tiempo
de inicio notablemente reducido, Visual Basic .NET 2003 ofrece
funciones rápidas y automáticas para dar formato al código conforme
55 http://www.sysgold.com/sysgold/pda.asp
escribe, IntelliSense mejorado para trabajar con métodos de un modo
más fácil, atributos y errores de programa, un explorador de objetos
mejorado para obtener fácil acceso a Windows .NET Framework, un
diseñador XML mejorado para simplificar el trabajo con documentos
XML complejos. Con el fin de mantener los estándares de Internet más
recientes, Windows .NET Framework 1.1 admite ahora la versión 6 del
Protocolo Internet (IPV6).
e. Se puede instalar Visual Basic .NET 2002 y Visual Basic .NET 2003 en
un equipo que ejecute Visual Basic 6.0 y utilizar los tres, siempre y
cuando los requisitos del sistema lo permitan, estos se ejecutarán
paralelamente en el mismo equipo sin problemas.
f. En el sistema Windows XP Home Edition se puede instalar Visual
Basic.NET 2003, pero este no podrá crear aplicaciones Web
(ASP.NET), aplicaciones Web para dispositivos móviles ni servicios
Web XML en modo local, ya que no incluye en este sistema operativo
el Internet Information Server (IIS).
g. El Asistente para actualización a Visual Basic .NET se incluye como
parte de Visual Basic .NET 2003 Standard y Visual Studio .NET 2003
Professional, Enterprise Developer y Enterprise Architect. Facilita el
proceso de actualización de proyectos de Visual Basic existentes a
Visual Basic .NET con el fin de aprovechar las ventajas de Windows
.NET Framework.
h. Al respecto con la actualización del código de Visual Basic 6.0 a Visual
Basic.NET 2003, hay que tomar en cuenta que cuando el código de
Visual Basic 6.0 está implementado, en ejecución y en modo de
mantenimiento, puede ser mejor simplemente comunicarse con ese
código desde los nuevos componentes de Visual Basic .NET utilizando
la interoperabilidad COM. Esto permite crear aplicaciones nuevas
utilizando Visual Basic .NET sin necesidad de escribir de nuevo
componentes existentes escritos con Visual Basic 6.0.
i. Visual Basic .NET utiliza una nueva tecnología para crear aplicaciones
de escritorio denominada Windows Forms. Este paquete está diseñado
para ser un contenedor excelente para los controles ActiveX
existentes, con el fin de garantizar el mantenimiento de las inversiones
existentes.
j. Cada vez hay más organizaciones de todos los tamaños que aprecian
el conjunto de características mucho más amplio de Visual Basic .NET
e implementan sus aplicaciones de software críticas utilizando Visual
Basic .NET.
3.1.1.3 C++ .NET
3.1.1.3.1 Beneficios de C++ .NET a los programador es.
Los programadores se beneficiarán de funciones eficaces, como por
ejemplo:
La capacidad de utilizar y ampliar Microsoft Windows.Net Framework.
• Los diseñadores visuales para crear Windows Forms y componentes.
• Un eficaz depurador y varios compiladores líderes de la industria que
ofrecen opciones avanzadas para la generación de código en
plataformas de 32 y 64 bits.
3.1.1.3.2 Información general acerca de las caracte rísticas de Visual
C++ .NET 2003.
a. Funcionalidad avanzada
• Generación de aplicaciones y componentes de gran pr ecisión
conectados a .NET.
Para optimizar la generación de código en lenguaje MSIL (Microsoft
intermediate language), es necesario utilizar las extensiones
administradas de C++ y la compatibilidad con compiladores. También
permite realizar llamadas a código no administrado mediante la
tecnología de interoperabilidad de C++ de alto rendimiento.
• Generación de aplicaciones y componentes no adminis trativos
de gran precisión basados en Windows.
Permite escribir y compilar código x86 totalmente no administrado.
Mediante las opciones de optimización aplicables a una extensa variedad
de procesadores, incluida la optimización de todo el programa y
compatibilidad para conjuntos de instrucciones SSE y SSE2 (Streaming
SIMD Extensions y Streaming SIMD Extensions 2)56, nos ayudará a
acrecentar la velocidad o desminuir el tamaño de la aplicación.
• Permite transferir el código de C++ existente a .NE T línea por
línea y al ritmo que considere conveniente.
El código de C++ existente se puede compilar para .NET sin necesidad
de volver a escribirlo en un nuevo lenguaje. Visual C++ admite la mezcla
de datos y código administrados y no administrados con el objeto de
ofrecer un rendimiento y un control absoluto.
c. Desarrollo estándar de la industria.
• Generación de fuentes de bibliotecas y código de C+ + modernos
mediante un compilador de C++ totalmente compatible con las
normas ISO
Visual C++ .NET 2003 compila código de C++ moderno que utiliza
funciones de plantillas avanzadas, incluida Partial Template
Specialization (Especialización parcial de plantillas) y Partial Ordering of
Function (Ordenamiento parcial de funciones). Permite utilizar las
bibliotecas más populares escritas por comunidades, como por ejemplo,
Boost57.
56 http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/vclang/html/vcrefstreamingsimdextensions.asp 57 http://www.boost.org/
• Puede incorporar funciones avanzadas, utilizando la s bibliotecas
mejoradas.
Visual C++ .NET 2003 incluye varias bibliotecas que contienen gran
cantidad de tipos de datos y patrones de programación, incluida una
implementación STL58 que cumple las normas ISO, bibliotecas ATL y
MFC estándar de la industria, servidor ATL y Windows .NET Framework.
• Programación sólida e inteligente.
Permite intercambiar código y conocimientos con la extensa población de
programadores de C++ y participar en proyectos de código compartido en
línea promovidos por la comunidad y basados en C++.
c. Solución preferida de programadores de aplicacio nes
profesionales.
• Seguridad al escribir código complejo.
Las funciones de compilador y lenguaje avanzadas facilitan y garantizan
la seguridad al escribir código complejo.
• Generación de código en un entorno de desarrollo in tegrado y
ampliable.
Se debe a la extensa gama de editores y ayudas para la codificación,
incluida la tecnología IntelliSense y el resalte en color de la sintaxis.
Al utilizar funciones RAD en el entorno de desarrollo integrado permite
crear Windows Forms y aplicaciones y componentes controlados por
datos.
58 http://usuarios.lycos.es/greibach/stl/principal.html
• Depuración de aplicaciones.
Permite supervisar el estado del programa en cómodas ventanas acoplables
sin modo y defina puntos de interrupción para la depuración en archivos,
líneas de código, direcciones de memoria, variables, etc.
3.1.1.3.3 Resumen y notas importantes:
a. Se puede instalar Visual C++ .NET en un equipo que esté ejecutando
Visual C++ 6.0 y utilizar las dos versiones, siempre que los requisitos
del sistema lo permitan.
b. El servidor ATL es un conjunto nuevo de clases de C++ nativas que
permite a los programadores crear aplicaciones Web y servicios Web
XML con código nativo de alto rendimiento.
c. Los atributos se diseñan para simplificar la programación COM y la
programación con Common Language Runtime de Microsoft .NET
Framework. Cuando se incluyen atributos en los archivos de código
fuente, el compilador trabaja con bibliotecas de vínculos dinámicos
(DLL) de proveedor para insertar código o modificar el código de los
archivos de objetos generados.
d. El código administrado se ejecuta en el contexto del entorno de tiempo
de ejecución .NET. No es indispensable utilizar código administrado,
pero sí ofrece numerosas ventajas. Un programa escrito con código
administrado utilizando las Extensiones administradas para C++, por
ejemplo, puede trabajar con Common Language Runtime para
proporcionar servicios como la administración de memoria, integración
entre lenguajes, seguridad de acceso al código y control automático de
los objetos.
e. Las Extensiones administradas para Visual C++ amplían el lenguaje
C++ estándar para facilitar la adición de compatibilidad con .NET
Framework a aplicaciones nuevas y existentes.
f. La opción de compilador /clr permite el uso de las Extensiones
administradas para C++ y crea un archivo de resultados que requerirá
Common Language Runtime de .NET Framework en tiempo de
ejecución.
g. El código de Visual C++ 6.0 se ejecutará en Visual C++ .NET sin
modificación, pero puede ser necesaria la atención del programador
para el código que utilice determinadas características de la biblioteca
de plantillas estándar (STL), que se ha actualizado para que sea
compatible con más estándares.
h. Visual C++ es compatible con Microsoft .NET, ya que se puede utilizar
código para la plataforma.NET y se ha mejorado ATL, MFC y el
compilador en Visual C++ .NET. Además, se ha incluido el servidor
ATL para producir servicios Web XML de código nativo.
3.1.1.4 C# .NET 2003
3.1.1.4.1 Beneficios de C# .NET 2003 a los progra madores.
• Herramienta sencilla pero de gran capacidad.
Visual C# .NET está basado directamente en C++ y les resultará muy
familiar a los programadores que hayan trabajado con C++ y Java. Es un
lenguaje de programación orientado a objetos que ofrece mejoras
significativas. Mediante este elegante lenguaje y herramienta de
programación, los programadores pueden reciclar sus conocimientos
actuales de C++ y Java para trabajar eficazmente en el entorno .NET.
• Entorno altamente productivo.
El entorno de desarrollo integrado (IDE) de Visual C# .NET ofrece a los
usuarios un entorno de desarrollo más completo, ya que ofrece valiosos
recursos en línea a la comunidad de programadores.
• Genera aplicaciones conectadas a .NET para Windows y Web.
Con Visual C# .NET 2003, los programadores pueden beneficiarse de
Microsoft .NET e incorporar tecnología de próxima generación para la
administración de recursos, tipos unificados y acceso remoto. Con Visual
C# .NET 2003, los programadores pueden crear servicios Web XML que
integren procesos empresariales y los pongan a disposición de
aplicaciones que se ejecuten en cualquier plataforma.
3.1.1.4.2 Información general acerca de las caracte rísticas de Visual
C# .NET 2003.
a. Lenguaje para aprender Microsoft .NET
• Lenguaje basado en C++.
Es un lenguaje diseñado a partir de la sintaxis de C++, inmediatamente
familiar para los programadores de C++ y Java, así como nuevas
construcciones de lenguaje intuitivas que simplifican enormemente las
tareas de programación.
• Interoperabilidad de confianza.
Se puede utilizar componentes COM ya desarrollados y aprovechar los
controles ActiveX actuales para integrar sin problemas aplicaciones y
componentes existentes.
• Lenguaje orientado a componentes.
Utilizando las ventajas de la compatibilidad inherente con propiedades,
indicadores, delegados, matrices únicas y multidimensionales, herencia
avanzada, atributos, control de versiones y comentarios XML.
b. Aumento de productividad.
• Entorno completo de desarrollo de aplicaciones para Windows.
Con la herencia visual, los programadores pueden simplificar
enormemente la creación de aplicaciones basadas en Windows,
centralizando en formularios primarios la lógica común y la interfaz de
usuario para toda la solución.
• Herramienta completa para programadores.
Aprovechando las funciones de productividad de Visual Studio .NET,
incluida la página de inicio, la tecnología IntelliSense59, la caja de
herramientas, la lista de tareas y las nuevas reglas de construcción
personalizadas, nos permite crear soluciones eficaces y formar parte de
una comunidad de programadores activa y entusiasta.
• Herramientas eficaces de depuración y pruebas.
59 http://www.microsoft.com/windows/ie_intl/ar/features/intellisense.htm
Visual C# .NET 2003 tiene un eficaz depurador remoto para múltiples
lenguajes que permite a los programadores probar las aplicaciones y
crear soluciones seguras de varios niveles que integren procesos
distintos y estén escritas en varios lenguajes de programación. Hay que
recalcar que la depuración remota únicamente está disponible en Visual
Studio .NET Professional Edition o superior.
c. Software conectado a .NET para Windows y Web.
• Microsoft.NET
Nos permite incorporar tecnología de próxima generación para la
administración de recursos, los tipos unificados y el acceso remoto a fin
de crear soluciones seguras y escalables utilizando un sistema de tipos
unificados y datos procedentes de aplicaciones escritas en cualquiera de
los más de 20 lenguajes que son compatibles con .NET. Podemos
realizar la migración de proyectos basados en Java a Microsoft .NET
mediante el Asistente para conversión del lenguaje Java (JLCA60, Java
Language Conversión Assistant).
• Biblioteca de clases de Windows .NET Framework.
Permite conseguir una funcionalidad integrada sólida y eficaz, incluido un
variado conjunto de clases de colección, compatibilidad con redes y
subprocesamiento múltiple, clases de expresión regular y cadena, así
como una amplia compatibilidad con XML, esquemas XML, espacios de
nombres XML, XSLT61, XPath62 y SOAP.
60 http://msdn.microsoft.com/vstudio/downloads/tools/jlca/default.aspx
61 http://www.w3.org/TR/xslt
62 http://www.w3.org/TR/xpath
• Desarrollo para Web.
Aprovechando el Diseñador de Web Forms y el Diseñador XML
compartidos se puede crear soluciones basadas en Web con C#. Los
programadores pueden utilizar también las características de IntelliSense
y la funcionalidad de finalización de etiquetas; o bien, elegir el editor
WYSIWYG (lo que ve es lo que se imprime) para poder crear
aplicaciones Web interactivas arrastrando y colocando elementos.
• Desarrollo de aplicaciones Web para dispositivos mó viles.
La compatibilidad en dispositivos nativos está disponible como parte de
Visual Studio .NET 2003 Professional Edition y permite a los
programadores crear soluciones para una amplia gama de dispositivos
móviles, incluidos Pocket PC, Tablet PC63 y teléfonos móviles.
3.1.1.4.3 Resumen y notas importantes:
a. Visual C# .NET proporciona a los programadores un lenguaje moderno
y orientado a componentes con el que pueden crear con rapidez
soluciones controladas por datos. Gracias a la rapidez de diseño,
desarrollo e implementación de servicios Web XML, las soluciones
controladas por datos de alto rendimiento y los diseñadores visuales
en servidor, Visual C# .NET ofrece funcionalidad superior para
optimizar los procesos empresariales.
b. Permite a los programadores generar soluciones para una gama
amplísima de clientes, incluidas aplicaciones Web, aplicaciones
63 http://www.microsoft.com/windowsxp/tabletpc/default.asp
basadas en Windows Forms y dispositivos de cliente ligero e
inteligentes. Además, con un lenguaje de programación elegante y
moderno, los programadores de C# pueden aprovechar sus
conocimientos de C++ y Java para trabajar eficazmente en el entorno
de desarrollo Microsoft .NET.
c. Las novedades de Visual C# es que incorpora varias mejoras menores
en el entorno de desarrollo integrado (IDE) que le permitirán escribir
código con mayor rapidez y menos errores:
•••• Compatibilidad nativa con el desarrollo de dispositivos.
•••• Tecnología IntelliSense para interfaces y clases base.
•••• Tecnología IntelliSense mejorada para delegados y eventos.
•••• Tecnología IntelliSense mejorada para finalización de
instrucciones.
•••• Visualización mejorada del depurador.
•••• Pasos de compilación personalizados.
d. Las novedades en el lenguaje C# en la versión 2003, es en que el
lenguaje C# ha sido actualizado y es totalmente compatible con la
especificación ECMA64 (Asociación europea de fabricantes de
Informática) del lenguaje C#. Aunque la intención era conseguir la
compatibilidad total en la versión 2002, las restricciones de programa
para el proceso de normalización y el lanzamiento de Visual
Studio .NET 2002 lo hicieron imposible.
64 http://msdn.microsoft.com/net/ecma/
e. Las diferencias entre Visual C#.NET 2003 Standard y Visual
Studio.NET 2003 Professional, es en que el primero nombrado está
dirigido a los programadores aficionados o no profesionales que
deseen aprender el lenguaje de programación C#. Por tanto, no
incluye las siguientes funciones de Visual Studio .NET 2003
Professional y ediciones superiores:
•••• El nodo "servidor" en el Explorador de servidores.
•••• Integración del control del código fuente.
•••• Compatibilidad mejorada con la depuración.
•••• Compatibilidad mejorada con la implementación.
•••• Herramientas de datos visuales.
•••• Asistentes adicionales.
•••• Aplicaciones de muestra.
•••• Kit de desarrollo de software (SDK).
•••• Capacidad para programar dispositivos inteligentes.
f. Microsoft no hace comentarios públicos sobre futuras versiones de
software no anunciadas. Sin embargo, conforme emerja Visual C# 2.0
de su etapa inicial y pase a ser código real, el equipo proporcionará las
primeras compilaciones a clientes selectos. De lo contrario, las
versiones alfa y beta son sólo eso: no están disponibles para el
público.
g. Las diferencias entre Visual Basic .NET y Microsoft Visual C# .NET
son en que Visual Basic .NET se creó basándose en el concepto de
ofrecer a los programadores de Visual Basic una capacidad y una
productividad sin precedentes para crear servicios Web XML,
aplicaciones de escritorio y aplicaciones móviles. Visual C# fue
concebido por programadores dentro de la comunidad de C++ que
querían obtener más productividad en la creación de aplicaciones.
h. Visual Basic .NET y Visual C# .NET difieren considerablemente en la
experiencia de los usuarios, Visual Basic .NET está dirigido a los
programadores de Visual Basic y, por lo tanto, incorpora muchos de
los conceptos y construcciones que son familiares para los
programadores de Visual Basic, como código que no diferencia entre
mayúsculas y minúsculas, un compilador en segundo plano y la opción
de realizar el enlace en tiempo de ejecución. Del mismo modo, Visual
C# diferencia entre mayúsculas y minúsculas, el código "no seguro", la
sobrecarga de operadores, el control de versiones integrado y una
compatibilidad mejorada para la documentación en línea.
3.1.1.5 J# .NET
3.1.1.5.1 Beneficios de J# .NET 2003 a los progra madores.
Existen innumerables razones para adoptar Microsoft Visual J#, entre ellas tenemos:
• Familiarización con el lenguaje Java.
• Compatibilidad con numerosos lenguajes.
• Sistema de tipos basado en objetos.
• Acceso a Microsoft .NET Framework.
• Servicios Web XML interactivos.
• Protección de la inversión en Java.
• IDE de Visual Studio .NET.
• Eficaces aplicaciones basadas en Windows.
• Desarrollo fácil de aplicaciones basadas en Web.
• Implementación de aplicaciones sencilla.
• Integración total con Visual Studio .NET.
• Integración total con .NET Framework.
• Herramientas de actualización de Visual J++ 6.0.
3.1.1.5.2 Información general de las característica s de Visual J# .NET.
a. Arquitectura ágil.
• Crear nuevas oportunidades de negocio .
Los servicios Web XML proporcionan un modelo sencillo, flexible y
basado en estándares para integrar, ampliar y publicar aplicaciones.
Los servicios Web XML agilizan los negocios facilitando la integración
en su compañía, la creación de vínculos con sus asociados y el
ofrecimiento de eficaces servicios a sus clientes.
• Reduce el tiempo de salida al mercado.
Visual Studio .NET le permite aprovechar las aplicaciones existentes,
además, planea, crea, implementa y administra sus aplicaciones
empresariales críticas de una forma más rápida que antes.
• Establece un diseño ampliable y basado en estándare s.
Visual Studio .NET 2003 está basado en un diseño estándar que
asegura la compatibilidad más amplia posible en la industria para las
aplicaciones conectadas a .NET. Además, Visual Studio .NET 2003
es una plataforma abierta a herramientas para programadores de
otros fabricantes.
b. Productividad de desarrollo.
• Utiliza la sintaxis del lenguaje Java.
Los desarrolladores pueden utilizar la sintaxis del lenguaje que ya
conocen para generar aplicaciones y servicios Web XML para .NET
Framework.
• Aprovecha herramientas eficaces.
Visual Studio .NET 2003 dispone de herramientas productivas y
fáciles de utilizar para cada fase del proceso de desarrollo, como por
ejemplo, diseñadores visuales para formularios y datos, un eficaz
editor de código compatible con HTML y XML, y un depurador
integrado de un extremo a otro.
• Escribir menos código.
Reduzca la cantidad de código que escribe con componentes que se
pueden arrastrar y colocar. .NET Framework proporciona
automáticamente la estructura de servicios Web XML.
• Emplea servicios de aplicación basados en Windows.
Para aprovecharse de los múltiples servicios de aplicación de
Windows, Visual Studio .NET ofrece una metáfora de diseño visual
nueva y clases de contenedor que facilitan el uso de servicios
basados en Windows en sus aplicaciones y reducen el código hasta
en un 95 por ciento.
c. Excelencia de operación.
• Mejora el rendimiento.
Por la arquitectura mejorada para aplicaciones distribuidas, la
reducción de las líneas de código escrito y las numerosas mejoras del
rendimiento en tiempo de ejecución, las aplicaciones creadas con
Visual Studio .NET 2003 son hasta tres veces más rápidas que las de
la competencia.
• Simplifica la implementación de aplicaciones.
La implementación mediante XCOPY65 convierte la instalación de
aplicaciones en una tarea tan fácil como copiar software en las
unidades de disco de los equipos cliente o en los servidores del
centro de datos; y con la seguridad de que las nuevas aplicaciones no
interferirán con las ya existentes.
• Ejecute aplicaciones más confiables.
Las aplicaciones generadas con Visual Studio .NET 2003 reducen los
costos de asistencia técnica, ya que proporcionan al usuario un 100%
de tiempo de utilización percibido. Las aplicaciones son de mayor
confianza debido a la administración de la memoria, los procesos y
los subprocesos con el fin de eliminar pérdidas de memoria.
• Seguridad basada en evidencia.
65 http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art41.asp
Windows .NET Framework proporciona un control detallado sobre las
tareas que pueden o no llevar a cabo las aplicaciones y reduce la
cantidad de código "estructural" que tienen que escribir los
programadores para crear aplicaciones confiables y seguras.
3.1.1.5.3 Resumen y notas importantes:
a. Visual J# .NET es una herramienta de desarrollo para programadores
en lenguaje Java que deseen crear aplicaciones y servicios en
Microsoft Windows .NET Framework. Visual J# .NET proporciona a
estos programadores la transición más sencilla de los servicios Web
XML y aumenta de forma notable la interoperabilidad de los programas
escritos en Java con el software existente escrito en una gran variedad
de lenguajes de programación distintos.
b. La tecnología de Visual J# .NET permite a los clientes migrar las
aplicaciones escritas en Java a Windows .NET Framework. La
migración de las aplicaciones actuales, generadas con Microsoft
Visual J++, puede llevarse a cabo con el objeto de ejecutarlas en
Windows .NET Framework, para interactuar con otros lenguajes y
aplicaciones conectados a Microsoft .NET o para conseguir nueva
funcionalidad .NET, como por ejemplo, ASP. NET, ADO. NET y
Microsoft Windows Forms. Asimismo, los programadores pueden
utilizar Visual J# .NET para generar aplicaciones conectadas a .NET
completamente nuevas.
c. El complemento Visual J#.NET funcionará en una instalación de Visual
Studio .NET Trial Edition. Descargue el archivo de instalación y
ejecútelo en Visual Studio .NET Trial Edition, es una versión de
prueba.
d. Microsoft planea lanzar un producto estándar en el futuro. No obstante,
actualmente Visual J# .NET sólo es compatible con Visual Studio
.NET.
e. No se puede crear aplicaciones J2EE en este producto, ya que no se
utiliza tecnología de Sun Microsystems66, ni tampoco se generan
archivos de clase de código de bytes. No obstante, puede utilizar
Visual J# .NET para escribir clases con sintaxis de Java y, a
continuación, compilarlas con una herramienta de desarrollo Java de
terceros. Las aplicaciones escritas y compiladas con Visual J# .NET
están orientadas exclusivamente a .NET Framework.
f. Los desarrolladores de Visual J++ se les recomienda las siguientes
opciones:
g. Pueden continuar desarrollando con Visual J++ y modificar ligeramente
sus aplicaciones y componentes como objetos COM, que se pueden
llamar desde .NET.
66 http://es.sun.com/
h. Pueden abrir sus proyectos en Visual J# .NET y empezar a crear
aplicaciones basadas en .NET reales.
i. Pueden utilizar el asistente JLCA para migrar su código fuente Java a
aplicaciones y tecnologías C# y .NET.
j. Visual J++ 6.0 puede instalarse en el mismo equipo que Visual Studio .NET
2002 y/o Visual Studio .NET 2003, siempre que se cumplan los requisitos del
sistema.
3.1.2 ORACLE (Elaborado 1 Ago. 03)
3.1.2.1 Oracle9i Developer Suite
3.1.2.1.1 Beneficios y Características de Oracle9i Developer Suite.
• Productividad en Desarrollo ( Development productivity ) .
• Capacidad tipo RAD.
• Fuertemente integrado con las últimas versiones de Oracle9i
Application Server y Oracle9i Database, Oracle9iDS provee
capacidades para construir aplicaciones transaccionales y de
inteligencia de negocios en una forma única y comprensiva.
• Con Oracle9iDS, los desarrolladores pueden rápidamente crear
aplicaciones y servicios de Web utilizando los estándares vigentes en
la industria, incluyendo Java, XML y SQL, a una fracción del precio
combinado de otras herramientas equivalentes.
• Oracle9i Developer Suite admite el estándar UML para el modelado
de desarrollo de software. Ofrece modelado de clases para generar
los códigos de los Componentes de Negocios para un marco de trabajo Java
y modelado de actividades para realizar el modelado de control de flujo. Los
modelos pueden administrarse en el repositorio de Oracle, lo cual
proporciona un control de versión de modelado de objetos. Además, Oracle9i
Developer Suite admite XMI para intercambio de datos con otras
herramientas UML.
3.1.2.2 Principales características de la base de d atos Oracle 9 i:
• Manejo de documentos y de contenido con Oracle Internet File
System (IFS) e Intermedia.
• La mejor seguridad con “ Unbreakable Security67 utilizando Oracle
Advance Security “.
• Alta disponibilidad / forma fácil de recobrar ( High Availability /Disaster
Recovery ) usando “Dataguard68 “.
• Aplicaciones múltiples en un solo nodo con “Oracle's Virtual Private
Database69 “.
• Integración de aplicaciones con “Oracle Advanced Queuing70 y
Message Gateway “.
• Correo electrónico seguro.
67 http://www.a7alarms.com/?xcmpx=1027
68 http://www.dataguard.no/bugtraq/1997_2/0170.html
69 http://www.oracle.com/ip/deploy/database/oracle9i/db_sql_se_askms.html
70 http://www.engin.umich.edu/caen/wls/software/oracle/appdev.901/a88890/qintro3.htm
3.1.2.3 Principales características de Oracle 9 i Application Server:
• Manejo mejorado de cuentas del usuario y seguridad con “LDAP71
(Lightweight Directory Access Protocol) repository“.
• Búsqueda avanzada con UltraSearch.
• Notificación y aprobación de nuevas rutas.
• Soporte a interfaces de dispositivos Móviles.
• Performancia mejorada con el nuevo Web Cache
• Aplicaciones tipo Enterprise integrando adaptadores de paquetes
Todas estas características son incluidas por default en Oracle9i Application
Server.
3.1.2.4 Beneficios y Características de Oracle9i J Developer .
• Soporte J2EE
Soporte para el modelo de programación Java 2 Enterprise Edition
(J2EE).
• Productividad con Java y XML
Mejore la productividad del desarrollador con:
·-> Wizards para desarrollar rápidamente Servlets, JSP, JavaBeans, Java
Classes.
·-> Un Coach de código para lograr un código de tiempo de ejecución
71 http://www.openldap.org/
optimizado.
·-> Code Insight para lograr un desarrollo más rápido.
·-> Tecnología bidireccional para mantener sincronizados el diseño y el
código.
·-> Dispositivos de realce y control de la sintaxis de código en color para
documentos XML y XSL.
·-> Compilador avanzado para verificar las dependencias en la
compilación.
·-> Soporte completo de JDK 1.1, 1.2 y 1.3.
• Desarrollo XML
Utilice el servlet XSQL para construir rápidamente aplicaciones web
dinámicas que procesan consultas SQL para armar datos XML dentro y
fuera de la base de datos.
• Integración de Oracle8i y Oracle9i Application Serv er.
Al utilizar los procedimientos almacenados Java, EJBs y objetos
CORBA, aproveche al máximo las características de Oracle8i JVM en la
base de datos y en el servidor de la aplicación para desarrollar una lógica
comercial del lado del servidor.
• Flexibilidad de Despliegue
Permite despliegue aplicaciones en distintos servidores (incluido Oracle9i
Application Server) y utilice una amplia gama de dispositivos, como
desktops estándar, navegadores web o dispositivos inalámbricos.
• Trabajo en equipo
Soporta múltiples proyectos en el mismo espacio de trabajo para poder
compartir códigos y trabajo en equipo.
3.1.2.5 Resumen y notas importantes:
a. Oracle9i Jdeveloper ofrecer un IDE que soporta una gama de
tecnologías y estilos de desarrollo que incluyen codificación Java y
XML, UML, Rápido Desarrollo de Aplicaciones (RAD) controlado por
wizard y capacidades incorporadas de información, consulta ad-hoc y
análisis para business intelligence integrado.
b. Los desarrolladores pueden aprovechar la tecnología de mapeo de
objeto/relacional de Oracle9i JDeveloper para mejorar la performance
de transacción; la implementación de los Patrones de Diseño J2EE
para el desarrollo Java de mejores prácticas; el depurador Java más
rápido de la industria; las herramientas incorporadas para trazar
perfiles y una nueva herramienta CodeCoach72 innovadora que ofrece
retroalimentación interactiva sobre cómo mejorar la calidad del código
72 http://download-east.oracle.com/otn_hosted_doc/jdeveloper/904preview/codecoach_profiler/cc_about.html
¾ todo dentro del mismo entorno de desarrollo de códigos de alta
calidad y escalables.
c. En la actualidad, se requiere cada vez más, que los desarrolladores
automaticen los procesos comerciales mediante la integración de las
aplicaciones que crean con otras aplicaciones y servicios web
existentes. Con Oracle9i JDeveloper, Oracle ha encarado esta
necesidad mediante soporte extensivo para las tecnologías de
integración XML y nuevos estándares de servicios Web con inclusión
de Simple Object Access Protocol (SOAP), Universal Description,
Discovery and Integration (UDDI) y Web Services Description
Language (WSDL).
3.1.3 BORLAND (Elaborado 16 Ago. 03)
3.1.3.1 Kylix 3.0
3.1.3.1.1 Información general acerca de las caracte rísticas de Kylix 3.0.
• Presentaciones: Open Source - Professional - Enterprise
• Herramienta RAD
• Compilador de código nativo (4.000.000 de líneas por minuto)
• Depuración multiproceso
• Generación de librerías de objeto compartido reutilizables
• Listas de tareas
• Paleta de componentes CLX con más de 180 componentes de
desarrollo multiplataforma
• Interfaz de manejador de bases de datos dbExpress para acceso
abierto a cualquier motor de bases de datos
• Motor de bases de datos MyBase73 para trabajo de tablas XML
• Drivers nativos dbExpress para MySQL e InterBase
• Drivers SQL nativos dbExpress con licencia de distribución ilimitada
para Oracle y DB2
• Componentes para desarrollo Internet con Apache
• Componentes para comunicación de socket en Internet
• Estructura de aplicación WebBroker74 para aplicaciones de datos en
Web
• Soporte para aplicaciones DSO75 y CGI76 Apache
• Conjunto de componentes bonus para trabajar con el protocolo de
Internet Indy de Nevrona77: http78, FTP79, SMTP80, ICMP81, UDP82,
MIME83, Telnet84, POP385, NNTP86 y demás.
3.1.3.1.2 Resumen y notas importantes:
73 http://www.wjjsoft.com/
74 http://www.w3.org/TR/1998/NOTE-webbroker
75 http://docs.sun.com/source/817-2514-10/AppCAdvanced19.html
76 http://www.perldoc.com/perl5.6/lib/CGI/Apache.html
77 http://www.nevrona.com/Indy/
78 http://www.utem.cl/web/http.htm
79 http://www.dst.usb.ve/ayuda/manuales/ftp/ftp.html
80 http://www.utem.cl/web/smtp.htm
81 http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/icmp.html
82 http://gsyc.escet.urjc.es/docencia/asignaturas/itig-transmision_datos/transpas/node9.html
83 http://ditec.um.es/laso/docs/tut-tcpip/3376c47.html
84 http://www.cyberspace.org/telnet.html
85 http://www.utem.cl/web/pop3.htm
86 http://livinginternet.com/?u/ui_nntp.htm
a. Hay Libertad de elección, ya que podemos usar el lenguaje C/C++ o
Delphi. Borland Kylix 3 Enterprise provee ANSI/ISO para C++ y Delphi,
dos poderosos lenguajes orientados a objetos para el desarrollo de
soluciones. Soporta los estándares de C++ y Kylix 3 permite reutilizar
el código existente.
b. Kylix 3 proporciona desarrollo rápido de aplicaciones de comercio
electrónico con servicios Web para la plataforma Linux.
c. Debido a que Kylix y Delphi comparten una librería de componentes
común, el código fuente desarrollado con Kylix puede ser recompilado
en Delphi (y viceversa), permitiendo unas más eficientes
implementaciones de plataforma cruzada para compañías
comprometidas con desarrollos en Linux y Windows.
d. WebSnap de Kylix 3 transforma los servidores Web Apache en
poderosos manejadores de bases de datos de clase empresarial,
servidores de aplicaciones Web. WebSnap brinda la potencia y
velocidad del Desarrollo Rápido de Aplicaciones (RAD) basado en
componentes al desarrollo de sus aplicaciones Web Apache,
incrementando la eficiencia de sus equipos de desarrollo y la
confiabilidad de su código.
e. DataSnap permite una alta productividad de Kylix 3 para liberar
aplicaciones que escalen a medida que el volumen de transacciones y
el número de usuarios crezca.
f. Borland Sotfware Corporation, está en la mejor posición de sacar
provecho en el camino de los servicios Web, debido a que no está
aliada con ningún sistema operativo o servidor en particular, ya sea
BEA87 Systems, Hewlett-Packard, IBM, Microsoft, Oracle, o Sun
Microsystems. Esto significa que puede vender herramientas para
todas las plataformas y de paso, hacer el proceso de programación
menos trabajoso.
3.1.3.2 JBuilder 9.0
3.1.3.2.1 Beneficios y Características de JBuilder .
• Diseñador visual para EJB 2.0 para desarrollo rápido de aplicaciones
J2EE
• Distribución hacia los servidores de aplicación líderes, incluyendo
Borland Enterprise Server88, BEA WebLogic, IBM WebSphere, e
iPlanet Application Server
• Asistentes, herramientas y componentes para simplificar el desarrollo
y la distribución de aplicaciones de bases de datos.
• Desarrollo y distribución de aplicaciones Web con JSP y servlets
• Visualización de código UML
• Reconstructores de código y probadores de unidades
• Integración con sistemas líderes en el control de versiones
• Herramientas XML para publicación e integración de datos de
negocios en dispositivos cruzados
87 http://www.beasys.es/index.jsp
88 http://www.borland.es/besweb/
• Acelera el desarrollo en Java usando herramientas que ayudan a
ahorrar el tiempo de trabajo
• Maximiza la productividad del equipo integrado del entorno de
desarrollo
• Está focalizado en el desarrollo con herramientas de integración
confiables
• Reduce el riesgo y el costo del desarrollo
• Maneja los proyectos y cambios de forma exitosa.
3.1.3.2.2 Resumen y notas importantes:
a. JBuilder soporta integración abierta con software de terceros. El
ambiente de desarrollo abierto, escalable y basado en estándares de
JBuilder acelera el tiempo del mercado y soporta cualquier elección de
sistemas de control de versiones y de servidor de aplicaciones.
Adicionalmente, JBuilder brinda una considerable flexibilidad para
desarrollar en cualquier plataforma que se escoja: Windows, Linux,
Solaris, y Mac OS.
b. JBuilder incluye una completa integración con los servidores de
aplicaciones Borland Enterprise Server, BEA WebLogic, IBM
WebSphere, e iPlanet. Ejecute y depure Enterprise JavaBeans, local o
remotamente.
c. Permite generar rápidamente modelos UML de un proyecto de forma
que pueda visualizar el código, haciéndolo fácil de examinar, analizar y
comunicar información de diseño.
d. A través de su cerrada integración con Rational ClearCase89, CVS90, y
Microsoft Visual SourceSafe, JBuilder simplifica la administración
concurrente de código fuente de grandes equipos distribuidos.
e. JBuilder hace fácil transferir datos entre archivos XML y bases de
datos.
f. JBuilder incluye asistentes y herramientas visuales para crear front
ends de clientes livianos que puedan ser usados a través de
navegadores Web. El motor servlet integrado Tomcat 4.091 con Servlet
2.3 y JSP 1.2, adicionalmente soporta el motor servlet WebLogic y
Borland Enterprise Server proporcionando flexibilidad en la
distribución.
g. JBuilder lleva el desarrollo Java a un nuevo nivel con soporte para los
últimos estándares, incluido Java 2, Java 2 Swing/JFC92, XML,
Java2D93, Java collections, colas de mensajes, accesibilidad a APIs,
JavaBeans, JDBC, Enterprise JavaBeans, JSP/Servlets, serialización,
clases internas, RMI, JNI, archivos Java y mucho más.
89 http://www.rational.com.ar/herramientas/clearcase.html
90 http://es.tldp.org/htmls/cvs.html
91 http://www.ubeans.com/tomcat/
92 http://www.java.com/en/index.jsp
93 http://www.apl.jhu.edu/~hall/java/Java2D-Tutorial.html
3.1.3.3 C++ Builder
3.1.3.3.1 Beneficios y Características de C++ Buil der.
• Presentaciones: Personal - Professional - Entreprise
• CodeGuard: pemite diagnosticar errores y pérdida de memoria y de
recursos
• Depuración Just In Time integración
• Lenguaje C++ estándar
• Herramienta RAD
• Avanzado Administrador de proyectos
• AppBrowser IDE que permite reducir el tiempo de desarrollo
• Robusto compilador de 32 Bits en código nativo y con optimización
• Soporte lenguaje ANSI/ISO C++
• VCL (Visual Componet Library), con mas + 200 componentes
reutilizables
• Generación de reportes y avanzados componentes de acceso a las
bases de datos que permiten la toma de decisiones
• Expertos CodeInsight para agilizar la codificación y reducir errores
• Internet/Intranet
• Nuevo soporte a XML y HTML 4, InternetExpress
• Compatibilidad total con ActiveX
• Aplicaciones Multi-Hilo
• Soporte OLE94, ISAPI95, NSAPI96, CGI, HMTL, COM, DCOM,
CORBA97, MTS98.
• Almacén de objetos y herencia de fichas visuales
• Acceso a bases de datos por ADO
• Aplicaciones MIDAS
• InterBase Express
• Borland Translation Suite
• Avanzada depuración: CPU, FPU/MMX99
• Soporte a ODBC
• Controladores nativos para Oracle, Sybase, DB2, Interbase, Informix y
Microsoft SQL Server
• Compilador 32 Bit Borland C++
• InstallShield Express
• TeamSource100, control de versiones y desarrollo en equipo
• Incluye InterBase.
3.1.3.3.2 Resumen y notas importantes:
a. Usando asistentes y componentes simples, Borland C++Builder
Professional permite a los desarrolladores integrar los Web Services y
94 http://www.abox.com/productos.asp?pid=180
95 http://www.isapirewrite.com/
96 http://ivb.unact.ru/glossary/nsapi.html
97 http://www.corba.com/
98 http://www.microsoft.com/com/tech/MTS.asp
99 http://personal.redestb.es/juanhr/micro2.htm#mmx
100 http://info.borland.com/conf2002/tracks/product/teamsource.html
sus aplicaciones, a través de Internet, realzando la funcionalidad con el
mínimo código.
b. Utilice servicios desde una variedad de plataformas estándares tales
como .Net y BizTalk de Microsoft y One de Sun Microsystems. Use el
poder y la flexibilidad de SOAP, XML y WSDL para construir con
facilidad aplicaciones escalables y sofisticadas.
c. El desarrollo de componentes con Borland Component Library para
desarrollos cross-platform (CLX). El código de las aplicaciones
construidas con CLX es compatible con las versiones actualmente
planeadas de Borland C++ para la plataforma Linux.
d. Se puede integrar datos dentro de sus aplicaciones con ADO,
dbExpress y BDE (Borland Database Engine).
e. Obtenga gran flexibilidad con la nueva arquitectura abierta y el
avanzado multitarget Project Manager. El manejador de proyectos le
permite a los usuarios instalar e invocar herramientas externas (tales
como programas Shell101, scripts Perl102 y muchos otros).
3.1.3.4 Delphi 7 Studio
3.1.3.4.1 Beneficios y Características de Delphi 7 Studio.
• Presentaciones: Delphi Personal - Studio Professional - Studio
Enterprise - Studio Architect - Delphi/400.
• Integración con Borland AppServer 4.5.
101 http://grulla.hispalinux.es/articles/shell/x649.html
102 http://www.tematicos.com/webmasters/Scripts/Perl/
• AppBrowser IDE que permite reducir el tiempo de desarrollo.
• Robusto compilador de 32 Bits en código nativo y con optimización.
• Paletas de componentes: VCL con mas +300 componentes
reutilizables; CLX Con más de 165 componentes de desarrollo
multiplataforma.
• DataSnap de Delphi soporta todos los estándares de computación
distribuida como SOAP, XML, COM, CORBA Y TCP/IP permitiendo la
integración de sus sistemas actuales con aplicaciones e-commerce.
Componentes para generación de reportes y toma de decisiones.
• Expertos CodeInsight para agilizar la codificación y reducir errores.
• Internet/Intranet.
• InternetExpress.
• Compatibilidad total con Win95/98 / NT,Win32 API, ActiveX.
• Aplicaciones Multi-Hilo.
• Soporte OLE, ISAPI, NSAPI, CGI, HMTL, COM, DCOM, CORBA,
MTS.
• Almacén de objetos y herencia visual de formas.
• Acceso a bases de datos por ADO.
• InterBase Express.
• Herramientas Adicionales incluidas: Translation Suite, InstallShield,
TeamSource, InterBase.
• Conectividad a través de drivers nativos para Oracle, Sybase, DB2,
Interbase, Informix y Microsoft SQL Server o vía ODBC para otros
motores.
• Las aplicaciones Borland Delphi pueden acceder a .Net.
• Permite llevar las aplicaciones Delphi hacia la Web en forma rápida y
simple.
• Crea aplicaciones en entorno Windows XPTM.
• Diseñe y modele aplicaciones con tecnología UML
• Menor mantenimiento de código con el modelo MDA (Model Driven
Architecture)
• Permite Integrar su negocio con Web-Services
• Facilita la integración Web Services B2B con BizSnap.
• Construye aplicaciones de bases de datos en tres capas con royalty-
free.
3.1.3.4.2 Resumen y notas importantes:
a. Delphi 7 Studio permite construir bases de datos nativas, GUI,
aplicaciones Web y servicios Web para Windows que pueden ser
recompilados y liberados sobre la plataforma Linux con el ambiente de
desarrollo Borland Kylix 3 para Delphi incluido, para poder abarcar un
mercado más grande y mejorar el retorno de la inversión ya que Delphi
no es sólo compatible con las plataformas cruzadas, además es
compatible entre servidores.
b. XML/SOAP en Delphi 7 simplifica radicalmente la creación de las
aplicaciones de comercio electrónico de la próxima generación sobre
Internet con total soporte SOAP basado en los Servicios Web y XML
c. Delphi 7 es compatible con Kylix. La librería de componentes de
plataforma cruzada CLX y los diseñadores visuales para construir
aplicaciones portables de alto desempeño para Windows que puedan
ser fácilmente recompiladas en Linux con Borland Kylix (que se vende
por separado). Permite llevar aplicaciones Linux basadas en CLX
desde Kylix hasta Delphi 7 para recompilarlas fácilmente en Windows.
d. Con Delphi 7 Studio puede construir aplicaciones de comercio
electrónico para las plataformas Windows, Linux y .NET, reduciendo el
tiempo de desarrollo y expandiendo sus opciones en el mercado. Con
ambiente de desarrollo rápido de aplicaciones (RAD), Delphi 7 Studio
proporciona a los desarrolladores una completa solución de comercio
electrónico desde el diseño hasta la distribución.
3.1.4 Sybase (Elaborado 28 Ago. 03)
3.1.4.1 PowerBuilder 9.0
3.1.4.1.1 Beneficios y Características de PowerBui lder 9.0.
• Desarrollo Rápido de Páginas JSP
Desarrolla y despliega una aplicación Web JSP103 a través de asistentes
y otras herramientas de desarrollo.
• Web Services
103 http://www.programacion.com/java/tutorial/servlets_jsp/
Facilita a los desarrolladores construir, publicar y consumir servicios web
para Microsoft .NET y otras redes sin un profundo conocimiento de
Simple Object Access Protocol (SOAP) y Web Services Description
Language (WSDL).
• XML DataWindow
Importa datos directamente del documento XML y guarda datos que
fueron recuperados de cualquier fuente como documento XML, o como
un documento que utiliza XSL Formatting Objects (XSL-FO)104 o PDF.
• Interfaz Nativa PowerBuider
Extiende las capacidades de las aplicaciones PowerBuilder al permitir
incorporar una clase C++ como una extensión PowerBuilder, y hacer
llamadas a sus métodos en la aplicación. A través de JNI105, las
aplicaciones Java también se pueden comunicar con el PowerBuilder
virtual machine , PBVM106.
• Servidores de Aplicación de Terceros
Añadido al ya existente soporte de Sybase EAServer107, PowerBuilder
ahora soporta BEA WebLogic ServerTM, IBM WebSphere y otros
Servidores de Aplicaciones J2EE a través de wizards que generan proxis
104 http://programacion.com/html/direcciones/xsl/
105 http://www.programacion.com/java/tutorial/jni/21/
106 http://www.sybase.com/detail?id=1019042
107 http://www.sybase.es/comunicacion/notas/2003/easerver.htm
para Enterprise Java Beans (EJBs), y llaman a los EJBs en servidores
J2EE desde PowerBuilder a través de proxis.
• El Modelo de Objeto Documento de PowerBuilder
Define cómo los documentos XML pueden ser consultados y
manipulados.
• Generación de Reportes PDF
Proporciona dos formas de guardar un objeto DataWindow y así puede
generar directamente informes en formato PDF.. Este método se utiliza
por defecto y puede guardar todos los tipos de objetos DataWindow.
• Mejoras el Control de Fuentes
Ayuda a los desarrolladores a realizar una gestión más eficaz de grandes
proyectos, facilitando la integración con Rational ClearCase y Merant
PVCS108.
• Utilitario OrcaScript 109
Mediante el uso de Orca, es posible reconstruir PowerBuilder Targets
desde PowerBuilder Source Control.
• Integración con PowerDesigner
108 http://www.pvcs.synergex.com/
109 http://www.techno-kitten.com/Changes_to_PowerBuilder/New_In_PowerBuilder_9/PB9New_-
_The_OrcaScript_Langua/pb9new_-_the_orcascript_langua.html
Genera rápidamente una representación visual de una aplicación y todo
su código. Realice ingeniería reversa de aplicaciones n-capas con
programación "arrastre y suelte", y los componentes quedarán listos para
ser abiertos con el ambiente de desarrollo.
3.1.1.1.1 Resumen y notas importantes:
a. PowerBuilder 9.0 es una herramienta diseñada para el desarrollo de
aplicaciones (RAD) que permite a los programadores realizar
aplicaciones críticas de negocio y, al mismo tiempo, trabajar en
entornos Web.
b. PowerBuilder 9.0 sienta las bases de 4GLplus, una herramienta RAD
abierta para entornos de despliegue heterogéneos que incorpora
funcionalidad para la gestión del ciclo completo de vida de las
aplicaciones.
c. La herramienta PowerBuilder proporciona capacidades para entornos
J2EE y Microsoft .Net, así como una más estrecha integración con
PowerDesigner.
d. PowerBuilder 9.0 incluyen RAD JavaServer Page (JSP) Targets, Web
Services, XML DataWindow, PowerBuilder Native interfaz, servidores
de aplicación de terceras partes, PowerBuilder Document Object
Model y creación de Informes PDF, así como Source Control
Enhancements y OrcaScript Utility, entre otras.
3.1.4.2 PowerDesigner 9.5
3.1.4.2.1 Información general acerca de los benefic ios y características
PowerDesigner 9.5.
• Modelamiento de procesos de negocio basándose en un diagrama de
control de flujo.
• Técnicas estándar de modelamiento de datos Entidad/Relación
(Modelos de Datos Conceptual y Físico), incluyendo técnicas de
modelamiento data warehouse110 (esquema estrella, modelamiento
multidimensional, y asociación de fuentes de datos).
• Diagramas estándar UML de caso de uso, actividad, secuencia clase
y componentes.
• Genera el código de lenguaje popular tales como Java, PowerBuilder,
C++, y Visual Basic a partir de un diagrama de clase.
• Genera DDL para más de 30 sistemas de bases de datos
relacionales.
110 http://www.datawarehouse.com/home/
• Soporta EJB 2.0.
• Asociación Objeto/Relacional.
• Realiza ingeniería reversa de bases de datos hacia Modelos de
Datos Físicos y Conceptuales.
• Realiza ingeniería reversa de lógica de negocio existente hacia
diagramas de clase (Java y PowerBuilder).
• Realiza ingeniería reversa y reingeniería aplicaciones XML hacia
diagramas de clase. Soporta XML-DTD111, esquemas XML y datos
XML.
• Integración con ambientes de desarrollo Java populares y servidores
de aplicación certificados J2EE/EJB 2.0.
• Manejo de múltiples modelos mejorado, incluyendo sincronización de
objetos, modelos y bases de datos.
• Generación mejorada de reportes, independiente del modelo,
permitiendo reportes de múltiples modelos en un sólo documento.
3.1.4.2.2 Resumen y notas importantes:
a. PowerDesigner es la solución de modelamiento y diseño para
empresas que requieren construir o aplicar reingeniería a sus
111 http://www.aulambra.com/ver.asp?id=65
aplicaciones de negocio, rápidamente, a bajo costo, y de manera
consistente.
b. PowerDesigner 9.5, presenta nuevas características de modelamiento
de procesos, modelamiento mejorado basado en UML, y soporta las
técnicas de modelamiento tradicionales y emergentes dentro de un
ambiente altamente gráfico. Esto le recorta tiempo y complejidad a los
proyectos de desarrollo que cubren múltiples plataformas y tipos de
código.
c. PowerDesigner también presenta un repositorio empresarial para
almacenar y administrar toda la información de modelamiento y
desarrollo de la empresa; esto minimiza inconsistencias y mejora
dramáticamente la productividad del desarrollador.
d. De las nuevas y mejoradas funcionalidades para el modelado de
aplicaciones dirigidos a desarrolladores destacan:
� UML. Nuevos diagramas de componentes y de actividad
que se añaden a los ya existentes y mejorados de casos
de uso, secuencia y de clases.
� Generación de componentes EJB 2.0.
� Mapeo Objeto / Relación entre los modelos de datos y
UML.
� Integración con los entornos de desarrollo (IDEs) más
populares y soporte a los servidores de aplicaciones
líderes del mercado.
• Modelado para DataWarehouse.
3.1.5 Artech (Elaborado 5 Nov. 03)
3.1.5.1 Genexus 8.0
3.1.5.1.1 Información general acerca de los benefic ios y características
Genexus 8.0.
• Intuitivo
El sistema se describe en forma intuitiva y Genexus lo genera para
múltiples plataformas y arquitecturas. Con Genexus se plasma la visión
del usuario en formularios y se describen las reglas del negocio y
fórmulas.
• Libertad
Múltiples plataformas:
� Servidores con Sistemas Operativos: IBM OS/400, UNIX,
LINUX, Windows NT/2000 Servers.
� Sistemas de Gerencia de Base de Datos: IBM DB2 UDB,
Informix, Oracle, Microsoft SQL Server.
� Lenguajes: Java, C#, Visual Basic, C/SQL, RPG112, etcétera.
� Internet: C#, JAVA, Visual Basic (ASP), C/SQL, HTML.
� Web Servers: Microsoft IIS, Apache, WebSphere.
Múltiples arquitecturas: Centralizada (iSeries), Cliente/ Servidor de dos o
tres capas, Sistemas distribuidos en múltiples capas en .NET, Multi 112 http://www.bit.es/ibm-as400/
Servidor orientada a Internet, Intranet, Extranet, Data Warehouse y
Workflow para todos los servidores soportados.
Nuevas plataformas de ejecución: JAVA, Microsoft .NET.
• Automático
Genexus hace en forma automática un conjunto de tareas que al
desarrollador le resulta difícil realizar manualmente y que suelen acarrear
errores.
• Coste menor
Para migrar de plataforma no es necesario reinvertir en desarrollo si se
trabaja con Genexus, ya que la misma base de conocimiento se puede
generar en forma automática para las nuevas tecnologías con los
generadores de esta herramienta.
Genexus disminuye los costos de mantenimiento del sistema, ya que se
encarga de dos cosas, por un lado, de generar los programas que
modifican la base de datos a la vez que conserva los datos y por otro
también regenera los programas de la aplicación. Esto es posible gracias
a su potente motor de inferencia.
Además, Genexus permite la reutilización del conocimiento ya que su
Knowledge Manager habilita la integración automática de las bases de
conocimiento desarrolladas por separado, luego de haber analizado el
impacto de la consolidación.
• Rápido
El diseño de las aplicaciones se realiza en computadoras donde se
puede probar el sistema en base a la generación de prototipos. Recién
cuando el sistema es aprobado por los usuarios, el programa se genera
en forma automática para la plataforma de producción real.
• Mantenimiento
El mantenimiento es 100% automático, ya que el conjunto de estos
elementos permite a Genexus generar y mantener automáticamente el
total de los programas en aplicaciones normales de tipo comercial,
administrativo, financiero o industrial.
3.1.5.1.2 Resumen y notas importantes:
a. Genexus es una herramienta de desarrollo de gran alcance del
software de la multi-plataforma y de la multi-lengua que permite el
desarrollo y la integración fáciles de los usos críticos de la misión.
b. Genexus apoya las plataformas principales de la ejecución (Java y
NET), los idiomas (del RPG y de COBOL a Java y a C #), y DBMS
(DB2, oráculo, servidor del SQL, etc.).
c. La descripción de cada objeto es totalmente independiente de la de los
demás por lo que, en el caso de que se deba modificar la descripción
de uno, ello no implicará la necesidad de modificar manualmente la
descripción de cualquier otro. Esta característica exclusiva de Genexus
es la que permite un mantenimiento totalmente automático de las
aplicaciones.
d. El manejo de la base de datos es más segura y escalable (se puede
pasar a un motor de base de datos en el servidor como SQL Server,
IBM DB2, Oracle u otro, sin cambios en la programación).
e. El período de desarrollo es mucho más corto y seguro, facilitando el
proceso de cambio.
f. Genexus da la opción de trabajar con plataformas múltiples e idiomas
con solamente una especificación, basado en sus requisitos del uso
(base de conocimiento), es posible decidir más adelante en qué
ambiente se lo generará. Genexus codificará en los idiomas y las
bases de datos actuales, o puede hacer este proceso en los idiomas o
las bases de datos futuras. También, como el desarrollo se termina
independientemente del modelo, de la base de datos y de los idiomas
de los datos, los cambios introducidos se propagan automáticamente
al final.
3.1.6 SOFTWARE LIBRE (Elaborado 8 Nov. 03)
3.1.6.1 PHP 4.0
3.1.6.1.1 Información general acerca de los benefic ios y características
PHP 4.0.
• Similar en sintaxis a C y a PERL
• Soporta en cierta medida la orientación a objeto. Clases y herencia.
• El análisis léxico para recoger las variables que se pasan en la
dirección lo hace PHP de forma automática. Librándose el usuario de
tener que separar las variables y sus valores.
• Se puede incrustar código PHP con etiquetas HTML.
• Excelente soporte de acceso a base de datos.
• La comprobación de que los parámetros son validos se hace en el
servidor y no en el cliente (como se hace con javascript) de forma que
se puede evitar que chequear que no se reciban solicitudes
adulteradas. Además PHP viene equipado con un conjunto de
funciones de seguridad que previenen la inserción de órdenes dentro
de una solicitud de datos.
• Se puede hacer de todo lo que se pueda transmitir por vía HTTP.
• PHP no soporta directamente punteros, como el C, de forma que no
existen los problemas de depuración provocados por estos.
• Se pueden hacer grandes cosas con pocas líneas de código. Lo que
hace que merezca la pena aprenderlo.
• El código PHP es mucho más legible que el de PERL , todo el que
haya programado PERL podrá corroborar esta afirmación.
• Viene acompañado por una excelente biblioteca de funciones que
permite realizar cualquier labor ( acceso a base de datos,
encriptación, envió de correo, gestión de un e-commerce, xml,
creación de PDF ... )
• Al poderse encapsular dentro de código html se puede recoger el
trabajo del diseñador gráfico e incrustar el código php posteriormente.
• Esta siendo utilizado con éxito en varios millones de sitios Web.
• Hay multitud de aplicaciones php para resolver problemas concretos
(weblogs, tiendas virtuales, periódicos,...) listas para usar.
• Es multiplataforma, funciona en todas las plataformas que soporten
apache.
• Es software libre. Se puede obtener en la Web y su código esta
disponible bajo la licencia GPL.
3.1.6.1.2 Resumen y notas importantes:
a. PHP son las siglas "Personal Home Page". Es un lenguaje de
programación pensado en el Web de forma que es ideal para la
creación de páginas dinámicas. PHP es la versión libre del sistema
equivalente de Microsoft ASP.
b. El código fuente del intérprete de PHP ha sido recientemente reescrito
utilizando como soporte el motor de desarrollado por Zend113 y
generando la última versión de PHP. Aunque se han añadido nuevas
funcionalidades, el beneficio mayor se ha conseguido en el aumento
113 http://www.zend.com/
de la velocidad de ejecución del intérprete. Entre las posibilidades
nuevas que incluye la nueva versión de PHP, por su importancia es
necesario destacar la implementación del concepto de sesión que
permite disponer de una serie de variables comunes a todo un
conjunto de las páginas que forman una aplicación Web, la invocación
y creación de nuevos métodos objetos Java, y la creación de clientes
FTP permitiendo utilizar las páginas Web generadas como interfaz
para el envío y descarga de ficheros.
c. PHP se escribe dentro del código HTML, lo que lo hace realmente fácil
de utilizar, al igual que ocurre con el popular ASP de Microsoft, pero
con algunas ventajas como su gratuidad, independencia de plataforma,
rapidez y seguridad.
d. Entre las características las más importantes tenemos, que está
disponible para los principales sistemas operativos, permite trabajar
con diferentes bases de datos, tiene soporte para diferentes
protocolos, se ejecuta en el servidor, forma parte de las páginas HTML
y es open source.
3.2 DETERMINACION DE PUNTOS CLAVE AL MOMENTO DE
ESCOGER UNA HERRAMIENTA DE DESARROLLO
Para determinar los puntos claves de que herramienta de desarrollo es
indispensable generar un análisis de requisitos, ya que con este nos pueden
generar alternativas para el escogimiento apropiado de las herramientas que
requiere el usuario ó empresa ya que estos siempre buscan la finalidad de
crear o aumentar la utilidad de los bienes para satisfacer las necesidades
humanas.
El análisis de sistemas es la primera fase de la metodología de
desarrollo de aplicaciones, cuyo objetivo es la obtención con la ayuda del
cliente, de todas las especificaciones posibles respecto a las necesidades de
información y a la arquitectura lógica del sistema a desarrollar.
Hay que recopilar toda la información referente a la funcionalidad,
restricciones, interfaces, costes, recursos, empleados, riesgos, tiempos para
las diferentes tareas a desarrollar, etc, es decir se trata de desarrollar el
entorno físico y el tecnológico.
Para desarrollar el análisis de requisitos debemos tomar en cuenta
algunas actividades que nos darán información necesaria para generar
ciertos planteamientos que nos llevaran a la elaboración de una guía, la cual
el cliente pueda saber que herramientas serán necesarias para su
implementación y mejor eficiencia al hacer el uso de estas. Estas actividades
son:
a. Ambito y alcance del proyecto
En esta actividad se describirán los objetivos, el ámbito y las restricciones
del sistema.
b. Identificar y definir requisitos
Nos puede permitir realizar una descripción del sistema actual, identificar
los problemas existentes y, por último, comenzar a elaborar los requisitos
que el nuevo sistema debe satisfacer.
c. Diseñar el modelo lógico actual
Se representa gráficamente el modelo lógico actual tanto para los datos
como para los procesos, dibujando los subsistemas que lo componen, los
flujos de información, las entidades y las relaciones entre ellas. De esta
manera se pretende conocer el sistema actual desde el punto de vista del
funcionamiento, eliminando las referencias al entorno físico para
identificar nuevos requisitos del sistema.
d. Estudiar alternativas de construcción
En esta actividad se establecen las diferentes alternativas de
construcción del nuevo sistema teniendo en cuenta los requisitos
identificados anteriormente. Una vez establecidas, se comparan entre sí
y se selecciona la más adecuada.
3.2.1 DOCUMENTACION DEL ANALISIS DE REQUISITOS.
Al conjunto de documentación asociada al módulo de análisis de
requisitos del sistema se le denomina documento de especificaciones de
diseño. De acuerdo con las especificaciones de Métrica114, este documento
está formado por los siguientes elementos:
1. Índice.
2. Descripción del ámbito y alcance del proyecto.
3. Lista de usuarios participantes.
4. Descripción del sistema actual.
4.1 Modelo físico.
4.2 Lista de problemas y necesidades.
4.3 Diagrama de flujo de datos.
5. Catalogo de requisitos del sistema, definiendo las prioridades
de cada uno de ellos.
5.1 Funcionales (tareas que ha de soportar el sistema).
5.2 No funcionales:
5.2.1 Restricciones.
5.2.2 De funcionamiento.
5.2.2.1 Del sistema (lenguajes,
equipos, etc.).
5.2.2.2 Requisitos software.
5.2.2.3 Requisitos hardware.
114 Integración de sistemas, pag 44-50 de Gregorio Cabrera, Guillermo Montoya. Análisis y diseño
detallado de aplicaciones informáticas de gestión: Revisión técnica. Primera edición. McGraw-Hill,
1999.
5.2.3 Manejo de excepciones.
6. Análisis de alternativas.
6.1 Descripción de la alternativa 1.
6.2 Descripción de la alternativa 2.
6.3 .......
6.4 Descripción detallada de la alternativa seleccionada.
6.4.1 Modelo lógico de procesos
6.4.2 Análisis coste-beneficio.
6.4.3 Determinación significativa con las demás
alternativas.
Parte de este subcapítulo que será de utilidad fue tomado de: Gregorio
Cabrera, Guillermo Montoya. Análisis y diseño detallado de aplicaciones
informáticas de gestión: Revisión técnica. Primera edición. McGraw-Hill,
1999.
3.3 LICENCIAMIENTOS
El software se basa por licencias de utilización, es decir, el usuario que
compra un programa no se convierte en propietario de él, tan sólo adquiere
el derecho de uso, incluso así haya pagado por el. Las condiciones bajo las
cuales se permite el uso del software son las licencias que son contratos
suscritos entre los productores de software y los usuarios. En general, las
licencias corresponden a derechos que se conceden a los usuarios,
principalmente en el caso del software libre, y a restricciones de uso en el
caso del software propietario.
Un caso especial, en lo que concierne a la propiedad sobre el software,
lo constituyen los programas denominados de dominio público, porque sus
creadores renuncian a los derechos de autor.
3.3.1 TIPOS DE SOFTWARE DE ACUERDO A SU LICENCIA.
Cada programa viene acompañado de una licencia de uso particular, existen
diversos aspectos en común entre las licencias que hacen posible su
clasificación. De acuerdo a ello, es común encontrar términos tales como
software shareware, freeware, de dominio público, o de demostración. A
estos nombres hay que agregar software libre y software propietario,
términos un tanto desconocidos pero que se usan en medios informáticos.
Incluso, es posible hablar de software semi-libre.
3.3.1.1 Software Libre
``Software Libre'' se refiere a la libertad de los usuarios para ejecutar,
copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más
preciso, se refiere a cuatro libertades de los usuarios del software:
• La libertad de usar el programa, con cualquier propósito (libertad 0).
• La libertad de estudiar cómo funciona el programa, y adaptarlo a tus
necesidades (libertad 1). El acceso al código fuente es una condición
previa para esto.
• La libertad de distribuir copias, con lo que puedes ayudar a tu vecino
(libertad 2).
• La libertad de mejorar el programa y hacer públicas las mejoras a los
demás, de modo que toda la comunidad se beneficie. (libertad 3). El
acceso al código fuente es un requisito previo para esto.
Un programa es software libre si los usuarios tienen todas las libertades
antes descritas. Así pues, deberías tener la libertad de distribuir copias, sea
con o sin modificaciones, sea gratis o cobrando una cantidad por la
distribución, a cualquiera y a cualquier lugar. El ser libre de hacer esto
significa que no tienes que pedir o pagar permisos.
La libertad para usar un programa significa la libertad para cualquier
persona u organización de usarlo en cualquier tipo de sistema informático,
para cualquier clase de trabajo, y sin tener obligación de comunicárselo al
desarrollador o a alguna otra entidad específica.
Para que las libertades de hacer modificaciones y de publicar
versiones mejoradas tengan sentido, se debe tener acceso al código fuente
del programa. Por lo tanto, la posibilidad de acceder al código fuente es una
condición necesaria para el software libre.
Para que estas libertades sean reales, deben ser irrevocables
mientras no hagas nada incorrecto; si el desarrollador del software tiene el
poder de revocar la licencia aunque no le hayas dado motivos, el software no
es libre.
“Software libre'' no significa “no comercial''. Un programa libre debe
estar disponible para uso comercial, desarrollo comercial y distribución
comercial. El desarrollo comercial del software libre ha dejado de ser inusual;
el software comercial libre es muy importante.
Con lo anteriormente dicho sobre el software libre, realizaremos una breve
introducción de alguna de las más importantes Licencias Libres.
• GPL
Licencia Pública General GNU
• LGPL
Licencia Pública General para Bibliotecas, permite el uso de software
libre (bibliotecas) en software propietario.
• FDL
Licencia Libre de Documentos
• BSD
http://www.gnu.org/philosofy/bsd.es.html
http://www.opensource.org/licenses/bsd-license.php
• Open Source
http://www.opensource.org/docs/definition,php
http://www.opensource.org/licenses
• Licencia Artística: PERL
http://www.gnu.org/philosophy/license-list.es.html
http://www.opensource.org/licenses
• Otras (MIT, X, Apache, Mozilla, etc)
http://www.gnu.org/philosophy/license-list.es.html
http://www.opensource.org/licenses/
Si se desea mayor información sobre el tema diríjase a la pagina Web115, de
donde ha sido extraído parte de este subcapítulo.
3.3.1.2 Software de Fuente Abierta
El término software de ``fuente abierta'' es usado por algunas
personas para dar a entender más o menos lo mismo que software libre.
Una de las razones por las cuales es mejor permanecer con el término de
"software libre", es la ambigüedad, ya que para las personas de habla
inglesa, un significado indeseado: "software que se puede obtener por un
precio cero" y por otro lado un significado deseado: software que da al
usuario ciertas libertades. Nosotros hemos direccionado este problema
publicando una definición más precisa de software libre116, pero ésta no es
una solución perfecta porque no elimina completamente el problema.
3.3.1.3 Software de dominio público
El software de dominio público es software que no está protegido con
copyright. Es un caso especial de software libre no protegido con copyleft117,
que significa que algunas copias o versiones modificadas no pueden ser
libres completamente.
115 http://www.gnu.org/philosophy/free-sw.es.html
116 http://www.gnu.org
117 http://www.gnu.org/philosophy/categories.es.html#Non-CopyleftedFreeSoftware
Algunas veces la gente utiliza el término “dominio público'' de una
manera imprecisa para decir “libre” o “disponible gratis”. Sin embargo,
“dominio público” es un término legal y significa de manera precisa ``sin
copyright''.
3.3.1.4 Software protegido con copyleft
El software protegido con copyleft es software libre cuyos términos de
distribución no permiten a los redistribuidores agregar ninguna restricción
adicional cuando éstos redistribuyen o modifican el software. Esto significa
que cada copia del software, aun si ha sido modificado, debe ser software
libre.
En el Proyecto GNU, está protegido mediante copyleft casi todo el software
que escribimos, porque el objetivo es dar a cada usuario las libertades que el
término ``software libre'' implica. Ver protegido con copyleft118 para una
mayor explicación sobre cómo funciona el copyleft y por qué lo usamos.
Copyleft es un concepto general; para proteger actualmente un programa
con copyleft, necesita usar un conjunto específico de términos de
distribución. Hay muchas maneras posibles de escribir términos copyleft de
distribución.
3.3.1.5 Software no protegido con copyleft
118 http://www.gnu.org/copyleft/copyleft.es.html
El software libre no protegido con copyleft viene desde el autor con
autorización para redistribuir y modificar así como para añadirle restricciones
adicionales.
Si un programa es libre pero no protegido con copyleft, entonces
algunas copias o versiones modificadas pueden no ser libres
completamente. Una compañía de software puede compilar el programa, con
o sin modificaciones, y distribuir el archivo ejecutable como un producto
propietario119 de software.
3.3.1.6 Software abarcado por GPL
La GPL (General Public License/Licencia Pública General120) de GNU es un
conjunto específico de términos de distribución para proteger con copyleft a
un programa. El Proyecto GNU la utiliza como los términos de distribución
para la mayoría del software GNU.
3.3.1.7 El sistema GNU
El sistema GNU121 es un sistema operativo libre completo estilo Unix.
Un sistema operativo libre estilo Unix consiste en muchos programas. Se ha
estado acumulando componentes para este sistema desde 1984; la primera
liberación de prueba de un “sistema GNU completo'' fue en 1996. Se espera
119 http://www.gnu.org/philosophy/categories.es.html#ProprietarySoftware
120 http://www.gnu.org/copyleft/gpl.es.html
121 http://www.gnu.org/gnu/gnu-history.es.html
que dentro de un año más o menos este sistema esté lo suficientemente
maduro para recomendarlo para usuarios ordinarios.
El sistema GNU incluye todo el software GNU, así como muchos otros
paquetes tales como el Sistema X Window122 y TeX que no son software
GNU.
Debido a que el propósito de GNU es ser libre, cada componente individual
en el sistema GNU tiene que ser software libre. No todos tienen que estar
protegidos con copyleft, sin embargo; cualquier tipo de software libre es
legalmente apto de incluirse si ayuda a alcanzar metas técnicas. Podemos
hacer uso de software libre no protegido con copyleft como el Sistema X
Window.
3.3.1.8 Software GNU
Software GNU123 es software que es liberado bajo el auspicio del
Proyecto GNU. La mayoría del software GNU está protegido con copyleft,
pero no todos; sin embargo, todo el software GNU debe ser software libre.
Algo de software GNU es escrito por el personal de la Fundación para el
Software Libre (Free Software Foundation)124, pero la mayoría del software
GNU es aportada por voluntarios. Parte del software aportado está protegido
122 http://www.x.org/
123 http://www.gnu.org/software/software.es.html
124 http://www.gnu.org/fsf/fsf.es.html
con copyright por la Fundación para el Software Libre; otra parte está
protegida con copyright por los aportadores que los escribieron.
3.3.1.9 Software semilibre
El software semilibre es software que no es libre, pero viene con autorización
para particulares de usar, copiar, distribuir y modificar (incluyendo la distribución de
versiones modificadas) sin fines de lucro.
El software semilibre es mucho mejor que el software propietario, pero aún
plantea problemas y no podemos usarlo en un sistema operativo libre.
Las restricciones del copyleft están diseñadas para proteger las libertades
esenciales de todos los usuarios. Los programas semilibres tienen
restricciones adicionales, motivados por fines puramente egoístas.
3.3.1.10 Software propietario
El software propietario es software que no es libre ni semilibre. Su uso,
redistribución o modificación está prohibida, o requiere que usted solicite
autorización o está tan restringida que no pueda hacerla libre de un modo efectivo.
El software propietario es el producido principalmente por las grandes
empresas, tales como Microsoft y muchas otras. Antes de poder utilizar este tipo de
software se debe pagar por el. Cuando se adquiere una licencia de uso de software
propietario, normalmente se tiene derecho a utilizarlo en un solo computador y a
realizar una copia de respaldo. En este caso la redistribución o copia para otros
propósitos no es permitida.
3.3.1.11 Freeware
El término ``freeware'' no tiene una definición clara aceptada, pero es
usada comúnmente para paquetes que permiten la redistribución pero no la
modificación (y su código fuente no está disponible). Estos paquetes no son
software libre, por lo tanto por favor no use ``freeware'' para referirse al
software libre.
3.3.1.12 Shareware
El software shareware es un tipo particular de software propietario, sin
embargo por la diferencia en su forma de distribución y por los efectos que
su uso ocasiona, puede considerarse como una clase aparte.
El shareware es software que viene con autorización para la gente de
redistribuir copias, pero dice que quien continúe haciendo uso de una copia
deberá pagar un cargo por licencia.
El shareware no es software libre, ni siquiera semilibre. Existen dos razones
por las que no lo es:
• Para la mayoría del shareware, el código fuente no está disponible; de
esta manera, no se puede modificar el programa en absoluto.
• El shareware no viene con autorización para hacer una copia e
instalarlo sin pagar una cantidad por licencia, ni aún para particulares
involucrados en actividades sin ánimo de lucro. (En la práctica, la
gente a menudo hace caso omiso a los términos de distribución y lo
hace de todas formas, pero los términos no lo permiten.)
3.3.1.13 Software de Demostración
No hay que confundir el software shareware con el software de
demostración, que son programas que de entrada no son 100% funcionales
o dejan de trabajar al cabo de cierto tiempo. El software de demostración o
como se acostumbra a decir "software demo", es similar al software
shareware por la forma en que se distribuye pero en esencia es sólo
software propietario limitado que se distribuye con fines netamente
comerciales.
3.3.1.14 Software Comercial
El software comercial es software que está siendo desarrollado por
una entidad que tiene la intención de hacer dinero del uso del software.
”Comercial'' y “propietario'', no son la misma cosa. La mayoría del software
comercial es propietario, pero hay software libre comercial y hay software no
libre no comercial.
Parte de este capitulo 3.3 fue extraído del Proyecto GNU125.
3.3.1.15 Resumen
Podemos agrupar los tipos de software de acuerdo a su licencia de
varias formas y según sus características ( ver ANEXO 2).
La mayoría de las herramientas de desarrollo poseen licencias de
software propietario. Es importante decir que de acuerdo con los
125 http://www.gnu.org
licenciamientos del producto de software se puede tener derecho a utilizarlo
dependiendo de las normas en que estos se rigen ya que la mala
redistribución o copia para otros propósitos no determinados no es permitida,
que pueden conllevar a sanciones legales y económicas para el usuario. Por
lo cual al momento de escoger y comprar que herramienta de desarrollo es
conveniente para el usuario ó empresa es indispensable conocer cuanto hay
que pagar por el uso de esta y las restricciones legales a la que están
sometidas. Desgraciadamente en el mercado es difícil encontrar
herramientas de desarrollo con licenciamientos gratuitos, por lo que hace
que la piratería sea un camino para abaratar costos en economías de países
subdesarrollados.
3.4 COSTOS
Los precios de venta de las herramientas de desarrollo en el mercado son
los siguientes:
Microsoft
Producto Completo Actualización
Visual Studio .NET 2003 Professional $1,079 US $549 US
Visual Studio .NET 2003 Enterprise Developer $1,799 US $1,079 US
Visual Studio .NET 2003 Enterprise Architect $2,499 US $1,799 US
Visual Basic .NET Standard Edition $109 US
Visual C++ .NET Standard Edition $109 US
Visual C# .NET Standard Edition $109 US
Visual J# .NET 2003 Standard $109 US
Elaborado por: Patricio Lucero Fuente: http://msdn.microsoft.com/vstudio/howtobuy /pricing.aspx Fecha: 05/03/04
Borland
Producto Completo Actualización
Borland® Kylix™ 3 Enterprise $1,999.00 $999.00
Borland® Kylix™ 3 Professional $249.00 $129.00
JBuilder 9 Enterprise $3,500.00 $2,099.00
JBuilder 9 Developer $999.00 $699.00
C++Builder™ 6 Enterprise $2,999.00 $1,500.00
C++Builder™ 6 Professional $999.00 $399.00
Delphi™ 7 Studio Architect $3,499.00 $2,399.00
Delphi™ 7 Studio Enterprise $2,999.00 $1,899.00
Elaborado por: Patricio Lucero Fuente: http://shop.borland.com Fecha: 05/03/04
Sybase
Producto Completo Actualización
PowerBuilder 9.0 Desktop $295.00 $145.00
PowerBuilder 9.0 Enterprise $2,995.00 $1,495.00
PowerBuilder 9.0 Professional $1,295.00 $645.00
PowerDesigner Studio Enterprise $7,495.00 $4,595.00
PowerDesigner Studio Personal $5,995.00 $3,595.00
Elaborado por: Patricio Lucero Fuente: http://eshop.sybase.com/eshop/ Fecha: 05/03/04
3.5 SOPORTE
Cuando compramos una herramienta de desarrollo , los fabricantes
nos dan un soporte técnico para estas, ya sea por un determinado tiempo
gratuito o pagado dependiendo ya de las normas que se rigen en la empresa
fabricante, el soporte en sí es necesario para el usuario, ya que pueden
existir dificultades y preguntas en el producto ó en el manejo del software
que uno no puede comprender o solucionar, para ello los fabricantes de
software tienen abiertos diversos medios para que el usuario pueda
contactarse con su expendedor de productos mediante diversos ambientes,
tratando de alcanzar las necesidades de sus clientes en cualquier parte.
La asistencia técnica que nos proveen los dueños del producto a ser
utilizado, son aclarados antes que nosotros compremos el producto, ellos
emiten leyes y formas de asistencia en la cual los usuarios tenemos que
acogernos a sus planteamientos.
Prácticamente el objetivo primordial de dar servicio de soporte técnico
a los usuarios es ayudar a asegurar que los clientes reciban el máximo valor
de sus inversiones en tecnología. Las empresas fabricantes de software
proporcionan una variedad de ofertas para soporte de usuarios domésticos y
empresariales.
Desgraciadamente el déficit de soporte técnico obstaculiza el desarrollo
de software libre, ya que en muchas de estas no hay personal calificado para
ayudar al usuario ó empresas, el software libre permite diversos modelos de
soporte, cada uno mejor se adaptada a un tipo de software. Entre los
modelos de soporte de software libre tenemos:
• Soporte por parte de los propios usuarios
Es posiblemente la única forma viable de soporte en muchos casos. Por
ejemplo, cuando el software es relativamente sencillo. O cuando el
software está destinado a usuarios muy entendidos y acostumbrados a
sacarle el máximo provecho, incluso modificándolo si es preciso (como
suele ser el caso de los administradores de sistemas informáticos).
• Soporte por los propios desarrolladores
Es el modelo habitual en muchos proyectos de software libre de cierta
entidad, y en general, el más clásico en el mundo del software
propietario. Este soporte puede realizarse cobrando por él, o de forma
gratuita, con la idea de mejorar el propio software.
• Soporte por una empresa
Es el modelo tradicional de soporte para grandes proyectos. Se contrata
a una empresa para el mantenimiento de todo el software que interviene
en el proyecto, y que puede ser quien lo diseñó y construyó o no. En el
caso del software propietario, esto supone que el cliente haya comprado
también el código fuente, o que el mantenimiento lo haga quien lo
construyó, ya que el mantenimiento es absolutamente imposible sin él.
En el caso del software libre, este modelo es especialmente sencillo.
Como el código fuente está disponible siempre, cualquier empresa puede
especializarse en el mantenimiento de unos cuantos programas, y llegar
a conocerlos tan bien como sus autores originales. Al mismo tiempo esto
introduce la posibilidad de competencia. De hecho, el permitir que varias
empresas puedan competir por el mantenimiento en igualdad de
condiciones hace posible que la competencia actual no se limita a la
construcción de software, sino que se amplíe al mantenimiento.
• Pruebas y corrección de erratas
Los mecanismos de detección y corrección de erratas merecen un
análisis detallado. Cuando un usuario detecta un problema en un
programa propietario, intenta evitar el patrón de comportamiento que
produce la errata, si lo encuentra ó de informar a los fabricantes del
software sobre la errata, en la esperanza de que lo arregle en una futura
entrega.
Hablando del software libre, primeramente, los usuarios están en general
más predispuestos al informar sobre las erratas, e incluso a corregirlas
ellos mismos y enviar un parche a quien mantiene el software. En
muchos casos, incluso se organizan grupos de usuarios que mantienen
archivos de informes de erratas y parches que las solucionen. Además
del sentimiento de contribuir a un proyecto común, en la mayoría de los
casos tienen la seguridad de que si su errata se corrige, la solución se
incluirá en la próxima entrega del programa, que podrán obtener a bajo
coste.
Los tipos de soporte al usuario en empresas de fabricantes de productos
como Oracle, Microsoft entre otras, que prácticamente ocupan el tipo de
licencia para el software propietario, poseen similitudes en brindar
soporte al usuario, entre los principales tipos de soporte tenemos:
• Soporte personalizado ( en el lugar del cliente ).
• Soporte telefónico.
• Soporte remoto vía módem.
• Soporte remoto vía Internet.
• Soporte de audioconferencia vía Internet.
• Soporte de videoconferencia vía Internet.
3.6 REQUERIMIENTOS DEL SISTEMA
Las herramientas de desarrollo necesitan ciertos requerimientos necesarios
parta su perfecto funcionamiento en el computador, para ello describiremos
sus necesidades para un perfecto manejo y optimización de este en el
sistema.
Siguiendo con la misma estructura de los anteriores capítulos, describiremos
a continuación los requerimientos de las herramientas de acuerdo a su
fabricante. Ver ANEXO 3.
CAPITULO 4
4.1 GENERACION DE LA GUIA
Del trabajo realizado se desprende que el escoger una herramienta de
desarrollo depende del tipo de sistema a desarrollarse, tamaño de la
empresa, objetivos de la empresa (proyección vía web, intranet, cliente-
servidor, etc), aspectos económicos, conocimientos de la herramienta.
Se ha decidido establecer una guía que presente las alternativas de
sistemas a desarrollarse con el afán de que el lector identifique cual es el
tipo de sistema o cuales son las características coincidentes con la empresa
que maneja y darle una orientación para el escogitamiento adecuado de una
herramienta de desarrollo; en otras palabras la guía trata de presentar los
puntos que debe tomar en cuenta para comparar herramientas y decidir cuál
es la mejor para una realidad determinada.
4.1.1. TIPOS DE EMPRESA:
Según un estudio realizado por la Facultad de Administración de Empresas
del Instituto tecnológico de Acapulco, México, se determinan el tipo de
empresa de acuerdo a su magnitud, en el que se han considerado
importantes criterios para su clasificación, en el que, de acuerdo con el
tamaño de la empresa establece que puede ser pequeña, mediana o grande.
Analizaremos los criterios más relevantes para que usted sepa en donde
catalogar a su empresa:
� Financiero .- El tamaño de la empresa se puede determinar con base
al monto de su capital; las cantidades no se mencionarán porque
cambian continuamente de acuerdo con la situación económica del
país.
� Personal ocupado .- Este criterio establece que una empresa
pequeña es aquella en el que laboran menos de 250 empleados; una
mediana es la que tiene de 250 a 1000 empleados; una grande es
aquella que se compone de más de 1000 empleados.
� Producción .- En consecuencia al grado de maquinización que existe
en el proceso de producción; así, una empresa pequeña es aquella en
la que el trabajo del hombre es decisivo, o sea que su producción es
artesanal aunque puede estar mecanizada.
� Ventas .- Establece el tamaño de la empresa con la relación al monto
de sus ventas y el mercado que la empresa abastece. Según este
criterio, una empresa es pequeña cuando sus ventas son locales,
mediana cuando sus ventas son nacionales y grande cuando sus
ventas son internacionales.
� Importancia Empresarial .- Una empresa grande es la más
importante dentro del grupo correspondiente a su mismo giro. La
empresa chica, es la de menor importancia dentro de su ramo y la
mediana es la interpolación de la chica y la grande.
4.1.2 TIPOS DE SISTEMAS
Luego de haber clasificado a su empresa en grande, mediana o
pequeña, tomaremos en cuenta el siguiente paso en el cual se
especificará el tipo de sistema a ser utilizado por su empresa.
a) Cliente/Servidor
b) Intranet
c) Internet
d) Extranet
e) n-tier
f) E-business
g) Web informativa
h) Portal Genérico
i) Portal especializado
j) E-commerce
k) Software Administrativo
a. Administración y Finanzas (Activos Fijos, Administración de
Predios y Bienes Inmuebles, Administración de Recursos
Físicos / Infraestructura, Compras / Proveedores / Inventarios,
Contabilidad / Finanzas / Presupuesto Contabilidad a Través
de Internet, Contratos / Licitaciones (Sector Privado), Control
de Gastos de Viaje, Facturación / Cartera / Cobranzas,
Sistemas ERP / Gestión de la Cadena de Abastecimiento,
Tesorería / Cajas y Bancos / Conciliación Bancaria.
b. Gestión Gerencial (Administración de Asambleas y Accionistas,
Administración de Proyectos, Auditoria / Administración del
Riesgo, Business Intelligence / Inteligencia de Negocios, Data
Mining / Minería de Datos, Generadores de Informes / Consulta
de Datos, Indicadores de Gestión Gerencial / Planeación
Estratégica, Sistemas de Soporte de Decisiones, Workflow /
Flujo de Trabajo / Gestión de Proyectos.
c. Gestión Comercial / Mercadeo / Servicio al Cliente
(Administradores de Contactos, CRM (Customer Relation
Management) Aplicaciones Integradas, Fidelización de
Clientes, Servicio al Cliente, Sistemas Integrados de Gestión
Comercial, Ventas / Pedidos / Requisiciones.
l) Sectores/Específicos
a. Sector Educativo / Capacitación (Administración de Centros
Educativos / Universidades, Capacitación Vía Internet e
Intranets, Registro y Control Académico / Logística Académica,
Registro y Control de Servicios a Estudiantes.
b. Sector Comercio y Servicios (Administración de Clubes
Sociales / Deportivos, Administración de Parqueaderos,
Administración Inmobiliaria / Condominios, Concesionarios /
Talleres / Autopartes, Corredores de Seguros, Hoteles / Bares
y Restaurantes, Puntos de Venta / Droguerías,
Supermercados.
c. Sector Industrial (Automatización Industrial, Control de Calidad
/ Control de Procesos / ISO 9000, Control de Inventarios de
Productos Industriales, Mantenimiento: Máquinas / Equipos /
Vehículos / Instalaciones.
d. Sector Salud / Seguridad Social (Administración de IPS -
Clínicas, Hospitales, Sistema de Información para Direcciones,
Secretarías Locales y Departamentales de Salud.
e. Sector Financiero (Administración de Tarjetas de Crédito,
Administración Fiduciaria, Administradoras de Fondos de
Pensiones y Cesantías (AFP), Bancos / Corporaciones /
Entidades Financieras, Fondos de Valores y/o Portafolios de
Inversión, Riesgos Financieros.
4.1.3 ALTERNATIVAS
La mayoría de sistemas construidos por programadores de
aplicaciones, concurren a la utilización de las siguientes herramientas
de desarrollo a señalar:
Herramientas que pueden ser utilizadas para el desarrollo de sistemas
sobre Web.
Lenguaje:
• PHP
• Java
• .NET
• Perl
• Power Builder
Base de datos:
• Oracle
• SQL Server
• MySQL
• Postgres
• Informix
• Sybase
Servidores Web:
• Apache
• Internet Information Server
Notas Importantes:
� Se hace figurar a las bases de datos y servidores Web no como
herramientas de desarrollo puras si no como complementos que
interinen en cierto porcentaje en el desarrollo del sistema. Así se
ratifica el concepto de herramienta de desarrollo presentado en el
Capitulo 1.
� Los lenguajes anteriormente señalados pueden acceder a todas las
bases de datos.
� En servidores Web, vale hacer la aclaración de que .NET solo con
servidor Internet Information Server y Java no puede acceder a
Internet Information Server. PHP es conveniente con servidores
Apache.
� Por prioridad de rendimiento, podemos utilizar las siguientes
herramientas de desarrollo con la conexión y acceso a servidores
Web y aplicaciones.
Tabla 2
Lenguaje Base de
Datos
Servidor
Web
Servidor d e
aplicaciones
1 PHP MySQL Apache
2 .NET SQL Server IIS
3 Java * Apache Tomcat
4 PowerBuilder Sybase **
5 Java Oracle Apache
* Con cualquier base de datos
** Con cualquier Servidor Web
Elaborado por: Patricio Javier Lucero Vasquez 30-01-04
� Si desea construir sistemas que no tengan salida a la Web, no se
utiliza servidores Web, ni servidores de aplicaciones.
Otras alternativas de herramientas de desarrollo que podemos señalar, que
por características propias las hacen de gran importancia y utilidad.
Para desarrollo de sistemas sobre Web, tenemos:
1) Primera opción
a. Lenguaje PHP
b. Servidor Apache
c. Base de Datos MySql
* para información del Lenguaje PHP diríjase a la sección 2.2.8.1 y
3.1.8.1
2) Segunda opción
a. PHP
b. Apache
c. SQL Server
* para información del Lenguaje PHP diríjase a la sección 2.2.8.1 y
3.1.8.1
3) Tercera opción
a. PHP
b. Apache
c. Oracle
* para información del Lenguaje PHP diríjase a la sección 2.2.8.1 y
3.1.8.1
** para información de la herramienta Oracle diríjase a la sección 2.2 y
3.1.2
*PHP corre en cualquier base de datos y de preferencia servidores
Apache
4) Cuarta opción
a. ASP
b. Internet Information Server
c. SQL Server
5) Quinta opción
a. ASP
b. Access
c. Por ODBC
6) Sexta opción
a. ASP
b. Oracle
c. Por ODBC
** para información de la herramienta Oracle diríjase a la sección 2.2 y
3.1.2
7) Séptima opción
a. ASP
b. FoxPro
c. Por ODBC
**para información de la herramienta FoxPro diríjase a la sección
2.2.1.2 y 3.1.1.6
8) Octava opción
a. ASP.NET
b. Internet Information Server
c. SQL Server
9) Novena opción
a. Phyton
b. Apache
c. PostGreSQL
10) Décima opción
a. Perl
b. Apache
c. PostGreSQL
11) Décima Primera opción
a. Perl (para Windows)
b. Apache
c. MySql
Difícil instalación
12) Décima Segunda opción
a. ColdFusion
b. Access, PostgreSQL, MySql, Oracle
Cualquiera de las opciones anteriormente señaladas
independientemente si su uso es para una Intranet, Extranet ó salida
al Internet, pueden utilizar cualquiera de estas opciones, ya que su
tecnología a utilizar es similar.
Observaciones:
� Para una extranet, es necesario tener un alto nivel de seguridad por lo
que aconsejamos la opción octava.
� Si es una Web dirigida a e-business ó e-comerce podemos utilizar las
opciones segunda, tercera, difiere mucho de su costo, licencias y
seguridad, aunque el punto clave es su seguridad, por las
transacciones que en ellas se realizan.
� En la tipología de portales ya sea genérico ó especializado, es
preferible la utilización de la opción décima segunda, como también la
octava, ya que pueden ser portales con foros, intranets, agendas on
line, hasta completas aplicaciones para la gestión de empresas, con
toda la complejidad y seguridad que estas requieren, a mas de que
estas herramientas pueden acceder a una gama de herramientas de
diseño como por ejemplo Macromedia Dreamweaver, Flash,
Fireworks MX 2004, entre otras.
� Si se desea construir una Web informativa, podemos lanzarnos a
escoger las opciones primera, novena, décima, décima primera, por
que su estructura no requiere de mucha seguridad y conlleva a la
utilización de herramientas de bajo costo y no utilizar licenciamientos.
Cabe acotar que las opciones novena, décima, décima primera
utilizan lenguajes fáciles de aprender, pero que no son muy comunes.
Herramientas para la elaboración de sistemas no en Web:
1) Primera opción
a. JBuilder
b. Oracle, Sybase, DB2, Interbase, Informix y Microsoft SQL
Server
** para información de la herramienta JBuilder diríjase a la sección
2.2.3.2 y 3.1.3.2
2) Segunda opción
a. C++ Builder
b. Oracle, Sybase, DB2, Interbase, Informix y Microsoft SQL
Server
** para información de la herramienta C++ Builder diríjase a la sección
2.2.3.3 y 3.1.3.3
3) Tercera opción
a. Visual Basic.NET
b. SQL Server
** para información de la herramienta Visual Basic.NET diríjase a la
sección 2.2 .1.1.2 y 3.1.1.2
4) Cuarta opción
a. Delphi
b. Interbase
** para información de la herramienta Delphi diríjase a la sección
2.2.3.5 y 3.1.3.4
5) Quinta opción.
a. Visual FoxPro
b. SQL
**para información de la herramienta FoxPro diríjase a la sección
2.2.1.2 y 3.1.1.6
6) Sexta opción.
a. PowerBuilder
b. Postgres, Oracle, SQL Server, Sybase
**para información de la herramienta PowerBuilder diríjase a la
sección 2.2.4.1 y 3.1.4.1
7) Séptima opción.
a. Oracle Developer 2.1/6.0
b. Oracle 8i ó superior
8) Octava opción.
a. Oracle Developer 2000
9) Novena opción.
a. Visual Basic
b. Access
10) Décima opción
a. Oracle Developer
b. Oracle 8i.x, 9i.x
11) Décima Primera opción
a. Delphi
b. Interbase/Firebird, MS-SQL, Oracle
*para información de la herramienta Delphi diríjase a la sección
2.2.3.5 y 3.1.3.4
12) Décima Segunda opción.
a. Visual C. NET; Visual J#
b. SQL Server, Visual FoxPro
Observaciones:
� Las herramientas que podemos utilizar para el desarrollo de software
administrativo en Administración y Finanzas, especificamente en
Activos Fijos, son: Opción tercera, cuarta, quinta y sexta, ya que nos
permiten elaborar sistemas de seguridad, manejos de datos de
inventarios, contabilización, ajustes, manejo de proveedores, reportes
de existencias, kardex, estadísticas entre otros. El modo de operación
depende ya de las políticas de la empresa, las opciones dadas para
este tipo de software pueden ser utilizadas para monousuarios,
multiusuarios, cliente/servidor. Se pueden adquirir licenciamientos por
equipos, Empresa, Corporativa, Entidades Educativas.
� En el ámbito de Compras / Proveedores / Inventarios, damos
opciones de herramientas que ejecutan procesos contables
rápidamente en la opción sexta, si se desea una salida Web, Lan,
Wan con modo de operación clente/servidor se recomienda la opción
séptima.
� Para Contabilidad / Finanzas / Presupuesto, la opción octava es apta
para este tipo de software, permite un poderoso uso operacional
cliente/servidor (gráfica), para un soporte y desarrollo ámplio la opción
décimo primera. Si se desea una herramienta de bajo costo que tenga
acceso a tablas de Excel, puede escoger la opción novena para una
empresa pequeña para operar en redes Windows.
� La Contabilidad a través de Internet, es un modo de acceder a datos
de una manera más privada, para ello la opción primera nos permite
construir un sistema como estos, tomando en cuenta que la
presentación Web ya depende exclusivamente de la empresa a dar
estos servicios, su modo de operación puede ser Cliente / Servidor e
Internet / Intranet.
� Los Sistemas Administrativos Integrados, son utilizados por
compañias multinacionales ó empresas grandes, para ello necesitan
una herramienta robusta con en la opción segunda, séptima ó décima
segunda.
4.1.4 CONSIDERACIONES
Para comprar una herramienta debe tomar en cuenta:
� Costos
� Seguridad
� Licenciamientos
� Requerimientos de Hardware y Software
� Soporte
� Conocimiento de la herramienta
� Impacto actual
� Proyección a futuro
CAPITULO 5
5.1 Análisis Comparativo entre Herramientas Microso ft y Oracle en un
caso práctico.
El análisis comparativo que se realizará entre estas heramientas utilizará los
procedimientos destacados en la generación de la guía práctica descrita en
el capitulo 4, y el caso práctico real será tomado de la tesis - Analisis, Diseño
e Implementacióndel Sistema Administrativo para el Dispensario Médico del
Club de Leones " Quito - Los Olivos" - realizada en la Pontificia Universidad
Católica del Ecuador por Carmen Caicedo, Magdalena Maigua, Zaidy
Maldonado, que fue presentada como trabajo previo a la obtención del título
de Ingeniero en Sistemas.
El objetivo de este caso práctico es dar a conocer nuevas opciones de
herramientas de desarrollo que pueden ser seleccionadas en este tipo de
sistema.
Se partirá con la suposición de: "Dispensario Médico del Club de Leones",
tiene el presupuesto necesario para implementar cualquier sistema. Sin
embargo se tomará en cuenta las consideraciones anteriormente señaladas
en la sección 4.1.4 del capitulo 4.
5.2 Caso Práctico.
El Dispensario Médico del Club de Leones "Quito - Los Olivos", necesita
implementar e implantar su Sistema Administrativo, para lo cual ya fue
realizado su análisis de su situación actual, análisis del proyecto y diseño,
los cuales encontramos descritos en el Capítulo 2 y 3 de la disertación de
grado anteriormente nombrada.
El Sistema Administrativo, trata de organizar, planificar, programar, controlar
y evaluar los servicios que brinda el Centro Médico, considerando la
situación ideal (Cap 3, Subcap 3.2, Situacion Ideal, de la disertación de
grado y autores anteriormente mencionada), que abarca las áreas Médica y
Administrativa con sus respectivas subareas.
5.3 Seguimiento de Guia
Supondremos en este caso en que el Club de Leones "Quito - Los Olivos",
tiene el presupuesto necesario para la adquisición de software de licencias
no libres, para poder realizar la comparación entre estas dos herramientas
(.NET y Oracle).
5.3.1 Tipo de Empresa
Siguiendo la guia, generada en el Capitulo 4, es necesario determinar el tipo
de empresa que según su magnitud es grande, mediana o pequeña.
Según el criterio Financiero, el Club de Leones "Quito - Los Olivos", a pesar
de ser una institucion de carácter benéfico, sus ingresos obtenidos por los
servicios que presta, la hacen en una institución sólida y económicamente
muy estable. El personal que labora en esta institución no sobrepasa las 250
personas. En el grado de maquinización, el trabajo del hombre es decisivo
aunque esta mecanizada. Su importancia empresarial, abarca un punto
estratégico sobre las demas ya que es una institución benéfica.
Por lo anteriormente descrito, podemos decir que esta institución petenece a
un tipo de empresa mediana.
5.3.2 Tipo de Sistema
El tipo de sistema seleccionado es una Intranet, ya que satisface las
necesidades y requerimientos del usuario definidos previamente en la etapa
de Análisis, definido en el Cap 2, de la tesis y autores anteriormente
mencionada, donde fue tomado el caso aplicativo.
5.3.3 Tipo de Gestion
Su gestión es Administrativa, ya que vincula Procesos de Contabilidad,
Procesos de Manejo de Personal, Procesos de Bodega, Procesos de
Farmacia y Atención de pacientes.
5.3.4 Alternativas
Como el sistema Administrativo a implanatarse no tiene por interes
primordial un sistema de desarrollo sobre web en Internet, daremos por igual
un seguimiento para que en un futuro cercano y si las necesidades de la
empresa lo requieran, lo puedan implantar.
Ya que las necesidades estan evaluadas, es importante el escogitamiento de
una herramienta de desarrollo completa e integrada, que vaya desde un
rápido desarrollo de aplicaciones que utilice los estandares mas recientes de
Internet hasta un completo soporte del ciclo de vida de las aplicaciones,
tomando en cuenta la alta calidad de aplicaciones, rapidez y costo bajo.
Una comparación entre Oracle 9i y Microsoft .NET puede resultar un poco
dificultoso, porque Microsoft .NET es una combinación de marcas de
productos de tecnología y arquitectura reacondicionada.
En el siguiente recuadro daremos un resumen de las principales diferencias
entre la infraestructura de Oracle 9i J2EE y Microsoft .NET
Tabla #1:
Oracle9i Microsoft.NET
Construidos sobre estandares
abiertos: J2EE, XML y servicios Web
Construidos sobre una mezcla de
estandares propietarios y abiertos
Corre sobre cualquier sistema
operativo y hardware Corre solo en Windows
Inmediata productividad de desarrollo
para Java, Windows y Oracle
Significativo seguimiento de
desarrollo para Microsoft
Evolución natural para servicios Web Infraestructura reescrita para
servicios Web
Realizado por: Patricio Lucero 18/02/04 Fuente: www.oracle.com; www.microsoft.com
Las diferencias de infraestructura tecnologica entre Oracle 9i y Microsoft
.NET, se resumen en la siguiente tabla.
Infraestructura
Tecnológica Oracle9i Microsoft .NET
Medio del tiempo de
ejecución (RUNTIME) Java Runtime Engine
Common Language
Runtime
Lenguaje de
Programación
preferido
Java Visual Basic y C#
Modelo Componente J2EE (Enterprise Java
Beans)
.NET Managed
Components
Paginas Dinámicas J2EE (Java Server
Pages and Servlets) ASP.NET
Acceso a Base de
Datos JDBC ADO.NET
Seguridad HTTP-S, SSL, LDAP V3,
J2EE JAAS
HTTP-S, SSL, Active
Directory, Kerberos
Servicios Web SOAP, UDDI, WSDL,
JAX APIs SOAP, UDDI y WSDL
Sistema Operativo Cualquiera Solo Windows
Realizado por: Patricio Lucero 18/02/04 Fuente: www.oracle.com; www.microsoft.com
En la siguiente tabla daremos una descripción de los productos que ofece
Oracle 9i y Microsoft .NET.
Producto Oracle9i Microsoft .NET
Base de Datos Oracle9i Database Microsoft SQL Server
Sevidor de Aplicación Oracle9i Aplication
Server (Oracle9iAS)
Microsoft Windows 2000
Server
Herramienta de Oracle9i Developer Microsoft Visual
Desarrollo Suite Studio.NET
Componente Middle-
Tier
Oracle9iAS Containers
for J2EE
Microsoft .NET
Managed Components
Portal Oracle9iAS Portal Microsoft Sharepoint
Portal
Administrador de
contenido
Oracle Internet File
System
Microsoft Content
Manager
Integración Oracle9iAS Integration Microsoft Biztalk
Business Intelligence Oracle9iAS Business
Intelligence No ofrece
Mobil Oracle9iAS Wireless
Option
Microsoft Mobile
Information Server
Realizado por: Patricio Lucero 22/02/04 Fuente: www.oracle.com; www.microsoft.com
En la siguiente tabla daremos a conocer todo lo que contiene Oracle
Developer Suite y al mismo tiempo una comparación de precios con los kits
de otras casas.
Funcion Oracle9i
Developer Suite Kit Precio Kit (USD)
Java IDE Borland JBuilder US $ 2,999
Application
Modeling Rational Rose US $ 1,794
Performance
Tuning JProbe US $ 649
J2EE Framework Real Methods US $ 4,995
Data Modeling PowerDesigner US $ 2,495
Configuation PVCS US $ 1,199
Management
RAD Web Tool Visual Basic US $ 1,079
Enterprise
Reporting Crystal Reports US $ 495
Total del Suite: US $ 5,000 Kit Total: US $15,705
Realizado por: Patricio Lucero 22/02/04 Fuente: www.oracle.com; www.borland.com;
www.rational.com; www.sitraka.com; www.j2eeframework.com;pcnation.com;
Considerando a Oracle9i JDeveloper, daremnos a conocer en la siguiente
tabla que nos proporciona esta herramienta y tambien hacer una
comparación de precios con otro kit de otras casas.
Funcion Oracle9i
Jdeveloper Kit Kit Precio (USD)
Java IDE Borland JBuilder US $ 2,999
Application
Modeling Tool Rational Rose US $ 1,794
J2EE Framework Real Methods US $ 4,995
Configuration
Management PVCS US $ 1,199
Oracle Jdeveloper
Total: US $ 995 Kit Total: US $ 10,987
Realizado por: Patricio Lucero 22/02/04 Fuente: www.oracle.com; www.borland.com;
www.rational.com; www.sitraka.com;
CAPITULO 6
6.1 CONCLUSIONES
• La generación de la guía prática para realizar un análisis comparativo
entre herramientas de desarrollo, permitirá escoger la herramienta mas
adecuada para el desarrollo de un sistema, siendo esta independiente
del conocimiento informático que pueda tener las personas relacionadas
con el desarrollo del mismo.
• Las variables que deben tomar en cuenta para escoger una
herramienta de desarrollo, de entre las múltiples existentes en el
mercado, dependerán del tamaño de la compañía, su infraestructura
actual de tecnología, el modelo de negocio y sus clientes.
• Otros aspectos determinantes para evaluar una herramienta de
desarrollo son: costos, seguridad, licenciamientos, soporte,
requerimientos de hardware y software, conocimiento de la herramienta,
impacto actual y proyección a futuro.
• La reducción de costos y la gran oferta que existe en la actualidad
permitirán a una microempresa hacer uso de la tecnología disponible a
costos razonables. Se puede sugerir la utilización de herramientas de
software abierto, como también herramientas integradas.
• La aparición repentina de versiones nuevas de diversos productos de
desarrollo de software han ocacionado que los desarrolladores no
aprovechen toda la potencialidad de las versiónes actuales.
• El conociemiento previo de una herramienta de desarrollo por los
programadores reduce el tiempo y costo de desarrollo del sistema.
• La utilización de software libre es el adecuado para empresas
pequeñas, ya que estas les permitirá reducir costos y obtener los
mismos resultados que el software comercial.
• El software libre normalmente requiere de un mayor nivel de
conocimiento por parte de los administradores del sistema que el
software comercial.
• Si un sistema se necesita recodificarlo y esta desarrollado en una
herramienta antigua, es mejor comenzar desde el inicio y si esta
desarrollado en herramientas actuales lo mejor es actualizarlo con sus
nuevas versiones.
•
6.2 RECOMENDACIONES
• Es recomendable que el escogitamiento de la herramienta de
desarrollo pase por un grupo multidisciplinario de personas que sean
parte de la empresa, en este proceso hay que hacer énfasis en el
análisis que proporcionará el financiero en el costo/beneficio y sobre
todo la toma de decisión final será el encargado de la área de sistemas.
• Para una mejor implementación de la guía en el caso a aplicar, es
recomendable tener ya la situación actual, el análisis y el diseño del
proyecto.
• Es recomendable no adoptar herramientas nuevas que salen al
mercado, por el simple hecho de estar a la vanguardia de la tecnología.
• Es recomendable que para instituciones sin fines de lucro ó micro y
pequeñas empresas que no cuenten con la suficiente capacidad
económica, beneficiarse con herramientas rentables como es el software
libre.
• Es recomendable no descartar las herramientas antiguas de
desarrollo, ya que estas nos podrán brindar bajos costos y en el
mercado será fácil encontrar programadores que tengan conocimiento
de la misma.
GLOSARIO DE TERMINOS TECNICOS
Access Programa para crear y manejar bases de datos.
Applets Programa escrito en JAVA, puede presentar una
imagen, una animación, un formulario, un texto
animado o estático, un programa que represente
gráficas científicas, etc.
As/400 Sistema informático multiusuario usado en
informática de gestión.
Bea Plataforma completa para crear, integrar y ampliar
aplicaciones empresariales.
CodeInsight Permite generar código libre sin errores.
C++ Builder Studio Herramienta de la empresa Borland.
Code Wright Herramienta de la empresa Borland.
C++ BuilderX Herramienta de la empresa Borland.
Delphi Studio Herramienta de la empresa Borland.
Enterprise Studio for C++ Herramienta de la empresa Borland.
Enterprise Studio for Java Herramienta de la empresa Borland.
ErrorInsight Tecnología que permite generar código libre sin
errores.
ExamDiff Herramienta que permite visualizar diferencias
entre archivos.
GraphViz Herramienta para composición y trazado de
grafos.
InternetBeans Express Componente que facilita la composición de
contenido dinámico en las páginas Web.
JBuilder Herramienta de la empresa Borland.
JBuilder Movile Edition Herramienta de la empresa Borland.
Jdbc Envía comandos SQL hacia una base de datos
relacional, que puede ser Oracle, Infomix,
SyBase, etc.
Kilix Herramienta de la empresa Borland.
Linux Es un sistema operativo libre, similar a Unix.
Midas Estándar Abierto para desarrollo de Software
Administrativo Financiero para Empresas
Comerciales y de Servicios.
ModelMaker Herramienta que soporta UML
Movile Studio Herramienta de la empresa Borland.
MySQL Sistema de gestión de bases de datos
relacional, licenciado bajo la GPL de la GNU.
Oracle9i Jdeveloper Herramienta de la empresa Oracle.
PostgreSQL Sistema de Gestión de Bases de Datos Objeto-
Relacionales.
Pro/Sim Construcción de prototipos y simulación
Soap Protocolo de intercambio de mensajes entre
servicios Web y los consumidores de estos
servicios.
Solaris Sistema operativo de la empresa Sun
Microsistems.
SQL Server Es un Sistema Gestor de Bases De Datos
Relacional.
Unix Es un sistema operativo de tiempo compartido.
Visual Basic.NET 2003 Herramienta de Visual Studio.NET.
Visual C++.NET 2003 Herramienta de Visual Studio.NET.
Visual C#.NET 2003 Herramienta de Visual Studio.NET.
Visual J#.NET 2003 Herramienta de Visual Studio.NET.
Visual Studio.NET Herramienta integrada de Microsoft.
Windows Millennium Sistema operativo de Microsoft dirigido al usuario
doméstico.
GLOSARIO DE SIGLAS
ACB Análisis Costo Beneficio.
ACT Application Center Test.
API Application Programming Interface.
ASP Active Server Pages.
ATL Active Template Library.
BDE Borland Database Engine.
CASE Computer Assisted Software Engineering;
Ingeniería de software asistida por computadora.
CGI Common Gateway Interface.
CGS Computer Generated Solutions.
CLX Component Library for Cross-platform.
COM Componen Object Model.
CORBA Common Object o Request Broker Architecture.
CRM Customer Relationship Management.
DBASE Base de datos.
DFD Diagramas de flujos de datos.
DLL Dinamic Link Library.
DRA Desarrollo Rápido de Aplicaciones.
ECMA Asociación europea de fabricantes de Informática.
EJB Enterprise Java Beans.
FTP File Transfer Protocol.
GNU General Public License.
GUI Graphics User Interfase, Interfase Gráfica de
Usuario.
HTML HyperText Markup Language; Lenguaje de
Marcado de Hipertexto.
ICMP Internet Control Message Protocol.
IDE Entorno de desarrollo integrado.
IFS Internet File System.
IIS Internet Information Server.
ISAPI Internet Server Application Program Interface
JDK Java Development Kit.
JLCA Java Language Conversión Assistant.
J2EE Java2 Enterprise Edition.
LDAP Lightweight Directory Access Protocol.
MFC Microsoft Foundation Class.
MTS Microsoft Transaction Server.
NSAPI Netscape Server Application Program Interface.
ODBC Open Database Connectivity.
OiAS Oracle Internet Applications Server.
OLAP On Line Analytical Processing.
OLTP On-line Transaction Processing.
PC Personal Computer.
PHP Hypertext Preprocessor.
PRO/SIM Construcción de prototipos y simulación.
RAD Desarrollo rápido de aplicaciones.
RFP Request for Proposals, Pedido de ofertas.
SDE Smart Device Extension.
SGBDR Sistemas de gestión de base de datos
relacionales.
SMTP Simple Mail Transfer Protocol.
SOAP Simple Object Access Protocol.
SSE Streaming SIMD Extensions.
STL Standard Template Library.
TCP/IP Transmission Control Protocol/Internet Protocol.
UDDI Universal Description, Discovery and Integration.
UML Unified Modeling Language.
VCL Visual Componet Library.
WAP Wireless Application Protocol.
WINWIN Victoria & Victoria.
WML Wireless Markup Language.
WSDK Web Services Development Kit.
WSDL Web Service Description Language.
XML Extensible Markup Language; Lenguaje de
Marcado Extensible.
XSLT Extensible Style Language.
GLOSARIO DE SIGLAS
ACB Análisis Costo Beneficio.
ACT Application Center Test.
API Application Programming Interface.
ASP Active Server Pages.
ATL Active Template Library.
BDE Borland Database Engine.
CASE Computer Assisted Software Engineering;
Ingeniería de software asistida por computadora.
CGI Common Gateway Interface.
CGS Computer Generated Solutions.
CLX Component Library for Cross-platform.
COM Componen Object Model.
CORBA Common Object o Request Broker Architecture.
CRM Customer Relationship Management.
DBASE Base de datos.
DFD Diagramas de flujos de datos.
DLL Dinamic Link Library.
DRA Desarrollo Rápido de Aplicaciones.
ECMA Asociación europea de fabricantes de Informática.
EJB Enterprise Java Beans.
FTP File Transfer Protocol.
GNU General Public License.
GUI Graphics User Interfase, Interfase Gráfica de
Usuario.
HTML HyperText Markup Language; Lenguaje de
Marcado de Hipertexto.
ICMP Internet Control Message Protocol.
IDE Entorno de desarrollo integrado.
IFS Internet File System.
IIS Internet Information Server.
ISAPI Internet Server Application Program Interface
JDK Java Development Kit.
JLCA Java Language Conversión Assistant.
J2EE Java2 Enterprise Edition.
LDAP Lightweight Directory Access Protocol.
MFC Microsoft Foundation Class.
MTS Microsoft Transaction Server.
NSAPI Netscape Server Application Program Interface.
ODBC Open Database Connectivity.
OiAS Oracle Internet Applications Server.
OLAP On Line Analytical Processing.
OLTP On-line Transaction Processing.
PC Personal Computer.
PHP Hypertext Preprocessor.
PRO/SIM Construcción de prototipos y simulación.
RAD Desarrollo rápido de aplicaciones.
RFP Request for Proposals, Pedido de ofertas.
SDE Smart Device Extension.
SGBDR Sistemas de gestión de base de datos
relacionales.
SMTP Simple Mail Transfer Protocol.
SOAP Simple Object Access Protocol.
SSE Streaming SIMD Extensions.
STL Standard Template Library.
TCP/IP Transmission Control Protocol/Internet Protocol.
UDDI Universal Description, Discovery and Integration.
UML Unified Modeling Language.
VCL Visual Componet Library.
WAP Wireless Application Protocol.
WINWIN Victoria & Victoria.
WML Wireless Markup Language.
WSDK Web Services Development Kit.
WSDL Web Service Description Language.
XML Extensible Markup Language; Lenguaje de
Marcado Extensible.
XSLT Extensible Style Language.
BIBLIOGRAFIA
Roger S. Pressman. Ingeniería del Software: Un Enfoque práctico. Quinta
edición. McGraw-Hill, 2002.
UML. El Lenguaje Unificado de Modelado. Manual de Referencia. Addison
Wesley, Ed. James Rumbaugh, Ivar Jacobson y Grady Booch. Rational
Software Corporation. Año 2000.
Matheron, Jean-Patrick, Merise, Metodología de desarrollo de sistemas:
teoría aplicada, Paraninfo, 1990.
TAYLOR. "ingeniería económica". editorial Limusa, México. 1978.
Beekman George, Computación & informática hoy. Una mirada a la
tecnología del mañana. Addison Wesley., 1995.
Gregorio Cabrera, Guillermo Montoya. Análisis y diseño detallado de aplicaciones
informáticas de gestión: Revisión técnica. Primera edición. McGraw-Hill, 1999.
Metodologías Orientadas a Objetos, Departamento de Lenguas y Sistemas
Informáticos e Ingeniería de Software, Universidad Pontificia de Salamanca
en Madrid, Facultad de Informática.
Precios de las Herramientas
http://eshop.sybase.com/eshop/
http://shop.borland.com
http://msdn.microsoft.com/vstudio/howtobuy/pricing.aspx
http://www.oracle.com/corporate/pricing/index.html?pricelists.html
Direcciones de Herramientas
www.microsoft.com
www.oracle.com
www.borland.com
www.sybase.com
www.artech.com
www.php.net
www.macromedia.com
www.microsoft.com/sql/
www.mysql.com/
www.postgresql.org/
www.informix.com/
http://www.catalogodesoftware.com/software/default.asp
Licencias
www.gnu.com
http://www.opensource.org/licenses
General
www.audisoft.com
http://lml.ls.fi.upm.es/~mcollado/enlaces.html
http://www.glosarium.com/list/14/
http://docs.sun.com/source/817-2514-10/AppCAdvanced19.html
http://www.perldoc.com/perl5.6/lib/CGI/Apache.html
http://www.nevrona.com/Indy/
http://www.utem.cl/web/http.htm
http://www.dst.usb.ve/ayuda/manuales/ftp/ftp.html
http://www.utem.cl/web/smtp.htm
http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/icmp.html
http://gsyc.escet.urjc.es/docencia/asignaturas/itig-
transmision_datos/transpas/node9.html
http://ditec.um.es/laso/docs/tut-tcpip/3376c47.html
http://www.cyberspace.org/telnet.html
http://www.utem.cl/web/pop3.htm
http://livinginternet.com/?u/ui_nntp.htm
http://thewml.org/
http://www.verisign.com/wss/wss.pdf
http://www.abox.com/productos.asp?pid=180
http://www.isapirewrite.com/
http://ivb.unact.ru/glossary/nsapi.html
http://www.corba.com/
http://www.microsoft.com/com/tech/MTS.asp
http://personal.redestb.es/juanhr/micro2.htm#mmx
www.indudata.com/1rational_rose.htm
www.ati.es/gt/LATIGOO/OOp96/Ponen11/atio6p11.html
www.baufest.com/spanish/consulting/cm.html
www.tlm.com.co/documentos/Oracle%209i%20AS.doc
www.oracle.com/ip/develop/ids/OracleMS.html
www.tlm.com.co/documentos/java.doc
www.agapea.com/SharePoint-Portal-Server-n10627i.htm
www.content0.com/cms-spain/conceptos/ index.asp?pid=4&s=portal
www.microsoft.com/mexico/soluciones/ cor/msib/caracteristicas.asp
www.willydev.net/Descargas/Articulos/Willy/
www.pandacons.com/preguntas.htm
www.qualitrain.com.mx/objeIndirecto/soap.htm
www.fisica.uson.mx/carlos/WebServices/WS_UDDI.htm
www.fisica.uson.mx/carlos/WebServices/WS_WSDL.htm
www.microsoft.com/spain/technet/ productos/mis/default
ANEXO 1
Fabricante y producto de las herramientas de desarrollo de software de mayor
importancia para los programadores en la actualidad.
MICROSOFT (www.microsoft.com)
� Visual Studio.NET ( Enterprise Architect, Developer, Professional)
• Visual Basic.NET 2003
• Visual C++.NET 2003
• Visual C#.NET 2003
• Visual J#.NET 2003
� Visual FoxPro 7.0
� Visual SourceSafe 6.0
BORLAND (www.borland.com)
� Enterprise Studio for C++
� Enterprise Studio for Java
� Enterprise Studio for Movile
� C++ BuilderX
� C++ Builder Studio
� C# Builder for Microsoft.NET Framework
� Code Wright
� Delphi Studio
� Jbuilder
� JBuilder Movile Edition
� Kilix
� Movile Studio
ORACLE (www.oracle.com)
� Oracle9i Jdeveloper
� Oracle9i Developer Suite
Otras
� ACUCOBOL- GT http://www.acucorp.com
� ADVANTAGE http://www.eclipsecat.com/
� IBM DeveloperToolbox http://www-3.ibm.com
� IBM INFORMIX - 4GL
� IBM INFORMIX Client SDK
� IBM INFORMIX Data Director for WEB
� IBM LOTUS DOMINO DESIGNER R6
� IBM Visual Age Generator
� IBM VisualAge C++ para AIX
� IBM VisualAge C++ Professional
� IBM VisualAge Cobol para Windows
� IBM VisualAge Developer Domain
� IBM VisualAge Pl / I Enterprise
� IBM VisualAge Smalltalk Add-Ons
� IBM VisualAge Smalltalk Enterprise V 5.0
� IBM WebSphere Development Studio for iSeries
� IBM WebSphere Studio Application Developer
� INTERBASE http://www.borland.com/interbase/
� Lansa http://www.lansa.com/
� PROGEN WEBSMART http://www.excelsystems.com
� RM-COBOL tools http://www.liant.com/products/
� SPEEDWARE/AUTOBAHN II http://www.speedware.com
� Telelogic TAU http://www.taug2.com
� XML Toolkit for RM-Cobol http://www.xml4cobol.com/
ANEXO 2
LICENCIAMIENTOS
TABLA 1:
DISPONIBILIDAD DE ARCHIVOS FUENTES, COSTOS
DISPONIBILIDAD DE ARCHIVOS FUENTES
Abierto Cerrado
• Libre • Freeware
• Dominio Publico • Shareware
• Semi-Libre • Demostración
• Propietario
COSTO
Software gratuito Software no gratuito
• Libre • Shareware
• Dominio Publico • Demostración
• Semi-Libre • Propietario
• Freeware Elaborado por: Patricio Lucero
Fuente: Este trabajo Fecha: 21/10/03
TABLA 2:
TIPOS DE SOFTWARE SEGUN TIPO DE USO, PRECIO Y FUNCIONALIDAD
tipo de licencias de
software
permiso de copia y
redistribución
precio cero
100% funcional
permiso de uso
ilimitado
en el tiempo
disponibilidad y permiso de
modificar archivos fuentes
propietario no no si si no*
shareware o de
evaluación
si no si no no
de prueba o demostración
si si no no no
freeware si si si si no
libre si si si si si* * desde 1998 para acá varias de las grandes compañías han decido entregar archivos fuentes, influenciados por la filosofía del software libre ** el software semi-libre y de domino público también cumplen con estas características
Elaborado por: Patricio Lucero Fuente: http://www.geocities.com/sl_edu_colombia/soluciones/pablo/index.html
Fecha: 21/10/03
TABLA 3:
CARACTERISTICAS DEL SOFTWARE LIBRE, SEMILIBRE Y FRE EWARE
Tipo de software /
Características de la Licencia
Precio cero, uso ilimitado
y redistribución
permitida
archivos fuentes
disponibles
archivos fuente
modificables
Revisión pública de archivos fuentes
Todos los derivados deben ser gratuitos
Binarios libres
(Freeware) si
"Bibliotecas"
libres si si
Fuente Abierta estilo
BSD* si si si
Fuente Abierta estilo
Apache* si si si si
Fuente Abierta estilo Linux/GNU**
si si si si si
* estas dos clases corresponden a software parcialmente libre ** el software de dominio público puede convertirse en libre, semi-libre o propietario
Elaborado por: Patricio Lucero Fuente: Adaptada de Valloppillil126
Fecha: 21/10/03
126 VALLOPPILLIL, Vinod. El Documento de Halloween - Software Abierto: Una Metodología
(¿Nueva?) de Desarrollo. Traducido por SOTO P.
ANEXO 3
REQUERIMIENTOS DEL SISTEMA
1 Microsoft
1.1 Requisitos del sistema para Visual Studio.NET 2003.
Los requisitos varían según las combinaciones de componentes de Visual
Studio.NET 2003. La tabla siguiente nos determinará los requisitos mínimos
del sistema pata ejecutar Visual Studio.NET en todas las versiones.
TABLA 1
Procesador Procesador Pentium II a 450 MHz, se recomienda
Pentium III a 600 MHZ
Sistema
Operativo
Visual Studio.NET 2003 se puede instalar en cualquiera
de los sistemas siguientes:
• Microsoft Windows Server 2003
• Windows XP Professional
• Windows XP Home Edition¹
• Windows 2000 Professional
• Windows 2000 Server
Las aplicaciones se pueden implementar en los siguientes
sistemas²:
• Windows Server 2003
• Windows XP Professional
• Windows XP Home Edition
• Windows 2000 (se recomienda Service Pack 2)
• Windows Millennium Edition (Windows Me)
• Windows 98
• Microsoft Windows NT 4.0 (se precisa Service Pack
6a)
• Windows 95 (utilizando Microsoft Visual C++.NET)
Memoria • Windows Server 2003:
160 MB de memoria RAM
• Windows XP Professional:
160 MB de memoria RAM
• Windows XP Home Edition:
96 MB de memoria RAM
• Windows 2000 Professional:
96 MB de memoria RAM
• Windows 2000 Server:
192 MB de memoria RAM
Disco duro • 900 MB de espacio disponible en la unidad del
sistema; 3,3 GB de espacio disponible en la unidad
de instalación
• 1,9 GB de espacio adicional disponible para la
documentación de MSDN Library opcional
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA (1024 x 768) o superior con 256
colores
Mouse Microsoft Mouse o compatible
¹ Funcionalidad limitada. Visual Studio.NET 2003 no admite la creación de aplicaciones Web ASP.NET ni servicios Web XML ASP.NET cuando se utiliza Windows XP Home Edition. ² Solo se pueden aplicar Web y servicios Web XML ASP.NET en Windows XP Profesional, Windows 2000 y Windows Server 2003.
Elaborado por: Patricio Lucero Fuente: www.microsoft.com
Fecha: 2/09/03
1.2 Requisitos del sistema para Visual Basic.NET 2003.
Los requisitos mínimos del sistema para ejecutar Visual Basic.NET 2003
Standard son los siguientes:
TABLA 2
Procesador Procesador Pentium II a 450 MHz, se recomienda
Pentium III a 600 MHZ
Sistema
Operativo
Visual Basic.NET 2003 Standard se puede instalar en
cualquiera de los sistemas siguientes:
• Microsoft Windows Server 2003
• Windows XP Professional
• Windows XP Home Edition¹
• Windows 2000 Professional
• Windows 2000 Server
Las aplicaciones se pueden implementar en los siguientes
sistemas²:
• Windows Server 2003
• Windows XP Professional
• Windows XP Home Edition
• Windows 2000 (se recomienda Service Pack 2)
• Windows Millennium Edition (Windows Me)
• Windows 98
• Microsoft Windows NT 4.0 (se precisa Service Pack
6a)
Memoria • Windows Server 2003:
160 MB de memoria RAM
• Windows XP Professional:
160 MB de memoria RAM
• Windows XP Home Edition:
96 MB de memoria RAM
• Windows 2000 Professional:
96 MB de memoria RAM
• Windows 2000 Server:
192 MB de memoria RAM
Disco duro • 500 MB de espacio disponible en la unidad del
sistema; 1,5 GB de espacio disponible en la unidad
de instalación
• 1,9 GB de espacio adicional disponible para la
documentación de MSDN Library opcional
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA (1024 x 768) o superior con 256
colores
Mouse Microsoft Mouse o compatible
¹ Funcionalidad limitada. Visual Basic.NET Standard no admite la creación de aplicaciones Web ASP.NET ni servicios Web XML ASP.NET cuando se utiliza Windows XP Home Edition. ² Solo se pueden alojar aplicaciones Web ASP.NET y servicios Web XML ASP.NET en Windows XP Profesional, Windows 2000 y Windows Server 2003.
Elaborado por: Patricio Lucero Fuente: www.microsoft.com
Fecha: 2/09/03
1.3 Requisitos del sistema para Visual C++ .NET 2003.
Los requisitos mínimos del sistema para ejecutar Visual C++.NET 2003
Standard son los siguientes:
TABLA 3
Procesador Procesador Pentium II a 450 MHz, se recomienda
Pentium III a 600 MHZ
Sistema
Operativo
Visual Studio.NET 2003 se puede instalar en cualquiera
de los sistemas siguientes:
• Microsoft Windows Server 2003
• Windows XP Professional
• Windows XP Home Edition¹
• Windows 2000 Professional
• Windows 2000 Server
Las aplicaciones se pueden implementar en los siguientes
sistemas²:
• Windows Server 2003
• Windows XP Professional
• Windows XP Home Edition
• Windows 2000 (se recomienda Service Pack 2)
• Windows Millennium Edition (Windows Me)
• Windows 98
• Microsoft Windows NT 4.0 (se precisa Service Pack
6a)
• Windows 95
Memoria • Windows Server 2003:
160 MB de memoria RAM
• Windows XP Professional:
160 MB de memoria RAM
• Windows XP Home Edition:
96 MB de memoria RAM
• Windows 2000 Professional:
96 MB de memoria RAM
• Windows 2000 Server:
192 MB de memoria RAM
Disco duro • Se necesitan 500 MB de espacio disponible en la
unidad del sistema y 1,5 GB de espacio libre en la
unidad de instalación.
• Se necesitan 1,9 GB de espacio adicional
disponible para la documentación de MSDN Library
opcional
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA (1024 x 768) o superior con 256
colores.
Mouse Microsoft Mouse o compatible
¹ Funcionalidad limitada. Visual C++.NET 2003 Standard no admite la creación de aplicaciones Web ASP.NET ni servicios Web XML ASP.NET cuando se utiliza Windows XP Home Edition. ² Solo se pueden aplicar Web y servicios Web XML ASP.NET en Windows XP Profesional, Windows 2000 y Windows Server 2003.
Elaborado por: Patricio Lucero Fuente: www.microsoft.com
Fecha: 2/09/03
1.4 Requisitos del sistema para Visual C# .NET 200 3.
Los requisitos mínimos para utilizar Visual C#.NET son:
TABLA 4
Procesador Procesador Pentium II a 450 MHz, se recomienda
Pentium III a 600 MHZ
Sistema
Operativo
Visual C#.NET 2003 Standard se puede instalar en
cualquiera de los sistemas siguientes:
• Microsoft Windows Server 2003
• Windows XP Professional
• Windows XP Home Edition¹
• Windows 2000 Professional
• Windows 2000 Server
Las aplicaciones se pueden implementar en los siguientes
sistemas²:
• Windows Server 2003
• Windows XP Professional
• Windows XP Home Edition
• Windows 2000 (se recomienda Service Pack 2)
• Windows Millennium Edition (Windows Me)
• Windows 98
• Microsoft Windows NT 4.0 (se precisa Service Pack
6a)
Memoria • Windows Server 2003:
160 MB de memoria RAM
• Windows XP Professional:
160 MB de memoria RAM
• Windows XP Home Edition:
96 MB de memoria RAM
• Windows 2000 Professional:
96 MB de memoria RAM
• Windows 2000 Server:
192 MB de memoria RAM
Disco duro • 500 MB de espacio disponible en la unidad del
sistema; 1,5 GB de espacio disponible en la unidad
de instalación
• Son necesarios 1,9 GB de espacio adicional
disponible para la documentación de MSDN Library
opcional
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA (1024 x 768) o superior con 256
colores
Mouse Microsoft Mouse o compatible
¹ Funcionalidad limitada. Visual C#.NET Standard no admite la creación de aplicaciones Web ASP.NET ni servicios Web XML ASP.NET cuando se utiliza Windows XP Home Edition. ² Solo se pueden alojar aplicaciones Web ASP.NET y servicios Web XML ASP.NET en Windows XP Profesional, Windows 2000 y Windows Server 2003.
Elaborado por: Patricio Lucero Fuente: www.microsoft.com
Fecha: 2/09/03
1.5 Requerimientos del sistema para Visual J#.NET.
Los requisitos mínimos para ejecutar Microsoft Visual J#.NET son:
TABLA 5
Procesador Procesador Pentium II a 450 MHz
Sistema
Operativo
• Windows XP Professional
• Windows 2000 Professional
• Windows 2000 Server
• Microsoft Windows NT 4.0 Server
Memoria • Windows XP Professional:
160 MB de memoria RAM
• Windows 2000 Professional:
96 MB de memoria RAM
• Windows 2000 Server:
192 MB de memoria RAM
• Microsoft Windows NT 4.0 Workstation
64 MB de RAM
• Microsoft Windows NT 4.0 Server
160 MB de RAM
Disco duro • 500 MB de espacio disponible en la unidad del
sistema; 2 GB de espacio disponible en la unidad
de instalación.
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA (800 x 600) o superior con 256
colores
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: www.microsoft.com
Fecha: 2/09/03
1.6 Requerimientos del sistema para Visual FoxPro 7.0 Los requerimientos mínimos para Visual Fox Pro 7.0 son:
TABLA 6
Procesador Pc con procesador Pentium
Sistema
Operativo • Microsoft Windows 98 o superior
• Microsoft Windows NT 4.0 con Service Pack 6
(SP6) o superior
• Microsoft Windows 2000 con Service Pack 1 (SP1)
o superior
Memoria • 64 megabytes (MB) de RAM como mínimo; se
recomiendan 128 MB o más.
Disco duro • 115 MB de espacio libre en disco duro para una
instalación típica; 200 MB máximo
• 50 MB de espacio libre adicional en disco para
Microsoft Visual FoxPro 7.0 Windows Component
Update
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor Se recomienda un monitor Super VGA o superior
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: www.microsoft.com
Fecha: 2/09/03
2 Oracle
2.1 Requisitos del sistema para Oracle9i Developer y Jdeveloper
Requisitos mínimos del sistema:
TABLA 7
Requerimientos
del Sistema
Windows Operating System
Windows 2000, Windows NT, Windows XP CPU Type and Speed Pentium III 500 MHz Memory
256 MB RAM Display
65536 colors, set to at least 1024 X 768 resolution Hard Drive Space
Base Install: 160 MB Complete Install: 275 MB
Linux Distribution
Red Hat 2.1AS (enterprise) SuSE SLES-7 (enterprise) Red Hat 7.3 (desktop) SuSE 8.0 (desktop)
CPU Type and Speed Pentium III 500 MHz
Memory 256 MB RAM
Display 65536 colors, set to at least 1024 X 768 resolution
Hard Drive Space Base Install: 160 MB Complete Install: 275 MB
JDK Sun JDK 1.3.1_02 for Linux, available at http://java.sun.com/products/archive/index.html.
Solaris Operating System
Solaris 2.6, 2.7, or 2.8 using the CDE window manager
CPU Type and Speed Sparc 333 MHz
Memory 256 MB RAM
Display 65536 colors, set to at least 1024 X 768 resolution
Hard Drive Space Base Install: 160 MB Complete Install: 275 MB
JDK Sun JDK 1.3.1_02, available at http://java.sun.com/products/archive/index.html.
HP-UX Operating System
HPUX 11.0 using the CDE or VUE window managers
CPU Type and Speed HP PA-RISC 200 MHz
Memory 256 MB RAM
Display 65536 colors, set to at least 1024 X 768 resolution
Hard Drive Space Base Install: 160 MB Complete Install: 275 MB
JDK HP JDK 1.3.1_02, available at http://www.hp.com/
Plataformas de
ejecución
Windows NT, Windows 2000, Windows XP, Linux, Solaris, and HP-UX.
Memoria 512 Mb (mínimo)
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: http://javaboutique.internet.com/demoIDEs/ JDeveloper/
Fecha: 14/10/03
3 Borland
3.1 Requisitos del sistema para Kilix 3.
TABLA 8
Procesador Procesador Intel Pentium II 500MHz
Sistema
Operativo
Distribuciones Linux Soportadas: Red Hat 7.2, Mandrake
8.2, SuSe 7.3 o posterior
Memoria 256 MB
Disco duro 500 MB libres en Disco Duro para instalación total
(Kilix 3 Enterprise)
350 MB libres en Disco Duro para instalación total
(Kilix 3 Professional)
250 MB libres en Disco Duro para instalación total
(Kilix 3 Open Edition)
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: www.borland.com
Fecha: 4/09/03
3.2 Requisitos del sistema para JBuilder 9
Los requisitos mínimos para JBuilder 9 son:
TABLA 9
Procesador Windows (Intel Pentium II/233 MHz o compatible)
Linux (Intel Pentium II/233 MHz o compatible)
Solaris (UltraSPARC II o superior) Apple Mac OS X* (G3 procesador 350 MHz o superior)
Sistema Operativo
Windows
• Microsoft Windows 2000 (SP2), XP, o NT 4.0 (SP6a)
Linux
• Red Hat Linux 6.2 o 7.1 con manejadores de escritorio GNOME o KDE
Solaris
• Solaris 7 (2.7) o Solaris 8 (2.8)
Memoria • 128 MB RAM mínimo recomendado • 256 MB RAM recomendado
Disco duro 700 MB de espacio en disco duro mínimo recomendado (incluyendo el espacio necesario durante la instalación)
Unidad de disco
Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA o superior Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: www.borland.com
Fecha: 4/09/03
3.3 Requisitos del sistema para C++ Builder.
TABLA 10
Procesador Intel Pentium II/400 MHz o compatible
Sistema
Operativo
Microsoft Windows 98, 2000 (SP2), y XP
Memoria 128 MB RAM (256 MB recomendado)
Disco duro 750 MB espacio en disco (Enterprise)
650 MB espacio en disco (Professional)
550 MB espacio en disco (Personal)
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor SVGA o mayor resolución de monitor (800x600, 256 color)
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: www.borland.com
Fecha: 4/09/03
3.4 Requisitos del sistema para Delphi 7 Studio.
TABLA 11
Procesador Intel Pentium 233MHz o mayor
Sistema
Operativo
Microsoft Windows 98, 2000 (SP2), y XP
Memoria 128 MB
Disco duro 520 MB libres en Disco Duro para instalación total
(Architect)
450 MB libres en Disco Duro para instalación total
(Enterprise)
400 MB libres en Disco Duro para instalación total
(Profesional)
160 MB libres en Disco Duro para instalación total
(Personal)
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: www.borland.com
Fecha: 4/09/03
4 Sybase
4.1 Requisitos del sistema para PowerBuilder 9.0.
Requisitos mínimos del sistema:
TABLA 12
Procesador Intel Pentium II/233 MHz o compatible
Sistema Operativo Microsoft Windows 98, 2000 (SP2), y XP
Memoria 128 MB
Disco duro 520 MB libres en Disco Duro para instalación total
Unidad de disco Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: www.sybase.com
Fecha: 4/09/03
4.2 Requisitos del sistema para PowerDesigner 9.5.
TABLA 13
Procesador Intel Pentium 500MHz o mayor
Sistema Operativo Microsoft Windows 98, 2000 y XP
Memoria 128 MB
Disco duro 520 MB libres en Disco Duro para instalación total
Unidad de disco Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: www.sybase.com
Fecha: 4/09/03
5 Artech
5.1 Requisitos del sistema para Genexus 8.0.
Requisitos mínimos del sistema:
TABLA 14
Procesador Intel Pentium 250MHz o mayor
Sistema
Operativo
Microsoft Windows 98, 2000, XP, 2003 Servers
IBM OS/400, Unís, Linux
Plataformas
de ejecución
Java, .NET Microsoft
Sistemas de
gerencia de
las bases de
datos
IBM DB2 UDB, Informix, Servidor De Microsoft Sql,
Oráculo, PostgreSQL.
Idiomas Java, C#, C/SQL, COBOL, RPG, FoxPro Básico,
Visual Visual
Memoria 128 MB
Disco duro 300 MB libres en Disco Duro para instalación total
Unidad de
disco
Unidad de CD-ROM o DVD-ROM
Monitor Resolución Super VGA
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero Fuente: www.genexus.com
Fecha: 6/09/03
6 SOFTWARE LIBRE 6.1 Requisitos del sistema para PHP 4.
Los requerimientos mínimos para PHP 4.0 son:
TABLA 15
Procesador Pc con procesador Pentium
Sistema Operativo Microsoft Windows 98, 2000 (SP2), XP, 2003 Servers
IBM OS/400, Unix, Linux
Memoria • 16 megabytes (MB) de RAM como mínimo
Disco duro • 500 MB de espacio libre en disco duro.
Servidor Web Apache
Gestor de Base de
Datos
Entre los principales tenemos a Postgres 7.2,
Mysql, Oracle, Informix, y ODBC
Unidad de disco Unidad de CD-ROM o DVD-ROM
Monitor Se recomienda un monitor Super VGA o superior
Mouse Microsoft Mouse o compatible
Elaborado por: Patricio Lucero
Fuente: www.php.net Fecha: 6/09/03