Este documento proporciona orientación sobre cómo realizar un plan para el desarrollo de una base de datos. Recomienda entender las necesidades del cliente mediante preguntas, observación de procesos actuales y consideración de posibles cambios futuros. También sugiere identificar a las partes interesadas clave y sus perspectivas, y ponerse en el lugar de los usuarios finales para comprender mejor sus necesidades.
1. Unidad 2
Introducción a las Bases de Datos
Análisis de datos
M.C. Jesús Carlos Carmona Frausto
2. Unidad 2 – Objetivos
Entender las necesidades del cliente y sus
motivaciones.
Recopilar y documentar los requisitos de los
usuarios.
Selección de requerimientos.
Construcción de casos de uso
Anticípese a los cambios y necesidades futuras
para construir la base de datos más flexible
posible.
3. Hacer un plan
Llevar una lista de preguntas
Conozca a los clientes
Averigüe quien es quien
Elija los cerebros principales
Póngase en los zapatos de los usuarios
Estudie las operaciones actuales
Realice un grupo de discusión
Mire hacia el futuro
4. Hacer un plan
Comprenda el razonamiento de los clientes
Aprenda lo que los clientes realmente necesitan
Establezca prioridades
Verifique su entendimiento
Escriba el documento de requisitos
Realice casos de uso
Decida factibilidades
5. Lista de preguntas – Funcionalidad
Estas preguntas tratan de lo que el sistema se
supone debe llevar a cabo y, en menor medida,
cómo lo debe hacer.
Ejemplos
– ¿Qué debe hacer el sistema?
– ¿Por qué la construcción de este sistema?
– Qué se espera lograr?
– ¿Qué aspecto debe tener la interfaz de usuario?
6. Lista de preguntas – Funcionalidad
– ¿Qué tiempo de respuesta se necesita para las
diferentes partes del sistema?
– ¿Qué informes son necesarios?
– ¿Qué usuarios deben de ser capaces de definir
nuevos informes?
7. Lista de preguntas – Datos necesarios
Estas preguntas ayudan a aclarar los datos
necesarios en el proyecto.
Ejemplos
– ¿Qué datos son necesarios para la interfaz de
usuario?
– ¿Desde donde deberían los datos venir?
– ¿Cómo se encuentran estos datos relacionados?
– ¿Cómo se realizan actualmente estas tareas?
– ¿Desde donde vienen los datos?
8. Lista de preguntas – Integridad de los
datos
Estas preguntas tratan de la integridad de datos.
Nos ayudan a definir algunas de las restricciones
de integridad en las que se basará la base de datos.
Ejemplos
– ¿Cuales son los valores permitidos para que
campos?
– ¿Cuáles etiquetas son requeridas?
– ¿Cuáles son los dominios validos (valores
permitidos) para varios campos?
9. Lista de preguntas – Integridad de los
datos
– ¿Qué campos deben referirse a llaves foráneas?
– ¿Debería el sistema validar las ciudades contra
los códigos postales?
– ¿Necesita un registro de cliente antes de que
usted puede hacer sus pedidos?
– ¿Si el cliente cancela una cuenta quieres borrar
sus registros o márcalos como inactivos?
10. Lista de preguntas – Integridad de los
datos
– ¿Qué nivel de fiabilidad del sistema es necesario?
» ¿El sistema necesita acceso 24/7?
» ¿Qué tan volátil son los datos?
» ¿Con qué frecuencia se deben realizar copias de seguridad?
» ¿Qué ocurrirá si el sistema se bloquea?
» ¿Con qué rapidez debe ser vuelva a funcionar?
» ¿Qué tanto afectará si se pierden algunos datos durante un
accidente?
11. Lista de preguntas – Seguridad
Estas preguntas se centran en la seguridad de la
aplicación. Las respuestas a estas preguntas le
ayudarán a decidir cuál es el producto de base de
datos que funcionará mejor y que arquitectura
debe usar.
Ejemplos
– ¿Cada usuario necesita una contraseña
independiente?
12. Lista de preguntas – Seguridad
– ¿Los usuarios necesitan tener acceso a diferentes
piezas de datos diferentes?
– ¿Los datos deben ser cifrados en la base de datos?
– ¿Es necesario proporcionar pistas de auditoría
registrando cada una de las acciones tomadas y por
quién?
– ¿Qué clases diferentes de usuarios habrá?
– ¿Cuántos usuarios de cada tipo habrá?
13. Lista de preguntas - Seguridad
– Se necesita sólo que una persona acceda a los datos
al mismo tiempo?
– ¿Existe documentación que describe las tareas de
los usuarios y responsabilidades?
14. Lista de preguntas – Entorno
Estas preguntas tratan del ambiente que rodea al
proyecto. Reúnen información acerca de otros sistemas
y procesos que el proyecto remplazará o con las que
interactúan.
Ejemplos
– ¿Este sistema mejorará o remplazará un sistema
existente?
» ¿Existe documentación que describe el sistema existente?
» ¿El sistema actual tiene formularios en papel que se puede estudiar?
» ¿Qué características en el sistema existente se requieren?
» ¿Cuáles no?
15. Lista de preguntas – Entorno
» ¿Qué tipo de datos usa el sistema existente? ¿Cómo se almacena?
» ¿Cómo están relacionadas las diferentes piezas de datos?
» ¿Existe documentación de los datos del sistema existente?
– ¿Existen otros sistemas con los que éste debe
interactuar?
» Exactamente cómo va a interactuar con ellos?
» ¿El proyecto nuevo envío de datos a los sistemas existentes?
¿Cómo?
» ¿El nuevo proyecto recibe datos de los sistemas existentes?
¿Cómo?
» ¿Existe documentación de dichos sistemas?
16. Lista de preguntas – Entorno
– ¿Cómo funciona su empresa? (Trate de
entender cómo este proyecto encaja en el
panorama global de la empresa)
17. Conozca a los clientes
Antes de empezar cualquier proyecto, lo que necesita
saber de qué se trata.
La mejor manera de entender el sistema que necesita
diseñar y construir es para interrogar a los clientes.
Los clientes que están realmente dedicados a la empresa
suelen estar dispuestos a responder incluso las
preguntas tardadas.
Dificultades inesperadas y peticiones son las
principales razones por las que los proyectos de
software terminan tarde, exceden el presupuesto, o
fallan completamente.
18. ¿Quien es quien?
Al conocer a los clientes y los miembros de su equipo,
es importante darse cuenta de que no todo el mundo
comparte la misma visión del producto.
Algunas de las funciones que los clientes y los
desarrolladores a menudo desempeñan en un proyecto.
– Ejecutivo
– Cliente principal
– Cliente representativo
– Interesados
– Compañero ardilla
20. Elije clientes principales
Descubra lo que ellos piensan que necesitan.
Averigüe que datos piensan que la solución debe
contener, como deben ser presentados, y cómo las
diferentes partes de los datos están relacionados.
Obtener el aporte de tantas partes interesadas
como sea posible.
Tómese su tiempo y asegúrese de que los clientes
han terminado diciendo lo que creen que
necesitan.
21. Póngase en los zapatos de los usuarios
Siga el día a día de las operaciones de los clientes,
puede dar una perspectiva de gran ayuda.
El caso ideal: Que tu pudieras hacer el trabajo de
los clientes.
Tome notas mientras estás viendo a los clientes
realizar sus trabajos.
22. Estudio de las operaciones actuales
Mire a su alrededor para las bases de datos existentes
que los clientes utilizan. No te olvides que hay muchos
diferentes tipos de bases de datos. No basta con ver las
bases de datos relacionales.
Busque notas, archivos, ficheros, cajas de fichas,
archivos tickler (cubículos donde se pueden colocar los
elementos que deben examinarse en una fecha
determinada), y así sucesivamente.
23. Ideas Brillantes
Mantener sesiones de lluvia de ideas.
Si un actor dice que la base de datos debe registrar
el color de los zapatos de los clientes cuando
hacen una compra, la escribo.
Si alguien más dice que necesitan un seguimiento
del número de kumquats comidos por los
trabajadores de línea de montaje, anótelo.
24. Mire al futuro
Explícitamente preguntar a los clientes qué les
gustaría tener en futuras versiones.
Eso le ayudará a diseñar su base de datos flexible para
que pueda incorporar más fácilmente los cambios en
el futuro.
¿Qué tiempo de respuesta se necesita para las diferentes partes del sistema? (Normalmente, interactivo tiempos de respuesta debe ser de menos de cinco segundos, mientras que los informes y otras actividades fuera de línea puede tomar más tiempo.)
Saber qué datos son necesarios le ayudará a comenzar definición de las tablas de la base de datos.
¿Los usuarios necesitan tener acceso a diferentes piezas de datos diferentes? (Por ejemplo, los vendedores podrían necesitar para acceder a los clientes números de tarjetas de crédito, pero los técnicos de cumplimiento de la orden probablemente no.) Proporcionar pistas de auditoria Ver que empleado dio mayor prioridad aun cliente que estaba ordenando el último iPod y luego pedir a ese empleado por qué sucedió eso. Diferentes usuarios A menudo utilizan tres clases de usuarios. En primer lugar, los empleados hacen la mayoría del trabajo regular. Entran pedidos, imprimir facturas, discutir las últimas noticias en torno al garrafón, y así sucesivamente. En segundo lugar, los supervisores pueden hacer cualquier cosa que los empleados pueden y que también llevan a cabo tareas de gestión. Pueden ver los informes, registros y pitas de auditoría; asignar empleados a las tareas, y las primas de subvención, y así sucesivamente. En tercer lugar, súper usuarios o usuarios clave que pueden hacerlo todo. Puede restablecer las contraseñas de usuario, ir directamente a las tablas de base de datos para resolver problemas, cambiar en el sistema parámetros tales como los estados que los usuarios pueden escoger de menús desplegables, etc. Sólo debe haber un par de súper usuarios y por lo general se debe iniciar una sesión como supervisores, no como superusuarios, para evitar catástrofes accidentales.
¿Está construyendo un sistema de inventario, un modelo de cadena de suministro, o un rastreador de precio de las acciones y predictor (también llamado un número aleatorio generador)? ----- Yo uso la palabra más bien “hostil”. Interrogar porque para hacer bien el trabajo, se necesita mucho más que un simple charlar sobre el té y bollos. Aprender acerca de los requisitos de los clientes puede ser un proceso largo y tedioso. Pueden pasar días o incluso semanas de interrogatorio, el estudio de las prácticas existentes, estudiando minuciosamente polvorientos manuscritos y otros documentos corporativos, y espiar a los clientes a la vez que hacen su trabajo diario. Cuando esto termine los clientes no deberían de estar artos, pero que desearían que desapareciera y los dejara solos por un rato. Una buena sesión de preguntas y respuestas deben dejar a todos agotados pero con el cálido brillo de satisfacción que viene con el movimiento de una gran cantidad de información de sus cerebros a la suya. ---- Puede sonar aburrido escuchar a los clientes en avión no tripulado sobre sus cadenas de suministro, pero he encontrado que una vez que se profundiza lo suficiente, casi cualquier empresa puede ser bastante interesante. He trabajado en proyectos que abarcan temas tales como la recolección de impuestos sobre el combustible, el tratamiento de aguas residuales, venta de entradas, y la matriculación escolar. Cada vez, después de que yo había aprendido lo suficiente, descubrí la complejidad oculta que nunca hubiera imaginado.