[go: up one dir, main page]

0% encontró este documento útil (0 votos)
20 vistas43 páginas

Semana 03 - A

El documento presenta una introducción a la ingeniería de requerimientos, incluyendo su importancia, ciclo de vida y técnicas de extracción. Luego, cubre temas como las propiedades, clasificaciones, documentación, trazabilidad y gestión de requerimientos. Finalmente, concluye resaltando la relevancia de esta disciplina para el éxito de los proyectos de desarrollo de software.

Cargado por

carlos hernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas43 páginas

Semana 03 - A

El documento presenta una introducción a la ingeniería de requerimientos, incluyendo su importancia, ciclo de vida y técnicas de extracción. Luego, cubre temas como las propiedades, clasificaciones, documentación, trazabilidad y gestión de requerimientos. Finalmente, concluye resaltando la relevancia de esta disciplina para el éxito de los proyectos de desarrollo de software.

Cargado por

carlos hernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 43

ANALISIS Y DISEÑO DE SISTEMAS

Semana 03
Del 24 al 28 de abril
Ingeniería de Requerimientos
Ing. Juan Carlos Hernández Saona

jhernandez@iestplurin.edu.pe
• Introducción
• Importancia de los requerimientos
• Ciclo de vida de requerimientos
• Propiedades de los requerimientos
• Errores de requerimientos
Contenido
• Clasificaciones de requerimientos
• Documentación de requerimientos
• Trazabilidad de requerimientos
• Gestión de requerimientos
• Conclusiones
La realidad de los
Requerimientos

3
• Conjunto de actividades involucradas
en el descubrimiento, documentación
y mantenimiento de los
requerimientos para un producto
determinado – según Ortas 1997
Introducción • El proceso de recopilar, analizar y
verificar las necesidades del cliente
para un sistema, es llamado Ingeniería
de Requerimientos. La meta es
entregar una especificación de
requerimientos de software correcta y
completa
• La Ingeniería de requerimientos
comprende todas las tareas
relacionadas con la determinación de
las necesidades o de las condiciones a
satisfacer para un software nuevo o
modificado, tomando en cuenta los
Introducción diversos requerimientos de los
usuarios, que pueden entrar en
conflicto entre ellos. Puede ser
conocida también como "Análisis de
requerimientos", "especificación de
requerimientos", etcétera
¿Qué es un Requerimiento?
• Una condición o capacidad necesaria
para un usuario para resolver un
problema o alcanzar un objetivo
• Una condición o capacidad que debe
estar presente en un sistema o
Introducción componentes de un sistema para
satisfacer un contrato, estándar,
especificación u otro documento
formal
• Una representación documentada de
una condición o capacidad como en (1)
o (2)
“La parte más difícil de construir un
sistema es precisamente saber qué
construir. Ninguna otra parte del trabajo
conceptual es tan difícil como establecer
los requerimientos técnicos detallados,
incluyendo todas las interfaces con
gente, máquinas y otros sistemas.
Importancia de los Ninguna otra parte del trabajo afecta
tanto el sistema si es hecha mal. Ninguna
requerimientos es tan difícil de corregir más adelante...
Entonces, la tarea más importante que el
ingeniero de software hace para el
cliente es la extracción iterativa y el
refinamiento de los requerimientos del
producto.”
Frederick P. Brooks 1987
• Los requerimientos se deben descubrir
antes de empezar a construir un
producto y puede ser algo que el
Importancia de los producto debe hacer o una cualidad
que el producto debe tener
requerimientos
• Si no se tienen los requerimientos
correctos, no se puede diseñar o
construir el producto correcto
Estrategia y
Demanda Gestión del Portafolio y Proyectos
Operacional

Definición y Gestión de Requerimientos

Análisis

Priorización, Verificación,
Riesgo, Estimación

Modelo General
Elicitación Especificación Validación
Requerimientos detallados,
Técnicas, Interesados, Escenarios de modelos de negocio, Priorización, Verificación,
Glosarios, Límites del sistema Modelosde casos de uso, Prototipos Riesgo, Estimación

Gestión de Requerimientos

Almacenamiento, Trazabilidad, Medición y Auditoría, Estado, Documentación, Seguridad

9
Flujo General

10
Modelo en
Cascada

11
Ciclo del Análisis
de
requerimientos

