Uploaded by luken_hijack

Resumen Análisis de Sistemas Final

advertisement
Resumen Análisis de Sistemas
Unidad 1: Los Sistemas de Información
7
Temas
7
Bibliografía
7
Rol del Analista en Sistemas
7
Rol del Ingeniero en Sistemas
7
Entrevista
8
Los cinco pasos para la preparación de una entrevista
8
Tipos de preguntas
9
Preguntas Abiertas
9
Preguntas Cerradas
9
Atributos de las preguntas abiertas y las preguntas cerradas.
10
Estructuras de las entrevistas
10
Diseño de Aplicación Conjunta (JAD)
12
12
Desventajas potenciales de JAD
12
SI
Beneficios de JAD
Cuestionarios
Escribir las preguntas
-I
Planeación del uso de cuestionarios
12
13
13
Las ventajas que sacrifica al elegir uno y otro tipo de preguntas
14
Diseño de cuestionarios
14
Escenarios
Casos de uso
Puntos de vista
FM
Etnografía
15
15
15
15
Unidad 2: El ciclo de vida de los Sistemas de Información y Sistemas de Software
17
Temas
17
Bibliografía
17
Ciclo de Vida para los Sistemas de Información
17
¿Qué es un estándar?
17
Estándar ISO/IEC 12207 para el ciclo de vida de los sistemas de información
18
Ciclo de vida del desarrollo de Sistemas
19
Ciclo de vida
19
Proceso de Ingeniería en Sistemas
20
Etapa Definición de requerimientos
20
Importancia del ciclo de vida de desarrollo
20
¿Qué es un proceso de desarrollo del software?
21
Actividades comunes a los procesos de desarrollo de software
22
¿Qué es un modelo de proceso de desarrollo de software?
22
Modelo de Procesos de Desarrollo del Software
23
1 de 112
Modelos de Procesos de Desarrollo del Software: Modelos Tradicionales
23
Modelo en Cascada (Sommerville)
24
Roles sugeridos por cada fase
24
Resumen de etapas
25
Definición de Requerimientos
25
Diseño del Software
25
Implementación y Prueba de Unidades
25
Integración y Prueba del Sistema
25
Operación y Mantenimiento
25
Descripción Modelo en Cascada
25
Desventajas Modelo en Cascada
25
Ventajas Modelo en Cascada
26
¿Cuándo es conveniente utilizar el Modelo en Cascada?
26
Modelo Evolutivo
26
27
Ventajas Modelo Evolutivo
27
Desventajas Modelo Evolutivo
27
¿Cuándo es conveniente utilizar el Modelo evolutivo?
27
SI
Prototipos del Modelo Evolutivo
Modelo Espiral
Acciones comunes a todas las iteraciones
¿Qué se realiza en cada iteración?
Ventajas Modelo en Espiral
-I
¿Qué se realizar en la Primera Iteración?
Temas
Bibliografía
28
29
29
32
33
FM
Unidad 3: Marco de desarrollo. Proceso Unificado
27
33
33
¿Por qué es importante aplicar una metodología de trabajo?
33
Proceso Unificado
34
Proceso Unificado Rational - RUP
36
Fases del Proceso Unificado Rational
38
Disciplinas o actividades del Proceso Unificado
38
Definiciones
39
Iteración en el UP
40
¿Qué es una iteración?
40
Artefactos
40
Artefactos de la fase de inicio
41
Marco de Desarrollo
41
Unidad 4: Modelos y herramientas para el modelado
43
Temas
43
Bibliografía
43
El Proceso de Modelado
43
¿Qué es un modelo?
43
2 de 112
¿Qué nos facilita el modelo?
43
El modelado en Sistemas de Información
44
La importancia de modelar
44
Principios del Modelado
44
Lenguaje de Modelado
44
Lenguaje Unificado de Modelado
44
¿Qué es UML?
45
¿Qué no es UML?
45
Objetivo del UML
45
Objetivos de los modelos
45
Historia Lenguaje Unificado de Modelado
46
Tipos Diagramas UML
48
Elementos y Diagramas del UML
48
Diagrama de Actividades
51
Usos comunes
52
Actividades para modelar un flujo de trabajo [Workflow]
54
Ejemplo
57
60
SI
Conclusiones y sugerencias
Diagrama de Transición de Estados
Contexto del objeto
Partes del estado
Pseudoestados
-I
Partes del Diagrama de Estados
FM
Usos más comunes del Diagrama de Estados
Conclusiones y sugerencias
Bibliografía
62
62
64
64
65
66
Unidad 5: El modelado del dominio del problema
Temas
61
67
67
67
Modelo del Dominio
68
Elementos del UML para Modelar
68
Elementos del UML para Modelar una Clase
68
¿Qué es una clase conceptual?
68
Fuentes de información para conocer el vocabulario del dominio del problema
69
Estrategias para identificar el nombre de las Clases Conceptuales
69
Lista de Categorías con ejemplos
70
Frases nominales
70
¿Qué son los Atributos?
70
Atributos válidos
71
Clases de Tipos de Datos no Primitivos
71
Unidad 6: Ingeniería de Requerimientos
72
Temas
72
Bibliografía
72
3 de 112
Ejemplos del dominio de Interés
73
Perspectivas de los requerimientos
73
¿Requerimientos o Requisitos?
73
Definición
74
Tipos de Requerimientos
74
Requerimientos No funcionales
74
Propiedades Emergentes de los sistemas
75
Requerimientos No funcionales
75
Clasificación de los requerimientos no funcionales
75
Usabilidad
76
Eficiencia
77
Fiabilidad
77
Espacio
78
Portabilidad
78
Estándares
78
Entrega
78
Fiabilidad
78
79
SI
Requerimientos Funcionales
Escribir los requisitos funcionales
Ingeniería de los Requerimientos
-I
Requerimientos de dominio
79
80
81
Proceso de la Ingeniería de Requerimientos
81
Definición
81
FM
Reflexiones
81
Documento Especificación de Requerimientos del Sistema
82
Documentar los requisitos
82
Audiencia del documento de los requerimientos
84
Uso del documento de requerimientos
84
Requerimientos del Usuario
85
Recomendaciones para escribir los requerimientos del usuario
85
Requerimientos del Sistema
85
Requerimientos de Software
86
Estándar IEEE 830-1998
86
Estructura sugerida para el documento IEEE 830-1998
86
Recomendaciones del Std IEEE 830-1998
87
Recomendaciones del /ISO/IEEE Std 29148
87
Unidad 7: Obtención y Análisis de los Requerimientos
90
Temas
90
Bibliografía
90
Procesos de la Ingeniería de Requerimientos
90
Actividades para obtener requerimientos
91
Modo de trabajo en la obtención de los requerimientos
91
4 de 112
Entrevista
91
Planificación de la entrevista
91
Ventajas y Desventajas
92
Ejemplo de preguntas
92
Cuestionarios
93
Ventajas y desventajas
93
Etnografía
94
Observación participativa
94
Escenarios
94
Ejemplo
94
Prototipo
95
Factores humanos a considerar en la elaboración del prototipo
95
Propósito del prototipo en el ciclo de vida del sistema
96
Ventajas de la elaboración de prototipos
96
Lineamientos o guías para la construcción de prototipos
97
Actividades que realizamos para elaborar el prototipo
97
98
Tipo de información buscada con el prototipo
98
SI
1° actividad: Analizar y comprender las actividades del usuario
98
Evaluar el diseño de a UI con los usuarios finales: Técnicas para la evaluación de la UI
98
3° actividad: Evaluar el diseño de la UI con los usuarios finales
99
Iteración el proceso de desarrollo del prototipo
99
Temas
Bibliografía
103
Casos de Uso y Requisitos funcionales
Antecedentes
Diagrama de Casos de Uso
103
103
FM
Unidad 8: Análisis Orientado a Objetos
-I
Validación del prototipo con los usuarios finales
103
104
104
Elementos del diagrama de Casos de Uso: Actores
106
Elementos del diagrama de Casos de Uso: Caso de Uso
108
Documentar los Casos de Uso
109
Formalidad breve del documento
109
Formalidad documento completo
109
Formalidad del Documento
110
Procedimiento Básico para definir los Casos de Uso
Modelo de Análisis
111
111
Consideraciones importantes acerca del Modelo del Análisis
112
Diferencias entre el Modelo de Casos de Uso y el Modelo del Análisis
112
Elementos del Modelo del Análisis
112
Reglas para tener en cuenta
114
Ejemplo
114
Unidad 9: Validación de Requerimientos
118
5 de 112
Temas
118
Bibliografía
118
Validación de Requerimientos
118
¿Por qué es importante validar los requerimientos?
119
119
Verificar los requerimientos
120
Técnicas para verificar los requerimientos
120
Reunión formal de revisión
121
Características de calidad que verificamos de cada requerimiento
121
Características de calidad que verificamos del documento ERS
121
Ejemplo lista de verificación o checklist
122
Resumen de técnicas para verificar y validar los requerimientos
122
FM
-I
SI
Técnicas para la validación de requerimientos
6 de 112
Análisis de Sistemas
Unidad 1: Los Sistemas de Información
Temas
●
●
●
●
Revisión de conceptos sobre Sistemas y Organizaciones.
Revisión de la Teoría General de Sistemas.
Rol profesional del Ingeniero en Sistemas de Información y del Analista de Sistemas.
Técnicas para la recolección inicial de información.
Bibliografía
●
Kendall y Kendall, Análisis y Diseño de Sistemas, 8va Edición.
○ Capítulo 4: Recopilación de Información: Métodos Interactivos
Rol del Analista en Sistemas
FM
-I
SI
El analista de sistemas evalúa de manera sistemática el funcionamiento de un negocio mediante el
examen de la entrada y el procesamiento de datos y su consiguiente producción de información, con el propósito
de mejorar los procesos de una organización. Muchas mejoras incluyen un mejor apoyo a las funciones de
negocios a través del uso de sistemas de información computarizados. Esta definición pone énfasis en un enfoque
sistemático y metódico para analizar- y en consecuencia mejorar- lo que sucede en el contexto específico creado
por un negocio.
Nuestra definición de analista de sistema es amplia. El analista debe tener la capacidad de trabajar con
todo tipo de gente y contar con suficiente experiencia en computadora. El analista desempeña diversos roles, en
ocasiones varios de ellos al mismo tiempo. Los tres roles principales del analista de sistemas son el de consultor,
experto en soporte técnico y agente de cambio.
Rol del Ingeniero en Sistemas
Un Ingeniero de Sistemas debe estar capacitado para asumir distintos roles y desempeñarse en su lugar
de trabajo según la necesidad de la empresa, clientes, superiores, etc. Algunas de las formas en las que el
ingeniero puede desempeñarse son las siguientes:
El Ingeniero en Sistemas puede formar y dirigir su propia empresa de servicios y consultoría en sistemas.
Se encuentra en capacidad de trabajar en casi todas las áreas del quehacer humano y los servicios que ofrece
pueden ser también como empleado en cualquier organización, ya sea pública o privada, en instituciones de
investigación y centros de estudio. También puede ocupar, entre otros, los puestos de analista programador,
ingeniero de soporte técnico, comercializador de equipo de cómputo y puede dirigir centros de Cómputo,
administrar el desarrollo de software y ser instructor.
En el caso del ingeniero de sistemas computacionales (especialización), es un profesional que puede
prestar sus servicios en cualquier organización productiva de bienes y servicios, de los sectores públicos, privados y
social. De igual forma estará capacitado para desempeñarse de manera independiente, prestando sus servicios
profesionales en todo lo relacionado a creación, mantenimiento, desarrollo de aplicaciones, así como la
adquisición, mantenimiento de equipo, creación de sistemas de redes y comunicación y la utilización de la
multimedia en su desarrollo profesional.
El ingeniero de sistema tiene una gran gama de desarrollo ocupacional en el mercado laboral, ya que no
solo se dedica a la programación o a la construcción de redes, puede verse involucrado en la aplicación de ahorro,
7 de 112
ya sea de tiempo o materiales de sistemas de producción, como por ejemplo en la forma en que se realiza la
producción de materiales manufacturados, entre otros trabajos.
Como ya se había mencionado antes, el Ingeniero del Sistema es una persona que vive actualizando su
conocimiento constantemente, por lo que debe estar a la vanguardia de las nuevas metodologías y tecnologías.
Debe tener un concepto general sobre qué herramientas utilizar para la realización de nuevos sistemas o para el
mantenimiento de aquellos ya presentes en las empresas.
El descubrimiento de los requerimientos es el proceso de recoger información sobre el sistema propuesto
y los existentes, y extraer los requerimientos de usuario y del sistema de esta información. Las técnicas del
descubrimiento son: entrevistas, Diseño de aplicación conjunta (JAD), cuestionarios, etnografía, escenarios, casos
de uso, puntos de vista. Estos métodos poseen sus propiedades compartidas, la base 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.
Entrevista
-I
SI
Una entrevista para recopilar información es una conversación dirigida con un propósito específico, en la
cual se usa un formato de preguntas y respuestas. En la entrevista hay que obtener las opiniones del entrevistado y
lo que siente sobre el estado actual del sistema, los objetivos de la organización y los personales, y los
procedimientos informales para interactuar con las tecnologías de la información.
Los objetivos son información importante que podemos obtener de las entrevistas. Los datos “duros”
pueden explicar el desempeño en el pasado, pero los objetivos proyectan el futuro de la organización. Trate de
averiguar a través de las entrevistas la mayor cantidad posible de objetivos de la organización, pues tal vez no
pueda determinarlos mediante los otros métodos de recopilación de datos.
Los cinco pasos para la preparación de una entrevista
2.
3.
4.
5.
ENTÉRESE DE 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. En esta fase de investigación ponga especial atención al
lenguaje utilizado por los integrantes corporativos para describirse a sí mismos y a la compañía. Otro
beneficio de investigar la organización es aprovechar al máximo el tiempo invertido en las entrevistas, al
no tener que hacer preguntas generales sobre antecedentes.
ESTABLEZCA LOS OBJETIVOS DE LA ENTREVISTA Defina los objetivos de la entrevista a partir de los
antecedentes investigados y de su propia experiencia.
DECIDA A QUIÉN ENTREVISTAR Incluya personas clave de todos los niveles que se vean afectados por el
sistema en cierta forma. Su contacto de la organización también le puede dar ideas sobre las personas
que debe entrevistar.
PREPARE AL ENTREVISTADO Para preparar a la persona que va a entrevistar, llame por teléfono o envíe
un mensaje de correo electrónico con anticipación, de manera que el entrevistado esté preparado. Las
entrevistas se deben realizar por lo general en persona y no a través de correo electrónico. Deben durar
de 45 minutos a 1 hora como máximo.
DECIDA SOBRE LOS TIPOS DE PREGUNTAS Y SU ESTRUCTURA Redacte preguntas para cubrir las áreas
principales de la toma de decisiones que hayan descubierto al momento de determinar los objetivos de la
entrevista.
FM
1.
8 de 112
Tipos de preguntas
Preguntas Abiertas
Las preguntas abiertas describe las opciones que tiene el entrevistado para responder. La respuesta
puede constar de dos palabras o de dos párrafos.
Los ​beneficios​ de utilizar preguntas abiertas son muchos, entre los cuales tenemos:
1.
2.
3.
4.
5.
6.
7.
8.
El entrevistado baja la guardia. Pone al entrevistado confortable.
El entrevistador puede percibir el vocabulario del entrevistado, lo cual refleja su educación, valores,
posturas y creencias.
Se proveen muchos detalles.
Se descubren vías de cuestionamiento adicionales que de otra manera no se hubieran explotado.
El entrevistado encuentra el proceso más interesante.
Se permite una mayor espontaneidad.
El entrevistador puede expresar mejor las preguntas.
El entrevistador puede recurrir a ellas en caso de que tenga que improvisar.
Como puede ver, hay varias ventajas en cuanto al uso de preguntas abiertas. Sin embargo, también hay muchas
desventajas​:
SI
Las preguntas pueden generar muchos detalles irrelevantes.
Se puede llegar a perder el control de la entrevista.
Se permiten respuestas que pueden requerir demasiado tiempo.
Podría parecer que el entrevistador no está preparado.
Puede darse la impresión de que el entrevistador no tiene objetivos bien definidos.
-I
1.
2.
3.
4.
5.
Debe considerar con cuidado las implicaciones de usar preguntas abiertas en las entrevistas.
FM
Preguntas Cerradas
Una pregunta cerrada limita el entrevistado la respuesta disponible. Tal vez usted esté familiarizado con
las preguntas cerradas debido a los exámenes de opción múltiple de la universidad.
Hay un tipo especial de pregunta cerrada: la pregunta bipolar. Este tipo de pregunta limita incluso más al
entrevistado, ya que sólo le permite elegir uno de dos polos.
Los ​beneficios​ de usar preguntas cerradas de cualquier tipo incluyen:
1.
2.
3.
4.
5.
6.
Ahorro de tiempo.
Se pueden comparar las entrevistas con facilidad.
Van directo al grano.
Se mantiene el control sobre la entrevista.
Se cubre mucho terreno con rapidez.
Se obtienen datos relevantes.
Sin embargo, las ​desventajas​ de usar preguntas cerradas son sustanciales. Entre las más comunes tenemos:
1.
2.
3.
4.
Son aburridas para el entrevistado.
No proporcionan detalles adicionales (debido a que el entrevistador provee el marco de
referencia para el entrevistado).
Se pierden las ideas principales por la razón anterior.
No se puede generar una relación armónica o buena comunicación entre el entrevistador y el
entrevistado.
9 de 112
Por lo tanto, como entrevistador usted debe considerar con cuidado los tipos de preguntas que piensa utilizar.
Estructuras de las entrevistas
SI
Atributos de las preguntas abiertas y las preguntas cerradas.
FM
-I
USO DE UNA ESTRUCTURA DE PIRÁMIDE La organización inductiva de las preguntas de la entrevista se puede
visualizar en forma de pirámide. El entrevistador empieza con preguntas muy detalladas, a menudo cerradas.
Después expande los temas al permitir preguntas abiertas y respuestas más generalizadas.
USO DE UNA ESTRUCTURA DE EMBUDO El entrevistador usa un enfoque deductivo al empezar con preguntas
generalizadas y abiertas, para después reducir la cantidad de respuestas posibles mediante el uso de preguntas
cerradas. El método de la estructura de embudo ofrece una manera fácil y amigable de empezar una entrevista.
10 de 112
También es conveniente usar una secuencia de preguntas en forma de embudo cuando el entrevistado está
relacionado sentimentalmente con el tema y necesita libertad para expresar esos sentimientos.
FM
-I
SI
USO DE UNA ESTRUCTURA EN FORMA DE DIAMANTE A menudo es mejor utilizar una combinación de las dos
estructuras anteriores. En esta estructura el entrevistador empieza con preguntas fáciles y cerradas que permiten
al entrevistado entrar en calor; a la mitad se le pregunta lo que opina sobre temas amplios. Después, el
entrevistador restringe incluso más las preguntas para obtener respuestas específicas, con lo cual se produce un
cierre tanto para el entrevistado como para el entrevistador. La estructura de diamante combina las ventajas de
los otros dos métodos pero tiene la desventaja de que toma más tiempo que las otras dos estructuras.
11 de 112
Diseño de Aplicación Conjunta (JAD)
Las entrevistas personales consumen tiempo y son propensas a errores, por lo cual sus datos se pueden
malinterpretar. IBM desarrolló una metodología alternativa para entrevistar a los usuarios uno a uno, conocida
como diseño de aplicación conjunta (JAD).
Los motivos para usar JAD son reducir el tiempo (y por ende el costo) requerido por las entrevistas
personales, mejorar la calidad de los resultados de la evaluación de los requerimientos de información y mejorar el
grado de identificación del usuario con los nuevos sistemas de información como resultado de los procesos
participativos.
Se emplea como técnica que le permite a usted, como analista de sistemas, realizar el análisis de
requerimientos y diseñar la interfaz de usuario en forma conjunta con los usuarios, en un ambiente de grupo.
Beneficios de JAD
FM
-I
SI
Existen cuatro beneficios potenciales que usted, los usuarios y su equipo de análisis de sistemas deben
tener en consideración al sopesar las posibilidades de usar el diseño de aplicación conjunta.
➢ El primer beneficio potencial es el ahorro de tiempo en comparación con las entrevistas tradicionales cara
a cara. Algunas organizaciones han estimado que las sesiones JAD permiten ahorrar el 15 por ciento del
tiempo en comparación con el método tradicional.
➢ Además del ahorro en tiempo es posible efectuar un desarrollo rápido a través de JAD.
➢ Un tercer beneficio a considerar es la posibilidad de mejorar la posesión del sistema de información.
Debido a su naturaleza interactiva y alto grado de visibilidad, JAD ayuda a los usuarios a que se involucren
lo más pronto posible en los proyectos de sistemas y considera seriamente su retroalimentación. La
participación en una sesión JAD ayuda en un momento dado a reflejar las ideas del usuario en el diseño
final.
➢ Un beneficio final de participar en las sesiones JAD es el desarrollo creativo de los diseños. El carácter
interactivo de JAD tiene mucho en común con las técnicas de lluvias de ideas que generan nuevas
propuestas y combinaciones entre ellas, debido al entorno dinámico y estimulante.
Desventajas potenciales de JAD
Hay tres desventajas u obstáculos que también debemos sopesar al decidir si usaremos las entrevistas
convencionales o JAD.
➢ Todos los participantes comprometan mucho tiempo. Como JAD requiere su dedicación durante un
periodo de dos a cuatro días, no es posible realizar ninguna otra actividad en forma concurrente ni
postergar actividades, como se realiza comúnmente en las entrevistas cara a cara.
➢ El segundo obstáculo se produce cuando la preparación para las sesiones JAD es inadecuada en cualquier
aspecto, o si el informe de seguimiento y la documentación de las especificaciones están incompletos. En
estos casos, los diseños resultantes podrían ser insatisfactorios. Es necesaria la conjunción de muchas
variables correctas para que el JAD sea exitoso; en contraste, muchas cosas podrían salir mal.
➢ Tal vez las habilidades necesarias de la organización y su cultura no estén lo bastante desarrolladas como
para permitir el esfuerzo concertado requerido para ser productivos en un entorno JAD. Al final tendrá
que juzgar si la organización realmente está comprometida y preparada para esta metodología.
Cuestionarios
El uso de cuestionarios es una técnica de recopilación de información que permite a los analistas de
sistemas estudiar las posturas, las creencias, el comportamiento y las características de varias personas clave en la
organización. Las posturas son lo que las personas en la organización dicen desear; las creencias son lo que las
personas dan por cierto; el comportamiento es lo que hacen los miembros de la organización, y las características
12 de 112
son las propiedades de las personas u objetos. Las respuestas obtenidas a través de cuestionarios (también
conocidos como encuestas) en los que se utilizan preguntas cerradas se pueden cuantificar.
Además, es posible usar 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.
Planeación del uso de cuestionarios
Escribir las preguntas
-I
SI
Cuando decidimos encuestar a los usuarios por correo electrónico o a través de Web, debemos tomar en
cuenta ciertos aspectos de planeación adicionales relacionados con la confidencialidad, la autenticación de la
identidad y los problemas de respuestas múltiples.
He aquí algunos lineamientos para ayudarlo a decidir si es apropiado utilizar cuestionarios. Considere el
uso de cuestionarios si:
1. Las personas a quienes necesita interrogar están esparcidas en un área amplia (distintas sucursales de la
misma corporación).
2. Hay gran cantidad de personas involucradas en el proyecto de sistemas, por lo que es importante saber
qué proporción de un grupo dado (por ejemplo, la gerencia) aprueba o desaprueba una característica
específica del sistema propuesto.
3. Se está por realizar un estudio exploratorio y desea medir la opinión general antes de que el proyecto de
sistemas tome cualquier dirección específica.
4. Desea estar seguro de que se identifiquen y consideren los problemas con el sistema actual en las
entrevistas de seguimiento.
Una vez que haya determinado que tiene buenos motivos para usar un cuestionario y después de que
haya señalado los objetivos a cumplir por medio de éste, podrá empezar a formular las preguntas.
FM
En una entrevista, el analista tiene la oportunidad de refinar una pregunta, definir un término confuso,
cambiar el curso del cuestionamiento, responder a una mirada desconcertada y en general, controlar el contexto.
En un cuestionario, muy pocas de estas oportunidades son posibles.
Los tipos de preguntas básicas que se utilizan en el cuestionario son abiertas y cerradas, como vimos en
las entrevistas. Debido a las restricciones que se imponen en los cuestionarios, se justifica un análisis adicional
sobre los tipos de preguntas.
PREGUNTAS ABIERTAS Recuerde que las preguntas (o declaraciones) abiertas son las que dejan abiertas todas las
posibles opciones de respuesta para el encuestado. Al escribir preguntas abiertas para un cuestionario, debemos
anticiparnos al tipo de respuesta que obtendremos. Por lo tanto, incluso cuando escriba una pregunta abierta, ésta
debe ser lo suficientemente estrecha como para guiar a los encuestados a responder en cierta forma específica.
En particular, las preguntas abiertas son adecuadas para las situaciones en las que queremos conocer las opiniones
de los miembros de la organización sobre cierto aspecto del sistema, ya sea un producto o un proceso.
PREGUNTAS CERRADAS Recuerde que las preguntas (o declaraciones) cerradas son aquellas que limitan o cierran
las opciones de respuestas disponibles para el encuestado.
Hay que utilizar preguntas cerradas cuando el analista de sistemas pueda enlistar de manera efectiva todas las
posibles respuestas a la pregunta y cuando todas éstas sean mutuamente exclusivas (al elegir una de ellas se
descarta la posibilidad de elegir cualquier otra).
Use preguntas cerradas cuando desee encuestar a una amplia muestra de personas. La razón se vuelve obvia al
momento de imaginar cómo se verán los datos que vamos a recolectar.
13 de 112
Las ventajas que sacrifica al elegir uno y otro tipo de preguntas
TERMINOLOGÍA DE LAS PREGUNTAS Al igual que en el caso de las entrevistas, el lenguaje de los cuestionarios es
un aspecto en extremo importante de su efectividad. Incluso si el analista de sistemas cuenta con un conjunto
estándar de preguntas relacionadas con el desarrollo de sistemas, es conveniente escribirlas de manera que
reflejen la terminología propia de la empresa.
He aquí algunos lineamientos que puede utilizar al elegir el lenguaje para su cuestionario:
5.
6.
7.
8.
SI
-I
3.
4.
Use el lenguaje de los encuestados siempre que sea posible. Mantenga un vocabulario simple.
Concéntrese en ser específico en vez de utilizar palabras imprecisas. Evite también las preguntas
demasiado específicas.
Trate de mantener las preguntas cortas.
No use un tono condescendiente, al usar opciones redactadas en lenguaje de bajo nivel, para dirigirse a
los encuestados.
Evite la predisposición en sus palabras. Esto también significa evitar preguntas censurables.
Dirija las preguntas a los encuestados apropiados (es decir, los que sean capaces de responder). No
suponga que conocen demasiado.
Asegúrese de que las preguntas sean correctas en el sentido técnico antes de incluirlas.
Use software para verificar si el nivel de lectura es apropiado para los encuestados.
FM
1.
2.
Diseño de cuestionarios
Un cuestionario bien diseñado y relevante puede ayudar a vencer parte de esta resistencia a responder. He aquí
algunas reglas para diseñar un buen cuestionario:
1.
2.
3.
4.
Incluya mucho espacio en blanco.
Incluya mucho espacio para escribir o teclear las respuestas.
Facilite a los encuestados la acción de marcar con claridad sus respuestas.
Mantenga un estilo consistente.
ORDEN DE LAS PREGUNTAS No existe una forma de ordenar las preguntas en el cuestionario que sea la mejor de
todas. Algunos lineamientos para ordenar preguntas son:
1.
2.
3.
Coloque primero las preguntas que sean importantes para los encuestados.
Agrupe elementos de contenido similar.
Introduzca primero las preguntas menos controversiales.
14 de 112
Etnografía
Es una técnica de observación que se puede utilizar para entender los requerimientos sociales y
organizacionales. Un analista se sumerge por sí solo en el entorno laboral donde se utilizara el sistema. Observa el
trabajo diario y anota las tareas reales de los participantes.
La etnografía ayuda a los analistas a descubrir los requerimientos implícitos que reflejan los procesos
reales más que los formales en los que la gente está involucrada.
Esta técnica es efectiva para el descubrimiento de 2 tipos de requerimientos:
●
●
Los requerimientos que se derivan de la forma en la que la gente trabaja realmente.
Los requerimientos que se derivan de la cooperación y conocimiento de las actividades de la gente.
Escenarios
SI
Muestra un esbozo de la interacción y se agregan detalles para crear una descripción completa de esta
interacción. Deben incluir.
● Una descripción de lo que se espera del sistema y los usuarios cuando el escenario comienza.
● Una descripción normal del flujo de eventos en el escenario.
● Una descripción de lo que pueda salir mal y cómo solucionarlo.
● Información de otras actividades que pueden llevar a cabo en el mismo tiempo.
● Una descripción del estado del sistema cuando termina.
Se puede hacer diagramas, capturar pantallas, etc.
-I
Casos de uso
Identifican las interacciones particulares con el sistema. Pueden ser documentadas con texto o vinculadas
a modelos UML que desarrollan ese escenario en más detalle.
FM
Puntos de vista
Un punto clave en el análisis orientado a puntos de vista es que reconoce varias perspectivas y
proporciona un marco de trabajo para describir conflictos en los requerimientos propuestos por los diferentes
stakeholders. Existen tres puntos genéricos de puntos de vista:
● Puntos de vista de los interactores: representa a las personas que interactúan directamente con el
sistema.
● Puntos de vista indirectos: representa a los stakeholders que no utilizan el sistema ellos mismos pero que
influyen en los requerimientos de algún modo.
● Puntos de vista del dominio: representa a las características y restricciones del dominio que influyen en
los requerimientos del sistema.
15 de 112
Unidad 2: El ciclo de vida de los Sistemas de Información y
Sistemas de Software
Temas
●
●
●
●
●
Ciclo de vida de los Sistemas de Información.
Proceso de desarrollo de los Sistemas.
Metodologías: Estructurada y orientada a objetos.
Componentes de un Sistema de Información
Modelos de proceso de desarrollo de Software
Bibliografía
●
●
Kendall & Kendall. 6a Ed. Capítulo 1, Rol del Analista
Sommerville. 7a Ed. Capítulo 2, Sistema socio-técnicos y 4, Procesos de Software.
●
●
-I
●
Desde el punto de vista de los Sistemas de Información, el ciclo de vida es el conjunto de fases [o
procesos] por las que pasa el sistema desde que se concibe [o inicio], se desarrolla hasta que se retira del
servicio finalizando su uso [desmantelamiento del sistema].
El conjunto de fases (procesos o actividades) del ciclo de vida involucra desde la planificación, la
distribución temporal, el desarrollo hasta el mantenimiento necesario durante la explotación del sistema.
Las fases o procesos están estandarizados de manera que puedan ser adaptados a las necesidades de
quien lo use.
El estándar para el ciclo de vida de los sistemas de información es el ISO/IEC/12207.
FM
●
SI
Ciclo de Vida para los Sistemas de Información
¿Qué es un estándar?
●
Un estándar es un documento establecido por consenso aprobado por un organismo reconocido, y que
ofrece reglas, guías o características para su uso repetidamente. Especifican qué hacer no cómo hacerlo.
○ International Organization for Standardization (ISO)
○ International Electronics Commission (IEC)
16 de 112
FM
-I
SI
Estándar ISO/IEC 12207 para el ciclo de vida de los sistemas de información
17 de 112
●
●
Las actividades asociadas al ciclo de vida del desarrollo de los SI son continuas.
Conforme se construye el sistema, el proyecto tiene cronogramas y fechas límite, hasta que el sistema se
instale y acepte.
La vida del sistema continúa mientras se mantiene y revisa.
Si el sistema necesita sustituirse debido a una nueva generación de tecnología, o si las necesidades de los
Sistemas de Información de la organización cambian significativamente, el sistema puede desmantelarse y
se iniciará un nuevo proyecto y ciclo comenzará de nuevo.
FM
●
●
-I
SI
Ciclo de vida del desarrollo de Sistemas
Ciclo de vida
●
●
No hay un acuerdo en la cantidad de fases que incluye el ciclo de vida del desarrollo de sistemas
Kendall y Kendall divide el ciclo de vida del desarrollo en siete fases las cuales pueden observar en la
siguiente figura:
18 de 112
FM
-I
SI
Proceso de Ingeniería en Sistemas
*Sommerville, enfoca el ciclo de vida del sistema como el Proceso de la Ingeniería de Sistemas
Etapa Definición de requerimientos
●
●
●
Involucra a la fase Análisis de Sistemas.
Se especifica qué es lo que el sistema deberá hacer es decir:
○ Las funciones que el sistema deberá proporcionar.
○ El comportamiento o propiedades esenciales y deseables.
○ La relación del sistema con otros sistemas de información.
Para lograr especificar el sistema, los analistas de sistemas entrevistamos (o hacemos cuestionarios) a los
clientes y usuarios finales del sistema.
Importancia del ciclo de vida de desarrollo
●
El Ciclo de Vida de Desarrollo de Sistemas sirve de base de los procesos utilizados para desarrollar un
sistema de información
19 de 112
Es conveniente seleccionar una metodología de trabajo porque:
○ Construir un ​sistema socio-técnico es una actividad compleja que requiere un gran esfuerzo
sobre todo de las personas.
○ El sistema tiene un conjunto de componentes como el ​software​, hardware, datos, documentos,
redes, etc., los cuales debemos gestionar.
○ Las personas que interactúan entre sí, tienen diferentes grados de conocimiento, asumen
diferentes ​roles​ y poseen diferentes intereses hacia el sistema.
○ Definir un ​marco de trabajo nos permite organizar el proceso de desarrollo definiendo el
cronograma de actividades, las pautas a seguir y también restricciones a cumplir.
FM
-I
SI
●
¿Qué es un proceso de desarrollo del software?
●
Un proceso de desarrollo del software es un conjunto completo de actividades y resultados asociados
necesarios para transformar los requerimientos de un cliente / usuario en un producto o sistema.
*Sommerville, cap 1.
20 de 112
Actividades comunes a los procesos de desarrollo de software
●
Existen cuatro actividades fundamentales comunes para todos los procesos de desarrollo:
Actividades comunes
Breve descripción de la actividad
Se define la funcionalidad del software y las restricciones sobre su operación. En
base al resultado obtenido, se construirá el sistema durante las siguientes fases
del proyecto.
Desarrollo
En base a la especificación resultado de la anterior actividad, se construye el
sistema de forma que cumpla todos los requisitos y restricciones solicitados por el
cliente.
Validación
El software es validado para asegurar que el producto generado es exactamente
lo que el cliente quiere.
Evolución
El software debe evolucionar para incorporar los cambios solicitados por el cliente
y por el mercado.
SI
Especificación
¿Qué es un modelo de proceso de desarrollo de software?
-I
●
●
Un modelo de proceso es una descripción simplificada de un proceso del software que presenta un visión
de ese proceso.
El modelo de proceso define el ciclo de vida que se adoptará para el proyecto de sistemas.
Los modelos de proceso pueden incluir:
○ Flujo de trabajo: muestra la secuencia de actividades en el proceso con sus entradas, salidas y
dependencias. Las actividades representan acciones humanas.
○ Flujo de documentos: muestra los documentos o artefactos que producen cada una de las
actividades y cómo esos documentos se transforman por acción de las personas o por las
computadoras.
○ Modelo de rol/acción: representa los roles de las personas involucradas en el proceso del
software y las actividades de los que son responsables.
FM
●
21 de 112
SI
Modelo de Procesos de Desarrollo del Software
FM
-I
Modelos de Procesos de Desarrollo del Software: Modelos Tradicionales
22 de 112
FM
-I
Roles sugeridos por cada fase
SI
Modelo en Cascada (Sommerville)
23 de 112
Resumen de etapas
Definición de Requerimientos
Se obtiene información acerca del ​dominio del problema​ y los ​requisitos​ que deberá cumplir el sistema.
Hay una gran interacción entre el cliente y analista de sistemas.
En este momento se define el alcance del sistema​, es decir, se define lo que el sistema va a hacer y lo que
no va a hacer.
Una vez terminada esta etapa, no se pueden pedir nuevos requisitos o cambios sobre los existentes.
Diseño del Software
Una vez definido completamente el problema y se conocen los requisitos, en esta etapa de Diseño se
define la arquitectura del sistema​, los ​módulos del sistema, las ​estructuras de datos​, las ​interfaces entre los
subsistemas​ y el ​diseño de los algoritmos​.
Implementación y Prueba de Unidades
En esta etapa, en Diseño del Software se materializa mediante la ​codificación de los programas ​en un
lenguaje de alto nivel. Las pruebas de unidades implica ​comprobar que los componentes de los programas (por
ejemplo las funciones, subrutinas, las clases) ​funcionen correctamente​.
Integración y Prueba del Sistema
Operación y Mantenimiento
-I
SI
La integración del sistema es un proceso gradual y se refiere a la actividad de conectar los componentes
del sistema (componentes de hardware, de software y de datos) con el fin de transferir información.
La integración de sistema nos exige crear "puentes" para ensamblar componentes que son muy diferentes
entre sí, por lo tanto el enlace o comunicación entre ellos se debe probar para validar que el sistema como un todo
funcione correctamente.
FM
Por lo general esta es la fase más larga del ciclo de vida. El sistema se instala y se pone en funcionamiento
práctico para los usuarios finales.
El mantenimiento gestiona los cambios e implica corregir defectos no descubiertos en etapas anteriores
también mejorar los programas (unidades del sistema) y adaptar el sistema a nuevos requerimientos.
Descripción Modelo en Cascada
●
●
●
Este modelo refleja un desarrollo marcado por la sucesión escalonada de las etapas que lo componen:
Análisis de requerimientos, diseño, codificación, pruebas e implementación.
Es necesario terminar por completo cada fase para pasar a la siguiente
Al aplicarlo en situaciones reales su rigidez genera problemas, porque muchas veces resulta difícil poder
disponer de requisitos completos o del diseño pormenorizado del sistema en las fases iniciales, creando
una barrera que impide avanzar.
Desventajas Modelo en Cascada
●
●
●
Los proyectos reales raras veces siguen el desarrollo secuencial que propone el modelo en cascada.
Los cambios pueden causar confusión cuando el equipo de desarrollo comienza a trabajar.
A menudo es difícil que el cliente exponga explícitamente todos los requisitos. El modelo en cascada así lo
requiere y tiene dificultades a la hora de acomodar la incertidumbre natural al comienzo de muchos
proyectos.
24 de 112
●
El cliente debe tener paciencia. Una versión del trabajo del (los) programa(s) no estará disponible hasta
que el proyecto esté muy avanzado. Un grave error puede ser desastroso si no se detecta hasta que se
revisa el programa.
Ventajas Modelo en Cascada
●
●
●
●
Produce sistemas bien documentados susceptibles de cambios fundamentalmente por la separación del
diseño y la implementación.
Funciona bien para proyectos pequeños donde los requisitos están bien entendidos.
Es un modelo en el que todo el trabajo está bien organizado y no se mezclan las fases. Es simple y fácil de
usar.
Es el modelo de proceso más antiguo y utilizado para el desarrollo de aplicaciones de software.
¿Cuándo es conveniente utilizar el Modelo en Cascada?
●
●
●
●
Las necesidades del cliente y los requerimientos del sistema se ​comprenden y están ​completamente
definidos​ y conocidos de antemano.
Es poco probable el pedido de cambio en los requerimientos.
El equipo de trabajo no tiene experiencia en el desarrollo de sistemas.
El sistema requiere documentación detallada de cada una de las fases.
FM
-I
SI
Modelo Evolutivo
●
●
●
●
Las actividades de especificación, desarrollo y validación son concurrentes.
No existe una especificación detallada del sistema y la documentación se minimiza.
El sistema se desarrolla en una serie de incrementos o versiones añadiendo funcionalidad a las anteriores.
Las versiones se muestran a los clientes y otros stakeholders para que ellos las evalúen y propongan
cambios y se continúa así hasta agotar el tiempo, el presupuesto o hasta que el cliente esté satisfecho.
Prototipos del Modelo Evolutivo
●
Prototipo exploratorio: El objetivo es trabajar con clientes hasta evolucionar a un sistema final, a partir de
una especificación inicial. Se debe comenzar con unas especificaciones bien entendidas.
25 de 112
●
Prototipo desechable o "throw-away": El objetivo es entender los requerimientos del sistema. Se puede
comenzar con especificaciones poco entendidas resolviendo las incertidumbres.
Ventajas Modelo Evolutivo
●
●
Continua revisión por parte del cliente​: Los clientes pueden validar las versiones del sistema y de esta
forma, dado que se inicia el trabajo con un esbozo del sistema, los posibles fallos conceptuales y otros
posibles motivos de disconformidad por parte del cliente pude ser detectados antes de que se impliquen
cambios en el sistema.
Permite cambios de requerimientos​: Permite la modificación de requerimientos sobre la marcha, y una
mayor implicación por parte del cliente en las pruebas y validación de requerimientos.
Desventajas Modelo Evolutivo
●
●
Desde la perspectiva de ingeniería y gestión, el modelo evolutivo tiene las siguientes desventajas:
El proceso no es visible: Los administradores tienen que hacer entregas regulares para medir el progreso.
Si los sistemas se desarrollan rápidamente, no es rentable producir documentos que reflejen cada versión
del sistema.
A menudo los sistemas tienen una estructura deficiente: Origina un software que puede estar débilmente
estructurado y difícil de comprender y mantener. Los cambios continuos tienden a corromper la
estructura del software. Incorporar cambios en él se convierte cada vez más en una tarea difícil y costosa.
Se desarrollan sistemas pequeños y tamaño medio (hasta 500.000 líneas de código)
Es necesario resolver incertidumbres en la especificación del sistema.
No se recomienda para sistemas grandes, complejos y con período de vida largo donde diferentes equipos
desarrollan distintas partes del sistema. Es difícil establecer una arquitectura estable del sistema.
-I
●
●
●
SI
¿Cuándo es conveniente utilizar el Modelo evolutivo?
●
●
●
●
●
FM
Modelo Espiral
El Modelo Espiral, propuesto en 1988 por Barry Boehm.
El modelo reconoce la naturaleza iterativa del desarrollo y combina actividades de desarrollo con gestión
de riesgo, para minimizar y controlar el riesgo.
El modelo divide el desarrollo en cuatro regiones o sectores:
a. Determinar objetivos, alternativas y restricciones.
b. Evaluar alternativas, identificar y resolver los riesgos.
c. Desarrollar, verificar el producto del siguiente nivel.
d. Planificar las siguientes fases.
Cada una de las regiones están compuestas por un conjunto de tareas las cuales se adaptan a las
características del proyecto que va a emprenderse.
Ejemplo de tareas: Análisis de sistemas, Diseño de Sistemas, Construcción de programas, Pruebas,
Mantenimiento.
26 de 112
SI
●
●
●
Cada ciclo o iteración en la espiral representa una ​fase del proceso​ de desarrollo del software.
El ciclo más interno, ​1° iteración​, podría referirse a un estudio de la ​viabilidad del sistema​, es decir que
incluye por ejemplo:
○ El presupuesto: la viabilidad económica del proyecto
○ Un cronograma inicial de desarrollo con un Diagrama de Gantt
○ Restricciones tecnológicas [Hardware y Software]
○ Alternativas para el personal.
Luego se ​evalúan riesgos del proyecto y se construye ​prototipos de las alternativas y la simulación [es la
segunda región de la espiral]
Después se escribe un ​documento con el "concepto de las operaciones", el cual describe la funcionalidad
del sistema en un nivel alto, desde el punto de vista del usuario [es la tercera región de la espiral]
El "​concepto de las operaciones​" es el ​documento​ que produce la primera iteración.
FM
●
●
-I
¿Qué se realizar en la Primera Iteración?
27 de 112
SI
Acciones comunes a todas las iteraciones
●
-I
●
●
En cada iteración o ciclo de la espiral se hace un ​análisis de riesgo de las alternativas según los requisitos
y restricciones.
Se ​construyen prototipos​ para analizar las alternativas y seleccionar una.
Los prototipos pueden ser simples maquetas en papel, prototipos de interfaz de usuario o simulaciones
del sistema, dependiendo del riesgo a evaluar, según el ciclo en el proceso y del tipo de aplicación.
Cada vez que se pasa por la región de planificación se ajusta el costo y el calendario del proyecto.
FM
●
¿Qué se realiza en cada iteración?
●
●
●
●
En la ​segunda iteración​, una vez que se han evaluado los riesgos y se decide continuar con el proyecto, se
planifica definición de los requerimientos que se realizará en la siguiente fase del proceso [es la cuarta
región de la espiral]
A partir del documento "Concepto de las operaciones", en la segunda iteración se realiza el proceso de
definición de los requerimientos del sistema​.
Los requerimientos del sistema son validados por el cliente con los prototipos que evolucionan desde la 2°
región.
Luego se escribe un documento denominado Especificación de Requerimientos del Sistema.
28 de 112
●
SI
-I
●
En la ​tercera iteración se hace un plan de desarrollo, y se produce el ​Diseño del Sistema que es verificado
y validado.
En la ​cuarta iteración se hace un plan de integración y prueba​, se genera el software y se realizan las
pruebas de aceptación.
Se realiza la entrega y la puesta en servicio del sistema
FM
●
29 de 112
SI
-I
FM
30 de 112
SI
-I
FM
Ventajas Modelo en Espiral
●
●
●
●
●
●
Es un enfoque realista del desarrollo de Sistemas y de Software a gran escala.
Utiliza la ​construcción de prototipos​ como mecanismo de reducción de riesgos.
La construcción de prototipos facilita la validación de los requerimientos al entregar versiones del sistema
desde el final de la primera iteración.
El riesgo de sufrir retrasos en el proyecto es menor porque los problemas se identifican en etapas
tempranas y hay tiempo para subsanarlos.
El ​anaĺisis del riesgo​ se hace de ​forma explícita y clara​.
Utiliza el enfoque sistemático del ​modelo en cascada y el trabajo iterativo del ​modelo evolutivo​, lo cual
refleja de forma más realista la construcción del software.
31 de 112
Unidad 3: Marco de desarrollo. Proceso Unificado
Temas
●
●
●
Concepto sobre el marco de desarrollo: Fases, disciplinas, artefactos
Actividades iniciales del proyecto de sistemas.
La actividad Análisis de Sistemas.
Bibliografía
●
●
Larman 2a Ed.
○ Capítulo 2, Desarrollo iterativo.
○ Capítulo 4, Inicio.
Booch Jacobson Rumbaugh. 1a Ed.
○ Capítulo 1, Proceso Unificado.
¿Por qué es importante aplicar una metodología de trabajo?
SI
●
-I
●
La importancia de aplicar una metodología de trabajo, la podemos razonar desde los sistemas de
información, que también la bibliografía los identifica como sistemas ​socio técnicos​.
Los sistemas socio-técnicos no solamente incluyen ​hardware​, ​software sino también el conocimiento de
cómo debe usarse el sistema para alcanzar algún objetivo más amplio.
Los sistemas socio-técnicos incluyen a las ​personas como partes inherentes del sistema, son ​gobernados
por políticas y reglas organizacionales y pueden verse afectados por ​restricciones externas tales como
leyes nacionales y políticas reguladoras.
FM
●
32 de 112
SI
-I
Desarrollar sistemas socio-técnicos es una actividad compleja por eso necesitamos una metodología de
trabajo que nos proporcione:
1. Una guía para ordenar las actividades a realizar durante el proyecto de sistemas.
2. Pautas acerca de cómo se realizan los documentos o artefactos, que son el resultado del trabajo
en cada actividad.
3. Indicaciones sobre quiénes realizarán cada una de las actividades o tareas y las responsabilidades
de cada una de las personas que participan en el proyecto.
4. Un ciclo de vida que describa cómo organizar las actividades a lo largo del tiempo.
FM
●
Proceso Unificado
●
●
●
●
●
La metodologías fueron evolucionando con el tiempo y una metodología de trabajo es el Proceso
Unificado.
RUP [Proceso unificado Rational] es un modelo de proceso híbrido propuesta por Rational para el
desarrollo de proyectos de sistemas.
El modelo reúne elementos de todos los modelos de procesos genéricos [modelo en cascada, modelo
evolutivo], iteraciones de apoyo [modelo en espiral] e ilustra buenas prácticas en la especificación y el
diseño.
RUP se describe normalmente desde tres perspectivas:
1. Perspectiva dinámica​: muestra las fases del modelo sobre el tiempo.
2. Perspectiva estática​: muestra las actividades del proceso que se representan.
3. Perspectiva práctica​: sugiere buenas prácticas a utilizar durante el proceso.
UP es un modelo de proceso denominado Proceso Unificado, que está basado en el RUP.
33 de 112
SI
-I
●
El UP es un modelo adaptable, es decir que puede responder rápidamente a las necesidades cambiantes
de los clientes.
Aplicamos el modelo UP como un ​proceso ágil​, es decir:
○ Tiene un conjunto pequeño de actividades y artefactos
○ Es un proceso iterativo e incremental.
○ No hay un plan detallado para todo el proyecto. Hay un plan de alto nivel denominado Plan de
fase.
FM
●
34 de 112
FM
-I
SI
Proceso Unificado Rational - RUP
35 de 112
SI
-I
FM
36 de 112
Fases del Proceso Unificado Rational
Fase
Breve Descripción
Inicio
Estudiar e identificar los problemas / oportunidades / retos con respecto a la organización.
Además se determina quiénes usarán el sistema (personas u otros sistemas) y cuánto costará
el proyecto.
Si el aporte del sistema es de poca importancia entonces se puede cancelar el proyecto
después de esta fase.
Elaboración
Se desarrolla una visión detallada del dominio del problema y se representa la arquitectura
conceptual del sistema. Además se identifican los riesgos y se desarrolla el plan del proyecto.
Construcción
Comprende el diseño del sistema, programación y las pruebas. Se desarrollan e integran las
partes del sistema en la arquitectura. Al terminar esta fase se tiene un sistema de software
operativo y la documentación lista para entregar a los usuarios.
Transición
El sistema se convierte en versión beta. Esta versión la prueban los usuarios y reportan los
defectos. Al terminar esta fase se debe tener un sistema documentado y funcionando
correctamente en su entorno operativo.
Breve Descripción
-I
Actividades
SI
Disciplinas o actividades del Proceso Unificado
Se modelan los procesos de negocios.
Requerimientos
Se modelan los requerimientos del sistema.
Análisis y diseño
Implementación
FM
Modelado del negocio
Se crea y documenta el modelo del diseño creando modelos de la arquitectura.
Codifica y construye el software.
Pruebas
Se prueban los componentes y el sistema.
Despliegue
Se crea un release del producto, se distribuye a los usuarios y se lo instala en el
lugar de trabajo.
Configuración y cambios
Gestiona los cambios del sistema.
Gestión del proyecto
Gestiona el desarrollo del sistema.
Entorno
Herramientas de software disponibles para el equipo de desarrollo de software y
los artefactos a producir.
Definiciones
Incremental​: se inicia con una idea bien definida. Cada "iteración" construye una versión, se valida y luego
se refina con calidad.
La iteración permite avanzar desde una idea vaga hasta la realización completa con calidad.
37 de 112
Incremento vs Iteración
Una de las prácticas de ágil que suele malinterpretarse es la de encarar el proyecto por iteraciones. Una
iteración no es un incremento.
En los incrementos se tiene una idea completa del producto final. Al comenzar hay certeza absoluta sobre
el resultado final deseado, como en la siguiente imagen:
FM
-I
SI
En las iteraciones se va construyendo un borrado, se valida, y luego se sigue agregando calidad al
producto. Al comenzar no hay certeza absoluta sobre el resultado deseado, sino que se va construyendo a medida
que se avanza y se va viendo el producto. La siguiente imagen ilustra un comportamiento iterativo:
En un desarrollo iterativo se debería poder contar con un producto potencialmente productivo cada
iteración, aunque no sea la versión final y definitiva del mismo.
38 de 112
-I
SI
Iteración en el UP
●
●
●
●
FM
¿Qué es una iteración?
Para UP el concepto de iteración a un nivel genérico es un miniproyecto, es decir un recorrido más o
menos completo a lo largo de todos los flujos de trabajos principales.
Cada iteración incluye las siguientes actividades principales: Requerimientos, Análisis, Diseño,
Implementación [Programación], Testing [Prueba]
Al final de cada iteración se obtiene como resultado un producto que puede ser por ejemplo: un
documento, un modelo, una versión ejecutable del sistema, pero incompleto; es decir no está preparado
para ser entregado al cliente.
La duración de una iteración es entre dos a seis semanas. Pasos pequeños y rápida retroalimentación.
Artefactos
●
El ingeniero Civil puede ver el producto mientras lo está desarrollando, es decir el producto es visible de
forma obvia.
● Los sistemas de software son un producto intangible, para ver su progreso los ingenieros en sistemas
elaboramos documentos.
● Artefacto es un término general para identificar a los documentos o cualquier tipo de información creada,
producida o utilizada por el equipo de desarrollo.
● Un artefacto puede ser un diagrama y su texto, asociado, bocetos de la interfaz de usuario, código fuente,
código ejecutable, etc.
Hay dos tipos de artefactos:
39 de 112
●
●
Artefactos de Ingeniería​: son los artefactos creados durante las distintas fases del proceso
(requerimientos, análisis, diseño, implementación y prueba)
Artefactos de Gestión​: tienen un tiempo de vida corta, lo que dura el proyecto. Por ejemplo: plan de
desarrollo, plan de iteraciones, visión y análisis del negocio, etc.
Artefactos de la fase de inicio
Artefacto
Artefactos
Ingeniería
de
Visión y análisis del negocio
Describe los objetos y las restricciones de alto nivel, el
análisis del negocio y proporciona un informe para la
toma de decisiones.
Modelo de Casos de Uso
Describe los requisitos funcionales y no funcionales
relacionados
Especificación Complementaria
Describe otros requisitos, como las reglas del proceso
o requisito del dominio.
Glosario
Proporciona una definición de la terminología clave
del dominio del problema.
de
Prototipos
concepto
y
pruebas
de
Clarifican la visión y validan las ideas técnicas, como
por ejemplo los requerimientos.
SI
Artefacto
Gestión
Breve Descripción
Describe los riesgos del negocio, riesgos técnicos,
riesgos del personal, riesgos de la planificación y
además detalla las ideas para mitigarlos.
Plan de iteración
Describe qué hacer en la siguiente fase, es decir la
fase Elaboración
Plan de la fase y Plan de
desarrollo
Estimación de poca precisión de la duración y
esfuerzo de la fase inicio. Las herramientas, personas,
formación y otros recursos.
Marco de Desarrollo
Descripción de los pasos del UP y de los artefactos
adaptados para el proyecto.
Artefactos
Gestión
de
FM
-I
Lista de Riesgos y Plan de
Riesgos
Marco de Desarrollo
●
●
●
Marco de Desarrollo se denomina a un breve documento que se realiza en la actividad Entorno.
En el Marco de Desarrollo se decide la elección de los artefactos UP para un proyecto.
Los documentos Marco de Desarrollo no son los mismos para todos los proyectos de sistemas, en todos
los casos dependerá si es un proyecto nuevo en un campo donde se tenga experiencia o un proyecto
basado en la Web o si es un sistema de control de alguna máquina.
Ejemplo:
40 de 112
SI
-I
FM
41 de 112
Unidad 4: Modelos y herramientas para el modelado
Temas
●
●
●
●
●
Modelos: definición
Importancia de modelar.
Principios de modelado.
Lenguaje para el modelado.
Herramientas CASE.
Bibliografía
Booch Jacobson Rumbaugh. 1a Ed.
○ Capítulo 1, Por qué modelamos
○ Capítulo 2, Presentación del UML.
○ Capítulo 7, Diagramas.
○ Capítulo 20, Diagrama de Actividades.
○ Capítulo 22, Máquinas de Estado.
SI
●
El Proceso de Modelado
El modelado es el proceso de generar una representación:
○ Abstracta
○ Conceptual
○ Gráfica
○ Visual,
○ Física
○ Matemática
○ De un sistema o cualquier fenómeno natural
La representación se realiza con el fin de analizar, describir, explicar o simular el sistema
●
FM
-I
●
¿Qué es un modelo?
●
●
●
●
●
●
●
Un modelo es una simplificación de la realidad
Puede representar detalles o dar una vista de muy alto nivel
Un modelo es una ​representación abstracta de una especificación, diseño o un sistema, desde un punto
de vista particular.
A menudo se representa con uno o más diagramas.
El modelo tiene como objetivo expresar la esencia de algunos aspectos de lo que se está haciendo, sin
especificar detalles innecesarios.
Un modelo tiene que tener un significado preciso y bien entendido.
Una representación abstracta o conceptual ​no significa confusa​.
¿Qué nos facilita el modelo?
●
●
●
Nos proporciona un diseño o blueprint del futuro sistema a construir.
Nos permite visualizar distintas perspectivas o vistas del sistema.
Nos permite pensar y discutir sobre problemas y soluciones sin desviarnos de los objetivos.
42 de 112
El modelado en Sistemas de Información
●
●
Si la entidad a modelar es algo físico- un microprocesador, una casa o edificio, etc., podemos construir un
modelo idéntico en forma, pero más pequeño.
Si la entidad que se va a construir es un ​sistema de información​, el modelo toma formas diferentes por
ejemplo, debe ser capaz de:
○ Modelar los datos
○ Las funciones que permiten transformar los datos en información
○ El comportamiento del sistema cuando ocurren esas transformaciones.
La importancia de modelar
SI
Para nosotros, crear modelos es importante porque:
● Construimos los planos de un sistema que nos ayudan a disminuir la complejidad del desarrollo del
sistema:
○ Los modelos pueden involucrar ​planos detallados.
○ Podemos incluir en los modelos, los elementos que tienen gran influencia​.
○ Planos menos detallados​, es decir omitimos aquellos elementos menores que no son relevantes.
Pueden ser descritos desde diferentes perspectivas o vistas (cada vista incluye diferentes
modelos)
● Y fundamentalmente porque los modelos nos ayudan a comprender mejor el sistema que estamos
desarrollando
●
Principio 1​: Todo modelo puede ser expresado con diferentes niveles de precisión
Principio 2​: Los mejores modelos están ligados a la realidad.
Principio 3​: Un único modelo o vista no es suficiente. Para cualquier sistema se necesitan varias vistas
complementarias y entrelazadas.
Principio 4​: La elección acerca de qué modelos crear tiene una profunda influencia sobre cómo se
acomete un problema y cómo se forma una solución.
FM
●
●
●
-I
Principios del Modelado
Lenguaje de Modelado
●
●
●
Un lenguaje de modelado es una manera de expresar los distintos modelos que se producen en el proceso
de desarrollo.
Un lenguaje de modelado define una colección de elementos del modelo, que son aproximadamente
análogos a la pronunciación (palabras, sentencias, etc.) en el lenguaje hablado.
Un modelo está formado por elementos del modelo, tal como una sentencia está formada por palabras.
Lenguaje Unificado de Modelado
●
●
●
Un ejemplo de lenguaje de modelado es el UML (Lenguaje Unificado de Modelado)
El UML se centra en diagramas pero también puede utilizar texto.
El UML tiene una sintaxis y una semántica.
○ Sintaxis: el modelado se basa en diagramas, las reglas de formación de los diagramas determinan
qué diagramas son válidos.
○ Semántica: son las normas que determinan qué significa un diagrama correcto.
43 de 112
¿Qué es UML?
El UML es un lenguaje de modelado visual que se usa para ​visualizar​, ​especificar​, ​construir y ​documentar
artefactos de un sistema.
¿Qué no es UML?
UML no es un metodología, UML es una herramienta de modelado que se usa aplicando una metodología
de desarrollo.
Por ejemplo, los autores del UML han desarrollado el Proceso Unificado como una metodología de trabajo
pero es independiente del UML.
Objetivo del UML
El objetivo del UML es convertirse en un lenguaje de modelado de propósito general, diseñado como
estándar no propietario, que pueden usar todas las personas dedicadas al desarrollo de sistemas.
Objetivos de los modelos
Visualizar cómo es o queremos que sea un sistema
○ Visualizar se refiere a la forma gráfica para modelar, reconociendo además que algunas
cosas se modelan mejor textualmente.
○ UML es un lenguaje gráfico que ​tiene un conjunto de símbolos y detrás de cada símbolo
hay una semántica bien definida.
○ Esa semántica permite que distintos desarrolladores, comprendan e interpreten los
modelos sin ambigüedades, trascendiendo a un lenguaje de programación.
Especificar la estructura o el comportamiento de un sistema
○ Especificar​ significa construir modelos ​precisos​,​ no ambiguos​ y ​completos​.
○ UML cubre todas las decisiones de Análisis, Diseño e Implementación que deben
realizarse al desarrollar y desplegar un sistema con gran cantidad de software.
Guiar la construcción del sistema mediante plantillas
○ Guiar ​la construcción del sistema se refiere a que los modelos pueden conectarse de
forma directa a una gran variedad de lenguajes de programación.
○ Con UML se puede establecer correspondencias desde un modelo a un lenguaje de
programación como Java, C++ o Visual Basic, incluso almacenamiento persistente de
datos.
○ Esa correspondencia se denomina Ingeniería Directa.
○ Lo contrario también es posible, se puede construir un modelo en UML a partir de la
implementación.
Documentar y comunicar las decisiones que hemos adoptado
○ Documentar hace referencia a los artefactos o documentos que se producen como
consecuencia del desarrollo del sistema de información.
○ UML cubre la documentación para los siguientes artefactos del sistema:
●
●
FM
●
-I
SI
●
Ejemplos de Artefactos
Requisitos
Pruebas
Arquitectura
Prototipos
Planificación de proyectos
Versiones
44 de 112
Historia Lenguaje Unificado de Modelado
FM
-I
SI
El UML fue adoptado en noviembre de 1997 por OMG (Object Management Group) y desde entonces se
ha convertido en un estándar de facto para visualizar, especificar y documentar los modelos que se crean durante
el desarrollo de un sistema de información.
El UML ha ejercido un gran impacto en la comunidad de sistemas, tanto a nivel de desarrollo como de
investigación.
El UML es un lenguaje de modelado cuyo vocabulario y sintaxis están ideados para la representación
conceptual y física de un sistema.
45 de 112
SI
-I
FM
46 de 112
Tipos Diagramas UML
UML dispone de diagramas que representan el sistema de modelado desde diferentes perspectivas.
UML 2.0 tiene nueve diagramas fundamentales [13 son en total], agrupados de la siguiente manera:
1. Diagramas para modelar la estructura estática del sistema
[Vista Lógica]: ​Diagramas de Clases​, Diagramas de objetos, Diagramas de componentes
[Vista Física]: ​Diagrama de Despliegue
2. Diagramas para modelar el comportamiento dinámico del Sistema
Diagrama de Casos de Uso​, ​Diagrama de secuencia​, Diagrama de colaboración, ​Diagrama de Estados y ​Diagrama de
actividades​.
Elementos y Diagramas del UML
●
FM
-I
SI
Los diagramas en UML son la representación gráfica de un conjunto de elementos, visualizado la mayoría
de las veces como un grafo conexo de nodos [elementos] y arcos [relaciones]
● Los diagramas se dibujan para visualizar un sistema desde diferentes perspectivas como por ejemplo, la
vista dinámica o de comportamiento y la vista estructural o estática.
● Los elementos para realizar los diagramas en UML pueden ser:
○ Elementos estructurales
■ Son las partes estáticas del modelo y representan aspectos conceptuales o físicos.
○ Elementos de comportamiento
■ Son las partes dinámicas de los modelos UML
○ Elementos de agrupación
■ Son las partes organizativas de los modelos de UML
○ Elementos de notación
■ Son las partes explicativas de los modelos de UML
Ejemplos:
47 de 112
SI
-I
FM
48 de 112
FM
-I
SI
Mecanismos comunes
Se aplican en forma consistente a través de todo lenguaje
Relaciones
Son los bloques de construcción encargados de conectar los elementos entre sí
49 de 112
Diagrama de Actividades
FM
-I
●
Un Diagrama de Actividades muestra un proceso formado por actividades que se ejecutan de forma
secuencial o paralela.
Este diagrama es útil para modelar:
○ Los procesos de negocio
○ Flujos de trabajo
○ Flujos de datos
○ y/o Algoritmos complejos
SI
●
Usos comunes
Los diagramas de actividades se utilizan para modelar los aspectos dinámicos de un sistema.
50 de 112
●
●
Modelar un flujo de trabajo: Se utilizan para visualizar, especificar, construir y documentar ​procesos de
negocio​ que implican al sistema en desarrollo.
Modelar una operación: Se utilizan como diagrama de flujo para modelar los ​detalles de una
computación​. Es importante cuando se modela la bifurcación, la unión y la división.
FM
-I
SI
Ejemplo:
51 de 112
SI
-I
FM
Actividades para modelar un flujo de trabajo [Workflow]
●
●
●
●
●
●
●
●
Establecer un​ centro de interés​ para el flujo de trabajo.
Seleccionar los ​actores que tienen las responsabilidades de más alto nivel en cada parte del flujo de
trabajo global. En algunos casos crear una calle o participación por cada actor que se considere
importante.
Identificar las precondiciones del ​estado inicial​ del flujo de trabajo y las poscondiciones del e
​ stado final​.
Comenzar por el estado inicial del flujo de trabajo y especificar las actividades y acciones que tienen lugar
a lo largo del tiempo.
Modelar las acciones complicadas o los conjuntos de acciones como llamadas a Diagrama de Actividades
aparte.
Considerar los flujos que conectan las acciones y los nodos de actividad. Se comienza por los flujos
secuenciales, luego considerar las bifurcaciones y por último tener en cuenta las divisiones y las uniones.
Si existen objetos de datos importantes, representar el flujo de objetos.
En las organizaciones, los procesos de negocios son​ flujos de trabajo​ que representan las actividades.
Existen procesos que no son sencillos, que involucran a muchas personas y muchos pasos.
52 de 112
SI
-I
●
Aunque estos procesos pueden ser capturados en una descripción textual, una imagen nos ayuda a
comprender mejor el flujo de ejecución.
Las particiones permiten ver de forma más clara los múltiples ​actores involucrados y las a​ cciones
paralelas​ que se llevan a cabo en el proceso.
FM
●
53 de 112
SI
-I
FM
54 de 112
Ejemplo
Descripción del proceso de negocio - Alquilar Películas
FM
-I
SI
Cuando los socios alquilan videos deben presentar al empleado, la credencial de socio, junto con las
carátulas de los videos que desea alquilar.
El empleado consulta la lista de precios y calcular el total a pagar. El socio puede desistir del alquiler.
El socio paga el alquiler y el empleado entrega un recibo con los siguientes datos: nro de recibo, fecha
actual, apellido y nombre, nombre de la película, fecha de devolución y total a pagar.
El recibo puede contener varios conceptos de alquiler. El empleado actualiza la disponibilidad de las
películas. Entrega las películas y el socio se retira.
55 de 112
SI
-I
FM
56 de 112
SI
-I
FM
57 de 112
SI
-I
FM
Conclusiones y sugerencias
●
●
●
●
●
●
Modelar los​ elementos esenciales​ para comprender el proceso de negocio.
No es necesario mostrar todos los detalles, sólo mostrar aquellos que sean esenciales para la
comprensión.
Siempre dar un ​nombre al diagrama​ que comunique su propósito.
Modelar el flujo principal.
Minimizar los cruces de líneas.
Usar notas y colores para llamar la atención sobre las características más importantes del diagrama.
58 de 112
●
●
Especifica las secuencias de estados por las que pasa un objeto o un sistema a lo largo de su vida en
respuesta a eventos​.
Un ​estado es una condición o situación en la vida del objeto durante la cual satisface alguna condición,
realiza una actividad o espera un evento.
Un ​evento​ es la especificación de un acontecimiento significativo situado en el tiempo y en el espacio.
FM
●
-I
SI
Diagrama de Transición de Estados
59 de 112
Partes del Diagrama de Estados
●
●
Una ​transición es una relación entre dos estados, que indica que un objeto que está en un primer estado
realizará ciertas acciones y entrará en un segundo estado cuando ocurra un ​evento especificado y se
satisfagan algunas ​condiciones especificadas​.
Cuando se produce este cambio de estado se dice que la ​transición​ se ha ​disparado​.
Hasta que se dispara la transició,n se dice que el objeto está en ​estado origen​, después de dispararse está
en​ estado destino​.
FM
●
-I
SI
Contexto del objeto
60 de 112
●
●
SI
-I
●
Una ​transición tiene cinco partes: estado origen, evento disparado, condición de guarda, acción [atómica]
y estado de destino.
La ​condición de guarda se evalúa una vez cada vez que se activa su transición, un evento en cambio se
evalúa de forma contínua.
Puede haber transiciones sin evento disparador.
Puede haber autotransiciones, el estado origen y el estado destino son los mismos.
FM
●
61 de 112
●
●
FM
Pseudoestados
-I
SI
Partes del estado
Estado inicial​: indica el punto de comienzo por defecto del diagrama y se representa con un círculo negro.
Estado final​: indica que la ejecución de la máquina de estados o del estado que lo contiene ha finalizado.
Se representa como un círculo negro dentro de un círculo blanco
*Las líneas azules no son parte de los elementos del diagrama.
62 de 112
Usos más comunes del Diagrama de Estados
●
●
●
●
El Diagrama de Estados se utiliza para modelar los ​aspectos dinámicos​ de un sistema.
Este aspecto dinámico involucra el comportamiento dirigido por eventos.
Dirigido por eventos significa que el objeto o sistema es reactivo y su comportamiento es la respuesta a
eventos lanzados desde afuera de su contexto.
El Diagrama de Estados se utiliza para modelar por ejemplo:
○ Dispositivos físicos​: teléfonos, microondas, etc.
○ Transacciones y objetos de negocio​: Por ejemplo, para representar todos los posibles estados de
un paquete enviado por correo, por ejemplo [despachado, en tránsito, en aduana, retirado]
○ Manejo de eventos en una ventana de interfaz de usuarios​: Por ejemplo [maximizada,
minimizada, cerrada]
○ Operaciones del sistema en los casos de uso​: Dentro de un Caso de Uso se identifican una serie
de operaciones. Estas operaciones deben ocurrir en un orden determinado para ser consideradas
válidas.
○ Objetos o procesos que cambian​: por ejemplo estado de los procesos de un Sistema Operativo.
Conclusiones y sugerencias
SI
●
●
●
●
-I
●
Elegir el contexto para el diagrama de transición de Estados, puede ser un objeto, clase, o el sistema
global y un aspecto de la dinámica a modelar.
Dar un nombre al diagrama de transición de Estados, el nombre debe comunicar el propósito del
diagrama.
Un sistema puede tener más de un Diagrama de transición de Estados.
Colocar en el diagrama elementos esenciales para comprender el aspecto de la dinámica.
Minimizar los cruces de líneas.
Usar notas y colores para llamar la atención sobre las características más importantes del diagrama.
FM
●
63 de 112
Unidad 5: El modelado del dominio del problema
Temas
●
●
●
Modelo del dominio del problema: vista dinámica, vista estática.
Problemas de información en el dominio.
Documentar la información del dominio del problema.
Bibliografía
SI
●
-I
●
Larman. 2a Ed.
○ Capítulo 7, Identificación de otros requisitos. (7.2 y 7.4)
○ Capítulo 10, Modelo de dominio: Visualización de conceptos.
○ Capítulo 11, Modelo de dominio: Añadir Asociaciones.
○ Capítulo 12, Modelo de dominio: Añadir atributos.
Booch Jacobson Rumbaugh. 1a Ed.
○ Capítulo 2, El modelo de Objetos.
OMG Std.
○ Plantilla para la Especificación Complementaria.
○ Plantilla del Documento Visión.
FM
●
64 de 112
Modelo del Dominio
●
●
●
●
●
●
El Modelo del Dominio es una ​representación visual de las clases conceptuales u objetos del mundo real
en un dominio de interés.
No son componentes de software pero…
… son una fuente de inspiración para el diseño de los objetos software.
El modelo del Dominio es uno de los ​documentos más importantes que se crea durante el análisis de
sistemas.
No es redundante aclarar que al ser una ​representación visual​, es un modelo.
Recordemos entonces los beneficios que conseguimos a través del modelado:
○ Los modelos nos ayudan a comprender la ​complejidad​, es decir reducimos el problema para
centrarnos en un solo aspecto a la vez.
○ Los modelos son ​plantillas​ que nos ​guían​ en la construcción de un sistema
Elementos del UML para Modelar
-I
SI
Para realizar el Modelo del Dominio usamos de UML los siguientes bloques de construcción:
● Elementos
○ Elementos estructurales​: se usan para representar cosas que son materiales o conceptuales.
○ Sirven para modelar la ​parte estática ​del sistema.
○ En UML hay siete tipos de elementos estructurales. Para el Modelo del Dominio usaremos ​una
clase​.
● Relaciones
○ En UML hay cuatro tipo de relaciones: Dependencia, Asociación, Generalización y Realización.
○ Para el Modelo del Dominio usaremos: Asociación, Generalización.
Elementos del UML para Modelar una Clase
FM
En UML una clase se modela con un rectángulo dividido en tres secciones.
¿Qué es una clase conceptual?
●
●
Clases conceptuales​: Son las cosas significativas del vocabulario del ​dominio del problema acerca de las
cuales el sistema de información necesita conservar información.
El vocabulario varía según el dominio del problema, veamos algunos ejemplos:
65 de 112
Fuentes de información para conocer el vocabulario del dominio del problema
-I
SI
Al vocabulario del dominio del problema lo podemos obtener:
● Realizando las entrevistas o cuestionarios a los usuarios finales, gerentes, ingenieros de mantenimiento,
gerentes de marketing, consultores, clientes, etc.
● Consultando la descripción de los procesos de negocio.
● Modelando los procesos de negocios con el Diagrama de Actividades.
● Leyendo y entendiendo los antecedentes de los entrevistados y su organización, esta información por lo
general se encuentra en la Web corporativa. Al leer el material se recomienda poner especial atención al
lenguaje que utilizan los miembros de la organización.
Estrategias para identificar el nombre de las Clases Conceptuales
●
FM
Usar una lista de categorías.
Lugares, roles de las personas, objetos de datos, otros sistemas informáticos, otras organizaciones,
catálogos, transacciones, líneas de transacciones, políticas y reglas de la organización.
● Identificar las frases nominales en la descripción del proceso.
Cuando el ​alumno llega a la biblioteca solicita ​libros al ​bibliotecario​. El ​bibliotecario busca los ejemplares
disponibles en los ​estantes de la biblioteca​...
● Usar patrones del análisis.
66 de 112
-I
SI
Lista de Categorías con ejemplos
Frases nominales
●
●
Identificar los nombres y frases nominales en las descripciones textuales de un dominio es una técnica
para el análisis gramatical.
Podemos identificar las frases nominales en los siguientes artefactos: Documento Visión, Glosario,
Especificación Complementaria, Casos de Usos, Informe de la entrevista, entre otros.
Desventajas del Análisis gramatical:
○ A veces no es posible realizar una correspondencia directa de nombres a clases conceptuales.
○ Las palabras en lenguaje natural son ambiguas, es decir que frases nominales diferentes podrían
representar la misma clase conceptual o atributo.
FM
●
¿Qué son los Atributos?
●
●
●
●
●
●
●
Los atributos son un valor de datos lógico de una clase u objeto.
Los atributos representan la información relevante de las clases conceptuales del dominio que el sistema
necesita conocer o registrar.
Los atributos describen a las clases conceptuales.
Representan la información que el sistema necesita conocer o registrar.
En el modelo del dominio se incluyen aquellos atributos que implican una necesidad de registrar
información.
El documento de Casos de Uso y los Requerimientos de Datos nos permiten reconocer los atributos.
Los atributos elegidos en cada iteración completan el Glosario.
Atributos válidos
●
Los atributos en un modelo de dominio deberían ser preferentemente atributos simples o tipos de datos.
67 de 112
●
●
●
Los tipos de datos implican un conjunto de valores para los cuales no es significativa una identidad única en el contexto de nuestro modelo Los tipos de datos de los atributos más comunes incluyen: Booleano, Fecha, Número, String, Hora.
Otros atributos simples comprenden: Dirección, color, número de teléfono, código postal, tipos
enumerados.
Clases de Tipos de Datos no Primitivos
SI
-I
●
●
No todos los tipos de datos son primitivos, existen otros tipos de datos que se conocen como ​objetos
valor​.
Este tipo de atributo podría presentarse como una clase no primitiva en el Modelo del Dominio.
La siguiente guía nos ayuda a determinar si el atributo es una clase primitiva:
○ El atributo está compuesto por secciones separadas ej. Número de teléfono.
○ El atributo tiene otros atributos ej Precio de promoción
○ Hay operaciones asociadas con el atributo, como análisis sintáctico o validación ej. Número de
seguridad social.
○ Es una cantidad con una unidad ej. Pago unidad monetaria.
FM
●
68 de 112
Unidad 6: Ingeniería de Requerimientos
Temas
●
●
●
●
●
●
●
●
Ingeniería de los Requerimientos.
Requerimientos.
Tipos de Requerimientos.
Niveles para describir los Requerimientos.
Estándar IEEE 830.
Introducción a la gestión de proyectos.
Estudio de pre-factibilidad.
Estudio de viabilidad.
Bibliografía
SI
●
-I
●
Sommerville. 7a Ed.
○ Capítulo 6, Requerimientos del Software
○ Capítulo 7, Procesos de la Ingeniería de los Requerimientos.
IEEE Std.
○ 29148 - 2011. Guía para escribir los requisitos.
○ 830 - 1998, Plantilla para especificar los Requerimientos del Software.
Kendall & Kendall. 6a Ed.
○ Capítulo 3, Determinación de la viabilidad y Administración de las actividades de Análisis y
Diseño.
FM
●
69 de 112
-I
SI
Ejemplos del dominio de Interés
FM
Perspectivas de los requerimientos
¿Requerimientos o Requisitos?
En el contexto del análisis de Sistemas nosotros utilizaremos estos términos de manera indistinta. Es
decir, igualaremos Requerimientos = Requisitos.
70 de 112
La bibliografía recomendada para la materia utiliza el término requerimiento.
Sin embargo es importante entender el significado de ambas palabras:
Requerimiento​: es una petición que se hace de algo.
Requisito​: es una condición necesaria a cumplir.
-I
SI
Definición
FM
Tipos de Requerimientos
Requerimientos No funcionales
Son restricciones de los servicios o funciones ofrecidas por el sistema. Por
ejemplo: el tiempo de respuesta, el proceso de desarrollo del sistema, los
estándares a utilizar, usabilidad, seguridad, etc.
Requerimientos funcionales
Son declaraciones de los servicios que deberá proporcionar el sistema, la
manera que debe reaccionar a entradas particulares y cómo se debe
comportar en diferentes situaciones.
Requerimientos del dominio
Son requerimientos que provienen del dominio de aplicación del sistema y
que reflejan las características y restricciones de ese dominio. Pueden ser
funcionales o no funcionales.
Requerimientos No funcionales
●
●
Los requerimientos no funcionales hacen referencia a las ​propiedades emergentes no funcionales ​de los
sistemas de información, es decir no agregan funcionalidad a la aplicación.
Recordemos según la Teoría General de Sistemas:
○ Las ​propiedades emergentes​ son propiedades del sistema cuando este funciona como un todo.
○ No se pueden atribuir ninguna parte específica del sistema. Emergen cuando los componentes
del sistema han sido integrados y surgen de las complejas interrelaciones de los subsistemas.
71 de 112
Propiedades Emergentes de los sistemas
Existen 2 tipos:
● Propiedades emergentes funcionales​: Aparecen cuando todas las partes del sistema trabajan en forma
conjunta​ para cumplir un objetivo.
● Propiedades emergentes no funcionales​: Se refieren al comportamiento de los sistemas en su ​entorno
operativo​. Son factores críticos para los sistemas de información ya que un fallo mínimo de estas
propiedades puede hacer inutilizable el sistema. Ejemplo: fiabilidad, seguridad y protección, rendimiento,
usabilidad, etc.
Requerimientos No funcionales
●
●
●
●
Son limitaciones sobre los servicios y funciones que ofrece el sistema.
Se aplican al sistema como un todo, y afectan más la ​arquitectura global de un sistema que a los
componentes individuales.
Se conocen también como ​atributos de calidad del sistema y surgen a través de las necesidades del
usuario.
Afectan a las ​propiedades emergentes​, por ejemplo: fiabilidad, usabilidad, seguridad, desarrollo, etc.
SI
Clasificación de los requerimientos no funcionales
Especifican el comportamiento del producto. El producto puede ser el
Sistema o el Software
Requerimientos organizacionales
Se derivan de políticas y procedimientos existentes en la organización del
cliente y la del desarrollador.
Requerimientos externos
Se derivan de los factores externos al sistema y de su proceso de
desarrollo.
FM
-I
Requerimientos de producto
72 de 112
SI
-I
●
●
●
FM
Usabilidad
Requerimiento no funcional de usabilidad
Expresan cuán fácil será para el usuario utilizar el sistema. Depende de los componentes técnicos del
sistema, sus operarios o usuarios y su entorno de operaciones.
Se redactan según el tiempo de aprendizaje o formación del usuario, el tipo de interfaz de usuario que
utilizará el sistema, ventanas para la ayuda y mensajes de retroalimentación
Ejemplo:
R-US 1
El empleado de la Biblioteca deberá ser capaz de operar el sistema en tres horas, si es que ya está
familiarizado en los productos estándar de interfaz gráfica del usuario.​ [Hace referencia a la
facilidad de aprendizaje]
R-US 2
Un empleado que no haya usado la interfaz gráfica del usuario dispondrá de 5 días adicionales de
capacitación para aprender a usar el sistema. La capacitación requerirá 4 horas diarias [Hace
referencia al tiempo de capacitación]
R-US 3
Los usuarios del sistema no deben memorizar ningún comando para poder usar el sistema. Todas
las opciones disponibles deberán estar desplegadas con claridad en la barra de menú, conceptos de
menú, barra de herramientas o botón de comando. [Hace referencia a la facilidad de operación]
*[Identificación del requisito: R: Requisito US: Usabilidad Número: Secuencia
73 de 112
Eficiencia
●
●
●
Requerimientos no funcionales de Eficiencia
Están relacionados con la carga esperada que soportará el sistema. Por ejemplo, el número de terminales,
el número esperado de usuarios simultáneamente conectados, número de transacciones por segundo que
deberá soportar el sistema, espacio físico (almacenamiento) que usará el sistema, etc.
Estos requisitos deben ser mensurables, es decir podrán medirse. Se pueden escribir haciendo referencia
a un número o a un porcentaje. Por ejemplo, indicando "el 95% de las transacciones deben realizarse en
menos de 1 segundo"
Ejemplo:
Si el usuario hace correcciones a cualquier información presentada en la pantalla, la información se
actualizará dentro de los cinco segundos posteriores a su actualización
[Hace referencia al tiempo de respuesta]
R-RE 2
El sistema deberá responder a la solicitud de información de un empleado de la Biblioteca, en
menos de diez segundos desde el envío de la solicitud
R-RE 3
Hasta cuatro empleados de la Biblioteca podrán utilizar el sistema al mismo tiempo.
[Usuarios conectados simultáneamente]
SI
R-RE 1
Fiabilidad
●
●
●
●
●
-I
●
La ​fiabilidad es la probabilidad de que el sistema tenga operaciones libres de caídas durante un tiempo
definido en un entorno dado para un propósito específico. Es decir, que el sistema no falle.
La ​disponibilidad es la probabilidad de que el sistema, en un cierto momento, esté funcionando para
proporcionar los servicios a los usuarios.
La fiabilidad y la disponibilidad son propiedades de ​confiabilidad del sistema​.
¿Qué componentes pueden fallar?
○ Hardware del Sistema: falla debido a errores en su diseño, errores de fabricación, o debido a que
dichos componentes han llegado al final de su vida útil.
○ Software del Sistema: el software falla debido a errores en su especificación, diseño o
implementación
○ Operadores del Sistema: pueden provocar fallos debido a un uso incorrecto del sistema. Hoy en
día se considera la principal causa de fallos de funcionamiento del sistema.
Los sistemas que son no fiables, inseguros o desprotegidos son rechazados por los usuarios y éstos se
niegan a utilizarlos.
Los costos de los fallos de funcionamiento del sistema pueden ser enormes. Pueden ser pérdidas
económicas y/o daños a las personas o usuarios.
Los sistemas no confiables pueden provocar pérdida de información. La captura y mantenimiento de los
datos es muy cara y se debe invertir mucho dinero para proteger los datos de cualquier corrupción.
FM
●
R-Fiab 1
Ante un fallo del sistema, no se tardará más de 10 minutos en restaurar los datos del sistema – a un
estado válido – y volver a poner en marcha el sistema.
[Tolerancia a fallas]
R-Fiab 2
El sistema estará disponible, operacionalmente activo, desde las desde las 8:30 AM hasta las 21:00
PM durante el año académico, que abarca desde Febrero a Diciembre.
74 de 112
[Hace referencia al tiempo disponible del sistema]
Espacio
R-RE 1
En el sistema embebido la capacidad máxima de memoria será de 4 Mbytes
Portabilidad
RP 1
El sistema deberá operar con diferentes sistemas operativos. Tal como sistemas operativos con
licencia paga o sistemas operativos GNU
Estándares
El sistema se modelará con el estándar de UML (Lenguaje Unificado de Modelado Versión 2.0 ).
[Estándares para el modelado]
R-Std 2
El estándar genérico IEEE 830 – 1998 que documenta los requisitos del software, se adaptará para
el contexto de desarrollo. La información del documento permitirá la inclusión de nuevas
características del sistema.
[Estándares para la documentación]
R-Std 3
El sistema se desarrollará siguiendo el modelo: Proceso Unificado [UP], que consiste en cuatro
fases: inicio, elaboración, construcción y transición y un flujo de actividades: Requerimientos,
Análisis y Diseño, Implementación, prueba.
[Estándares para el proceso]
Entrega
FM
-I
SI
R-Std 1
R-Ent 1
La versión beta del sistema estará disponible en 90 días, a partir de la fecha del contrato de
desarrollo.
[Agenda de entregas]
R-Ent 2
Los documentos o artefactos que se entregarán al cliente son: Plan de desarrollo del Sistema,
Especificación de Requisitos del software, el sistema instalado y un manual técnico y material de
apoyo para el usuario final
[Documentación que se entrega]
Fiabilidad
R-Seg 1
El sistema implementará cortafuegos para proteger el acceso de virus.
R-Seg 2
Cada usuario deberá autenticarse mediante el ingreso de un nombre de usuario y contraseña. El
acceso será verificado por el sistema.
Requerimientos Funcionales
●
Expresan lo que deberá hacer el sistema / software.
75 de 112
●
Dependen:
○ El tipo de sistema que se esté desarrollando.
○ De los usuarios del sistema
○ Del enfoque general que se adopte para escribir estos requisitos.
● Por lo general se escriben en futuro
Ejemplo: "El sistema permitirá consultar los libros de la biblioteca"
Escribir los requisitos funcionales
●
FM
Ejemplo:
-I
SI
●
●
Para especificar los requerimientos funcionales utilizamos el lenguaje natural estructurado, anotando los
detalles de una forma estándar.
Esto nos ayuda a tener un grado de uniformidad en la redacción de los requerimientos.
Nosotros en Análisis de Sistemas usaremos la siguiente planilla
●
●
El uso de la planilla reduce la variabilidad en la especificación y los requisitos se organizan de forma más
efectiva.
Si necesitamos disminuir la ambigüedad podemos agregar modelos gráficos del sistema.
76 de 112
●
●
Para cálculos, se debemos escribir ejemplos que muestren cómo se realizan utilizando expresiones
matemáticas.
Al formato de la plantilla podemos agregar:
○ Una precondición que indique lo que se debe cumplir antes de invocar a la función.
○ Una poscondición que especifique lo que será verdad una vez invocada la función.
Requerimientos de dominio
Ingeniería de los Requerimientos
Proceso de la Ingeniería de Requerimientos
SI
●
-I
●
Los requerimientos del dominio son los fundamentos del dominio de aplicación. Si estos requerimientos
no se satisfacen, puede ser imposible hacer que el sistema funcione de forma satisfactoria.
Los requerimientos del dominio son las reglas del proceso, por ejemplo para el caso de la biblioteca, los
tipos de préstamos, el tiempo de préstamo, las condiciones para asociarse a la biblioteca, etc.
Ejemplo: "Debido a las restricciones en los derechos de autor, algunos documentos deberán borrarse
después de su llegada"
FM
●
77 de 112
SI
Definición
Reflexiones
●
●
●
●
●
●
La Ingeniería de Requerimientos es una disciplina de la ingeniería que procura sistematizar el proceso de
especificación de requisitos.
Es decir, apunta a mejorar la forma en que se comprenden y definen los servicios que deberán prestar los
sistemas de información o los sistemas de software.
La complejidad de los problemas a resolver exige que se preste más atención a su correcto entendimiento
antes de comprometer una solución.
La Ingeniería de Requerimientos abarca todas las actividades involucradas en descubrir, modelar, analizar,
y mantener un conjunto de requisitos para un sistema de información o sistemas de software.
La Ingeniería de Requerimientos no es simplemente un proceso técnico, abarca también características
fundamentalmente humanas.
Los requerimientos del sistema por: Preferencias y aversiones de los usuarios o cuestiones políticas y
organizacionales.
Actualmente existen nuevas formas de capturar los requerimientos que ayuden a resolver las influencias
de los usuarios y de la organización.
FM
●
-I
La Ingeniería de requerimientos son los procesos de descubrir, analizar, documentar y verificar los
requisitos del sistema, de forma sistemática y repetible.
78 de 112
SI
Documento Especificación de Requerimientos del Sistema
●
Los requisitos se escriben en un documento: el documento tiene como objetivos ser un contrato y
comunicar los requerimientos.
Los requerimientos se comunican a un conjunto de diversos lectores.
FM
●
-I
Documentar los requisitos
●
●
La diversidad de lectores significa que el documento tiene que presentar un equilibrio en la redacción de
los requisitos para poder comunicar, sin barreras del lenguaje, las características del sistema.
Como una buena práctica se organiza en el documento los requerimientos para el usuario / cliente, los
requerimientos del sistema y los técnicos (software).
79 de 112
Audiencia del documento de los requerimientos
Receptores
● Desarrolladores de
Software
● Ingenieros en Sistemas de
Información
● Ingenieros desarrolladores
● Ingenieros probadores
Lectores
Requerimientos del Software
● Requerimientos
funcionales y no
funcionales escritos en
lenguaje técnico
especializado y modelos
del software.
● Indican exactamente qué
deben implementar los
desarrolladores del
sistema.
SI
Emisores
● Analistas de Sistemas
● Ingenieros en Sistemas de
Información
Requerimientos del Sistema
● Requerimientos
funcionales y no
funcionales escritos en
lenguaje técnico
especializado y modelos
del sistema
● Se especifica la interfaz
entre los sistemas y la
arquitectura inicial del
sistema.
-I
Especificación de Requerimientos
FM
Receptores
● Usuarios finales
● Administradores clientes
● Contratistas
● Arquitectos del sistema
Lectores
Requerimientos del Usuario
● Requerimientos
funcionales y no
funcionales escritos en
lenguaje técnico
especializado y modelos
del software.
● Indican exactamente qué
deben implementar los
desarrolladores del
sistema.
● Definen las necesidades
de los usuarios.
Uso del documento de requerimientos
Clientes del Sistema
Especifican los requerimientos y los leen para verificar que
cumplen sus necesidades. Los clientes especifican los ​cambios​.
Administradores
Utilizan el documento de requerimientos para planificar una
oferta por el sistema y para ​planificar el proceso de desarrollo.
Ingenieros en Sistemas de Información
Utilizan los requerimientos para​ comprender qué sistema deberá
desarrollarse.
Ingenieros probadores
Utilizan el documento de requerimientos para desarrollar las
pruebas de validación.
80 de 112
Ingenieros encargados del mantenimiento
Utilizan el documento de requerimientos para ​comprender el
sistema y las relaciones entre sus partes.
Requerimientos del Usuario
Son declaraciones, en​ lenguaje natural y en diagramas ​de los servicios del sistema y sus restricciones.
Describen los requerimientos funcionales y no funcionales de tal forma que sean ​comprensibles para los
usuarios​ del sistema sin conocimiento técnico detallado.
● Pueden especificar el ​comportamiento externo del sistema​, es decir lo que el usuario podrá ver cuando el
sistema funcione.
● Explican, de ser posible, por qué se ha incluido el requerimiento y ​por qué ​es útil.
Ejemplo: El nuevo sistema de la Biblioteca - LibSys - permitirá que los usuarios - personal de la biblioteca - puedan
trabajar en línea accediendo a los datos de forma instantánea y cuando el estudiante de la facultad solicite
asociarse. LibSys permitirá registrar los datos de los libros gestionando el préstamo y devolución de los libros por
parte de los socios.
●
●
Recomendaciones para escribir los requerimientos del usuario
Utilizar​ formato estándar
Evitar, de ser posible, el uso de jerga informática.
Escribir en un ​lenguaje natural​, describiendo​ qué es necesario​ y no cómo se debe realizar.
Del lenguaje natural se debe tener en cuenta los siguientes problemas:
○ Falta de claridad
○ Confusión de requerimientos
○ Conjunción de requerimientos
El lenguaje se debe utilizar en forma consistente, es decir:
○ Los requisitos obligatorios: se escriben en futuro simple.
○ Los requisitos deseables: se escriben en futuro condicional.
●
-I
SI
●
●
●
●
FM
Requerimientos del Sistema
Son v​ersiones extendidas de los requerimientos del usuario y se utilizan como punto de partida para el
diseño del sistema.
● Especifican de manera ​completa y consistente al sistema entero, por esa razón es necesario diseñar una
arquitectura inicial ​del sistema para ayudar a estructurar la especificación de requerimientos.
● Se especifican en un ​lenguaje estructurado​ y se pueden formatear en una planilla.
● Pueden utilizarse como parte del ​contrato entre comprador y los desarrolladores del sistema​.
Ejemplo: Punto de partida : Rq del Usuario del Ejemplo anterior
Visión general del Sistema – Organización inicial del Sistema
Es un Sistema Interactivo que interconecta inicialmente 5 computadoras del usuario, está compuesto por
los siguientes Sub-Sistemas:
1. Datos: Almacena la información de los socios y de los recursos de la biblioteca que se prestan a los
socios.
2. Aplicación: Maneja todos los aspectos del préstamo y devolución de libros y sus reglas, registra nuevos
socios y consultas de recursos.
3. Presentación: Interfaz de usuario
4. Seguridad: Módulo de identificación y autenticación de usuarios que comprueba los usuarios
acreditados
81 de 112
Requerimientos de Software
●
●
●
Son la declaración oficial de​ qué deben implementar los desarrolladores del sistema​.
Incluyen tanto los ​requerimientos del usuario​ como los r​ equerimientos del sistema​.
Se documentan usando el estándar: ​IEEE 830-1998 y el nivel de detalle depende del tipo de sistema y del
proceso de desarrollo utilizado.
Ejemplo:
Requisito Funcional F01
Requisito:
El sistema permitirá consultar los datos del socio.
Prioridad:
Alta
Entrada:
Número de DNI
Proceso:
Buscar en el almacén de datos de Socios la coincidencia del número de DNi ingresado.
Si el socio existe
mostrar los datos personales del socio y la carrera que cursa.
En caso contrario
mostrar un mensaje de error.
Fin del si
Salida:
Apellido, Nombre, Domicilio, e-mail, carrera que cursa.
Mensaje de error en caso de ingresar un DNI inexistente o de haber ingresado un DNI erróneo.
●
●
●
El documento de los requerimientos del software se denomina Especificación de Requerimientos de
Software (ERS)
El instituto de Ingeniería Eléctrica y Electrónica (Institute of Electrical and Electronics Engineers - IEEE) es
un organismo que provee estándares.
Un estándar es una norma que establece un conjunto de criterios técnicos basados en un cuerpo de
conocimientos, para especificar un producto.
Un estándar para la documentación de los requisitos del software es el ​Std IEEE 830-1998​.
FM
●
-I
Estándar IEEE 830-1998
SI
Ref
Estructura sugerida para el documento IEEE 830-1998
Secciones:
1.
Introducción
1.1.
Propósito del documento.
1.2.
Alcance del producto.
1.3.
Definiciones acrónimos y abreviaturas.
1.4.
Descripción del documento.
2.
Descripción general
2.1.
Perspectiva del producto.
2.2.
Funciones del producto.
2.3.
Características del usuario.
3.
Requerimientos Específicos.
3.1.
Requerimientos funcionales.
3.2.
Requerimientos no funcionales.
4.
Apéndices
82 de 112
5.
Índice o Tabla de contenidos.
Recomendaciones del Std IEEE 830-1998
Para almacenar el documento el Estándar nos recomienda:
● El documento de la ERS se almacena según las versiones o correcciones. Porque los clientes o los
usuarios pueden solicitar cambios a los requisitos.
● Es fundamental destinar una carpeta con el nombre de nuestro proyecto o sistema.
● El esquema de nombre del documento de la Especificación de los Requerimientos, puede ser:
●
Al esquema de nombre, también se puede agregar el nombre o siglas del proyecto.
Recomendaciones del /ISO/IEEE Std 29148
El estándar nos recomienda tener en cuenta las siguientes características que deben cumplir los
requisitos:
Descripción del Requisito
SI
●
Significado
●
El requisito refleja alguna necesidad o problema real del cliente
No ambigua
●
El requisito tiene una única interpretación.
Completa
●
Incluye todos los requisitos significativos del software (relacionados
con la funcionalidad, ejecución, diseño, atributos de calidad o
interfaces externas).
Existe una definición de respuestas a todas las posibles entradas,
tanto válidas como inválidas, en todas las posibles situaciones.
FM
-I
Correcta
●
Verificable
●
El requisito bajo ciertas condiciones se puede medir.
Consistente
●
El requisito no es contradictorio y no entra en conflicto con otro
requisito.
Clasificación
●
El requisito tiene prioridades. Las prioridades pueden ser por escala
numérica o cualitativa.
●
Los requisitos funcionales se redactan según la siguiente tabla:
Ref.
Es un nombre que identifica de forma unívoca al requisito.
Requisito:
Escribimos en una oración o un párrafo el requisito funcional según las recomendaciones
del estándar.
Prioridad:
Es la urgencia o la importancia del requisito para su desarrollo. Usamos la siguiente escala:
Alta - Media - Baja.
83 de 112
Entrada:
Son los datos que el proceso necesita para iniciar su funcionamiento.
Proceso:
Es una descripción precisa de lo que se realizará. Es una lógica del requisito. Especificar el
proceso reduce la ambigüedad. Usamos un lenguaje estructurado o seudocódigo, según
las estructuras de control que aprendimos en la materia Algoritmos y Estructura de Datos.
Para ayudarnos podemos utilizar Diagramas de actividades para modelar el algoritmo.
Salida:
Información que entrega el proceso cuando finaliza su ejecución. La información pueden
ser datos o mensajes, de error, confirmación o notificación.
●
Sugerencias para redactar los requisitos:
○ Redactar los requisitos usando el verbo en futuro.
○ Evitar en lo posible el uso de la voz pasiva.
○ A veces también se redactan los requisitos especificando lo que el sistema no deberá
hacer.
○ [Sujeto] [Verbo] [modificador] [objeto] [valor]
FM
-I
SI
Ejemplo:
❏ El sistema mostrará en orden ascendente las facturas pagadas de los clientes.
❏ Si el usuario hace correcciones a cualquier información presentada en la pantalla], el [sistema]
[mostrará] la [información][actualizada] dentro de los [5 segundos posteriores a la actualización]
❏ Si el estado del socio es moroso [ condición ], el sistema [ sujeto ]deberá contar [ verbo ] los
ejemplares [ objeto ] adeudados [ modificador ] desde el último préstamo realizado por el socio
hasta la fecha actual [ restricción ]
● Estas sugerencias nos facilitan la redacción de los requisitos y nos ayudan a comunicar de manera
efectiva los requisitos, evitando las ambigüedades u omisiones.
● Las palabras entre corchetes son aclaratorias. Se eliminan de la descripción del requisito
● Tenemos libertad dentro de los límites de las regla de nuestro idioma, de cambiar la estructura,
por ejemplo, la restricción puede ir a continuación del verbo o suprimirla.
● Siempre se deben documentar los requerimientos, aunque sea un breve documento que
describa al negocio y los requerimientos de confiabilidad del sistema.
● El contenido del documento depende del tipo de sistema que se desarrolle y del proceso de
desarrollo utilizado.
Por ejemplo:
● Sistemas grandes: (incluye interacción de hardware y software) los requerimientos se definen con mucho
detalle y se escriben en un documento con un formato estándar, por ejemplo IEEE 830-1998.
● Sistemas pequeños y medios: (modelo evolutivo) Los requerimientos no son tan detallados. Se definen los
requerimientos del usuario y los requerimientos del sistema no funcionales de alto nivel. Los diseñadores
y programadores utilizan su juicio para decidir cómo satisfacer los requerimientos
● Modelos ágiles: los requerimientos se escriben en tarjetas y se recogen incrementalmente.
84 de 112
Unidad 7: Obtención y Análisis de los Requerimientos
Temas
●
●
●
●
●
Descubrimiento de los requerimientos.
Técnicas para descubrir requerimientos: entrevistas, cuestionarios, etnografía.
Información del dominio de descubrir requerimientos.
Clasificación y organización de los requerimientos.
Prototipos iniciales para descubrir y validar los requerimientos.
Bibliografía
●
●
-I
SI
●
Kendall & Kendall. 6a Ed.
○ Capítulo 4. Recopilación de la información: Métodos interactivos.
○ Capítulo 6. Elaboración de prototipos, RAD y programación extrema.
Larman. 2a Ed.
○ Capítulo 6. Modelo de Casos de Uso: escritura de requisitos en contexto.
Sommerville. 7a Ed.
○ Capítulo 7. Procesos de la Ingeniería del Software.
○ Capítulo 16. Diseño de interfaces de Usuario.
FM
Procesos de la Ingeniería de Requerimientos
●
●
El proceso de obtención de los requerimientos es el proceso de ​recoger información sobre el sistema
propuesto​ y​ los existentes ​con el propósito de extraer los ​requerimientos del usuario del sistema​.
Las fuentes de información son:
○ La documentación
85 de 112
○
○
Los stakeholders
Especificación de sistemas similares.
Actividades para obtener requerimientos
1.
2.
3.
4.
Descubrir los requerimientos
a. Interactuar con los stakeholders utilizando técnicas de comunicación.
Clasificar y organizar los requerimientos.
Ordenar los requerimientos por prioridades.
Documentar los requerimientos
Modo de trabajo en la obtención de los requerimientos
FM
-I
SI
Trabajamos de manera iterativa - en espiral . y realizamos las actividades de la Ingeniería de los
requerimientos.
Entrevista
●
●
Una entrevista para la recolección de información es una conversación dirigida con un propósito
específico que usa formato de preguntas y respuestas.
Se obtiene información sobre:
○ Opinión del entrevistado
○ Estado actual del sistema
○ Objetivos de la organización
○ Objetivos personales
○ Procedimientos informales
Planificación de la entrevista
Actividades
Lectura de material disponible
Breve descripción
Leer información a cerca del entrevistado y la organización.
86 de 112
Definición de objetivos
Organizar los temas que se van abordar durante la entrevistas.
Decidir a quién entrevistar
Se debe incluir a personas de todos los niveles.
Preparar al entrevistados
Realice una cita por anticipado con quienes vaya a entrevistar, indicando el
objetivo de la misma.
Decidir los tipos de pregunta y
estructura de la entrevista
Decidir los tipos de pregunta y estructura.
Escribir las preguntas para tratar los objetivos principales:
● Estructura pirámide
● Estructura rombo
● Estructura embudo
Realización
Hacer la entrevista
Ventajas y Desventajas
Ventajas
Desventajas
Las desventajas esenciales son el tiempo y el dinero.
Generalmente la gente tiende a ser más sincera
cuando habla que cuando escribe
Las personas que van a ser entrevistadas, deben ser
elegidas cuidadosamente, ya que ninguno está
disponible en abundancia.
-I
SI
Es el medio más directo para obtener información de
lo que hacen los stakeholders
No se puede utilizar para obtener información en
grandes cantidades, para esto se debe utilizar otras
técnicas de relevamiento.
Puede establecer una mejor relación con el usuario y
disminuir su resistencia al cambio.
No es una técnica para tener conocimiento sobre las
restricciones organizacionales porque existen sutiles
diferencias de poder entre las personas de la
organización.
FM
El entrevistador puede hacer preguntas abiertas y
dejar que el entrevistado responda en su propio estilo,
e incluso darle otra orientación si descubre un área
fértil de investigación, que no fue considerada al
elaborar la entrevista.
Ejemplo de preguntas
●
●
Encontrar los objetos de datos que se utilizan en el proceso de negocio
○ ¿Qué nombre tiene el formulario? ¿Cuál es el objetivo del formulario?
○ ¿Quien lo llena?
○ ¿Dónde es enviado? O ¿De dónde viene?
○ ¿Quién usa el formulario?
○ ¿Qué autoridad lleva?
○ ¿Qué estados tiene? (Pagado, autorizado, entregado)
○ ¿Qué cantidad de formularios realizan por día?
○ ¿Cuánto tiempo guardan el/los formularios?
Encontrar los datos que se utilizan en el proceso de negocio
○ ¿De dónde provienen los datos que utiliza el proceso de negocio?
○ ¿Para qué se usa cada dato?
○ ¿Cuál es el formato de los datos tanto para la entrada como para la salida?
87 de 112
●
-I
SI
●
○ ¿Cuán exactos deben ser los datos?
○ ¿Con qué grado de precisión deben hacerse los cálculos?
○ ¿Qué datos necesita cada área que participa en el proceso de negocio?
○ ¿Qué dato modifica cada área?
○ ¿Cuáles son los datos que se almacenan en este proceso?
○ ¿Existen datos que no son utilizados?
○ ¿Qué datos se originan en fuentes externas a la organización?
Conocer las reglas de negocio que se cumplen en el proceso de negocio
○ ¿Existen procedimientos escritos que el proceso de negocio deba cumplir?
○ ¿Cuáles son los controles en el proceso de negocio?
○ ¿Qué decisiones debe tomar para ejecutar la tarea?
○ ¿Debe cumplir alguna política del negocio?, por ejemplo de clientes, proveedores, personal, etc?
○ ¿Existen políticas de descuentos; políticas de pago?
○ ¿Las reglas de proceso de negocio podrían cambiar?
Conocer en detalle las actividades que se realizan en el proceso.
○ ¿Qué es lo que da inicio a la actividad?
○ ¿Quiénes participan en el proceso de negocio? ¿Que departamentos de la organización
participan en el proceso de negocio?
○ ¿Cuánto tiempo se tarda en realizarla?
○ ¿Qué retrasos ocurren o pueden ocurrir?
○ ¿Qué pasos constituyen la actividad? (describir la actividad paso a paso) ¿Existen actividades
paralelas?
○ ¿Existe algún tipo de control desarrollado en el proceso en cuestión?
○ ¿Cómo termina la actividad?
Cuestionarios
●
Consisten en una serie de preguntas escritas a las que hay que contestar también por escrito (ya sea en
papel o utilizando algún software)
Tipo de información que se busca con los cuestionarios:
○ Actitudes: lo que las personas dicen que quieren.
○ Creencias: lo que las personas piensan lo que realmente es verdad.
○ Comportamiento: es lo que las personas hacen.
○ Características: son las propiedades de las personas o cosas.
FM
●
Ventajas y desventajas
Ventajas
Desventajas
Obtener un alto volumen de información a un costo
relativamente bajo y en menos tiempo.
Tiene limitaciones sobre el tipo de preguntas que se
pueden realizar.
Elimina cualquier influencia sobre quien contesta.
Suelen ocurrir problemas de interpretación, tanto en
las preguntas como en las respuestas.
La información puede ser sincera ya que puede ser
anónima.
Si no tiene control sobre el grupo que responde,
puede tener una tasa de retorno muy baja y una
muestra pequeña será estadísticamente insignificante.
Su uso puede ser rápido y eficiente.
88 de 112
Único medio factible para relevar un gran número de
personas o para grandes distancias entre la fuente y el
encuestador.
Etnografía
●
●
●
●
●
La etnografía es una técnica de observación que se puede utilizar para entender los requerimientos
sociales y organizacionales.
El analista de sistemas se sumerge por sí solo en el entorno laboral donde se utilizará el sistema y observa
el trabajo diario y anota las tareas reales en las que los participantes están involucrados.
La ventaja de la etnografía es que permite descubrir los requerimientos implícitos que reflejan los
procesos reales más que los formales en los que la gente está involucrada.
El analista no interrumpe a los trabajadores o los distrae de sus tareas.
Detalles a tener en cuenta:
○ Cuando las personas están siendo observadas directamente, tienden a mejorar las funciones que
realizan y el rendimiento de las mismas. Puede ser necesario que haga varias visitas para
acostumbrarlos a su presencia y hacer que retornen a sus hábitos normales.
○ Se puede presentar resistencia de las personas a ser observadas.
La etnografía es especialmente efectiva para descubrir los siguientes requerimientos:
1. Requerimientos que se derivan de la forma en la que la gente trabaja realmente.
2. Requerimientos que se derivan de la cooperación y conocimiento de las actividades de la gente.
SI
●
Observación participativa
-I
El analista temporalmente realiza las actividades del grupo
Puede ser útil al estudiar las actividades de una organización complicada. Con esta técnica, el
analista puede "aprender haciendo". Se puede aprender mucho en corto tiempo, a pesar de
poder sentirse un intruso.
FM
●
●
Escenarios
●
●
●
●
Son descripciones abstractas de la secuencia del ​trabajo del usuario​ (no del sistema informático)
Casos de uso del negocio​ es una técnica basada en escenarios.
Actualmente la técnica de Casos de Usos del negocio es la más utilizada.
Se puede documentar con texto o con modelos.
Ejemplo
Objetivo
Descripción
Registrar el pedido del cliente.
1.
2.
3.
El cliente envía una orden de pedido que incluye los datos del cliente y los datos de
los productos solicitados.
El empleado revisa el pedido. Lo completa si es necesario y completa su
procesamiento enviándolo al jefe técnico quien se encarga de análisis del pedido.
El Jefe técnico analiza la viabilidad de cada producto.
a. Si el producto está en el catálogo de productos entonces puede fabricarse.
b. Caso contrario es considerado un producto especial y se considera lo
siguiente:
c. Si es viable la fabricación del producto es aceptada.
d. Si no es viable el producto especial no será fabricado.
89 de 112
4.
Una vez estudiado el pedido completo, el Jefe Técnico informa al departamento
comercial la aceptación o rechazo de cada producto pedido.
Si todos los productos de un pedido son aceptados se crea una orden de trabajo y se
la envía al jefe de Producción quedando pendiente hasta su lanzamiento.
5. El jefe Comercial comunica al cliente el resultado final del análisis de su pedido.
Prototipo
●
●
●
●
●
●
Un prototipo es una versión inicial de un sistema. Se usa para:
○ Demostrar conceptos o ideas
○ Validar requerimientos con el usuario / cliente
○ Informarse más del problema y sus posibles decisiones.
Un prototipo es un modelo a escala o facsímil de lo real, pero no tan funcional para que equivalga al
producto final.
El prototipo es la primera vista clara del usuario del futuro sistema.
Los prototipos se presentan en muchas formas y tamaños.
Los prototipos pueden ser tan simples como un conjunto de ​pantallas dibujadas en hojas de papel ​o tan
sofisticado como programas que​ permitan la animación​ de las pantallas.
Es una representación, o un modelo a escala reducida, que permite visualizar el comportamiento de lo
que será el futuro sistema.
Permite conocer el​ comportamiento del sistema​ y las ​reacciones de los usuarios ante el mismo​.
SI
●
Factores humanos a considerar en la elaboración del prototipo
Incremento del estrés
-I
Memoria limitada
Descripción
Podemos recordar instantáneamente alrededor de siete elementos de
información. Por lo tanto, si a los usuarios se les presenta demasiada
información al mismo tiempo, es posible que no puedan asimilarla.
FM
Factores
Cuando los sistemas fallan y emiten mensajes de aviso y alarmas, a menudo
aumentan el estrés de los usuarios, incrementando así la posibilidad de que
cometan errores.
Capacidades físicas diferentes
El prototipo no se elabora para las propias capacidades y suponr que todos
los otros usuarios serán capaces de adaptarse.
Preferencias de interacción
A algunas personas les gusta trabajar con imágenes, otras con texto. La
manipulación directa es natural para algunas personas, pero otras prefieren
un estilo de manipulación basado en comandos.
Propósito del prototipo en el ciclo de vida del sistema
●
●
El prototipo abarca diferentes fases del ciclo de vida. El objetivo del prototipo en cada fase es diferente.
Para la etapa de análisis de requerimientos el principal objetivo del prototipo es derivar y validar los
requerimientos esenciales, manteniendo abiertas, al mismo tiempo, las opciones de implementación.
Ventajas de la elaboración de prototipos
●
●
Modificar el prototipo en las primeras etapas del desarrollo.
Oportunidad de suspender el desarrollo de un sistema que no sea funcional.
90 de 112
●
La posibilidad de desarrollar un sistema que acerque más a satisfacer las necesidades y expectativas de los
usuarios.
Lineamientos o guías para la construcción de prototipos
Guías para la construcción de prototipos:
● Trabajar en módulos manejables:
○ Un módulo manejable es aquel que permite a los usuarios interactuar con características claves
del sistema, pero el módulo se puede construir de forma separada de otros módulos.
○ Realizar un modelo funcional con algunas características del sistema.
● Construir rápidamente el prototipo:
○ La rapidez es esencial para la elaboración exitosa del prototipo.
○ La elaboración temprana permite comprender mejor los requerimientos.
○ Los usuarios pueden utilizar el sistema muy temprano en el ciclo de vida, en lugar de esperar
hasta que se termine el sistema.
● Modificar el prototipo en iteraciones sucesivas:
○ Desarrollar el prototipo de manera que pueda soportar modificaciones.
○ Hacer el prototipo modificable significa que se lo debe crear en módulos que no sean demasiado
interdependientes.
FM
-I
SI
Actividades que realizamos para elaborar el prototipo
1° actividad: Analizar y comprender las actividades del usuario
En el proceso de análisis del usuario, se desarrolla una comprensión de las tareas que éste realiza, su
entorno de trabajo, los otros sistemas que utiliza, cómo interactúan con el resto de las personas en su trabajo, etc.
91 de 112
Es una actividad crítica, porque si no se entiende lo que los usuarios quieren hacer con el sistema, no se
podrá llevar a cabo un diseño real y eficaz de la interfaz de usuario.
Para desarrollar esta comprensión, puede utilizar técnicas como entrevistas, observaciones, análisis de
tareas, etnografía o comúnmente es una mezcla de todas ellas.
Tipo de información buscada con el prototipo
●
●
●
SI
●
Reacciones del usuario:
○ Son recopiladas por medio de observaciones, entrevista. Estas se diseñan para recoger la opinión
de cada persona acerca del prototipo cuando interactúa con el usuario.
○ Por medio de estas reacciones el analista descubre si el prototipo se ajusta a los requerimientos
del usuario.
○ Ejemplo: uso del color, lectura fácil, reconoce íconos fácilmente.
Sugerencias del usuario:
○ Las sugerencias son el producto de la interacción de los usuarios con el prototipo.
○ Estas sugerencias se dirigen hacia formas de refinación, cambio o limpieza del prototipo para que
se ajuste mejor a las necesidades de los usuarios.
○ Las sugerencias son recolectadas de aquellos que experimentan con el prototipo, mediante un
periodo de tiempo específico.
○ El tiempo que pasan los usuarios con el prototipo depende por lo general de su dedicación e
interés en el proyecto de sistemas.
○ Ejemplos: eliminar captura de datos redundantes, eliminar hojas de cálculo (archivos volátiles),
encontrar datos nuevos.
Son capacidades nuevas del sistema que no habían sido pensadas antes de la interacción con el prototipo.
Van más allá de las características típicas actuales añadiendo algo nuevo e innovador.
Ej: Explorar ambientes de destino posibles: interfaces gráficas, página web, portátiles, lectores de código
de barras.
-I
●
●
●
●
●
FM
Validación del prototipo con los usuarios finales
Cuestionarios​ que recopilan información de lo que opinan los usuarios de la interfaz.
La ​observación de los usuarios cuando trabajan con el sistema y "piensan en voz alta" de cómo tratan de
utilizar el sistema para llevar a cabo alguna tarea.
Videos​ del uso típico del sistema.
La inclusión de ​código en el software que recopila información de los recursos más utilizados y de los
errores más comunes.
Evaluar el diseño de a UI con los usuarios finales: Técnicas para la evaluación de la UI
●
●
Cuestionarios:
○ Es una técnica económica para evaluar la UI
○ Los cuestionarios se pueden utilizar aun antes que esté disponible el sistema ejecutable si se
construyen y evalúan maquetas en papel de la interfaz
○ Preguntando por la experiencia y conocimientos permite conocer si los usuarios con cierto tipo
de conocimientos tienen problemas con la interfaz.
○ Ejemplo de preguntas: Indique el valor en una escala de 1 a 5 de cuál es la comprensión de los
mensajes de error.
Observación:
○ Se observa cómo utilizan el sistema los usuarios, ver los recursos que utilizan, los errores
cometidos, etc.
92 de 112
○
Se complementan, con sesiones en las cuales los usuarios conversan sobre lo que tratan de
hacer, qué piensan del sistema y cómo tratan de utilizarlo para llevar a cabo sus objetivos.
3° actividad: Evaluar el diseño de la UI con los usuarios finales
Iteración el proceso de desarrollo del prototipo
-I
Los prototipos se hacen en refinamientos sucesivos, a través de la evaluación y su modificación a raíz de
los comentarios sobre el mismo.
FM
●
SI
Técnicas para la evaluación de la UID:
● Uso de videos:
○ Se graba las sesiones para su análisis posterior
○ Grabar las sesiones es relativamente de bajo costo.
○ El análisis completo por medio de video es caro y requiere de un equipo de evaluación
especializado con varias cámaras enfocadas al usuario y a la pantalla.
○ El análisis de los videos permite descubrir:
■ Demasiados movimientos de las manos.
■ Movimientos forzados del ojo.
● La inclusión de código en el software:
○ Instrumentar código que recopile estadísticas de utilización permite mejorar las interfaces de
varias formas.
○ Se pueden detectar operaciones más comunes.
○ Las interfaces se pueden reorganizar para que sean más rápidas de seleccionar.
○ Los usuarios pueden enviar sus opiniones a los diseñadores para que de esta manera se obtenga
retroalimentación.
93 de 112
SI
-I
FM
94 de 112
Unidad 8: Análisis Orientado a Objetos
Temas
●
●
●
●
●
●
●
●
Análisis Orientado a Objetos.
Conceptos del paradigma orientado a objetos.
Patrones del Análisis.
Modelo de Dominio.
Casos de Uso: Diagrama y especificación de Casos de Uso.
Diagrama de Secuencia.
Diagrama de transición de estados.
Modelo de Análisis (diagrama de colaboración del análisis).
Bibliografía
●
FM
-I
SI
●
Booch Jacobson Rumbaugh. 1a Ed.
○ Capítulo 8. Análisis.
Larman. 2a Ed.
○ Capítulo 6. Modelo de Casos de Uso: escritura de requisitos en contexto.
○ Capítulo 7. identificación de otros requisitos.
○ Capítulo 9. Modelo de Casos de Uso: Representación de los Diagramas de Secuencia del Sistema.
○ Capítulo 10. Modelo del Dominio: Visualización de conceptos.
○ Capítulo 11. Modelo del Dominio Añadir Asociaciones.
○ Capítulo 12: Modelo del Dominio: Añadir Atributos.
○ Capítulo 13: Modelo de Casos de Uso: Añadir detalles con los contratos de las operaciones.
○ Capítulo 29. Modelado del comportamiento con Diagramas de estado.
Casos de Uso y Requisitos funcionales
●
●
●
●
●
●
●
●
Los Casos de Uso nos ayudan a ​descubrir​ y ​registrar​ los ​requisitos funcionales​.
Los Casos de Uso son historias de uso de un sistema para alcanzar los ​objetivos o necesidades ​de las
personas involucradas en el sistema de información
Los Casos de Uso no son una herramienta exclusiva de la Ingeniería de los Requerimientos.
También se usan en el modelo de proceso UP - Proceso Unificado - en la disciplina Requisitos.
Los Casos de uso son requisitos, ante todo ​requisitos funcionales​. También se los utiliza para representar
los requerimientos no funcionales.
Los Casos de uso se modelan con el UML en un Diagrama de Casos de uso.
Los Casos de uso son ​documentos de texto q
​ ue describen las interacciones entre el usuario y el sistema.
Ejemplo de una historia de uso, escrito en formato breve::
Nombre del Caso de Uso​: Realizar alquiler de películas.
Descripción Breve​: Los socios solicitan alquilar videos presentando al empleado la credencial de socio,
junto con las carátulas de los videos que desea alquilar. El empleado utiliza el sistema para registrar cada
video. El sistema muestra el detalle del alquiler y calcula el total a pagar. El empleado ingresa los datos del
pago. El sistema valida y registra. El sistema imprime el recibo de alquiler. El sistema actualiza la
disponibilidad de la película. El cliente se retira con el recibo y las películas alquiladas.
95 de 112
*​Historia de uso del sistema: simple y entendible por los stakeholders. El sistema informático ayudará a conseguir
los objetivos o necesidades de los usuarios.
Antecedentes
●
●
●
La idea de utilizar Casos de uso para describir los requerimientos funcionales fue introducida por Ivar
Jacobson en 1986.
La idea tuvo gran influencia y es ampliamente reconocida, principalmente por su simplicidad y utilidad.
El texto Writing Effective Use Case del autor Alistair Cockburn es uno de los primeros trabajos escritos y
publicados de 1992 en adelante.
Los Casos de Uso son una herramienta de comunicación que resume el comportamiento de un sistema y
sus actores.
El documento de Caso de Uso y el Diagrama de Caso de Uso son los artefactos que utilizamos para
comunicar a los stakeholders, el comportamiento del sistema y sus actores, durante todo el ciclo de vida del
sistema.
FM
-I
SI
Diagrama de Casos de Uso
●
●
El Diagrama de Casos de Uso es una representación del ​contexto del sistema​.
El Diagrama de Casos de Uso muestra:
○ Los límites del sistema,
○ Lo que permanece fuera del sistema, es decir el ambiente o entorno del sistema y resume el
comportamiento de un sistema.
○ Los requisitos funcionales del sistema.
96 de 112
Elementos del diagrama de Casos de Uso: Actores
Actores
Ejemplos
Cajeros, cliente, proveedores
Sistemas informáticos externos a la organización
Sistemas de autorización de tarjetas de créditos
Sistema de AFIP
Sistema VERAZ
Otras organizaciones
-I
FM
Sistemas informáticos que pertenecen a la
organización
SI
Roles de personas
Sistema de control de la producción
Sistema de alumnos
Sistema de RRHH
Municipalidad
Ministerio de Educación
UTN
Un actor es algo con comportamiento, como por ejemplo una persona (identificada con un rol), una organización,
un sistema informático.
Tipo de actores
Principales
Son los usuarios directamente beneficiados con el
sistema.
Se identifican porque es necesario encontrar los
objetivos del usuario​.
De apoyo
Proporcionan un servicio, de información por ejemplo.
Por lo general es otro sistema de información pero
también pueden ser organizaciones.
Se identifica porque el sistema necesita definir las
interfaces y protocolos​.
97 de 112
Pasivos
Pueden modificar o cambiar el caso de uso.
Por ejemplo organizaciones tributarias del gobierno.
Se los identifica porque debemos asegurarnos que
todos los interesados en el sistema se han identificado
Preguntas para encontrar actores
¿A quienes el sistema va a beneficiar?
¿Quién/Quiénes usarán el sistema?
¿Qué roles cumplen los usuarios con respecto al sistema?
¿Quiénes van a interactuar directamente con el sistema? (quienes crean o ingresan datos al sistema)
¿Quiénes van a supervisar, mantener, consultar o recibir información del sistema?
¿Con qué sistema de información se comunicará el nuevo sistema?
SI
*Sugerencia: El nombre de las calles del Diagrama de actividades nos ayudan a descubrir actores
FM
-I
Elementos del Diagrama de Casos de Uso: Caso de Uso
Nombre del Caso de Uso
Es único para cada Caso de Uso. El nombre debe ser descriptivo, es decir con
pocas palabras describe qué objetivo del usuario se obtiene con el Caso de Uso.
Generalmente comienza con un verbo que indica la función principal.
Ejemplos
Gestionar Alumnos
Gestionar Préstamos de Libros
Comprar Productos
Generar Reportes
*​Un caso de uso es una colección de escenarios con éxito y fallos relacionados, que describe a los actores utilizando
un sistema para satisfacer un objetivo.
Un escenario es una secuencia específica de acciones e interacciones entre los actores y el sistema objeto de
estudio; también se denomina instancia de Caso de Uso.
98 de 112
Preguntas para encontrar casos de uso
¿Cuáles son las principales tareas de un actor?
¿Qué tareas del actor pueden automatizarse?
¿Qué información tiene el actor que consultar, actualizar, modificar?
¿Cómo realiza el actor estas actividades?
¿Qué cambios del exterior debe informar el actor al sistema?
¿Qué información debe el sistema comunicar al actor?
*Sugerencia: Las actividades seleccionadas en el diagrama de actividades nos ayudan a encontrar los casos de uso.
Los objetos de datos del diagrama de actividad nos ayudan a identificar la información del sistema.
Documentar los Casos de Uso
SI
●
●
Para cada Caso de Uso identificado debemos especificar y documentar.
Se escribe un documento para indicar detalladamente la forma en la que el actor interactúa con el
sistema.
Los casos de uso se documentan con formatos diferentes según la necesidad.
Los grados de formalidad son los siguientes:
○ Breve​: Resumen de un párrafo que describe un escenario de éxito.
○ Completo​: Es más elaborado. Describe con detalle todos los pasos y variaciones. En el
documento hay secciones de apoyo como precondiciones y garantías de éxito.
Formalidad breve del documento
Ejemplo:
-I
●
●
FM
Sistema de Terminal de Punto de Venta -TPDVUn cliente llega a una caja con los artículos para comprar. El cajero utiliza el sistema Terminal de Punto de
Venta para registrar cada artículo que compra el cliente. El sistema muestra el detalle de cada línea de venta y el
subtotal. El sistema calcula el total a pagar. El cliente paga y el cajero registra los datos del pago. El sistema valida
y registra. El sistema actualiza el stock de productos. El sistema emite el recibo de pago. El cliente se retira con los
artículos y el recibo.
Formalidad documento completo
La estructura propuesta para el documento, es la siguiente:
1. Nombre del Caso de Uso​: Nombre único que identifica al caso de uso.
2. Actores participantes​: Roles de los actores principales, actores pasivos o actores de apoyo.
3. Precondiciones​: Son las condiciones que se deben cumplir para inciar el caso de uso. Se asumen
como verdaderas.
4. Poscondiciones​: Representan el estado del sistema después que el Caso de Uso se ha ejecutado.
5. Flujos de Eventos​: Describe la interacción entre el actores y el sistema. El flujo de eventos está
formado por: el flujo básico y el flujo alternativo.
a. Flujo Básico​. Escenario principal de éxito: el elemento que da inicio al caso de uso, la
secuencia de eventos de éxito cuando el caso de uso comienza a funcionar, la secuencia
de eventos que se pueden repetir y cómo termina el caso de uso.
i.
Evento 1
99 de 112
b.
ii.
Evento 2
iii.
Evento n
Flujos alternativos o extensiones​: describe las situaciones opcionales; los posibles
errores, diferentes variantes del caso de uso y recursos de hardware o software que
podrían bloquearse.
Ejemplo:
Nombre del Caso de Uso: ...
Actores: ...
Precondición: ,..
Poscondición: …
FM
-I
SI
Escenario principal de éxito – Flujo Básico –
1. El Cliente llega a un TDV con mercancías a comprar
2. El Cajero comienza una nueva venta
3. El Cajero ingresa el identificador del artículo
4. El Sistema registra la línea de la venta y muestra la descripción del articulo y precio unitario y suma
parcial. El precio se calcula a partir de un conjunto de reglas de precios
El Cajero repite los pasos 3-4 hasta que se indique
5. El Sistema presenta el total con los impuestos calculados
6. El Cajero le dice al Cliente el total y pide que le pague
7. El Cliente paga y el Sistema gestiona el pago.
8. El Sistema registra la venta completa y envía la información de la venta y el pago al Sistema de
Contabilidad externo (para la contabilidad y las comisiones) y al Sistema de Inventario (para actualizar el
inventario).
9. El Sistema presenta el recibo.
10 El Cliente se va con el recibo y las mercancías.
Formalidad del Documento
●
●
●
Para los dos tipos de formalidad, se debe escribir de manera esencial.
Esencial significa que se evitan los ​detalles de la interfaz de usuario y se centra en los ​objetivos o
intenciones del usuario​.
Entonces, nos preguntamos ¿proponemos las interfaces de usuario?
○ Durante el proceso de descubrimiento de los requisitos
■ Investigamos y preguntamos acerca de los objetivos de los usuarios finales.
■ Por ejemplo un objetivo podría ser "identificarse y autenticarse en el sistema"
■ No pensamos en el mecanismo que alcanza el objetivo, es decir no pensamos en un
cuadro de diálogo, que contenga identificador del usuario y contraseña.
○ Así podemos abrir la visión a soluciones nuevas y mejoradas.
■ Por ejemplo podríamos usar un lector biométrico para identificar y autenticar al usuario.
○ Trabajamos de manera iterativa, con una comunicación personal y ​continua entre los
desarrolladores del sistema y alguien que entienda el dominio del problema.
○ Si podemos realizar las interfaces de usuario pero con el objetivo de encontrar nuevos requisitos
o de validar los requisitos​ que ya hemos especificado.
○ En Análisis de Sistemas, para escribir el caso de uso ​evitemos los detalles de la interfaz de
usuario​, es decir escribamos los casos de uso ​independientemente de los detalles de la
tecnología​.
100 de 112
FM
-I
SI
Procedimiento Básico para definir los Casos de Uso
101 de 112
Modelo de Análisis
●
●
El modelo del Análisis nos permite ​validar la especificación​ de los Casos de Uso.
La validación consiste en:
○ Disminuir la ambigüedad propia de los requisitos del usuario, completar o corregir los requisitos.
○ Descubrir nuevos conceptos en el Modelo del Dominio
Consideraciones importantes acerca del Modelo del Análisis
●
●
●
●
El Modelo del Análisis no considera el ambiente de implementación, es decir:
○ No incluye al lenguaje de programación.
○ No incluye manejador de base de datos,
○ No incluye configuración de hardware, etc
El Modelo del Análisis modela el sistema bajo condiciones ideales, es un modelo conceptual del
comportamiento del sistema.
Para realizar el modelo es posible invertir 10 minutos de nuestro tiempo
Si nos lleva más tiempo, es preferible reescribir el Caso de Uso.
Diferencias entre el Modelo de Casos de Uso y el Modelo del Análisis
Modelo del Análisis
SI
Modelo de Casos de Uso
Se escribe con el lenguaje de los ​desarrolladores​.
Representa la ​vista externa​ del sistema.
-I
Se escribe con el lenguaje del cliente, es decir con
lenguaje natural​.
Representa la ​vista interna ​del sistema. Utiliza clases
conceptuales ​borde, control y entidad
No debería contener redundancias, inconsistencias​,
etc, entre requisitos.
Captura la funcionalidad del sistema​, incluida la
funcionalidad significativa para la arquitectura del
sistema
Esboza cómo llevar a cabo la funcionalidad, ​incluida la
funcionalidad significativa para la arquitectura del
sistema.
Sirve como primera aproximación al diseño.
Utilizado como ​contrato​ entre el ​cliente​ y los
desarrolladores​ sobre ​qué debería​ y qué no debería
hacer el sistema
Utilizado por los ​desarrolladores​ para ​comprender
cómo debería darse forma al sistema.
FM
Puede contener redundancias, inconsistencias​, etc
entre requisitos
Elementos del Modelo del Análisis
●
●
Podemos utilizar tres elementos: Clase entidad, Clase Borde, Clase Control.
Con UML, existen dos formas de representar los elementos:
102 de 112
SI
-I
FM
103 de 112
Ejemplo
●
●
●
Un ejemplos para trabajar los requisitos y el Caso de Uso para el ingreso al sistema mediante
autenticación del usuario.
Los requisitos se refinaron en cada iteración realizando talleres de validación con los usuarios finales.
En la próxima sección observamos el avance del trabajo, realizando y proponiendo prototipos del usuario.
Luego documentamos el Caso de Uso
FM
●
-I
SI
Reglas para tener en cuenta
104 de 112
SI
-I
FM
Caso de Uso​: Ingresar al sistema
Precondiciones​:
● El estudiante de la facultad está conectado a internet y ha ingresado a la página del sistema de Gestión de
Constancias de Alumno Regular.
● Los datos de lo usuarios están almacenados en el Sistema.
● El estudiante todavía no ingresó al sistema.
Poscondiciones​:
● Se inicia la sesión del estudiante en el sistema.
Flujo normal de los eventos - Flujo de éxito
1. Este caso de uso comienza cuando un estudiante desea autenticarse en el sistema.
2. El Sistema presenta el inicio de sesión.
3. El estudiante ingresa su legajo y contraseña.
4. El sistema valida los datos de legajo y contraseña.
5. El sistema inicia sesión.
6. El sistema presenta la información para generar la constancia de alumno regular.
Extensiones o Flujos Alternativos
3.a- El estudiante ingresa legajo o contraseña incorrecta.
1. El sistema señala el error y rechaza la entrada
2. El estudiante puede ingresar nuevamente su legajo y contraseña.
3. Retornar al paso 4 del flujo normal de los eventos.
3b- El estudiante ingresa legajo o contraseña en blanco.
1. El sistema señala el error y rechaza la entrada.
2. El estudiante puede ingresar nuevamente su legajo y contraseña105 de 112
3. Retornar al paso 4 del flujo normal de los eventos.
__________________
FM
-I
SI
¿Cómo trabajar utilizando estos datos?
● Leer con atención las precondiciones para buscar información acerca de dónde se encuentran los datos.
● Leamos las poscondiciones para saber qué hace el proceso.
● Del flujo de éxito identificamos:
○ Los conceptos trabajando con la lista de categorías.
○ Los atributos
○ Las ventanas de usuario
○ El origen de los datos/información
○ Los procesos del Caso de Uso
○ Considerar tener en línea el modelo del dominio
106 de 112
SI
-I
FM
107 de 112
Unidad 9: Validación de Requerimientos
Temas
●
●
●
●
●
Validar los requisitos: Concepto de validación.
Prototipos: componentes que facilitan la interacción hombre-máquina
Prototipos de interfaz de usuario.
Herramientas CASE para la creación de prototipos inicialesRevisiones de los requerimientos.
Bibliografía
●
SI
●
Sommerville. 7a Ed.
○ Capítulo 7. Procesos de la Ingeniería de los requerimientos.
ISO/IEC/IEEE 29148 Std.
○ Systems and software engineering.
○ Life cycle processes
○ Requirements engineering
●
●
La ​validación de requerimientos trata de mostrar que éstos realmente definen el sistema que el cliente
desea.
Coincide parcialmente con el análisis ya que este implica encontrar problemas con los requerimientos.
La validación de los requerimientos es ​importante porque los errores en el documento de requerimientos
puede conducir a importantes costos, daños personales o que el proyecto se cancele al repetir el trabajo
cuando son descubiertos durante el desarrollo o después que el sistema esté en uso.
FM
●
-I
Validación de Requerimientos
108 de 112
-I
SI
¿Por qué es importante validar los requerimientos?
Técnicas para la validación de requerimientos
Una técnica de validación es la ​construcción de prototipos
○ Un prototipo es útil en todas las actividades de desarrollo (análisis, diseño, codificación, prueba,
implementación).
○ Un objetivo del prototipo puede ser ​derivar y validar los requerimientos esenciales​.
○ La validación con el uso de prototipos se enfoca en el contenido de información de las ventanas y
los eventos del usuario.
FM
●
109 de 112
●
●
La revisión de requerimientos es una actividad ​manual ​que involucra a personas tanto de la organización
del cliente como el equipo de desarrollo del sistema.
El documento de los requerimientos se verifica para encontrar anomalía y omisiones.
Las revisiones de requerimientos pueden ser informales o formales.
-I
●
SI
Verificar los requerimientos
●
●
●
FM
Técnicas para verificar los requerimientos
Inspecciones o revisiones.
Listas de comprobación o checklist.
Chequeo contra estándares.
Revisiones
Descripción de la actividad
Informales
Los contratistas deben tratar los requerimientos con
tantos stakeholders del sistema como sea posible.
Formales
El equipo de desarrollo le explica cada requerimiento a
los clientes.
Los revisores deben comprobar lo siguiente:
● ¿Puede probarse el requerimiento?
(Verificabilidad)
● ¿Las personas comprenden correctamente los
requerimientos? (Comprensibilidad)
● ¿Está claramente establecido el origen del
requerimiento? (Rastreabilidad)
● ¿Puede cambiarse el requerimiento sin causar
efectos a gran escala en otros
requerimientos? (Adaptabilidad)
Los conflictos, contradicciones, errores y omisiones en
los requerimientos se registran formalmente en el
informe de revisión.
110 de 112
Reunión formal de revisión
¿Quiénes participan en la reunión?
● Ingenieros (Revisores)
● Clientes y Usuarios.
¿Qué artefactos debo tener disponibles?
● Prototipos IU, impresos.
● ERS
¿Qué documentos obtengo después de la reunión?
● Problemas detectados
● Acta de la reunión
Características de calidad que verificamos de cada requerimiento
Característica
Breve descripción
Un requisito es correcto si refleja alguna necesidad real, es decir, representa una necesidad
planteada por el usuario.
No ambiguo
Un requisito no es ambiguo cuando tiene una sola interpretación. Para eliminar la
ambigüedad se pueden utilizar modelos. Si un término tiene más de una interpretación, se
debe definir con precisión en el glosario.
Completo
Un requisito es completo si se han incluido las posibles respuestas del sistema a los datos
de entrada, tanto válidos como no válidos.
Verificable
Un requisito es verificable si existe un proceso finito y no costoso para demostrar que el
sistema cumple con el requisito.
Trazable
Cada requisito debe estar identificado con una referencia para facilitar el conocimiento de
su origen y de su destino.
FM
-I
SI
Correcto
Características de calidad que verificamos del documento ERS
Característica
Breve descripción
Validez
Se razona y analiza si el conjunto de requerimientos contenidos en la ERS coincide con las
necesidades de los usuarios.
Consistencia
Los requerimientos en el documento ERS no deben contradecirse ni deben existir
requerimientos ambiguos
Completitud
El documento de los requerimientos debe incluir todas las funciones y restricciones
propuestas por el usuario del sistema.
Realismo
Se deberá asegurar que la tecnología propuesta para el sistema se podrá implementar.
También se considerará el presupuesto y la agenda.
Verificabilidad
Escribir un conjunto de pruebas que demuestran que el sistema a entregar cumple cada
uno de los requerimientos especificados.
Reducir la posibilidad de discusión entre el cliente y los desarrolladores.
111 de 112
Ejemplo lista de verificación o checklist
Resumen de técnicas para verificar y validar los requerimientos
Técnicas
Descricpción
Los requerimientos se analizan sistemáticamente por un equipo de
revisores.
Construcción de prototipos
Se muestra un modelo ejecutable del sistema a los usuarios finales y a
los clientes. Estos pueden experimentar con el modelo para ver si
cumple sus necesidades reales.
Generación de casos de pruebas
Se deben escribir pruebas para los requerimientos antes de que se
escriba el código del programa.
Si una prueba es difícil o imposible de diseñar, significa que los
requerimientos serán difíciles de implementar y se los debería
considerar nuevamente.
FM
-I
SI
Revisiones
112 de 112
Download