Professional Documents
Culture Documents
2005
Ingeniera de Requerimientos Anlisis de Riesgo UML Costeo Calidad
Mg. Rodolfo Bertone
pbertone@lidi.info.unlp.edu.ar
RB
Glosario de Clase
Objetivos del curso Forma de trabajo Contenido Bibliografa Jugando a entender un problema Introduccin a IR Aproximacin a IR
UNPSJB - 2005
RB
Comprender el objetivo de la IR Ganar experiencia en las tcnicas bsica para IR Entender la naturaleza de la IR Evaluar el estado del arte de la IR, su nivel en la investigacin cientfica y en la prctica
Comprender como influyen los factores de riesgo en un proyecto Tcnicas de modelado de informacin UML Estimar el costo de un proyecto de software Calidad conceptos, normas, CMM
UNPSJB - 2005
RB
Forma de trabajo
Clase tericas
Clases prcticas
Semanalmente
Prctica gua (5 en total) Trabajo a realizar tambin podrn ser consultados
UNPSJB - 2005
RB
Forma de Trabajo
Aprobacin
Un parcial (con un recuperatorio) Basado en los temas de la prctica Un trabajo integrador realizado en grupo Promocin Para aquellos alumnos que aprueben la cursada con nota mayor que 7 (entre el trabajo y el parcial promediado, teniendo en cuenta adems la participacin en clase y la resolucin de los trabajos de teora) Posibilidad de rendir un examen terico en fecha a determinar (posiblemente noviembre)
UNPSJB - 2005
RB
Contenido (1)
UNPSJB - 2005
RB
Contenido (2)
Bases de la IR
Actividades bsica de IR
Aspectos interdisciplinarios de la IR Toma de requerimientos Modelado y Anlisis de requerimientos Comunicando Requerimientos Aceptando Requerimientos Evolucionando requerimientos
UNPSJB - 2005
RB
Bibliografa
Ningn libro se adpata en su totalidad a la asignatura El alumno deber obtener, investigando la informacin. Libros Systems Requeriments Engineering. Pericles Loucopoulos. Vassilios Karakosas. McGraw Hill. Book Company. 1995
Algunos materiales
UNPSJB - 2005
RB
Bibliografa (cont)
Software
Requeriments. Objects, functions, & States. Alan Davis. Prentice Hall 1993.+ Requeriments Engineering, Agood practice guide. Wileyt 1997. The Mythical Man Month. Frederick Brooks. Addison Wesley 1995. Ingeniera de Software. Ian Sommerville. Addison Weslesy. 2002 Ingeniera de Software. Teora y Prctica. Shari Pflegger. Addision Wesley. 2002 Ingeniera de Software, un enfoque prctico. Roger Pressman. McGraw 1998.
UNPSJB - 2005 Ingeniera de Software - Clase 1 9
RB
Bibliografa (cont)
Assessment and Control of Software Risk. Caper Jones. Yourdon Press. 1994 UML gota a gota. Martin Fowler. Pearson. 1999 El lenguaje Unificado de Modelado. Grady Booch. James Rumbaugh. Ivar Jacobson. Addison Wesley. 1999. El lenguaje Unificado de Modelado. Manual de Referencia. Grady Booch. James Rumbaugh. Ivar Jacobson Bibliografa de CMM (en profundidad con el material de dicho tema)
UNPSJB - 2005
10
RB
Contenido Clase 1
IR en el ciclo de vida del soft Dimensin de la IR Proceso escencial de IR Qu es un requerimiento? Importancia de los requerimientos El rol de la especificacin Dominio de aplicacin Sistemas de informacin vs. Sistemas embebidos Procesos, mtodos y tcnicas Desarrollo de producto y proceso
Ingeniera de Software - Clase 1 12
UNPSJB - 2005
RB
Contenido Clase 1
Trabajo de campo de la IR
Riesgo desarrollado en la clase siguiente Desarrollo centrado en el humano
Bases
Teora de sistemas
Qu es un sistema? Evolucin de los sistemas
Ingeniera de sistema
Ciclos de desarrollo
UNPSJB - 2005
13
RB
Contenido Clase 1
UNPSJB - 2005
14
RB
2.
3.
Nos dictan un dibujo, tratar de hacerlo, tenga en cuenta que no se repetir el enunciado!!!!!!! Repasemos el dibujo obtenido, lo modificamos Y el dibujo era!!!!
UNPSJB - 2005
15
RB
Qu vemos?????
UNPSJB - 2005
16
RB
Que vemos????
UNPSJB - 2005
17
RB
Que vemos????
Sigamos
UNPSJB - 2005
18
RB
Una quimera
UNPSJB - 2005
19
RB
Importancia de la IR
Problemas
Incrementa la dependencia sobre el software El soft es ahora el mayor elemento de costo de sistemas de misin crtica Ej software de aviones, centrales nucleares, etc. An para soft de negocios su desarrollo puede ser crtico Gran desperdicio producido por fallos en proyectos Altas y graves consecuencias en casos de fallos Cohetes francs
Ingeniera de Software - Clase 1 20
UNPSJB - 2005
RB
Importancia de la IR
Factores claves
Certificacin de costos
UNPSJB - 2005
21
RB
Soluciones
El soft es complejo por su tamao El soft es invisible y abstracto El soft no se fabrica, se hace Los defectos se remueven en forma ms barata
Se necesita comunicar los requerimientos a todos Se necesitan congeniar mltiples agentes involucrados Se necesitan entender el contexto del sistema
UNPSJB - 2005
22
RB
Soluciones
Se necesita entender el contexto del proceso de desarrollo Se necesita mantener la fecha de evolucin de los requerimientos
Costo Relativo de corregir un error
1000
100
10
Rquerimientos
Diseo
codigo
prueba unidad
prueba de sistema
sistema operando
UNPSJB - 2005
23
RB
Visin de la IS
Pasos
Anlisis Diseo Construccin Verificacin Gestin Cual es el problema a resolver? Cuales son las caractersticas de los usuarios del sistema a construir?
Preguntas
Como se construir la solucin? Como se contemplarn los errores? Como se apoyarn a los usuarios del sistema? Originalmente separar el que del como, este concepto ya no se analiza igual
Importante para IR
UNPSJB - 2005
24
RB
Requerimientos e IS
Visin general de los componentes del desarrollo del soft IS proceso que consiste de mltiples actividades Caractersticas del desarrollo de soft
Implementacin Diseo detallado Diseo arquitectnico Especif icacin de Esp. del sistema requerimiento
El proceso de desarrollo del soft involucra generar diferentes modelos Puede verse como una serie de pasos Los pasos son objetivos conducidos y pueden verse como transiciones entre representaciones
Ingeniera de Software - Clase 1
UNPSJB - 2005
25
RB
Definiciones
Que es un requerimiento?
IEEE: una condicin o capacidad que debe se encontrada por un sistema o componente del mismo para satisfacer un contrato, estndar, especificacin u otra formalidad impuesta en un documento. El conjunto de todos los requerimientos forman la base para el desarrollo ded un sistema de soft.
La IR es la parte de la ingeniera de sistema concentrada en las metas del mundo real. La IR se concentra tambin en la relacin entre los factores (metas) y la especificaciones precisas del comportamiento del sistema y su evolucin a lo largo del tiempo (Zave94)
Qu es la IR?
UNPSJB - 2005
26
RB
Definiciones
IR se concentra en la identificacin del propsito de un sistema de software y el contexto en el cual el mismo se utiliza. IR acta como el puente entre las necesidades del mundo real de usuarios, clientes y otros elementos afectados por el sistema de software y las capacidades y oportunidades alcanzadas por las tecnologas del soft. La IR es el proceso de descubrir el propsito, identificando los aspectos de inters y sus necesidades y documentando esto en forma amena para analizar, comunicar y posteriormente implementar. la definicin de requerimientos es una valoracin clara de las necesidades que un sistema debe alcanzar. Debe decir que necesita el sistema, basado en condiciones corrientes y previsibles. Debe decir que rasgos del sistema servirn para satisfacer el contexto del mismo. Adems debe decir como el sistema debe ser construido.
UNPSJB - 2005
27
RB
El argumento de Ingeniero
El argumento econmico
El ingeniero debe desarrollar soluciones a problemas Una buena solucin puede solo ser desarrollada si el ingeniero tiene un buen entendimiento del problema
Argumento emprico
Argumento de seguridad
UNPSJB - 2005
RB
No se identifica un cliente
Muy informal su estructuracin
UNPSJB - 2005
RB
Organizaciones necesitan
Definir en forma clara el propsito del negocio definir una visin a la que se apunta metas. Alinear estrategias corporativas y el desarrollo de sistema de informacin Administrar el cambio Integrar vistas de la empresa Relacionar los sistemas de informacin con estrategias de negocio
UNPSJB - 2005
30
RB
El anlisis de sistemas se centra en sistemas de informacin dentro de una organizacin Ha desarrollado notaciones informales, herramientas y metodologas
IR
Ampliamente utilizado
Desde las necesidades de negocio hasta la especificacin precisa Sistemas de TR por ej.
UNPSJB - 2005
31
RB
Modelo en cascada
Toma una visin esttica de los requerimientos ignorando la volatilidad Poca participacin de usuario una vez que la especificacin es obtenida Separacin poco realista de la especificacin contra el diseo No hay lugar para prototipos, reuso, etc El sistema est listo muy al final. UNPSJB - 2005 Ingeniera de Software - Clase 1
requerimientos
diseo
codificacin
testeo
integracin
32
RB
Beneficios
Problemas
Entiende los requerimientos para la interfaz de usuario Examina la veracidad del diseo propuesto Explora caractersticas de performance del sistema Los usuarios ven al prototipo como solucin Los prototipos solo obtienen especificacin parcial Evolucionables desechables
requerimiento
documento de requeriementos
diseo
codificacin
testeo
integracin
Tipos de prototipos
UNPSJB - 2005
33
RB
Modelo en espiral
Cuatro ciclos
Dos versiones
Planificacin
Evaluar alternativas de riesgo
Anlisis de riesgo
configuracin y adaptacin
UNPSJB - 2005
34
RB
Proyecto de desarrollo de conceptos Proyecto de desarrollo de producto nuevo Proyecto de mejora de producto Proyecto de mantenimiento de productos Se planea la siguiente fase Se determinan objetivos y limitaciones
Anlisis de riesgo de requerimientos (usando prototipos y simulacin Planificacin de diseo Convencer que el enfoque evolutivo es controlable Si se escapa del anlisis un riesgo puede traer problemas
35
Problemas
UNPSJB - 2005
RB
Modelo V
Requerimientos del sistema integracin del sistema
Nivel de abstraccin
preuba de aceptacin
Diseo preliminar
Anlisis y diseo
Diseo Detallado
prueba de componentes
Test e integracin
Codificacin y verificacin
prueba de unidad
Tiempo
UNPSJB - 2005 Ingeniera de Software - Clase 1 36
RB
Entender el problema
Mundo Real
Validacin
37
Problema
Implementacin
Sistema
UNPSJB - 2005
RB
Verificacin y validacin
Dominio de la aplicacin
Las propiedades del hardware (C) Dominio de la mquina Las propiedades del programa (P) Las propiedades del dominio del problema (D) Interseccin Los requerimientos (R) La especificacin (S) [propiedades de la mquina en el dominio de aplicacin]
UNPSJB - 2005
38
RB
Tipos de software
Estticos o dinmicos
UNPSJB - 2005
Control algoritmo
39
RB
Tipos de proyectos
Fuente de requerimientos
Para cliente un problema una solucin Para mercado un mercado una solucin Hbrido A medida o un paquete Sistema simple o familia (office) Sistema nuevo o evolucin de uno existente
UNPSJB - 2005
40
RB
Tipos de software
Sistemas de informacin
Se pueden considerar como el primer grupo?? Office por ej. Sistemas que proveen servicio genrico aplicaciones de internet por ej. Sistemas desarrollados en JAVA, HTML, Etc.
41
Sistemas genricos
UNPSJB - 2005
RB
Espectro de la gestin
Personal parte de personal tomar los requerimientos del problema Es muy importante decidir la forma de trabajo Problema Objetivo y mbito Toma de requerimientos
Proceso
Involucra el proceso de desarrollo no es nuestro objetivo (como parte del curso) estructura de plan detallado de desarrollo
Actividades estructurales (aplicables a todos los proyectos) Conjunto de tareas (hitos, entregas, etc.) para cada proyecto particular Actividades protectoras (garanta, gestin de configuracin
UNPSJB - 2005
42
RB
Personal
Participantes Gestores supervisores (aspecto de negocios) Gestores de proyectos (planificar, motivar y controlar el personal) Profesionales (hacen el desarrollo) Clientes Usuarios finales
Motivacin Organizacin (modelar procesos existentes) Ideas o innovacin Resolucin del problema Dotes de gestin Incentivo de los logros Influencia y construccin de equipo
43
Otras actividades
UNPSJB - 2005
RB
Organigrama de equipos
Cada personal tiene tareas independientes coordinador gestor Hay equipos informales existe un lder coordinador entre equipos Equipos formales tareas funcionales a cargo Coordinacin por equipo o general
Descentralizado democrtico (DD) Sin jefe permanente, decisiones por consenso) Descentralizado controlado (DC) Jefe coordinador y jefes secundarios Actividades de grupo, comunicacin horizontal Centralizado controlado (CC) Jefe encargado de resolucin de problemasde alto nivel y coordinacin Comunicacin vertical
UNPSJB - 2005
44
RB
Dificultad Alta (DD) Baja (DC, CC) Tamao Grande (DC,CC) Chica (DD) Duracin del equipo Corto (DC, CC) Grande (DD)
Modularidad Alta (DC, CC) Baja (DD) Fiabilidad Alta (DD, CC) Baja (DC) Fecha de Entrega Estricta (CC) Flexible (DD, DC) Comunicacin Alta (DD) Baja (DC, CC)
45
UNPSJB - 2005
RB
Cerrado Jerarqua de autoridades Menos innovadores, ms clsicos Aleatorio Equipo libre, iniciativa individual Mucha innovacin, menos orden
Abierto Genera punto intermedio entre anteriores Trabajo colaborativo Buena comunicacin, decisiones se toman por consenso Sincronizado Compartimentacin del problema Poca comuncacin
46
UNPSJB - 2005
RB
Completa
Aceptacion
cercana
Vaga
vista personal
Vista comn
Informal
UNPSJB - 2005
Semi formal
Formal
Representacin
47
RB
Procesos, mtodos,tcnicas...
Una notacin es un lenguaje de representacin para una expresin. Ej. Lgica de primer rden, UML Una tcnica identifica como hacer una actividad particular, y, eventualmente, describe el producto de esa actividad con una notacin particular. Ej DFD Un mtodo provee una descripcin tcnica para llevar a cabo un conjunto de actividades Un modelo de proceso es una descripcin abstracta de cmo llevar a cabo una coleccin de actividades, poniendo nfasis en el uso de recursos y dependencias entre actividades. Un proceso es una instancia del modelo de proceso anterior, que describe el comportamiento para uno o ms agentes y el manejo de recursos por parte de los mismos
Ingeniera de Software - Clase 1 48
UNPSJB - 2005
RB
Qu vs. Cmo
Histricamente
Sistema Requerimiento Qu
Pero, de esta forma, no es fcil distinguir El como en un nivel de abstraccin el que del siguiente nivel.
Que hace .....? Alcanza para definirlo
SubSistema forma Requerimiento Qu Cmo Diseo
UNPSJB - 2005
Cmo
Diseo
49
RB
Requerimientos Ambiente
Mquina Es el sistema de soft que se debe desarrollar El hard es parte de la mquina, desde el punto de vista que sirve para ejecutar el soft Dominio de aplicacin Una mquina interacta con su ambiente Una mquina se construye para servir un propsito en el mundo Los aspectos del ambiente que define el propsito de la mquina es el dominio de aplicacin El dominio de aplicacin es usualmente parte de la actividad humana
Ingeniera de Software - Clase 1 50
UNPSJB - 2005
RB
IR Descripcin
Una designacin
Es informal Ej:
UNPSJB - 2005
RB
IR Descripcin
Una definicin Entrega una definicin formal de un trmino que puede ser utilizado en otras descripciones
Las definiciones pueden o no ser tiles, pero no se pude hablar de bien o mal. Hijo(x,y) es definido como madre(y,x) o padre(y,x)
Ej:
Descripcin refutable Establece una propiedad del dominio que podra, en principio ser refutada
Puede o no ser prctico hacer la refutacin pero es viable Para todo Z y X. Madre(x,z) implica ~ madre(z,x)
Ingeniera de Software - Clase 1 52
Ej:
UNPSJB - 2005
RB
IR Descripcin
Dibujo de borrador
Ej:
UNPSJB - 2005
53
RB
Requerimientos optativos
Se debe aclarar (por contrato) que siempre se habla en potencial Veamos un ejemplo en ingles I shall drown. No one will save me. (pedido de ayuda)
I will drown. No one shall save me. (determinacin de suicidio) Discutamos, y encontremos en castellano el equivalente
Ingeniera de Software - Clase 1 54
UNPSJB - 2005
RB
Requerimientos optativos
Indicativo: establece un hecho (gana Boca) Interrogativo: pregunta (gana Boca?) Imperativo: establece una orden (Boca, gan!!!) Subjuntivo: establece una posibilidad (puede que gane Boca) Optativo: expresa un deseo (podra ganar Boca) Se debe utilizar el modo indicativo para propiedades del dominio El modo optativo es el adecuado para requerimientos No se deben mezclar modos en la misma descripcin Es posible cambiar los modos a medida que se evoluciona.
Ingeniera de Software - Clase 1 55
Para IR
UNPSJB - 2005
RB
IR involucra modelado
Analtico ej. modelos matemticos Analgico ej modelo a escala del problema Icnico ej una maqueta. Describe un fenmeno del mundo real y las relaciones entre el fenmeno El modelo nunca es perfecto Puede haber fenmenos en el modelo que no estn presentes en el dominio de aplicacin (quedan fuera de l)
Ingeniera de Software - Clase 1 56
UNPSJB - 2005
RB
IR involucra modelado
El mundo
Dominio de aplicacin
Designaciones
Propiedades solo verdaderas en el dominio de aplicacin
De scripcin compartida
UNPSJB - 2005
57
RB
Qu es un sistema?
Es una parte actual o visible de la realidad que puede ser observada o que interacta con su ambiente
Ej:
Autos, ciudades, edificios, etc. SO, DBMS, internet, una organizacin Que cosa no son sistemas Nmeros, letras Hay sistemas cerrados que no interactan con su ambiente Ej??? Existe realmente un sistema cerrado???
UNPSJB - 2005
58
RB
Tipos de sistemas
Sistemas naturales
Tiempo, cuerpo humano, un panal de abejas Ecuaciones matemticas, programas de computadora, etc.
Sistemas abstractos
Sistemas designados
UNPSJB - 2005
RB
Lmites de un sistema
El ambiente de un sistema
Es parte del mundo con el que interacta Cada sistema tiene su ambiente El ambiente en si mismo es un sistema
La distincin entre sistema y ambiente depende del punto de vista de cada uno Los lmites de un sistema es el conjunto de todas las posibles interacciones entre el sistema y el ambiente
UNPSJB - 2005
60
RB
Lmites de un sistema
Se debe elegir el lmite que maximice la modularidad Caractersticas Excluir cosas que no tengan efectos funcionales en el sistema Excluir cosas que influyan en el sistema pero que no puedan ser influenciadas o controladas por l. Incluir cosas que sean fuertemente controladas o influenciadas por el sistema Elegir los lmites que Incrementen la regularidad en el comportamiento del sistema Simplifique el comportamiento del sistema
Ingeniera de Software - Clase 1 61
UNPSJB - 2005
RB
Estructura de un sistema
Subsistema
Un sistema se organiza como una coleccin de subsistemas que actan como un todo Los lmites de un subsistema debe elegirse de manra que los mismos sean modulares La interaccion entre subsistemas son internas al sistema Interacciones entre los subsistemas y el ambinete son externas Se intenta ocultar las interacciones internas
Visibilidad
UNPSJB - 2005
62
RB
Estado
El estado de un sistema es la memora de acciones pasadas del mismo El espacio de estados de un sistema es la coleccin de todos los posibles estados. Es un aspecto del comportamiento del sistema normalmente se refiere a ellos como atributo Una propiedad es especificada por su comportamiento.
Una propiedad
UNPSJB - 2005
63
RB
Taxonoma de sistemas
UNPSJB - 2005
64
RB
Taxonoma de sistemas
Dificultad
del problema
nmero de tareas
Difciles (HA)
Llevar a alguien de La Rioja a Japn en dos horas, sistematizar toda actividad humana con computadoras
Secuencial (SE)
Paralelo (PA)
No difciles (NH)
Datos (DA)
Relaciones
de tiempo...
Esttico (ST)
Sistema de sueldos
Monitoreo de pacientes, reactor nuclear
Control (CO)
Dinmico (DY)
Algoritmo (AL)
UNPSJB - 2005
RB
Taxonoma de sistemas
Deter. No determ
Determinsticos (DE)
Control de inventario, compilacin, edicin Las respuestas del sistema no son bien entendidas Ej. Juego de ajedrez IA.
No Determinstico (ND)
UNPSJB - 2005
66
RB
Resumiendo
La IR es la rama de la IS concentrada con los objetivos del mundo real para un sistema (problema), que tiene en cuenta sus funciones y sus limitaciones. Tambin se centra en las relaciones de los factores de influencia para precisar la especificacin del comportamiento del soft y su evolucin a lo largo de tiempo.
Ingeniera de Software - Clase 1 67
UNPSJB - 2005
RB
Resumiendo
Ciencia cognitiva: psicologa cognitiva provee un entendimiento de las dificultades personales que se pueden tener para describir necesidades Antropologa: aproximacin metodolgica para observar actividades humanas y comprenderlas mejor. Sociologa: entender el contexto de la sociedad y los cambios culturales causados (en particular por las computadoras y su uso) Lingstica: por un problema de comunicaciones entre personas
UNPSJB - 2005
68
RB
La IR consta de etapas
Tomar requerimientos Encontrar las necesidades del problema, y como derivar desde aqu los lmites del sistema. Identificar aspectos de inters y los casos de uso Individualizar los actores involucrados Describir las metas que denotan los objetivos del sistema. Modelar y analizar requerimientos Modelar consiste en la construccin de una descripcin abstracta que sea fcil de interpretar.
Ingeniera de Software - Clase 1 69
UNPSJB - 2005
RB
El modelo abarca
Comunicacin de requerimientos Trazabilidad de los mismos Compartir los requerimientos con todos Aceptar requerimientos Tarea compleja inspecciones, anlisis formal, estudio de coherencia y consistencia
UNPSJB - 2005
70
RB
Complejidad de la validacin
La naturaleza filosfica. La prueba de campo sirve para refutar una idea no para afianzarla Razn social: posibles desacuerdos entre actores involucrados.
Evolucin de requerimientos
El sistema de soft evoluciona, los requerimientos cambian El cambio es una actividad principal en la IR. La administracin de los cambios es una necesidad
UNPSJB - 2005
71
RB
Engineering Requeriment a Roadmap Engineering Requeriment in year 2000 The Four dark corners in Engineering Requeriment
UNPSJB - 2005
72