12
• Existen diferentes métodos para la
extracción de los requerimientos.
Algunos son:
• Entrevistas con el cliente y con los
Extracción de futuros usuarios
Requerimientos • Encuestas
• Documentos entregados por los
clientes
• Prototipación
• Sistemas antiguos
• Es importante tener en cuenta que en
muchos casos el cliente no sabe al
inicio del proyecto cuales son sus
Extracción de requerimientos.
Requerimientos • En este sentido es más un proceso de
definición y descubrimiento de
requerimientos junto al cliente que
una extracción de algo existente
Un Poco de
Humor

15
• Publicar previamente una agenda y seguirla
• Incluir a las personas apropiadas
• Si no se invita a una reunión a un
actor importante para los temas
tocados, tenderá luego a asistir a
todas las reuniones para no perder
nada
• Si se invita alguien que en la práctica
Entrevistas y reuniones no tiene relación con el tema de la
reunión, puede distorsionar la reunión
y no asistir a reuniones posteriores
• Manejar las personas que no pertenecen a
la reunión
• No agendar reuniones justo antes de la hora
de almuerzo
• Procurar se respeten los horarios de inicio y
término de las entrevistas y reuniones
Llevar tarjetas de presentación y presentarse al inicio de la entrevista si no lo ha hecho
anteriormente con algún participante

Recordar y confirmar la asistencia de los participantes claves a la reunión unos minutos


antes de la hora de inicio

Establecer previamente una política de interrupciones

Prohibir ataques personales y descalificaciones

Reducir la presión si la atmósfera de la reunión se complica, pero considerando que de


algunos conflictos pueden surgir conclusiones importantes para el proyecto

Entrevistas y reuniones
• Al hacer una pregunta, escuchar la
respuesta, entonces describir nuestro
entendimiento
• Usar la terminología y artefactos del
usuario
• En los minutos finales, revisar los
puntos tocados en la entrevista o
reunión para detectar detalles que
Entrevistas y necesitan aclaración “en caliente”
reuniones • Al termino, agradecer a los usuarios
por su tiempo y hacerle saber por que
fue valiosa su participación
• Luego, confeccionar una minuta
incluyendo los compromisos
resultantes y enviarla a los
participantes para su visto bueno
Técnica
• Entrevistas y Cuestionarios

Ventajas
• Se obtiene una gran cantidad de información
correcta del usuario
• Pueden usarse para obtener un pantallazo del
dominio del problema
Análisis comparativo • Son flexibles
• Pueden combinarse con otras técnicas
de algunas técnicas
Desventajas
• La información obtenida al principio puede ser
redundante o incompleta
• Si el volumen de información manejado es
alto, requiere mucha organización de parte del
analista, así como la habilidad para tratar y
comprender el comportamiento de todos los
involucrados

19
Técnica
• Lluvia de Ideas

Ventajas
• Los diferentes puntos de vista y las
confusiones en cuanto a terminología,
Análisis comparativo son aclaradas por expertos
de algunas técnicas • Ayuda a desarrollar ideas unificadas
basadas en la experiencia de un
experto

Desventajas
• Es necesaria una buena
compenetración del grupo participante

20
Técnica
• Prototipos

Ventajas
• Ayudan a validar y desarrollar nuevos
requerimientos
• Permite comprender aquellos
requerimientos que no estén muy claros y
Análisis comparativo que sean de alta volatilidad
de algunas técnicas
Desventajas
• El cliente puede llegar a pensar que el
prototipo es una versión del software que
será desarrollado
• A menudo, el desarrollador hace
compromisos de implementación con el
objetivo de acelerar la puesta en
funcionamiento del prototipo

21
• Se procesa la información obtenida
Análisis de • Se analizan inconsistencias que
puedan existir
requerimientos
• Se analiza si la información obtenida
es suficiente para la etapa de diseño
• Los diferentes tipos de documentos
son: User Requeriment Specification
(URS), Alternatives and Impacts
Document (AID), Software
Requirements Specification (SRS),
Prototipos
Documentación de
• Es importante que los documentos
Requerimientos estén completos
• Estos documentos no solo sirven para
saber qué hay que hacer sino para
tener un respaldo validado por el
cliente de lo que posteriormente se
construye
• Proceso manual que involucra a varios
lectores
Revisión de los
• IQA: revisión interna del proyecto
requerimientos
• EQA: revisión externa del proyecto
pero interna a la empresa
• El equipo “conduce” al cliente a través
de los requerimientos para confirmar
Validación de si es lo que realmente quiere
Requerimientos • Es muy importante que el cliente
valide los documentos generados
El proceso de lectura consiste en leer la secuencia de
letras de cada palabra y luego ir armando la frase con
cada una de las palabras identificadas

