Guia Practica Tesis

238
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 Ingeniero en Sistemas y Computación" Quito, 2004

description

Tutorial

Transcript of Guia Practica Tesis

Page 1: Guia Practica Tesis

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

Page 2: Guia Practica Tesis

Dedicatoria

La realización de esta tesis la

dedico a mis padres que han

constituido un gran apoyo en mi

carrera.

Page 3: Guia Practica Tesis

Agradecimiento

A Fabio Puente B, Susana

Mazapanta y Beatriz Campos por

su desinteresada colaboración.

Page 4: Guia Practica Tesis

“Para triunfar debemos primero

creer que lo podemos hacer”

Michael Korda

Page 5: Guia Practica Tesis

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

Page 6: Guia Practica Tesis

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

Page 7: Guia Practica Tesis

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

Page 8: Guia Practica Tesis

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

Page 9: Guia Practica Tesis

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

Page 10: Guia Practica Tesis

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

Page 11: Guia Practica Tesis

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

Page 12: Guia Practica Tesis

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.

Page 13: Guia Practica Tesis

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

Page 14: Guia Practica Tesis

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

Page 15: Guia Practica Tesis

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.

Page 16: Guia Practica Tesis

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.

Page 17: Guia Practica Tesis

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.

Page 18: Guia Practica Tesis

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.

Page 19: Guia Practica Tesis

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.

Page 20: Guia Practica Tesis

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

Page 21: Guia Practica Tesis

• 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

Page 22: Guia Practica Tesis

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)

Page 23: Guia Practica Tesis

• 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

Page 24: Guia Practica Tesis

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

Page 25: Guia Practica Tesis

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

Page 26: Guia Practica Tesis

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.

Page 27: Guia Practica Tesis

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.

Page 28: Guia Practica Tesis

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

Page 29: Guia Practica Tesis

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

Page 30: Guia Practica Tesis

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.

Page 31: Guia Practica Tesis

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,

Page 32: Guia Practica Tesis

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

Page 33: Guia Practica Tesis

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

Page 34: Guia Practica Tesis

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.

Page 35: Guia Practica Tesis

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.

Page 36: Guia Practica Tesis

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.

Page 37: Guia Practica Tesis

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.

Page 38: Guia Practica Tesis

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:

Page 39: Guia Practica Tesis

• 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,

Page 40: Guia Practica Tesis

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.

Page 41: Guia Practica Tesis

� 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

Page 42: Guia Practica Tesis

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.

Page 43: Guia Practica Tesis

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

Page 44: Guia Practica Tesis

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

Page 45: Guia Practica Tesis

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

Page 46: Guia Practica Tesis

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

Page 47: Guia Practica Tesis

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

Page 48: Guia Practica Tesis

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

Page 49: Guia Practica Tesis

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/

Page 50: Guia Practica Tesis

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.

Page 51: Guia Practica Tesis

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.

Page 52: Guia Practica Tesis

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.

Page 53: Guia Practica Tesis

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.

Page 54: Guia Practica Tesis

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

Page 55: Guia Practica Tesis

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

Page 56: Guia Practica Tesis

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.

Page 57: Guia Practica Tesis

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

Page 58: Guia Practica Tesis

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/

Page 59: Guia Practica Tesis

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.

Page 60: Guia Practica Tesis

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/

Page 61: Guia Practica Tesis

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/

Page 62: Guia Practica Tesis

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

Page 63: Guia Practica Tesis

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.

Page 64: Guia Practica Tesis

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

Page 65: Guia Practica Tesis

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.

Page 66: Guia Practica Tesis

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/

Page 67: Guia Practica Tesis

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,

Page 68: Guia Practica Tesis

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.

Page 69: Guia Practica Tesis

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

Page 70: Guia Practica Tesis

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/

Page 71: Guia Practica Tesis

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/

Page 72: Guia Practica Tesis

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.

Page 73: Guia Practica Tesis

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.

Page 74: Guia Practica Tesis

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.

Page 75: Guia Practica Tesis

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)

Page 76: Guia Practica Tesis

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

