Está en la página 1de 8

Modelo de negocios y la

abstracción de datos
02

BASE DE DATOS I

Francisco V. Gonzales Sánchez


TBASE DE DATOS I FRANCISCO VIDAL GONZALES SÁNCHEZ

1, Deficición de modelo de negocio

El modelo de negocios es el estudio de la organización.


Durante el proceso de modelado del negocio, se examina la estructura de la
organización y se observan los roles en la compañía y como estos se relacionan.
También se examina el flujo de trabajo de la organización, los procesos principales
dentro de la compañía y como ellos trabajan. Además, se deben examinar las
entidades externas, cualquier individuo u otras compañías, y como interactúan con el
negocio, y observar las implicaciones de esas interacciones.
Gracias al modelado de negocio, podemos empezar el desarrollo del sistema de
información con información certera y de primera mano, pudiendo lograr así un
sistema de información de calidad. El modelo de negocio, puede existir en cualquier
organización, aun cuando no cuente con un sistema de información. El resultado del
modelado de negocio, es la “ENTRADA” para el Modelo de Desarrollo de Software.

Figura 2.1. Llevar el modelo de negocios al modelo de datos

2. Abstracción de datos

Una característica fundamental de un sistema de base de datos es que proporciona


un cierto nivel de abstracción de los datos porque oculta detalles de almacenamiento
que la mayoría de los usuarios no necesita conocer.

La abstracción

La abstracción es un mecanismo fundamental para la comprensión de fenómenos


o situaciones que implican gran cantidad de detalles. La idea de abstracción es uno
de los conceptos más potentes en el proceso de resolución de problemas.
Se entiende por abstracción la capacidad de manejar un objeto (tema o idea) como
un concepto general, sin considerar la enorme cantidad de detalles que pueden estar
asociados con dicho objeto. Sin abstracción no sería posible manejar, ni siquiera
entender, la gran complejidad de ciertos problemas. Por ejemplo, sería inimaginable
pensar en el presidente de una gran multinacional que viese la empresa en términos
de cada trabajador individual o de cada uno de los objetos que fabrica, en vez de
departamentos especializados. El proceso de abstracción presenta dos aspectos
complementarios:

1. Enfatizar los aspectos relevantes del objeto.

1
TBASE DE DATOS I FRANCISCO VIDAL GONZALES SÁNCHEZ

2. Ignorar aspectos irrelevantes del mismo (la irrelevancia depende del nivel de
abstracción, ya que, si se pasa a niveles más concretos, es posible que ciertos
aspectos pasen a ser relevantes).

Se puede decir que la abstracción permite estudiar los fenómenos complejos


siguiendo un método jerárquico, es decir, por sucesivos niveles de detalle.
Generalmente, se sigue un sentido descendente, desde los niveles más generales a
los niveles más concretos.

La abstracción es la acción y el efecto de abstraer, es decir, el proceso mental


innato del ser humano de esconder los detalles y centrarse en aquello que es
esencial. Su objetivo es buscar las propiedades comunes de una realidad o de un
conjunto de objetos del mundo real, reduciendo la complejidad y ayudando a
comprenderla. Mediante este proceso, los elementos o las calidades de una
realidad son discernidos de los otros para considerarlos aisladamente, o esta
realidad es considerada en su propia esencia

3. Definición de requerimientos y análisis de requerimientos.

Requerimientos

Los requerimientos especifican qué es lo que el sistema debe hacer (sus funciones) y
sus propiedades esenciales y deseables. La captura de los requerimientos tiene como
objetivo principal la comprensión de lo que los clientes y los usuarios esperan que
haga el sistema. Un requerimiento expresa el propósito del sistema sin considerar
como se va a implantar. En otras palabras, los requerimientos identifican el qué del
sistema, mientras que el diseño establece el cómo del sistema

Clasificación de los requerimientos

Existen diferentes clasificaciones de los requerimientos, representativas de distintos


autores:

• Requerimientos funcionales. Los requerimientos funcionales son


aseveraciones de los servicios que el sistema debe proveer, como el sistema
debe reaccionar a entradas particulares y como el sistema debe comportarse
bajo situaciones particulares. En algunos casos los requerimientos funcionales
deben describir de manera explícita, lo que el sistema no debe hacer.
• Requerimientos no funcionales. Estos requerimientos son restricciones
sobre los servicios y funcionalidades ofrecidos por el sistema. Estos incluyen
restricciones en el tiempo que se debe demorar un proceso, restricciones sobre
el proceso de desarrollo y estándares. Los requerimientos no funcionales
aplican usualmente sobre el sistema como un todo. Estos normalmente no
aplican a características o servicios particulares del sistema.

Análisis de Requerimientos

Es el conjunto de técnicas y procedimientos que nos permiten conocer los elementos


necesarios para definir un proyecto de software. Es una tarea de ingeniería del

2
TBASE DE DATOS I FRANCISCO VIDAL GONZALES SÁNCHEZ