Según un etsduio de una uivennrsdiad ignlsea no


ipmotra el odren en el que las ltears etsen ersciats, la
uicna csoa ipormnte es que la pmrirea y la utlima ltera Proceso de
esten ecsritas en la psiocion cocrrtea. El rsteo peuden
estar taotlmntee mal y aun prodas lerelo sin pobrleams.
Etso es pquore no lemeos cada ltera en si msima, pero si
lectura
la paalbra cmoo un todo.

¿No te parcee aglo icrneible?


¿Por qué los Proyectos de Software son exitosos?

13,0%: 7,2%:
9,6%: Quality
15,9%: 13,9%: clara 8,2%: equipo
apropiad 7,7%: Systems
involucra soporte definición expectati compete &
o hitos no
a administr de vas nte de Software
planeami extensos
usuarios ación requerimi realistas profesion · 1997
entos ento ales
• 13,1%: requerimientos incompletos
• 12,4%: falta de requerimientos
• 10,6%: falta de recursos
• 9,9%: expectativas no realistas

¿Por qué los Proyectos • 8,7%: cambio de


requerimientos/especificaciones
de Software fallan?
• 8,1%: falta de planeamiento
• 7,5%: no se especifico el tiempo
adecuado

Quality Systems & Software · 1997


100%
100%

90%

80%

70%
Costos Costo relativo 60%
relativos en la 60%

corrección de 50%

errores de 40%

requerimient 30%

os 20%
20%

10% 7%
0,15% 0,5%
0%
Requerimientos Diseño Codificación Test de desarrollo Test de Operación
aceptación
Fase en la que se identifica el error

45
Errores de
requerimi
entos
• El 48% de los defectos observados en
proyectos de software de mediana
escala son “atribuidos a especificaciones
funcionales o requerimientos
incorrectos o mal interpretados” (Basili y
Perricone · 1984)
• El 79,6% de los defectos de las interfaces
y el 20,4% de los defectos de
Errores de implementación se deben a
requerimientos requerimientos omitidos o incompletos
(Perry y Stieg · 1993)
• El 44,1% de todos los defectos de los
sistemas se producen en la etapa de
especificación (Computer Weekly Report
· 1994)
• La tecnología es un problema mayor solo
en un 7% de los proyectos
• “Los requerimientos, especialmente
expresados en una especificación (o a
menudo no expresados porque no
existe especificación), son la mayor
fuente de los costosos bugs. El rango
va desde un pequeño porcentaje
hasta más del 50% dependiendo de la
aplicación y el ambiente. Lo que más
Errores de duele es que estos defectos son los
requerimientos que más temprano invaden el sistema
y también son los últimos en salir. No
es raro que un requerimiento
defectuoso pase todos los tests de
desarrollo, el beta-test, y el uso inicial
en producción, sólo para ser
descubierto después de que se ha
instalado en centenares de sitios”
(Beizer · 1990)
• Los requerimientos se pueden dividir
en “Requerimientos Funcionales” y
“Requerimientos No Funcionales”
• Los requerimientos funcionales son
los requerimientos que especifican las
entradas (estímulos) al sistema, las
salidas (respuestas) del sistema y la
relación entre las entradas y las
Requerimientos Funcionales y salidas
No Funcionales • Los requerimientos no funcionales
tienen que ver con características o
restricciones que de una u otra forma
puedan limitar el sistema, como por
ejemplo, el rendimiento (en tiempo y
espacio), interfaces de usuario,
confiabilidad, mantenimiento,
seguridad, portabilidad, estándares,
etc.
• Para calcular el interés de depósito
fijo anual, se hace por un período de 3
años al 14%
Requerimientos Funcionales • Los datos requeridos de los clientes
Ejemplos son: nombre, apellido, CI y teléfono
• Para poder ingresar un cliente,
primero hay que tener ingresada la
empresa en la cual trabaja
Performante
• Número de dígitos de precisión en un
cálculo numérico
• Tiempo máximo de respuesta en una
transacción
• Tiempo de respuesta y finalización de
tareas en un sistema de tiempo real
Requerimientos No Funcionales
Ejemplos
Ambiente
• Que el sistema corra bajo un
determinado sistema operativo
• Usar un determinado lenguaje de
programación
Seguridad
• El alta y baja de libro puede ser
realizado solo por el jefe de librería
Usabilidad
• Los futuros usuarios deben poder
utilizar el sistema después de un
entrenamiento de 2 semanas
• El ingreso de pedidos de clientes
típico (15 ítems) no puede llevar más
de 1 minuto
Requerimientos No Funcionales
Confiablidad
Ejemplos
• Probabilidad de falla bajo demanda
(POFOD)
• Tasa de ocurrencia de fallas (ROCOF)
• Tiempo medio entre fallas (MTTF)
• Disponibilidad
• Tipos de satisfacción en el cliente o usuario:
• Requerimientos Normales
• Respuestas del usuario a preguntas específicas
• La satisfacción / insatisfacción es proporcional a su
presencia / ausencia en el sistema
• La satisfacción es lineal y bi-direccional
• Requerimientos Esperados
• Tan básicos que es posible que el usuario no los mencione
• Su presencia en el sistema seguramente cumpla con las
expectativas del cliente pero no aumenta la satisfacción
Otros criterios de clasificación • Su ausencia es muy insatisfactoria
de requerimientos • Requerimientos Extra
• Van mas allá de las expectativas de los clientes
• No son extraídos de los clientes
• Alta satisfacción de los clientes cuando estos
requerimientos resultan exitosos
• Su ausencia no insatisface porque no son esperados