Page 77: Guia Practica Tesis

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/

Page 78: Guia Practica Tesis

• 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

Page 79: Guia Practica Tesis

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

Page 80: Guia Practica Tesis

• 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.

Page 81: Guia Practica Tesis

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.

Page 82: Guia Practica Tesis

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/

Page 83: Guia Practica Tesis

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.

Page 84: Guia Practica Tesis

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.

Page 85: Guia Practica Tesis

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

Page 86: Guia Practica Tesis

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.

Page 87: Guia Practica Tesis

• 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

Page 88: Guia Practica Tesis

• 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

Page 89: Guia Practica Tesis

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

Page 90: Guia Practica Tesis

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

Page 91: Guia Practica Tesis

.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/

Page 92: Guia Practica Tesis

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/

Page 93: Guia Practica Tesis

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.

Page 94: Guia Practica Tesis

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

Page 95: Guia Practica Tesis

• 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.

Page 96: Guia Practica Tesis

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

Page 97: Guia Practica Tesis

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

Page 98: Guia Practica Tesis

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

Page 99: Guia Practica Tesis

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

Page 100: Guia Practica Tesis

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.

Page 101: Guia Practica Tesis

• 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

Page 102: Guia Practica Tesis

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/

Page 103: Guia Practica Tesis

• 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

Page 104: Guia Practica Tesis

• 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

Page 105: Guia Practica Tesis

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.

Page 106: Guia Practica Tesis

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

Page 107: Guia Practica Tesis

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

Page 108: Guia Practica Tesis

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

Page 109: Guia Practica Tesis

• 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

Page 110: Guia Practica Tesis

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/

Page 111: Guia Practica Tesis

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

Page 112: Guia Practica Tesis

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.

Page 113: Guia Practica Tesis

• 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.

Page 114: Guia Practica Tesis

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

Page 115: Guia Practica Tesis

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

Page 116: Guia Practica Tesis

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

Page 117: Guia Practica Tesis

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/

Page 118: Guia Practica Tesis

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.

Page 119: Guia Practica Tesis

• 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

Page 120: Guia Practica Tesis

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/

Page 121: Guia Practica Tesis

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

Page 122: Guia Practica Tesis

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

Page 123: Guia Practica Tesis

¾ 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

Page 124: Guia Practica Tesis

• 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

Page 125: Guia Practica Tesis

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á

Page 126: Guia Practica Tesis

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/

Page 127: Guia Practica Tesis

• 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.

Page 128: Guia Practica Tesis

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

Page 129: Guia Practica Tesis

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

Page 130: Guia Practica Tesis

• 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

Page 131: Guia Practica Tesis

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/

Page 132: Guia Practica Tesis

• 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.

Page 133: Guia Practica Tesis

• 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

Page 134: Guia Practica Tesis

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/

Page 135: Guia Practica Tesis

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

Page 136: Guia Practica Tesis

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

Page 137: Guia Practica Tesis

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

Page 138: Guia Practica Tesis

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/

Page 139: Guia Practica Tesis

• 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

Page 140: Guia Practica Tesis

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.

Page 141: Guia Practica Tesis

• 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/

Page 142: Guia Practica Tesis

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.

Page 143: Guia Practica Tesis

• 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

Page 144: Guia Practica Tesis

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)

Page 145: Guia Practica Tesis

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.

Page 146: Guia Practica Tesis

• 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/

Page 147: Guia Practica Tesis

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.

Page 148: Guia Practica Tesis

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

Page 149: Guia Practica Tesis

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.

Page 150: Guia Practica Tesis

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.

Page 151: Guia Practica Tesis

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.

Page 152: Guia Practica Tesis

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.

Page 153: Guia Practica Tesis

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.

Page 154: Guia Practica Tesis

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.

Page 155: Guia Practica Tesis

• 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/

Page 156: Guia Practica Tesis

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

Page 157: Guia Practica Tesis

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

Page 158: Guia Practica Tesis

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

Page 159: Guia Practica Tesis

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

Page 160: Guia Practica Tesis

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

Page 161: Guia Practica Tesis

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

