2. Fundamento de Ing. De software
INSTITUTO TECNOLOGICO
DE TUXTEPEC
INVESTIGACIÓN: INGENIERIA DE REQUISITOS.
ASIGNATURA:
FUNDAMENTOS DE ING. DE SOFTWARE
UNIDAD I:
INTEGRANTES:
Alba Nydia Soto Domínguez
Araceli Hernández Castro
Arlethe Tenorio Martínez
Julio Franco Elías Celis
Mónica Moreno Ortiz
Zuleima Pérez Ibáñez
DOCENTE:
MSC. MARIA DE LOS ANGELES MTZ MORALES
ESPECIALIDAD:
I.S.C
SEMESTRE Y GRUPO:
5° “A”
San Juan Bautista Tuxtepec, Oax., a 19 de Septiembre de 2012.
Ingeniería de requisitos Página 1
3. Fundamento de Ing. De software
CONTENIDO
I.- INTRODUCCIÓN
II.- CONCEPTO DE INGENIERIA DE REQUISITOS
III.- 7.2.1 INICIO
IV.- 7.2.2 OBTENCION
V.- 7.2.3 ELABORACION
VI.- 7.2.4 NEGOCIACION
VII.- 7.2.5 ESPECIFICACION
VIII.-7.2.6 VALIDACION
IX._ 7.2.7 GESTION
X.- CONCLUSION
XI.- REFERENCIAS
Ingeniería de requisitos Página 2
4. Fundamento de Ing. De software
INTRODUCCIÓN
La ingeniería de requisitos ayuda a los ingenieros de software a entender mejor el
problema en cuya solución trabajarán.
El diseño y la construcción de un elegante programa de computadoras que
resuelva el problema incorrecto no satisfacen las necesidades de nadie.
La ingeniera de requisitos empieza con la fase de inicio la cual es una tarea
importante que define el ámbito del problema que debe resolverse, después
continua con la obtención, que es una tarea que ayuda al cliente a definir sus
necesidades; posteriormente sigue con la elaboración, que es la fase donde se
refinan y modifican los requisitos básicos.
Cuando el cliente ha definido el problema se lleva a cabo lo que es la negociación,
donde se define cuales son las prioridades, los aspectos y en qué momento se
requieren.
Por lo ultimo el problema se especifica de alguna manera, y después es validado y
revisado para asegurar que concepción del problema que tiene el ingeniero de
software coincide con la percepción del cliente.
El objetivo es darle a todas las partes una explicación escrita del problema. Esto
puede lograrse por medio de varios productos de trabajo: escenario de uso, listas
de funciones y características, modelos de análisis o alguna especificación.
Ingeniería de requisitos Página 3
5. Fundamento de Ing. De software
DEFINICION: INGENIERIA DE REQUISITOS
La Ingeniería de Requisitos ayuda a los ingenieros de software a entender
mejor el problema en cuya solución trabajarán. Incluye el conjunto de tareas
que conducen a comprender cuál será el impacto del software sobre el
negocio, qué es lo que el cliente quiere y cómo interactuarán los usuarios
finales con el software. [Pressman, 2006: 155]
La Ingeniería de Requisitos es el proceso de desarrollar una especificación
de software. Las especificaciones pretender comunicar las necesidades del
sistema del cliente a los desarrolladores del sistema. [Sommerville, 2005:
82]
La Ingeniería de Requisitos se define, como un conjunto de actividades en
las cuales, utilizando técnicas y herramientas, se analiza un problema y se
concluye con la especificación de una solución (a veces más de una).
¿Qué es? La ingeniería de requisitos ayuda a los ingenieros de software a
entender mejor el problema en cuya solución trabajaran. Incluye el conjunto de
tareas que conducen a comprender cual será el impacto del software sobre el
negocio, que es lo que el cliente quiere y como interactuaran los usuarios
finales en el software.
¿Quien lo hace? Los ingenieros de software alunas veces referidos como
ingenieros de sistemas o analistas en el mundo de la TI y otros interesados
participan en la ingeniería de requisitos.
¿Por qué es importante? El diseño y la construcción de un elegante programa
de computadora que resuelva el problema incorrecto no satisfacen las
necesidades de nadie. Por lo tanto, es muy importante entender lo que el
cliente quiere antes de comenzar a diseñar y construir un sistema basado en
computadoras.
Ingeniería de requisitos Página 4
6. Fundamento de Ing. De software
¿Cuáles son los pasos? La ingeniería de requisitos empieza con la fase de
inicio, la cual es una tarea que define el ámbito y la naturaleza del problema
que debe resolverse. Después continúan con la obtención , que es una tarea
que ayuda al cliente a definir sus necesidades; posteriormente sigue con la
elaboración, que es la fase donde se refinan y modifican los requisitos básicos.
Cuando el cliente ha definido el problema más se lleva a cabo la negociación,
donde se definen cuales son las prioridades, cuales aspectos son esenciales y
n que momento se requieren. Por último el problema se especifica de alguna
manera, y después es validado y revisado para asegurar que la concepción del
problema que tiene el ingeniero de software consiste con la percepción del
cliente.
UN PUENTE HACIA EL DISEÑO Y LA CONSTRUCCION
Las actividades de diseño y construcción de software de computadora son
desafiantes, creativas y hasta divertidas. De hechos, la construcción es tan
irresistible que muchos desarrolladores de software quieren entrar en ella antes
de comprender con claridad de que es lo que se necesita.
La ingeniería de requisitos, como todas las demás actividades de la ingeniería
del software, debe adaptarse a las necesidades del proceso, el proyecto, el
producto y las personas que realizan el trabajo. Desde la perspectiva del
proceso del software, la ingeniería de requisitos (IR) es una acción de la
ingeniería de software que comienza durante la actividad de comunicación y
continua en la actividad de de modelado.
La ingeniería de requisitos tiende un puente hacia el diseño y la construcción.
Pero ¿Dónde se origina el puente? Se puede argumentar que comienza al pie
de los participantes del proyecto, donde se definen las necesidades del
negocio, se describen los escenarios de los usuarios, se delinean las
características y funciones, y se identifican las restricciones del proyecto.
Ingeniería de requisitos Página 5
7. Fundamento de Ing. De software
TAREAS DE LA INGENIERIA DE REQUISITOS
La ingeniería de requisitos proporciona el mecanismo apropiado para entender
lo que el cliente quiere, analizar las necesidades, evaluar la factibilidad,
negociar una solución razonable, especificar la solución sin ambigüedades,
validar la especificación, y administrar los requisitos conforme estos se
transforman en un sistema operacional. El proceso de la ingeniería de
requisitos se lleva a cabo a través de siete distintas funciones: inicio,
obtención, elaboración, negociación, especificación, validación y gestión.
Resulta importante destacar que algunas de estas funciones de la ingeniería
de requisitos ocurren en paralelo y que todas deben adaptarse a las
necesidades del proyecto. Todas están dirigidas a definir lo que el cliente
quiere, y todos sirven para establecer una base solida respecto del diseño y la
construcción de lo que obtendrá el cliente.
7.2.1 INICIO
La mayoría de los proyectos comienzan cuando se identifican una necesidad
de negocios o se descubre u nuevo mercado o servicio potencial. Los
participantes de la comunidad de negocios, de decir, los gerentes, gente de
mercadotecnia, gerentes de productos.
Definen un caso de negocios para la idea, tratan de identificar una descripción
funcional del ámbito del proyecto.
Ingeniería de requisitos Página 6
8. Fundamento de Ing. De software
7.2.2 OBTENCION
Que es lo que se debe lograr, de que forma el producto satisface las necesidades
del negocio y por ultimo como se utilizara el sistema o producto día a día. Pero no
es muy simple, es muy difícil.
Christel y kang {CR192} identifica una serie de problemas que ayudan a entender
por qué es difícil la obtención de requisitos:
o Problemas de ámbito El límite del sistema está mal definido o los
clientes/usuarios especifican detalles técnicos innecesarios que pueden
confundir, el lugar de clarificar, los objetivos generales del sistemas.
o Problemas de comprensión: Los clientes/usuarios no están seguros por
completo de que es lo que se necesita, comprenden poco acerca de las
capacidades y limitaciones de su ambiente de computo, no comprenden del
todo el dominio del problema, tiene dificultades al comunicar necesidades al
ingeniero de sistemas, omiten información que consideran, especifican
requisitos que chocan con las necesidades de otros clientes/usuarios, o
especifican requisitos ambiguos o inestables.
o Problemas de volatilidad: Los problemas cambian conforme transcurre
el tiempo.
Para ayudar a superar estos problemas los ingenieros de requisitos deben
realizar en forma de organizada la actividad de recopilación de requisitos.
Ingeniería de requisitos Página 7
9. Fundamento de Ing. De software
7.2.3 ELABORACION
La elaboración es una acción del modelado del análisis y se compone de una serie
de tareas de modelado y refinamiento. La elaboración de conduce mediante la
creación y el refinamiento de escenarios del usuario que describe la forma en que
el usuario final, y otros actores interactúan con el sistemas. Cada escenario del
usuario se analiza para obtener clases de análisis: entidades del dominio de
negocios visibles para el usuario final.
Se define los atributos de cada clase de análisis y se identifican los servicios que
requiere cada cada clase de análisis y se indenfican los servicios que requiere
cada clase. Se identifican los atributos las relaciones y colaboraciones entre las
clases y se produce una variedad de diagramas de UML complementarios.
El resultado final de la elaboración es un modelo de análisis que define el dominio
de la información, las funciones y el comportamiento del problema.
Ingeniería de requisitos Página 8
10. Fundamento de Ing. De software
7.2.4 NEGOCIACIÓN
El ingeniero de requisitos debe conciliar estos conflictos por medio de un proceso
de negociación. Se pide a los clientes, usuarios y otros interesados que ordene
sus requisitos y después discutan los conflictos relacionados con la prioridad.
Se identifican y analizan los riesgos asociados con cada requisito.
Se hacen estimaciones preliminares del esfuerzo requerido para su desarrollo
después se utilizan para evaluar el impacto de cada requisito en el costo del
proyecto y sobre el tiempo de entrega. Mediante un enfoque iterativo, los
requisitos se eliminan, combinan o modifican de forma que cada parte alcance
cierto grado de satisfacción.
7.2.5 ESPECIFICACIÓN
El termino especificación tiene significados diferentes. Una especificación puede
ser un documento escrito, un conjunto de modelos gráficos, un modelo
matemático formal, una colección de escenarios de uso, un prototipo o cualquier
combinación de estos.
Para una especificación se debe desarrollar y utilizar una “plantilla estándar”
argumentan que esto conduce a que los requisitos sean presentados de una
manera mas consistente y por ende mas entendible.
Algunas veces es necesario ser flexible mientras se desarrolla una especificación.
Por otro lado, en cuanto a productos o sistemas mas pequeños, podría ser que no
se necesiten mas que escenarios de uso, cuando dichos sistemas residan en
ambientes técnicos que se comprendan bien.
La especificación es el producto del trabajo final que genera la ingeniería de
requisitos. Describe la función y el desempeño de un sistema basado en
computadora y las restricciones que requieran su desarrollo.
Ingeniería de requisitos Página 9
11. Fundamento de Ing. De software
7.2.6 VALIDACION
La validación de requisitos examina la especificación para asegurar que todos los
requisitos de software se han establecido de manera precisa; que se han
detectado las inconsistencia o visiones y errores y que estos han sido corregidos,
y que los productos de trabajo cumplen con los estándares establecidos para el
proceso, proyecto y producto.
El equipo de revisión que valida los requisitos incluye ingenieros de software,
clientes, usuarios y otros que examinan la especificación y buscan errores en el
contenido o la interpretación, arias que tal vez requieran una clarificación,
información faltante, inconsistencias (que es un problema importante cuando se
desarrollan productos o sistemas grandes), conflictos entre los requisitos o
requisitos irreales (in alcanzables).
Ingeniería de requisitos Página 10
12. Fundamento de Ing. De software
7.2.7 GESTION
La gestión de requisitos es un conjunto de actividades que ayudan al equipo de
proyecto a identificar, controlar y rastrear los requisitos y los cambios a estos en
cualquier momento mientras se desarrolla el proyecto.
La gestión de requisitos comienza con la identificación. Cada requerimiento se
asigna a un solo identificador. Una vez identificados se desarrollan las tablas de
rastreabilidad, cada una de ellas relacionan los requisitos con uno o mas aspectos
del sistema. Entre las muchas tablas de rastreabilidad posibles están las
siguientes:
Tablas de rastreabilidad de la fuente.- identifica la fuente de cada requisito.
Tabla de rastreabilidad de dependencia.- indican la forma en que los
requisitos están relacionados entre si.
Tabla de rastreabilidad del subsistema.- establece categorías entre los
requisitos de acuerdo con los sistemas que gobiernan.
Tabla de rastreabilidad de la interfaz.-muestra la forma en que los requisitos
se relacionan con las interfaces internas y externas del sistema.
En muchos casos, estas tablas de rastreabilidad se mantienen como parte de la
base de datos de los requisitos de forma que pueda buscárseles con rapidez para
entender como el cambio en un requisito afectara diferentes aspectos del sistema
que se construirá.
Ingeniería de requisitos Página 11
13. Fundamento de Ing. De software
CONCLUSION
Esto se logra realizando una serie de tareas de ingeniería de requisitos, la cual
se lleva a cabo durante las actividades de comunicación con el cliente y modelado
que han sido definidas para el proceso genérico del software. Los miembros del
equipo de software realizan siete funciones distintas dentro de la ingeniería de
requisitos:
Inicio
Obtención
Elaboración
Negociación
Especificación
Validación
Gestión
Ingeniería de requisitos Página 12
14. Fundamento de Ing. De software
REFERENCIAS
http://es.scribd.com/doc/27182020/Ingenieria-de-Software-Un-Enfoque-Practico-6th-edicion-Roger-pressman-1
Ingeniería de requisitos Página 13