• Tipos de servicio

• Categorías de usuario
• Los requerimientos extra se están
transformando cada vez mas en
Tendencia a través requerimientos normales
de los años • Algunos requerimientos normales se
transforman en esperados
Clasificación por tipos de servicio

Requerimientos Requerimientos Requerimientos Requerimientos


asociados a asociados a asociados a asociados a
funcionalidad presentación performance administración

La manera o
Necesidades de Criticidad del Controles en el
forma de
información del tiempo de la procesamiento de
presentar la
usuario información la información
información

Aspectos del
Uso optimo de los Clima
procesamiento de
recursos organizacional
la información
URS · User Requirements AID · Alternatives and SRS · Software Prototipos
Specification Impacts Document Requirements Specification • El prototipado es una técnica de
• Documento inicial que describe • Las diferentes soluciones • Documento genérico de
construcción parcial del sistema
cual es la funcionalidad del alternativas y su impacto en la especificación de • En un comienzo, su objetivo era
negocio requerida y los organización o dominio del requerimientos. que los clientes, usuarios y
problemas existentes desde la cliente es definido en el AID desarrolladores pudieran
• Contiene una descripción global
perspectiva del usuario. aprender más sobre un problema
• Su principal propósito es servir del sistema completo o la solución del problema
• El URS documenta los objetivos como un registro de que • Puede estar mas o menos
que se suponen deben ser • Entonces, la única y principal
distintas alternativas se detallado según los datos
logrados y los requerimientos generaron durante el análisis y se obtenidos al momento función del desarrollo de un
asociados para alcanzarlos. definió un ranking de acuerdo a prototipo era establecer los
• Tiene que estar escrito de forma requerimientos
• Contenido: Introducción, su impacto que sea comprensible por el
Descripción general, • Es una manera muy fácil de
• Puede ser o no entregado al usuario, ya que deberá validarlo
Requerimientos, Plan de IT, cliente representar la navegabilidad y
• Contenido: Introduction,
Apéndices presentación del sistema
• Contenido: Introducción, Purpose, Scope, Definitions,
Soluciones alternativas, acronyms and abbreviations,
Impactos, Solución elegida References, Overview, Product
perspective (System Interface,
User Interface, Hardware,
Interface, Software Interface,
Communication Interface,
Memory Constraints, Operations,
Site Adaptation requirements),
Product functions, User
characteristics, Constraints,
Assumptions and dependencies,
Prioritizing of the requirements,
Specific requirements (External
interfaces, Functions,
Performance requirements,
Logical database requirements,
Design constraints, Software
system attributes, Organizing the
specific requirements, Additional
comments)

Documentos de requerimientos
• La Ingeniería de Requerimientos es primordial
en el proceso productivo ya que se enfoca en
la producción, siendo su tarea la generación
de especificaciones correctas que describan
con claridad, sin ambigüedades y en forma
compacta las necesidades del cliente,
minimizando los problemas relacionados con
la gestión de dichos requerimientos.
Principales • Los requerimientos son importantes debido a
conclusiones que son la base de todo desarrollo de
software. Obtener requerimientos de calidad
demuestra que el trabajo realizado culminará
con éxito, esto se debe a dos factores:
• La utilización adecuada de las técnicas
de captura de requerimientos con los
clientes.
• La experiencia de los analistas del
proyecto.

También podría gustarte