Page 162: Guia Practica Tesis

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

Page 163: Guia Practica Tesis

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

Page 164: Guia Practica Tesis

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

Page 165: Guia Practica Tesis

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

Page 166: Guia Practica Tesis

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).

Page 167: Guia Practica Tesis

• 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

Page 168: Guia Practica Tesis

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.

Page 169: Guia Practica Tesis

• 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

Page 170: Guia Practica Tesis

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

Page 171: Guia Practica Tesis

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

Page 172: Guia Practica Tesis

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

Page 173: Guia Practica Tesis

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.

Page 174: Guia Practica Tesis

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:

Page 175: Guia Practica Tesis

• PHP

• Java

• .NET

• Perl

• Power Builder

Base de datos:

• Oracle

• SQL Server

• MySQL

• Postgres

• Informix

• Sybase

Servidores Web:

• Apache

• Internet Information Server

Notas Importantes:

Page 176: Guia Practica Tesis

� 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

Page 177: Guia Practica Tesis

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

Page 178: Guia Practica Tesis

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

Page 179: Guia Practica Tesis

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

Page 180: Guia Practica Tesis

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

Page 181: Guia Practica Tesis

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.

Page 182: Guia Practica Tesis

� 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

Page 183: Guia Practica Tesis

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

Page 184: Guia Practica Tesis

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

Page 185: Guia Practica Tesis

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,

Page 186: Guia Practica Tesis

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:

Page 187: Guia Practica Tesis

� Costos

� Seguridad

� Licenciamientos

� Requerimientos de Hardware y Software

� Soporte

� Conocimiento de la herramienta

� Impacto actual

� Proyección a futuro

CAPITULO 5

Page 188: Guia Practica Tesis

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,

Page 189: Guia Practica Tesis

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

Page 190: Guia Practica Tesis

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.

Page 191: Guia Practica Tesis

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.

Page 192: Guia Practica Tesis

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

Page 193: Guia Practica Tesis

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

Page 194: Guia Practica Tesis

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;

Page 195: Guia Practica Tesis

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.

Page 196: Guia Practica Tesis

• 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.

Page 197: Guia Practica Tesis

• 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.

Page 198: Guia Practica Tesis

• 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.

Page 199: Guia Practica Tesis

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.

Page 200: Guia Practica Tesis

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

Page 201: Guia Practica Tesis

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

Page 202: Guia Practica Tesis

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.

Page 203: Guia Practica Tesis

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.

Page 204: Guia Practica Tesis

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

Page 205: Guia Practica Tesis

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.

Page 206: Guia Practica Tesis

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.

Page 207: Guia Practica Tesis

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

Page 208: Guia Practica Tesis

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

Page 209: Guia Practica Tesis

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

Page 210: Guia Practica Tesis

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

Page 211: Guia Practica Tesis

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

Page 212: Guia Practica Tesis

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

Page 213: Guia Practica Tesis

� 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

Page 214: Guia Practica Tesis

� 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/

Page 215: Guia Practica Tesis

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

Page 216: Guia Practica Tesis

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

Page 217: Guia Practica Tesis

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.

Page 218: Guia Practica Tesis

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

Page 219: Guia Practica Tesis

• 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

Page 220: Guia Practica Tesis

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:

Page 221: Guia Practica Tesis

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

Page 222: Guia Practica Tesis

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

Page 223: Guia Practica Tesis

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

Page 224: Guia Practica Tesis

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:

Page 225: Guia Practica Tesis

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:

Page 226: Guia Practica Tesis

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:

Page 227: Guia Practica Tesis

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

Page 228: Guia Practica Tesis

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

Page 229: Guia Practica Tesis

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.

Page 230: Guia Practica Tesis

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)

Page 231: Guia Practica Tesis

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

Page 232: Guia Practica Tesis

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

Page 233: Guia Practica Tesis

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

Page 234: Guia Practica Tesis

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

Page 235: Guia Practica Tesis

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:

Page 236: Guia Practica Tesis

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:

Page 237: Guia Practica Tesis

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

Page 238: Guia Practica Tesis