Está en la página 1de 21

ANÁLISIS Y DISEÑO DE SI

UNIDAD 1. Procesos de Ingeniería de


software
Ing. Sandra Marcela Guerrero C
INGENIERÍA DE REQUISITOS
 La ingeniería de requisitos es una area de conocimiento (KA) que
se relaciona estrechamente con otras áreas las cuales son
indispensables en el desarrollo del software (Diseño,
Construcción, Pruebas, Mantenimiento, etc.)
 Incluye etapas como Elicitacion (Obtención), Análisis,
Especificación, Validación de Requisitos, así como su Gestión
durante el ciclo de vida de un producto software.
¿QUÉ ES UN REQUISITO?
Requisito:
 Propiedad que representa la necesidad de resolver un problema del mundo real.
 Atributo necesario en un sistema.
Dichos requisitos pueden ser de
 Carácter funcional: referente a una funcionalidad adherida al sistema o que el
software va a ejecutar. Serie de pasos que me llevan a describir su
comportamiento.
 Carácter no funcional: referente a un factor de calidad que mejore dicho sistema o
una restricción.

Los requisitos expresan tanto necesidades como restricciones de lo que va o no hacer


un producto software.
ESPECIFICACIÓN DE UN PROBLEMA

La primera etapa en todo proceso de construcción de software consiste en:


 Entender el problema que tiene el cliente.
 Expresar toda la información que él suministre, de manera tal que cualquier otra
persona del equipo de desarrollo pueda entender sin dificultad lo que espera el
cliente de la solución.
Dicha fase se denomina análisis y la salida de esta etapa la llamamos la
especificación del problema.
Tomado Fundamentos de Programación, Jorge Villalobos, Rubby Casallas
Lo que el cliente espera de la
solución. Servicio que el
programa debe proveer al
usuario

Contexto en el que ocurre el


problema

Restricciones o condiciones
que impone el cliente al
programa que se le va a
construir.

ING DE SOFTWARE
¿QUÉ IMPLICA ANALIZAR UN
PROBLEMA?
 Entender el problema: Hacer lo
que el cliente desea.
 Descomponer el problema en sus
tres aspectos fundamentales:
requisitos funcionales , contexto
del problema, requisitos no
funcionales.
 Expresar lo que entendemos de la
mejor manera posible pensando en
la posible solución.
SOLUCIÓN PROBLEMA CON COMPUTADOR

ING DE SOFTWARE

Tomado Fundamentos de Programación, Jorge Villalobos, Rubby Casallas


Los diferentes espacios en los que se
desarrolla una solución de software
EJEMPLO
 Una empresa de aviación quiere construir un programa
que le permita buscar una ruta para ir de una ciudad a
otra, usando únicamente los vuelos de los que dispone la
empresa. Se quiere utilizar este programa desde todas las
agencias de viaje del país.
Tomado Fundamentos de Programación, Jorge Villalobos, Rubby Casallas
EJERCICIO 1
 Un banco quiere crear un programa para manejar sus cajeros
automáticos. Dicho programa sólo debe permitir retirar dinero y
consultar el saldo de una cuenta. Identifique y discuta los aspectos
que constituyen el problema. Si el enunciado no es explícito con
respecto a algún punto, intente imaginar la manera de completarlo.
Ejercicio 2
 Considere una biblioteca. Se desea ofrecer la posibilidad de que un socio consulte por
internet los libros disponibles. El socio podrá indicar los siguientes datos: palabras
presentes en los títulos o en los nombres de los autores, fecha de edición, idioma.
 El sistema debe mostrar una lista de las publicaciones que satisfacen el criterio de
búsqueda e indicar la cantidad total de títulos seleccionados. En cada página devolverá
un máximo de 10 títulos. El sistema debe ofrecer la posibilidad de recorrer las distintas
páginas y de aplicar filtros adicionales a las listas devueltas. El socio podrá elegir ver
información adicional respecto a un libro (comentarios y si está disponible para
préstamo)
 Se desea dar la opción a que los usuarios se registren, lo que los habilita a tener acceso
a servicios adicionales. Para registrarse el usuario debe indicar un conjunto de datos,
algunos de los cuales son obligatorios. En particular debe indicar una identificación de
usuario y una contraseña. No pueden haber identificaciones de usuario repetidas y el
usuario debe ingresar dos veces la contraseña de forma idéntica para que esta se
considere válida.
 Se desea que para al ingresar al portal web de la biblioteca, el socio deba identificarse
mediante nombre y password.
IMPORTANCIA DE LOS REQUISITOS
El éxito o fracaso de un proyecto software depende de la calidad de los
requisitos.
Los requisitos definen el alcance del trabajo e indican al equipo del
proyecto que quieren los usuarios.
Permiten planificar el tiempo y duración del proyecto.
Si hay requisitos erróneos:
 Falla el proyecto
 Se retrasa
 Está por encima del presupuesto
 Se producen sistemas que no se usarán
IMPORTANCIA DE LOS REQUISITOS
Cualquier error cometido en forma temprana tiene consecuencias de bola de
nieve:
 Etapas tempranas : Mas fácil corregir el problema
 Etapas tardías: El costo puede ser mucho más alto.

 “Un simple requisito erróneo puede conducir a crear una lluvia de errores”
¿PARA QUE SIRVEN LOS REQUISITOS?

 Para mostrar que resultados quieren los


participantes
 Dar a los interesados la oportunidad de expresar lo
que desean.
 Representar diferentes puntos de vista
 Probar el diseño
 Medir el progreso y desempeño del proyecto
 Aceptar productos contra criterios precisos

LOS REQUISITOS DEBEN ESTAR


DOCUMENTADOS
¿POR QUÉ SE NECESITA CONTAR CON
BUENOS REQUISITOS?
 Consultar:
Las principales razones por las que un proyecto software falla o
fracasa.
ROLES
INVOLUCRADOS
CLIENTE

Los clientes son las personas


interesadas en el desarrollo de un
producto software. Están personas
pagan por la obtención del
mismo.
INGENIERO DE
SOFTWARE
Alguien que está involucrado en el desarrollo de un
sistema para satisfacer los requisitos de usuario:
• Ingeniero de requisitos: Alguien que especifica y
diseña un sistema como un todo y captura los requisitos
de un cliente
• Diseñador de Sistemas: Alguien que diseña y modela
el SW
• Programador: Alguien que diseña y codifica SW
•Ingeniero de Testing: Alguien que prueba el sistema
USUARIO

Persona involucrada en la
utilización del sistema
cuando esté en producción
¿PREGUNTAS?
REFERENCIAS
 Fundamentos de Programación, Jorge Villalobos, Rubby Casallas,
Universidad de los Andes.
 Análisis y Diseño de Sistemas.8ed_Kendall & Kendal
 ld-Ingenieria.de.software.enfoque.practico.7ed.Pressman
 SWEBOK 3.0 – Guía cuerpo de conocimiento de la Ingeniería de Software
 Una guía para el CUERPO DE CONOCIMIENTO DE SCRUM (Guía
SBOK™)

También podría gustarte