TIPOS DE SISTEMAS
Sistemas de Procesamiento de Transacciones (TPS)
Sistemas de automatización de oficinas y sistemas de trabajo de conocimiento
Sistemas de información administrativa
Sistemas de soporte de decisiones
Inteligencia artificial y sistemas expertos
Sistemas de soporte de decisiones en grupo y sistemas de trabajo colaborativo asistido por computadora
Sistemas de soporte para ejecutivos
Las
aplicaciones
de comercio
electrónico y
los sistemas
Web
A muchos de los sistemas que veremos en este libro se les puede agregar
una mayor funcionalidad si se hacen migrar a la World Wide Web o si se
conciben e implementan originalmente como tecnologías basadas en Web.
Hay muchos beneficios relacionados con el proceso de montar o mejorar
una aplicación en Web:
1. Aumenta el número de usuarios que se enteran de la
disponibilidad de un servicio, producto, industria, persona o grupo.
2. Los usuarios tiene la posibilidad de acceder las 24 horas del día.
3. Se puede mejorar la utilidad y capacidad de uso del diseño de la
interfaz.
4. Se puede expandir un sistema globalmente en vez de
permanecer en el entorno local
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.
Necesidad de una metodología
Surgió la necesidad de adaptar los sistemas informáticos a las exigencias del
El programador realizaba el levantamiento de necesidades
1970 Code & Fix
Definición de
una
Metodología
Esta sistematización nos indica cómo
dividiremos un gran proyecto en
más pequeños llamados etapas, y las
acciones que corresponden en cada una
de ellas, nos ayuda a definir entradas y
salidas para cada una de las etapas
Vista General de un Ciclo de Vida de Software
PLANIFICACIÓN IMPLEMENTACIÓN PUESTA EN
PRODUCCIÓN
El ciclo de vida de un producto software se desarrolla fuera del ámbito
productivo, aunque debemos conocer el entorno (environment) en el
que será ejecutado
ISO12207
Define al ciclo de vida de un
software como un marco de
referencia que contiene las
actividades y las tareas
involucradas en el desarrollo, la
explotación y el mantenimiento de
un producto software, abarcando
desde la definición hasta la
finalización de su uso.
Objetivos de Cada Etapa
Objetivos
Tareas
Actividades que lo caractericen
Objetivos de cada etapa
Necesidades
Especificaciones
Análisis
Diseño
Implementación (algoritmos, compatibilidad)
Debugging
Validación
Evolución (actualizaciones (correcciones de errores y agregar nuevas funciones)
Todos los recursos
tecnológicos
La estructura (sw)
• Funcionalidades
• Descripcion clara de que se
va a realizar
• Como va a interartuar
• (IterationFlow)
• Estructura SW
• BD (Relaciones)
• LENGUAJE DE
PROGRAMACION (Java,
etc)
• SGBD(sql server, Mysql,
Oracle, Dbase, etc (no-
sql)
Expresion de
Necesidades
Esta etapa tiene como
objetivo el armado de un
documento en el cual se
reflejan los requerimientos
y funcionalidades que
ofrecerá al usuario el
sistema a implementar.
Que se va hacer, mas como lo vamos hacer
Levantar todos los requerimientos (cargue
documentos, email, etc)
Análisis
Determinamos los elementos que intervienen en el sistema a desarrollar, su
estructura, relaciones, evolución temporal, funcionalidades, tendremos una
descripción clara de qué producto vamos a construir
Implementación
empezamos a codificar
algoritmos y estructuras de
datos, definidos en las
etapas anteriores, en el
correspondiente lenguaje
de programación o para
un determinado sistema
gestor de bases de datos.
Debugging
El objetivo de esta etapa es
garantizar que nuestro
programa no contiene errores
de diseño o codificación.
Validación
En esta etapa tiene como
objetivo la verificación de
que el sistema desarrollado
cumple con los
requerimientos expresados
inicialmente por el cliente y
que han dado lugar al
presente proyecto.
Evolución
Se considera esta etapa como
Mantenimiento y evolución,
se le asigna, no sólo el agregado de
nuevas funcionalidades (evolución)
La corrección de errores que surgen
(mantenimiento)
Clasificación de las metodologías
Estructurada
(cada función a realizar se descompone en pequeños modulos
individuales.
Orientada a Objetos
(arma módulos basados en componentes)
Metodología Estructurada
la orientación de esta metodología
se dirige hacia los procesos que
intervienen en el sistema a
desarrollar, es decir, cada función a
realizar por el sistema se
descompone en pequeños módulos
individuales.
Metodología
Orientada a
Objetos
Esta no comprende los
procesos como funciones,
sino que arma módulos
basados en componentes,
es decir, cada componente
es independiente del otro.
Modelos de Ciclo de Vida
El alcance del ciclo de vida (ciclos de vida)
Cualidad y cantidad de las etapas
Estructura y la secesión de las etapas (retroalimentción, y si se tiene la libertad de repetirlas (iteración)
Ciclos de Vida en el desarrollo de Software
Lineal
Cascada
Puro
V (versiones) Sashimi
Cascada con
subproyectos
Iterativo
(versiones)
Prototipo
(Versiones)
Evolutivo
(Versiones)
Incremental
Espiral
(Versiones)
Orientado a
Objetos
Hasta hace un tiempo, la
ingeniería del software era
fundamentalmente una
actividad manual, en la cual
las herramientas se
utilizaban solamente en las
últimas fases del proceso.
su objetivo es,
acelerar el proceso
para el que han
sido diseñadas, en
el caso de CASE
para automatizar o
apoyar una o más
fases del ciclo de
vida del desarrollo
de sistemas
Objetivos
Aumentar la productividad en el desarrollo.
Dar calidad a los productos desarrollados.
Reducir el costo del software.
Automatizar los chequeos de errores.
Acelerar el desarrollo de las aplicaciones.
Automatizar tareas de desarrollo.
Automatizar la generación de documentación.
Dar portabilidad al software.
Implantar metodologías de desarrollo.
Datos reutilizables y compartidos.
Administrar el proyecto.
Ingeniería hacia atrás (reingeniería).
Beneficios
Permite las técnicas estructuradas.
Impone las ingenierías del software y de la
información.
Aumenta la calidad del software mediante
comprobación automática.
Favorece la realización de prototipos.
Simplifica el mantenimiento del programa.
Acelera el proceso de desarrollo.
Anima al desarrollo evolucionado y gradual.
Posibilita la reutilización de los componentes
del software.
Repositorio o Depósito centralizado de información.
permite obtener información para los realizadores cuando
se necesita y directamente utilizable.
Almacenan los elementos creados por un SGBD
Contiene detalles sobre los componentes del sistema
(flujos de datos y procesos
Información sobre cada una de las actividades
Metamodelo o
Herramientas
de
administración
Ayudan a los gerentes de
proyecto a mantener la
efectividad y eficiencia de todo el
proceso de desarrollo de una
aplicación.
Ayuda a los gerentes de
desarrollo a calendarizar las
actividades de análisis y diseño
así como la asignación de
recursos a las diferentes
actividades del proyecto
Generador
de informes
o
Herramientas
para
diagramación
Da soporte al análisis y documentación de los
requerimientos de una aplicación
Permite obtener toda la documentación que
describe el sistema de información desarrollado
Ofrece la capacidad de dibujar diagramas y cartas,
además de guardar los detalles en forma interna.
Herramienta de carga/descarga de
datos o Generadores de código.
Permite cargar el repositorio de la herramienta CASE con
datos provenientes de otros sistemas.
Automatiza la preparación de software
Incorpora métodos que permiten convertir las
especificaciones del sistema en código ejecutable.
¿Que es XML?
El desarrollo de XML comenzó en 1996.
Desde febrero de 1998 es una recomendación del W3C.
XML (Extensible Markup Language) es un subconjunto del SGML
(Standard Generalized Markup Language).
XML es un metalenguaje con el que se pueden definir otros lenguajes
de etiquetas.
Los documentos XML tienen formato de texto.
¿Cómo esta estructurado XML?
Físicamente, un documento XML puede consistir en una o mas unidades de
almacenamiento, llamadas entidades.
Las entidades tienen contenido y están identificadas por un nombre.
Cada documento XML contiene una entidad, llamada entidad documento, que
sirve como punto de partida para el procesador XML y que puede contener el
documento completo.
Cada documento XML contiene uno o más elementos, cuyos limites están
delimitados por etiquetas de comienzo y de final o, en el caso de elementos
vacíos, por una etiqueta de elemento vacío. Cada elemento tiene un tipo,
identificado por un nombre, denominado identificador genérico, y puede tener
un conjunto de especificaciones de atributos.
¿Cómo esta estructurado XML?
Un documento bien formado es aquel documento que
cumple con la especificación de XML 1.0, es decir que sea
sintácticamente correcto.
Un documento XML bien formado debe seguir algunas
reglas básicas:
Debe contener uno o más elementos.
Debería comenzar con una declaración XML.
Sólo puede haber un elemento raíz.
¿Cómo esta estructurado XML?
Un documento XML bien formado debe seguir algunas reglas básicas:
Cumple todas las restricciones que proporciona su especificación a través del DTD.
Cada una de sus partes analizadas esta bien formada.
Toda etiqueta abierta hay que cerrarla. Para cada etiqueta de inicio debe existir una
etiqueta de termino. Las únicas etiquetas que van solas son las etiquetas vacías.
¿Cómo esta estructurado XML?
Un documento XML bien formado debe seguir algunas reglas básicas:
Es sensible a mayúsculas y minúsculas, las etiquetas de inicio y de
termino se tienen que escribir igual.
No se pueden intercalar etiquetas.
Una etiqueta puede tener atributos cerrados entre comillas.
El nombre de las etiquetas empiezan con una letra, o con uno o
más signos de puntuación.
Los comentarios van encerrados.
¿Cómo se usa XML?
NAVEGADORES
(BROWSERS)
EDITORES XML
¿Para qué sirve XML?
(Aplicaciones basadas en XML)
XML puede tener tres posibles roles:
De contenedor de información
Para definir el contenido de los mensajes
Para describir el contenido de los mensajes
¿Para qué sirve XML?
(Aplicaciones basadas en XML)
Descargar trabajo en el Servidor
Por medio del Modelo de Objetos de Documentos (DOM), podemos
evitarle trabajo al servidor, espera al cliente y no saturar tanto la red.
Personalización de la WEB
Gracias al XSL/XSLT, podemos transformar y dar el formato que
queramos a un mismo documento XML.
¿Para qué sirve XML?
(Aplicaciones basadas en XML)
Independencia del dispositivo de acceso a la información
Si disponemos de un servidor WAP y otro WEB, podemos saber en
función del protocolo, desde donde se nos pide la información y en
función del dispositivo, mostrarle la misma información de una forma u
otra.
Gestión de la información / conocimiento
Si etiquetamos la información y a cada usuario se le proporciona una
serie de etiquetas de interés, se podría resaltar la información que le es
interesante, frente a la que no es relevante.
¿Para qué sirve XML?
(Aplicaciones basadas en XML)
Buscador WEB
Si disponemos de un sitio donde toda la información se encuentre
etiquetada en documentos XML, las búsquedas serían mucho más efectivas,
ya que se conjuga la potencia de la búsqueda indexada junto la búsqueda
semántica.
Intercambio de información
Si contratamos a una empresa un servicio de noticias, y nos facilitan la
estructura de los datos que vamos a recibir (DTD/Schema), sabremos en
todo momento que tipos de documentos XML estamos recibiendo, y
podremos tratarlos de la forma que deseemos.
La vista de casos de uso captura la
funcionalidad de un sistema, de un
subsistema, o de una clase, tal como se
muestra a un usuario exterior
Los usuarios del sistema se denominan
actores y las particiones funcionales se
conocen con el nombre de casos de uso
Relaciones
de los casos
de uso
Asociación
Generalización (
Inclusión (se describe explifcitamente la
Extensión (no se conoce como es la inclusion)
Generalización de casos de uso
El hijo hereda las
relaciones y
comportamiento del
padre y puede agregar
atributos y operaciones
propias.
Relación de extensión
Especifica que el
comportamiento
puede ser extendido
con comportamiento
adicional definido en
otro caso de uso
Relación de inclusión
Relación entre dos casos de
uso que indica que el
comportamiento de un caso
de uso (incluido) se inserta en
el comportamiento de otro
caso de uso (base o inclusor)
en la localización especificada
en este último.