Pág.
i
2.5.1 JavaScript ..............................................................................19
2.5.3 PhP.........................................................................................20
2.5.4 C# ...........................................................................................21
ii
ÍNDICE DE FIGURAS
Pág.
iii
2. MARCO TEÓRICO
El análisis y diseño de sistemas que los analistas de sistemas llevan a cabo busca
comprender qué necesitan los humanos para analizar la entrada o el flujo de datos de
manera sistemática, procesar o transformar los datos, almacenarlos y producir
información en el contexto de una organización específica. Mediante un análisis
detallado, los analistas buscan identificar y resolver los problemas correctos. Además,
el análisis y diseño de sistemas se utiliza para analizar, diseñar e implementar las
mejoras en el apoyo para los usuarios y las funciones de negocios que se puedan
llevar a cabo mediante el uso de sistemas de información computarizados1
Es un conjunto de elementos que interactúan entre sí con un fin común; que permite
que la información esté disponible para satisfacer las necesidades en una
organización, un sistema de información no siempre requiere contar con recuso
1
KENDALL, KENNETH E. Y KENDALL, JULIE E. Análisis y diseño de sistemas. Octava edición.
Pág. 6.
1
computacional aunque la disposición del mismo facilita el manejo e interpretación de
la información por los usuarios.2
Los elementos que interactúan entre sí son: el equipo computacional (cuando esté
disponible), el recurso humano, los datos o información fuente, programas ejecutados
por las computadoras, las telecomunicaciones y los procedimientos de políticas y
reglas de operación.3
El Ciclo de vida del desarrollo de sistemas es una metodología en fases para el análisis
y diseño, de acuerdo con la cual los sistemas se desarrollan mejor al utilizar un ciclo
específico de actividades del analista y los usuarios. 4
2
http://www.incap.int/sisvan/index.php/es/acerca-de-san/conceptos/sistema-de-vigilancia
3
Ibídem.
4
KENDALL KENNETH y KENDALL JULIE, Análisis y diseño de sistemas, 8ed. Pearson Educación,
México, 2011, Pag 8.
2
Ciclo de vida del desarrollo de sistemas, pero por lo general alaban su metodología
organizada. Aunque cada fase se presenta de manera discreta, en realidad nunca se
puede llevar a cabo como un paso separado, sino que varias actividades pueden
ocurrir al mismo tiempo, e incluso se pueden repetir.5
FIGURA 8.CICLO DE VIDA DEL DESARROLLO DE SISTEMAS
Fuente: KENDALL KENNETH y KENDALL JULIE, Análisis y diseño de sistemas, 8ed. Pearson
Educación, México, 2011, Pag 8.
Hay tres métodos interactivos clave que puede usar para obtener los requerimientos
humanos de información de los miembros de la organización: entrevistas, diseño de
aplicaciones conjuntas (JAD) y encuestas aplicadas a las personas mediante
cuestionarios. Aunque son distintos en su implementación, estos métodos tienen
muchas cosas en común. La base de sus propiedades compartidas es hablar con las
personas en la organización y escucharlas para comprender sus interacciones con la
tecnología, a través de una serie de preguntas cuidadosamente elaboradas.
5
KENDALL KENNETH y KENDALL JULIE, Análisis y diseño de sistemas, 8ed. Pearson Educación,
México, 2011, Pag 8.
3
2.1.3.1 Entrevista
1. Leer el material sobre los antecedentes. Lea y comprenda todo lo que pueda sobre
los antecedentes de los entrevistados y la organización. El sitio Web corporativo,
un informe anual actualizado, un boletín de noticias corporativo o cualquier
publicación que se emita para explicar el funcionamiento de la empresa al público
son fuentes útiles de información. Puede revisar en Internet cualquier información
corporativa.
3. Decidir a quién entrevistar. Incluya personas clave de todos los niveles que se vean
afectados por el sistema en cierta forma.
5. Decidir sobre los tipos de preguntas y su estructura. Redacte preguntas para cubrir
las áreas clave de la HCI (interacción humano-computadora) y el proceso de toma
6
KENDALL KENNETH y KENDALL JULIE, Análisis y diseño de sistemas, 8ed. Pearson Educación,
México, 2011, Pag 103.
4
de decisiones que haya descubierto al momento de determinar los objetivos de la
entrevista.
Tipos de preguntas:
Preguntas abiertas. Las preguntas abiertas son del tipo: “¿Qué piensa en cuanto a
poner a todos los gerentes en una intranet?”, “Por favor explique cómo toma una
decisión sobre la programación de tiempos y fechas.”, “¿En qué formas extiende el
sistema su capacidad de realizar tareas que no sería posible realizar mediante algún
otro medio?”. Abiertas describe las opciones que tiene el entrevistado para responder.
La respuesta puede constar de dos palabras o de dos párrafos.
2.1.3.2 Cuestionario
Por medio del uso de cuestionarios, el analista puede buscar cuantificar lo que
encontró en las entrevistas. Además, es posible usar cuestionarios para determinar
qué tan difundido o limitado está realmente un sentimiento expresado en una de las
entrevistas. Por lo contrario, se pueden utilizar cuestionarios para encuestar a una
muestra grande de usuarios de sistemas con el fin de detectar problemas o llevar a la
mesa de discusión cuestiones importantes antes de programar las entrevistas.
5
2.2. LENGUAJE DE MODELADO UNIFICADO UML
UML es un lenguaje estándar para escribir planos de software. UML puede utilizarse
para visualizar, especificar, construir y documentar los artefactos de un sistema que
involucre una gran cantidad de software.7
7
G.BOOCH, J. RUMBAUGH E I. JACONSON, el lenguaje unificado de modelado 2 A Edición 2006, Pag.
15
8
G.BOOCH, J. RUMBAUGH E I. JACONSON, el lenguaje unificado de modelado 2A Edición 2006, Pag.
259
6
2.2.2.1 Diagrama de casos de uso
Actor.
Casos de uso.
Relación y dependencia, generalización y asociación.
Elementos
Dependencia
9
Ibídem Pag. 15
7
Asociación: la relación asociación describe conexiones semánticas entre los
objetos individuales de clases. Las asociaciones proporcionan las conexiones,
con las cuales los objetos de diversas clases pueden interactuar. Gráficamente,
una asociación se representa como una línea continua:
Asociaciones
Generalización
Realización
8
FIGURA 2. MODELO DE DIAGRAMA DE CASOS DE USO
10
KENDALL KENNETH y KENDALL JULIE, Análisis y diseño de sistemas, 8ed. Pearson Educación,
México, 2011, Pag. 294.
9
FIGURA 3. MODELO DE DIAGRAMAS DE SECUENCIA
Los diagramas de clases son los más utilizados en el modelado de sistemas orientados
a objetos. Un diagrama de clases muestra un conjunto de clases, interfaces y
colaboraciones así como sus relaciones. Los diagramas de clases se utilizan para
modelar la vista de diseño estática de in sistema. Esto incluye, principalmente, modelar
el vocabulario del sistema, modelar las colaboraciones o modular el esquema. 11
11
G.BOOCH, J. RUMBAUGH E I. JACONSON, el lenguaje unificado de modelado 2A Edición 2006, Pag.
113
10
FIGURA 4. MODELO DE DIAGRAMA DE CLASES
12
https://manuel.cillero.es/doc/metrica-3/tecnicas/diagrama-de-interaccion/diagrama-de-colaboracion/
11
direcciones. Como un vínculo instancia una relación de asociación entre clases,
también se puede indicar la navegabilidad del mismo mediante una flecha.
Servicio Web a una colección de procedimientos (métodos) a los que podemos llamar
desde cualquier lugar de Internet o de nuestra intranet, siendo este mecanismo de
invocación totalmente independiente de la plataforma que utilicemos y del lenguaje de
programación en el que se haya implementado internamente el servicio. 13
13
http://www.jtech.ua.es/j2ee/publico/servc-web-2012-13/sesion01-apuntes.html
12
Los servicios Web pueden combinarse con muy bajo acoplamiento para conseguir la
realización de operaciones complejas. De esta forma, las aplicaciones que
proporcionan servicios simples pueden interactuar con otras para "entregar" servicios
sofisticados añadidos.14
Fuente: http://www.jtech.ua.es/j2ee/publico/servc-web-2012-13/sesion01-apuntes.html
Los servicios Web SOAP, o servicios Web "big", utilizan mensajes XML para
intercomunicarse que siguen el estándar SOAP (Simple Object Access Protocol), un
lenguaje XML que define la arquitectura y formato de los mensajes. Dichos sistemas
normalmente contienen una descripción legible por la máquina de la descripción de las
operaciones ofrecidas por el servicio, escrita en WSDL (Web Services Description
14
http://www.jtech.ua.es/j2ee/publico/servc-web-2012-13/sesion01-apuntes.html
13
Language), que es un lenguaje basado en XML para definir las interfaces
sintácticamente.
Los servicios Web REST utilizan estándares muy conocidos como HTTP, SML,
URI, MIME, y tienen una infraestructura "ligera" que permite que los servicios se
construyan utilizando herramientas de forma mínima. Gracias a ello, el desarrollo
de servicios RESTful es barato y tiene muy pocas "barreras" para su adopción.
Al momento que decidimos desarrollar Software con extracción de datos desde internet
es necesario la aplicación de servicios web servicios web, también tenemos que
verificar las necesidad de dicho software, para la correcta aplicación de un tipo de
servicio web tales como SOAP o REST, los cuales ofrecen una gran variedad para la
comunicación e intercambio de mensajes entre aplicaciones tanto móviles como webs.
Una base de datos es una fuente central de datos con el fin de que varios usuarios la
compartan para su uso en varias aplicaciones. El corazón de una base de datos es el
sistema de administración de bases de datos (DBMS), el cual permite crear, modificar
y actualizar la base de datos, la recuperación de los datos y la generación de informes
14
y pantallas. A la persona que asegura que la base de datos cumpla con sus objetivos
se le conoce como administrador de bases de datos.15
2.4.2.1 MySQL
Gestor de simple instalación que actúa del lado del cliente (servidor) y de código
abierto con licencia comercial disponible. Actualmente, pertenece a Oracle
Corporation. Gestiona bases de datos relacionales, es multiusuario y el más usado
dentro del software libre. Destaca por requerir de poca memoria y procesador para
funcionar, dando lugar además a una mayor velocidad en sus operaciones. Es usado
principalmente para el desarrollo web. 17
15
KENDALL KENNETH y KENDALL JULIE, Análisis y diseño de sistemas, 8ed. Pearson Educación,
México, 2011, Pag. 403
16
https://www.ecured.cu/Sistema_Gestor_de_Base_de_Datos
17
https://smarterworkspaces.kyocera.es/blog/mejores-gestores-de-base-de-datos-del-mercado
15
y fácil la utilización, también cuenta con un amplio conjunto de característica que lo
hace que se resalte y sea uno de los gestores más utilizadas en la actualidad.
Compatibilidad con SQL: Este sistema tiene como idioma de base de datos, un
lenguaje de consulta organizado. SQL es un lenguaje generalizado que logra
consultar y renovar datos para la gestión de una base de registros. Existen
diversos dialectos de SQL para que el sistema de bases de datos opere
adecuadamente. Además este se conecta con un SQL estándar, aunque con
limitaciones significativas y una gran numero de extensiones.
Vistas: En pocos términos las vistas tienen gran relación con una consulta SQL
y se observa como un objeto en la base de datos distinto y hace viable una vista
individual en la base de datos. MySQL posee vistas semejantes desde la versión
5.0.
16
Desencadenantes: Los desencadenantes son instrucciones del SQL, este
servidor produce automáticamente en diversos procedimientos en la base de
registros, esto hace que los activadores trabajen de forma limitada desde la
versión 5.0 y se apunta a una mejor funcionalidad adicional para la versión 5.1.
SQL server cuenta con un entrono grafico para administración, en este se pueden usar
comandos DDL y DML de manera gráfica, es escalable, estable y permite administrar
información de otros servidores.
17
SQL server cuenta con un entrono grafico para administración, en este se pueden usar
comandos DDL y DML de manera gráfica, es escalable, estable y permite administrar
información de otros servidores.Es fácil de usar y proporciona funciones de
almacenamiento de datos que sólo estaban disponibles en Oracle y otros sistemas
gestores de bases de datos más caros.18
2.4.2.3 Oracle
El objetivo principal de estos gestores es hacer más amable la interacción con la base
de datos, existen un sinfín de ellos, cada uno con características distintas algunas de
ellos completamente.
18
https://www.ecured.cu/Sistema_Gestor_de_Base_de_Datos
19
https://blog.mastercoria.com/tops/top-6-gestores-de-bases-de-datos-mas-usados
18
pueden usarse para crear programas que controlen el comportamiento de una
máquina, expresar algoritmos con precisión, o como modo de comunicación humana. 20
2.5.1 JavaScript
JavaScript fue desarrollado por Netscape, a partir del lenguaje Java, el cual sigue una
filosofía similar, aunque va más allá. Java es un lenguaje de programación por sí
mismo, como lo puedan ser C, Pascal o Visual Basic. Esto quiere decir, que se puede
ejecutar un programa Java fuera de un navegador. Pero, repetimos, que la diferencia
fundamental es que Java es un lenguaje completo, que puede ser utilizado para crear
aplicaciones de todo tipo, mientras que JavaScript sólo “funciona” dentro de una
página HTML.22
20
https://www.muycomputerpro.com/2011/08/26/historia-lenguajes-programacion
21
https://docs.google.com/viewer?url=http%3A%2F%2Fwww.dtic.upf.edu%2F~tnavarrete%2Ffcsig%2F
javascript.pdf&pdf=true
22
https://docs.google.com/viewer?url=http%3A%2F%2Fwww.dtic.upf.edu%2F~tnavarrete%2Ffcsig%2F
javascript.pdf&pdf=true
19
2.5.2 Java
2.5.3 PhP
23
http://cs.ictea.com/knowledgebase.php?action=displayarticle&id=8790
24
Ibídem.
20
destacar su capacidad de crear páginas dinámicas, así como la posibilidad de separar
el diseño del contenido de una web.
2.5.4 C#
25
https://msdn.microsoft.com/es-es/library/z1zx9t92(v=vs.80).aspx
26
Ibídem
21
Un IDE (integrated development environment o entorno de desarrollo integrado) es un
programa el cual su función es brindar a los programadores un conjunto de
herramientas para programar de una manera más eficiente. Hay que señalar que un
IDE se puede encontrar disponible para un lenguaje exclusivo o al mismo tiempo
incorporar un área de trabajo para diferentes lenguajes de programación. 27
2.5.5.1 Netbeans
2.5.5.2 Eclipse
27
programacionuptc2014.blogspot.com/2014/11/ide-para-programar.html
28
https://www.genbetadev.com/herramientas/netbeans-1
29
https://www.genbetadev.com/herramientas/eclipse-ide
22
2.5.5.3 Visual Studio
Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en
inglés) para sistemas operativos Windows. Soporta varios lenguajes de programación
tales como Visual C++, Visual C#, Visual J#, y Visual Basic .NET, al igual que entornos
de desarrollo web como ASP.NET. Aunque actualmente se han desarrollado las
extensiones necesarias para muchos otros.
30
https://todojosevaldeqz.wordpress.com/desarrollo-de-software/desarrollo-net/capitulo-vi-visual-
studio/historia-de-visual-studio/
31
Ian Sommerville Ingeniería del Software 7ma. Ed. Pag. 6
32
ROGER S. PRESSMAN, Ingenieria.de.software.enfoque.practico.7ed. Pag 14
23
A pesar de la variedad de propuestas de proceso de software, existe un conjunto de
actividades fundamentales que se encuentran presentes en todos ellos:
33
IAN SOMMERVILLE, Ingeniería de Software 9 ed. Pag. 30
34
Ibídem 9ed. Pag. 30
24
Las principales etapas del modelo en cascada reflejan directamente las actividades
fundamentales del desarrollo: 35
Diseño del sistema y del software: El proceso de diseño de sistemas asigna los
requerimientos, para sistemas de hardware o de software, al establecer una
arquitectura de sistema global. El diseño del software implica identificar y describir
las abstracciones fundamentales del sistema de software y sus relaciones.
35
IAN SOMMERVILLE, Ingeniería de Software 9 ed. Pag. 31
25
FIGURA 7. MODELO EN CASCADA
36
https://procesosoftware.wikispaces.com/Modelo+Incremental
26
Análisis
Diseño
Código
Prueba
37
https://procesosoftware.wikispaces.com/Modelo+Incremental
27
funcionalidad o se cubren nuevos requisitos o se mejora la versión previamente
implementada del producto software.
La idea detrás de este modelo es el desarrollo de una implantación del sistema inicial,
exponerla a los comentarios del usuario, refinarla en N versiones hasta que se
desarrolle el sistema adecuado. Los evolutivos son modelos iterativos, permiten
desarrollar versiones cada vez más completas y complejas, hasta llegar al objetivo final
deseado; incluso evolucionar más allá, durante la fase de operación. Los modelos
“Iterativo Incremental” y “Espiral” (entre otros) son dos de los más conocidos y
utilizados del tipo evolutivo. 38
Una ventaja de este modelo es que se obtiene una rápida realimentación del usuario,
ya que las actividades de especificación, desarrollo y pruebas se ejecutan en cada
iteración.
38
http://jorgetrejos.blogspot.com/2010/08/modelo-evolutivo.html
28
2.6.3 Metodología RUP
Principales características:
29
2.6.3.2 Dimensiones del RUP
Eje vertical: Representa los aspectos estáticos del proceso. Describe el proceso
en términos de componentes de proceso, disciplinas, flujos de trabajo, actividades,
artefactos y roles.
RUP se repite a lo largo de una serie de ciclos que constituyen la vida de un producto.
Cada ciclo concluye con una generación del producto para los clientes. Cada ciclo
consta de cuatro fases: Inicio, Elaboración, Construcción y Transición. Cada fase se
subdivide a la vez en iteraciones, el número de iteraciones en cada fase es variable.
30
FIGURA 11.FASES DEL RUP
Las cuatro fases del ciclo de vida de la Metodología RUP se detallan a continuación:
Inicio: Durante la fase de inicio se define el modelo del negocio y el alcance del
proyecto. Se identifican todos los actores y Casos de Uso, y se diseñan los Casos
de Uso más esenciales (aproximadamente el 20% del modelo completo). Se
desarrolla, un plan de negocio para determinar que recursos deben ser asignados
al proyecto.
31
deben ser implementados, integrados y probados en su totalidad, obteniendo una
versión aceptable del producto.
32