You are on page 1of 72

Ingeniera de Software

2005
Ingeniera de Requerimientos Anlisis de Riesgo UML Costeo Calidad
Mg. Rodolfo Bertone
pbertone@lidi.info.unlp.edu.ar

UNPSJB Sede Comodoro Rivadavia

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

Ingeniera de Software - Clase 1

RB

Objetivos del curso

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

Ingeniera de Software - Clase 1

RB

Forma de trabajo

Clase tericas

Se prevn 5/6 clases tericas


Marzo, Abril, Mayo, Junio, Julio, Agosto A partir de Abril debern preparar trabajos, leer papers, preparar material

Clases prcticas

Semanalmente
Prctica gua (5 en total) Trabajo a realizar tambin podrn ser consultados

UNPSJB - 2005

Ingeniera de Software - Clase 1

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

Ingeniera de Software - Clase 1

RB

Contenido (1)

Algunos conceptos bsicos de IS

Procesos de modelado Dinmica de trabajo en grupos JAD

Anlisis de Riesgo Ingeniera de Requerimientos

Introduccin a la IR Que es la IR? Por qu es importante?

UNPSJB - 2005

Ingeniera de Software - Clase 1

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

Costeo UML Mantenimiento del software Calidad de software

UNPSJB - 2005

Ingeniera de Software - Clase 1

RB

Bibliografa

Conjunto de libros, papers y materiales de otros cursos


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

Ingeniera de Software - Clase 1

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

Ingeniera de Software - Clase 1

10

IS conceptos bsicos Introduccin a la Ingeniera de Requerimientos


Clase 1

Un Juego Introduccin Bases de IR

RB

Contenido Clase 1

Un poco de juego Introduccin

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

Ingeniera de Software - Clase 1

13

RB

Contenido Clase 1

Matemtica y Lgica Ciencia de la computacin Ciencias Sociales Ciencias Cognitivas Filosofa


Visin general de estos conceptos

UNPSJB - 2005

Ingeniera de Software - Clase 1

14

Entendemos un problema o creemos que lo entendemos

RB

Tomemos el siguiente juego


1.

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

Ingeniera de Software - Clase 1

15

RB

Qu vemos?????

Analizar cuidadosamente estos grficos, que vemos?????

UNPSJB - 2005

Ingeniera de Software - Clase 1

16

RB

Que vemos????

Sigamos, juguemos un rato

UNPSJB - 2005

Ingeniera de Software - Clase 1

17

RB

Que vemos????

Sigamos

UNPSJB - 2005

Ingeniera de Software - Clase 1

18

RB

Una quimera

UNPSJB - 2005

Ingeniera de Software - Clase 1

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

Prdidas producidas durante el testeo, por errores latentes

Rehacer gran cantidad de trabajo remocin de defectos Cambios en los requerimientos

Por parte del usuario / cliente.

UNPSJB - 2005

Ingeniera de Software - Clase 1

21

RB

Soluciones

No existe la bala de plata


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

Anlisis y modelado temprano es importante

Modelado y anlisis temprano no es suficiente


Se necesita comunicar los requerimientos a todos Se necesitan congeniar mltiples agentes involucrados Se necesitan entender el contexto del sistema

UNPSJB - 2005

Ingeniera de Software - Clase 1

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

Costo de corregir error

100

10

Rquerimientos

Diseo

codigo

prueba unidad

prueba de sistema

sistema operando

UNPSJB - 2005

Ingeniera de Software - Clase 1

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

Ingeniera de Software - Clase 1

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

Ingeniera de Software - Clase 1

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

Ingeniera de Software - Clase 1

27

RB

Importancia de los requerimientos

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

Los costos de errores aumentan si pasa ms tiempo sin detectarlos


Los errores latentes de entender y manejar requerimientos son la mayor causa de exceso de costos Los mayores riesgo de seguridad estn centrado en requerimientos inadecuados o mal entendidos
Ingeniera de Software - Clase 1 28

Argumento de seguridad

UNPSJB - 2005

RB

Puntos de vista de requerimientos

Dos puntos de vista


Manejados por el mercado Especificados por el cliente


Especificado por el cliente
Requerimientos voluminosos y ms formales Usa tcnicas de IS Especificacin a travs de documentacin

Determinado por el mercado


Requerimientos pequeos e informales Usar tcnicas lejanas de IS La especificacin se logra como marketing

No se identifica un cliente
Muy informal su estructuracin
UNPSJB - 2005

Se tiene una idea del dominio del problema


La estructuracin tiene polticas definidas
29

Ingeniera de Software - Clase 1

RB

Puntos de vista de requerimientos

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

Requerimientos especficos apuntan


UNPSJB - 2005

Ingeniera de Software - Clase 1

30

RB

IR vs. Anlisis de sistemas