software que permite especificar las características operacionales del software, indicar
la interfaz del software con otros elementos del sistema y establecer las restricciones
que debe cumplir el software.

El Proceso de Análisis de Requerimientos

Modelos Tradicionales

Para entender mejor las técnicas que son utilizadas para llevar a cabo el análisis de
requerimientos, hay que diferenciar 4 grandes perspectivas sobre las cuales se puede
llevar a cabo este proceso.

• Descomposición Funcional Esta estrategia consiste en definir el


comportamiento requerido (requerimientos) como una relación entre entradas
y salidas de software.
• Análisis Estructurado Este modelo está basado en la premisa que expone
que las dificultades accidentales pueden ser enfrentadas con una aproximación
sistemática del análisis del problema.
• Especificación Operacional Este modelo se enfoca principalmente en
solucionar dos de los dilemas más importantes que rodean a los
requerimientos.
• Análisis Orientado a Objetos Este modelo basa sus principios en realizar
modelos de la información y el diseño orientado a objetos.

La especificación de requerimientos suministra al técnico y al cliente, los medios para


valorar el cumplimiento de resultados, procedimientos y datos, una vez que se haya
construido.
La tarea de análisis de los requerimientos es un proceso de descubrimiento y
refinamiento, el cliente y el desarrollador tienen un papel activo en la ingeniería de
requerimientos de software. El cliente intenta plantear un sistema que en muchas
ocasiones es confuso para él, sin embargo, es necesario que describa los datos, que
especifique las funciones y el comportamiento del sistema que desea. El objetivo es
que el desarrollador actúe como un negociador, un interrogador, un consultor, o sea,
como persona que consulta y propone para resolver las necesidades del cliente.
El análisis de requerimientos proporciona una vía para que los clientes y lo
desarrolladores lleguen a un acuerdo sobre lo que debe hacer el sistema. La
especificación, producto de este análisis proporciona las pautas a seguir a los
diseñadores del sistema