IR va ms all del anlisis de sistemas


El anlisis de sistemas se centra en sistemas de informacin dentro de una organizacin Ha desarrollado notaciones informales, herramientas y metodologas

IR

Ampliamente utilizado

DFD, ER, diagramas OO

Acompaa la formalizacin entera del problema

Expande el alcance ms all de los sistemas de informacin

Desde las necesidades de negocio hasta la especificacin precisa Sistemas de TR por ej.

UNPSJB - 2005

Ingeniera de Software - Clase 1

31

RB

Modelos de desarrollo de soft

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

Enfoque sistemtico y secuencial del desarrollo Problemas

percepcin de una necesidad

requerimientos

diseo

codificacin

testeo

integracin

32

RB

Modelos de desarrollo de soft


Prototipacin

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

diseo construc testeo de de cin de prototipo prototipo prototipo

documento de requeriementos

diseo

codificacin

testeo

integracin

Tipos de prototipos
UNPSJB - 2005

Ingeniera de Software - Clase 1

33

RB

Modelos de desarrollo de soft

Modelo en espiral

Cuatro ciclos

Dos versiones
Planificacin
Evaluar alternativas de riesgo

Determinar metas, alternativas y limitaciones

Comunicacin con el cliente

Anlisis de riesgo

Ingeniera Evaluacin del cliente


Plan Desarrollo y test

configuracin y adaptacin

UNPSJB - 2005

Ingeniera de Software - Clase 1

34

RB

Modelos de desarrollo de soft

Modelo en espiral modelo orientado al anlisis de riesgo Cuatro ciclos bsicos

Se evalan alternativas Se resuelven casos de riesgo Se desarrolla el producto

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

Qu diferencias encuentra entre las dos alternativas? Qu incluye

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

En cada iteracin o ciclo:


Problemas

UNPSJB - 2005

Ingeniera de Software - Clase 1

RB

Modelos de desarrollo de soft

Modelo V
Requerimientos del sistema integracin del sistema

Nivel de abstraccin

Requerimientos del software

preuba de aceptacin

Diseo preliminar

Integracin del software

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

Lo escencial en el proceso de Req.

Entender el problema

Mundo Real
Validacin
37

Tomar requerimientos, comprenderlos, etc.


Correspondencia Verificacin Correctitud

Formalmente describir el problema

Problema

Especificar, modelar, etc.

Confrontar el problema con la realidad


Implementacin

Validar, solucionar conflictos, negociar Adminitrar los requerimientos

Sistema

UNPSJB - 2005

Ingeniera de Software - Clase 1

RB

Verificacin y validacin

Para V y V se necesita tener en cuenta


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]

Se debe demostrar que P satisface R proceso de dos pasos


P y C implican S? (verificacin) S y D implican R? (validacin)

UNPSJB - 2005

Ingeniera de Software - Clase 1

38

RB

Tipos de dominios de problema

Diseo normal o revolucionario

Tipos de software

Normal problemas clsicos, soluciones conocidas Existen estndares

Estticos o dinmicos

suficientemente probados El Ingeniero elige el mtodo ms apropiado o el que considera ms apropiado

Tenemos toda la informacin a priori o se adquiere durante el proceso

Secuencial o paralelo En que se


complica??

Revolucionario nunca fue hecho o se hizo anteriormente mal

Determinstico o no determinstico? Complejidad de Datos


UNPSJB - 2005

Muchos problemas de riesgos conviene hacer???

Control algoritmo
39

Ingeniera de Software - Clase 1

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

Naturaleza del producto

UNPSJB - 2005

Ingeniera de Software - Clase 1

40

RB

Tipos de software

Sistemas de informacin

Sistemas para uso masivo

Soft para soporte de trabajo organizacional Incluye aplicaciones de BD Lenguajes ???

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

Sistemas de TR Sistemas empotrados


Donde aparecen?? Qu caractersticas bsicas tienen??

UNPSJB - 2005

Ingeniera de Software - Clase 1

RB

Gestin del proyecto

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

Ingeniera de Software - Clase 1

42

RB

Gestin del proyecto

Personal

Participantes Gestores supervisores (aspecto de negocios) Gestores de proyectos (planificar, motivar y controlar el personal) Profesionales (hacen el desarrollo) Clientes Usuarios finales

Jefes de equipo Profesionales que hacen el control directo. Actividades MOI:


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

Ingeniera de Software - Clase 1

RB

Gestin del proyecto

Equipos de software Tres posibilidades

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

Ingeniera de Software - Clase 1

44

RB

Gestin del proyecto

Siete factores que inciden en un proyecto

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

Ingeniera de Software - Clase 1

RB

Gestin del proyecto

Cuatro paradigmas de organizacin

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

Ingeniera de Software - Clase 1

RB