La función principal de un analista del software (o ingeniero de requisitos es llevar a


cabo las actividades necesarias para cumplir con las áreas de esfuerzo descritas
anteriormente.

Para lo cual hace uso de las siguientes técnicas:


1. Entrevistas
2. Talleres
3. Observación
4. Encuestas
5. Revisión documental

3
TBASE DE DATOS I FRANCISCO VIDAL GONZALES SÁNCHEZ

6. Uso de especificaciones formales para requerimientos (formatos estándar de


documentos, UML, etc.)

En esta actividad, los ingenieros de software trabajan con los clientes y los usuarios
finales del sistema para determinar el dominio de la aplicación, qué servicios debe
proporcionar el sistema, el rendimiento requerido del sistema, las restricciones
hardware, etcétera.

[Sommerville, 2005] presenta el modelo de la figura 2.2 de (Robertson y Robertson,


1999) para mostrar que los requerimientos pueden extraerse de muchas maneras,
sugiere ser creativos en la forma de averiguar qué es lo que los clientes quieren, y
propone:
• Revisar la situación actual.
• Trabajar en el ámbito del usuario para comprender el contexto, los problemas
y las relaciones.
• Entrevistar a los usuarios actuales y potenciales.
• Realizar un video para mostrar cómo podría funcionar el nuevo sistema.
• Investigar en documentos existentes.
• Conducir tormentas de ideas con los usuarios actuales y potenciales.
• Observar las estructuras y los patrones.

La obtención y análisis de requerimientos pueden afectar a varias personas de la


organización. El término stakeholder (sin traducción al español) se utiliza en la
Ingeniería de Software para referirse a cualquier persona o grupo que se verá afectado
por el sistema, directa o indirectamente.

Según [Sommerville, 2005], obtener y comprender los requerimientos de los


stakeholders es difícil por varias razones:

• Los stakeholders a menudo no conocen lo que desean obtener del sistema


informático excepto en términos muy generales. Pueden hacer demandas irreales
o resultarles difícil expresar lo que quieren que haga el sistema.
• Los ingenieros de requerimientos, sin experiencia en el dominio del cliente,
deben comprender los requerimientos que los stakeholders expresan con sus
propios términos y con un conocimiento implícito de su trabajo.

4
TBASE DE DATOS I FRANCISCO VIDAL GONZALES SÁNCHEZ

• Diferentes stakeholders tienen requerimientos distintos. Es necesario descubrir


las concordancias y los conflictos entre éstos.

El descubrimiento de requerimientos es el proceso de recoger información sobre el


sistema propuesto y los existentes extrayendo esta información del usuario y del
sistema. Las fuentes de información durante la fase del descubrimiento de
requerimientos incluyen la documentación, los stakeholders del sistema y la
especificación de sistemas similares. Las técnicas de descubrimiento de
requerimientos, son varias, pueden usarse entrevistas, escenarios, prototipos y
etnografía.

La figura 2.3 explica por qué el proceso de los requerimientos es crítico para el buen
desarrollo de software.

Fuente: Gómez Fuentes María del Carmen, Análisis de requerimientos, editorial Publidisa
Mexicana 2011.

4. Herramientas modeladoras de bases de datos.

CASE o Ingeniería de Software Asistida por Computadora generalmente puede ser


aplicado a cualquier sistema o colección de herramientas que ayudan a automatizar
el diseño de software y el proceso de desarrollo. Los compiladores, editores
estructurados, sistemas de control de código fuente, y las herramientas de modelado,
todos ellos son herramientas CASE en el sentido más estricto.
CASE es una filosofía que se orienta a la mejor comprensión de los modelos de
empresa, sus actividades y el desarrollo de los sistemas de información. Esta filosofía
involucra además el uso de programas que permiten:

• Construir los modelos que describen la empresa,


• Describir el medio en el que se realizan las actividades,
• Llevar a cabo la planificación,
• El desarrollo del Sistema Informático, desde la planificación, pasando por el
análisis y diseño de sistemas, hasta la generación del código de los programas
y la documentación.

Algunos de los objetivos que persiguen las herramientas CASE podemos destacar:

5
TBASE DE DATOS I FRANCISCO VIDAL GONZALES SÁNCHEZ

• Aumentar la productividad de las áreas de desarrollo y mantenimiento de los


sistemas informáticos.
• Mejorar la calidad del software desarrollado.
• Reducir tiempos y costos de desarrollo y mantenimiento del software.
• Mejorar la gestión y dominio sobre el proyecto en cuanto a su planificación,
ejecución y control.
• Mejorar el archivo de datos (enciclopedia) de conocimientos (know-how) y sus
facilidades de uso, reduciendo la dependencia de analistas y programadores.

Entre las herramientas CASE se encuentran las aplicaciones de modelado de Bases


de Datos y en este artículo vamos a centrar toda nuestra atención en la herramienta
ER/Studio de Embarcadero

Ejemplos de herramientas Case

• ER/Studio: Está equipado para crear y manejar diseños de bases de datos


funcionales y confiables. Ofrece fuertes capacidades de diseño lógico,
sincronización bidireccional de los diseños físicos y lógicos, construcción
automática de base de datos, documentación y fácil creación de reportes.
• Erwin: PLATINUM ERwin es una herramienta de diseño de base de datos.
Brinda productividad en diseño, generación, y mantenimiento de aplicaciones.
Desde un modelo lógico de los requerimientos de información, hasta el modelo
físico perfeccionado para las características específicas de la base de datos
diseñada, ERwin permite visualizar la estructura, los elementos importantes, y
optimizar el diseño de la base de datos. Genera automáticamente las tablas y
miles de líneas de stored procedure y triggers para los principales tipos de base
de datos.
• EasyCASE: EasyCASE Profesional, el centro de productos para
procesos, modelamiento de datos y eventos, e Ingeniería de Base de Datos, es
un producto para la generación de esquemas de base de datos e ingeniería
reversa, trabaja para proveer una solución comprensible para el diseño,
consistencia y documentación del sistema en conjunto.
• Oracle Designer: Oracle Designer es un juego de herramientas para guardar
las definiciones que necesita el usuario y automatizar la construcción rápida de
aplicaciones cliente/servidor flexibles y gráficas. Integrado con Oracle
Developer, Oracle Designer provee una solución para desarrollar sistemas
empresariales cliente/servidor de segunda generación.
• PowerDesigner: PowerDesigner es una suite de aplicaciones de Powersoft
para la construcción, diseño y modelado de datos a través de diversas
aplicaciones. Es la herramienta para el análisis, diseño inteligente y
construcción sólida de una base de datos y un desarrollo orientado a modelos
de datos a nivel físico y conceptual, que dan a los desarrolladores de
aplicaciones Cliente/Servidor la más firme base para aplicaciones de alto
rendimiento.
• System Architect: Posee un repositorio único que integra todas las
herramientas, y metodologías usadas. En la elaboración de los diagramas, el
System Architect conecta directamente al diccionario de datos, los elementos
asociados, comentarios,reglas de validaciones, normalización, etc. Posee
control automático de diagramas y datos, normalizaciones y balanceo entre
diagramas "Padre e Hijo", además de balanceo horizontal, que trabaja

6
TBASE DE DATOS I FRANCISCO VIDAL GONZALES SÁNCHEZ

integrado con el diccionario de datos, asegurando la compatibilidad entre el


Modelo de Datos y el Modelo Funcional.
• SNAP: Es un CASE para el desarrollo de aplicaciones en Sistemas AS/400 de
IBM. Proporciona el ambiente integral de trabajo, brindando la posibilidad de
construir sistemas de inmejorable calidad, adheridos a los estándares S.A.A de
IBM., totalmente documentados y ajustados a los requerimientos específicos
de la organización, en una fracción del tiempo y coste del que se invertiría, si
se utilizaran herramientas tradicionales.

También podría gustarte