Las tres dimensiones de la IR


Especificacin

Completa

Aceptacion
cercana

Vaga

vista personal

Vista comn

Informal
UNPSJB - 2005

Semi formal

Formal

Representacin
47

Ingeniera de Software - Clase 1

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

Requerimiento especificaba que sin decir como.

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

Jackson provee una distincin

El que se refiere al propsito del sistema


Es externo al sistema Es una propiedad del dominio de aplicacin
Cmo Unidad Requerimiento Qu Diseo

El como se refiere a la estructura del sistema y al comportamiento


UNPSJB - 2005

Es interno al sistema Es una propiedad del dominio de la mquina

Cmo

Diseo

Ingeniera de Software - Clase 1

49

RB

Requerimientos Ambiente

Algunas definiciones que se encuentran en la bibliografa

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

La IR trata sobre descripcin de elementos que conforman el problema

Una designacin

Selecciona un fenmeno de inters

Dice como reconocerlo Le da un nombre

Es informal Ej:

Madre(z,y) de nota que y es la madre de z

Notar el tipo de representacin!!


Ingeniera de Software - Clase 1 51

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

Descripcin tentativa de lo que se va a desarrollar

Puede contener trminos no definidos

Ej:

cada uno de nosotros pertenece solo a una familia

UNPSJB - 2005

Ingeniera de Software - Clase 1

53

RB

Requerimientos optativos

Tradicionalmente, un requerimiento incluye la palabra podra o debera

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)

Me ahogar. Nadie podr salvarme.

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

El modo de los verbos


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

Tres tipos de modelo

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

Un modelo es ms que una descripcin

UNPSJB - 2005

RB

IR involucra modelado

Puede haber un fenmeno en el dominio de aplicacin que no est en el modelo

El mundo
Dominio de aplicacin

Dominio de mode lado

Designaciones
Propiedades solo verdaderas en el dominio de aplicacin

De scripcin compartida

Propiedades solo verdaderas en el dominio de modelado

UNPSJB - 2005

Ingeniera de Software - Clase 1

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

Ingeniera de Software - Clase 1

58

RB

Tipos de sistemas

Sistemas naturales

Tiempo, cuerpo humano, un panal de abejas Ecuaciones matemticas, programas de computadora, etc.

Sistemas abstractos

Sistemas designados

Autos, aviones, edificios, rutas, internet


Clubs, mercados, bolsa de comercio Soft de difcil representacin, sistemas poco precisos Hard el sistema es preciso, bien definido y cuantificable
Ingeniera de Software - Clase 1 59

Sistemas de actividad humana

Un sistema puede ser


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

Ej: el sistema es para una organizacin, la cual en si es otro 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

Ingeniera de Software - Clase 1

60

RB

Lmites de un sistema

La eleccin de los lmites


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

Ingeniera de Software - Clase 1

62

RB

Estados y Propiedades de un sistema

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

Ingeniera de Software - Clase 1

63

RB

Taxonoma de sistemas

Clases de aplicaciones o sistemas informticos

Cinco ejes ortogonales


Dificultad del problema Relaciones entre datos y proceso Nmero de tareas simultneas para llevar a cabo Dificultad relativa de aspectos del problema como: datos, control y algoritmos Determinismo vs. No determinismo

UNPSJB - 2005

Ingeniera de Software - Clase 1

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)

Juegos, compilacin Control de procesos, monitoreo de alarmas

No difciles (NH)

Aplicaciones en tres dominios

Comunicacin telefnica, tener un editor de texto interactivo a distancia

Datos (DA)

Relaciones

de tiempo...

Esttico (ST)
Sistema de sueldos
Monitoreo de pacientes, reactor nuclear

Control (CO)

Ppal. Proceso de especificacin de requerimientos (descripcin, organizacin)

Dinmico (DY)

Algoritmo (AL)

Definicin y descripcin del ambiente, aplicaciones restrictivas de tiempo


Transformaciones de funciones entre las entradas y las salidas
65

UNPSJB - 2005

Ingeniera de Software - Clase 1

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

Ingeniera de Software - Clase 1

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

IR actividad humana, trabaja sobre

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

Ingeniera de Software - Clase 1

68

RB

Un avance de lo que veremos

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

Un avance de lo que veremos

El modelo abarca

De la empresa Datos Comportamiento Dominio Requerimientos no funcionales

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

Ingeniera de Software - Clase 1

70

RB

Un avance de lo que veremos

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

Ingeniera de Software - Clase 1

71

RB

Material para la prxima

Leer el paper c Buscar los siguientes papers


Engineering Requeriment a Roadmap Engineering Requeriment in year 2000 The Four dark corners in Engineering Requeriment

Estn todos en el material del 2003.

UNPSJB - 2005

Ingeniera de Software - Clase 1

72

You might also like