SlideShare una empresa de Scribd logo
Ingeniería de
Requerimientos I
prof. Pablo Macón
http://pablomacon.wixsite.com/home/
profemacon@gmail.com
Programación Orientada a Objetos
• Una técnica o estilo de programación que utiliza objetos
como bloque esencial de construcción de software.
• Los lenguajes de programación Orientados a Objetos
pretenden construir programas basándose en los
objetos presentes en la realidad correspondiente al
programa que se desea construir.
• Por esa razón es que permiten crear en la computadora
representaciones de esos objetos de la realidad.
¿Qué es un objeto?
• Un Objeto es una "cosa", real o imaginaria, física o
intangible, viva o inerte que existe enmarcado en
alguna realidad.
• Estamos rodeados por objetos, las personas que nos
rodean son objetos, los muebles de nuestra casa son
objetos e incluso en alguna realidad emocional
podemos decir que cosas como los pensamientos o
los sentimientos son objetos.
¿Qué es un objeto?
• Un objeto puede, por tanto, ser algo conceptual o
algo físico.
• La idea fundamental es que un objeto es una entidad
(o noción) única.
• Cada objeto es una individualidad, que puede estar
relacionado o constituido por otros objetos.
¿Qué es un objeto?
• Dentro del paradigma de la Orientación a Objetos, se
entiende que los objetos se componen de dos
elementos denominados atributos y métodos.
• Los primeros son aquellos datos del objeto con los
cuales interese trabajar dentro de una determinada
realidad
• Los segundos son las acciones u operaciones que
trabajan sobre el objeto.
¿Qué es un objeto?
• Por ejemplo, si consideramos a una cuenta bancaria
como un objeto, sus atributos de interés podrían ser
su número, la cédula de su dueño y el monto de
dinero que almacena, mientras que sus métodos
podrían ser las operaciones de depósito, retiro y
consulta.
¿Qué es un objeto?
• Desde un punto de vista más formal, un objeto es en
realidad un elemento perteneciente a un determinado
Tipo.
• Así como tenemos elementos que son enteros o
Cadenas de Texto (int o String) podemos crear
nuestros tipos particulares
Clases de Objetos
• Desde un punto de vista conceptual, diremos que
una Clase es una plantilla o molde imaginario que
sirve para definir objetos.
• Decimos que los objetos de una clase son instancias
de la misma.
Clases de Objetos
• Podemos hacer la siguiente analogía:
• La clase es como el plano de un edificio
• los objetos son todos los edificios concretos que
yo puedo construir con ese plano.
Clases y Objetos
• Por otra parte, no podemos dejar de mencionar una
característica muy importante de los objetos: poseen
identidad.
• Si bien los objetos de una clase tienen todos las
mismas características, cada uno de ellos es una
entidad única y diferenciable de los demás.
Clases y Objetos
• Por ejemplo, la clase persona define tres atributos:
cédula, nombre y domicilio
• Todos los objetos de la clase tendrán una cédula, un
nombre y un domicilio.
• No obstante, cada objeto de la clase persona será
único, porque los valores que tomen esos datos para
cada objeto en concreto nunca serán todos los
mismos.
Clases y Objetos
• La existencia de clases de objetos es una
característica sumamente útil y necesaria a la hora
de escribir programas Orientados a Objetos.
• Nos permite manipular con facilidad grandes grupos
de Objetos.
• Sería muy difícil tener que programar cada Objeto
por separado.
Clases y Objetos
• Una clase es pues, un tipo de datos definido por el
programador, que determina las estructuras de datos
y las operaciones asociadas con ese tipo.
• Cada clase es un modelo que describe un infinito
conjunto de objetos del mismo tipo.
Clases y Objetos
• Cada vez que se construye un objeto de una clase,
se crea una instancia de esa clase.
• Cada instancia u objeto de una clase tiene su propio
valor para cada uno de sus atributos pero comparte
los mismos métodos que todos los otros objetos de
la misma clase.
Metodología Orientada
a Objetos
Metodología Orientada a Objetos
• A la hora de modelar sistemas utilizando
Programación Orientada a Objetos, seguiremos una
metodología para resolver problemas que se divide
en las siguientes etapas.
1.Análisis del sistema.
2.Diseño del sistema.
Metodología Orientada a Objetos
• A la hora de modelar sistemas utilizando
Programación Orientada a Objetos, seguiremos una
metodología para resolver problemas que se divide
en las siguientes etapas.
3. Implementación del sistema en un lenguaje
Orientado a Objetos.
4. Prueba, despliegue y mantenimiento
del sistema
1- Análisis del Sistema
• Determinar cuál es el propósito general del Sistema,
qué aspectos abarcará y cuáles no.
• Partiendo de los requerimientos del sistema (tareas
concretas que se espera que el mismo resuelva),
debemos estudiar aquellos aspectos de la realidad
correspondiente que sean relevantes para la
resolución de los requerimientos y construir un
Modelo de Análisis que los represente.
1 - Análisis del Sistema
• Esto se hace con el fin de contextualizar hasta dónde
debe abarcar el Sistema y qué cosas no interesan y
deben quedar afuera del mismo.
• La construcción del modelo de análisis se hace
identificando los Objetos presentes en la realidad
que son relevantes y cómo se relacionan entre sí,
dejando afuera a todos aquellos que no son de
importancia.
2 - Diseño del Sistema
• Esta etapa consiste en traducir el modelo generado
durante el análisis en un conjunto de clases y
métodos que permitan implementar el Sistema de
forma tal que resuelva los requerimientos que fueron
definidos para el mismo.
2 - Diseño del Sistema
• Esto significa generar una documentación lo más
clara posible de las clases que hay que programar y
de los métodos que hay que implementar en ellas.
Para generar dicha documentación, se usará la
notación UML, al igual que en la etapa de análisis
3 - Implementación del Sistema
• Esta etapa consiste en partir de la documentación
generada en la etapa del diseño e implementar en un
lenguaje de Programación Orientado a Objetos cada
una de las Clases especificadas durante el diseño,
definiendo estructuras de datos apropiadas para
cada una de ellas, así como los métodos de cada
clase, también especificados durante el diseño.
3 - Implementación del Sistema
• Todos los lenguajes OO proveen mecanismos para
implementar Clases y Objetos, además de garantizar
el cumplimiento de los cuatro conceptos
fundamentales (abstracción, encapsulamiento,
herencia y polimorfismo)
4 - Prueba, despliegue y mantenimiento
• Una vez que hemos construido el sistema, que
hemos traducido el modelo a un lenguaje Orientado a
Objetos determinado, y antes de liberarlo al público o
entregarlo al cliente que nos lo pidió, debemos hacer
pruebas extensivas que verifiquen que el sistema
funciona de la manera esperada y realiza las tareas
especificadas.
4 - Prueba, despliegue y mantenimiento
• Después de todo esto es posible entregar el
producto y luego sigue el mantenimiento, mediante
el cual vamos a corregir pequeños inconvenientes o
hacer cambios que le permitan evolucionar,
incorporar nuevas cosas.
• Un programa bien diseñado, bien analizado, permite
que los cambios sean razonables.
Requerimientos y análisis
inicial del problema
Identificación y Análisis de Requerimientos
• Lo primero que necesitamos para resolver el
problema es establecer cuál es el problema en sí.
• Tenemos que conocer qué es lo que necesitamos
que el programa haga con exactitud.
Identificación y Análisis de Requerimientos
• Comienza recabando información sobre el problema
• Sigue con un análisis exhaustivo de esa información
• Termina con un documento llamado Especificación
de Requerimientos (ESRE).
¿Cómo obtener la información?
• Especificación Inicial del cliente
• No siempre es precisa
• Puede tener omisiones (faltar información sobre el
negocio)
¿Cómo obtener la información?
• Expertos en la materia
• Se puede obtener información sobre el problema
(negocio) a resolver consultando a expertos en la
materia
• Habitualmente son provistos por el cliente y no
tienen, necesariamente, que saber de informática
¿Cómo obtener la información?
• Usuarios
• Son las personas que van a usar el sistema
• Dan información práctica en contraposición con la
teórica obtenida anteriormente
¿Cómo obtener la información?
• Gerentes:
• Son los responsables del sistema
• Definen la importancia de cada parte del mismo
¿Cómo obtener la información?
• Marketing:
• Nos puede llegar a ayudar a investigar si hay
mercado para productos similares. De ser así se
puede considerar la idea de hacer un framework o
componentes reusables para proyectos similares
• ™Si el proyecto es interno, se debe discutir con otros
departamentos el hacer un framework o
componentes reusables
¿Cómo obtener la información?
• Proyectos previos:
• Pueden darnos información muy valiosa tanto
positiva como negativa (tomar las positivas y evitar
las negativas)
Especificación de requerimientos (ESRE)
• Es un documento que describe claramente los
requerimientos funcionales (del cliente) y no
funcionales (del sistema)
• El aporte del cliente es crítico para este documento
• Debe usar la terminología del negocio
• Debe tener oraciones claras, completas y poca
terminología informática (jerga)
Especificación de requerimientos (ESRE)
• Contiene detalle acerca del alcance del proyecto
• Explica el contexto del problema
• Debe contener toda la información pertinente para el
análisis y diseño del proyecto
• Hace explícitas todas las restricciones necesarias
Especificación de requerimientos (ESRE)
• Estándar IEEE 830.
• Establece claramente qué cosas debe contener una
especificación de requerimientos, cómo debe estar
constituido
• Si queremos participar de licitaciones del gobierno o
grandes empresas, debe seguir este estándar
Especificación de requerimientos (ESRE)
• Definición de requerimiento [IEEE]
• Condición o capacidad de un sistema
requerida por el usuario para resolver un
problema o alcanzar un objetivo.
• Condición o capacidad que debe poseer un
sistema para satisfacer un contrato, estándar,
especificación, u otro documento formalmente
impuesto.
Especificación de requerimientos (ESRE)
• Requerimientos funcionales
• Especifican de los servicios que el sistema debe
proveer.
• Definen QUE hace el sistema.
• Describen todas las entradas y todas las salidas del
sistema y la forma en que se relacionan.
Especificación de requerimientos (ESRE)
• Requerimientos funcionales - Ejemplos:
• El sistema debe emitir un informe de estado de
situación patrimonial.
• El sistema debe realizar la liquidación de haberes a
personal contratado y personal estable.
Especificación de requerimientos (ESRE)
• Requerimientos funcionales - Ejemplos:
• El sistema debe capturar cualquier regla de
liquidación de haberes sin necesidad de intervención
del fabricante del producto.
• El sistema debe tener un archivo de movimientos.
Especificación de requerimientos (ESRE)
• Requerimientos no-funcionales
• Especifican restricciones o propiedades que el
sistema debe cumplir relacionadas con:
• Características de calidad
• Modelo de calidad ISO 9126
• Calidad interna, externa y en uso
Especificación de requerimientos (ESRE)
• Requerimientos no-funcionales
• Especifican restricciones o propiedades que el
sistema debe cumplir relacionadas con:
• Reglas de negocio
• Vocabulario y terminología del negocio
• Estándares y políticas organizacionales
Especificación de requerimientos (ESRE)
• Requerimientos no-funcionales
• Especifican restricciones o propiedades que el
sistema debe cumplir relacionadas con:
• Restricciones de entorno
• Hardware y software de base
• Interfaces externas
Especificación de requerimientos (ESRE)
• Requerimientos no-funcionales - Ejemplos:
• El sistema debe correr sobre Windows 7 o superior.
• El sistema debe ser fácil de aprender.
• El sistema debe estar desarrollado en Java SE.
• El sistema deberá ser desarrollado en 10 meses.
• El sistema debe encriptar los datos almacenados.
Especificación de requerimientos (ESRE)
• El estándar IEEE 830 establece centralmente que los
requerimientos deben tener las siguientes
características:
• Corrección: Todo requisito que se establezca en el
documento refleja una necesidad real.
Especificación de requerimientos (ESRE)
• El estándar IEEE 830 establece centralmente que los
requerimientos deben tener las siguientes
características:
• No ambiguos: No puede haber doble interpretación
en lo que se refiere a lo que se va a desarrollar. Los
requisitos deben estar redactados en un lenguaje no
ambiguo y además, de ser posible, utilizando algún
esquema o lenguaje matemático.
Especificación de requerimientos (ESRE)
• El estándar IEEE 830 establece centralmente que los
requerimientos deben tener las siguientes
características:
• Completos: se deben incluir todas las posibilidades
de entrada y salida del sistema, tanto válidas como
no válidas.
Especificación de requerimientos (ESRE)
• El estándar IEEE 830 establece centralmente que los
requerimientos deben tener las siguientes
características:
• Consistentes: No podemos incluir requisitos
contradictorios, un requisito posterior no puede ir
contra lo establecido en un requerimiento anterior.
Uno de los dos debe corregirse.
Especificación de requerimientos (ESRE)
• El estándar IEEE 830 establece centralmente que los
requerimientos deben tener las siguientes
características:
• Verificables: Debe existir un modo económico de
verificar si un requisito se cumple o no.
Especificación de requerimientos (ESRE)
• El estándar IEEE 830 establece centralmente que los
requerimientos deben tener las siguientes
características:
• Modificables: Una Especificación de Requerimientos
solo puede ser modificable si sus requisitos están
estructurados de forma que los cambios puedan
realizarse de forma fácil, completa y consistente.
Especificación de requerimientos (ESRE)
• El estándar IEEE 830 establece centralmente que los
requerimientos deben tener las siguientes
características:
• Trazables: Tenemos que saber quién nos pidió el
requisito, tenemos que establecer de antemano con
el cliente quién de la empresa va a poder pedir
cosas. Tiene que haber responsables.
Identificando
Clases y Objetos
Identificación de Clases y Objetos
• A partir de la descripción del problema a resolver
• Se subrayan los sustantivos y las frases sustantivas
• Todas las palabras subrayadas son candidatas a ser
objetos y clases
• Los sinónimos se ponen juntos
Identificación de Clases y Objetos
• Para identificar objetos de un programa dividiremos los
mismos en una serie de categorías base, aunque podrían
usarse otras categorías diferentes en función de los
requisitos de la aplicación/programa a diseñar:
• Cosas tangibles: avión, televisor, coche, etc.
Identificación de Clases y Objetos
• Para identificar objetos de un programa dividiremos los
mismos en una serie de categorías base, aunque podrían
usarse otras categorías diferentes en función de los
requisitos de la aplicación/programa a diseñar:
• Roles o papeles desempeñados por personas:
gerente, cliente, médico, etc
Identificación de Clases y Objetos
• Para identificar objetos de un programa dividiremos los
mismos en una serie de categorías base, aunque podrían
usarse otras categorías diferentes en función de los
requisitos de la aplicación/programa a diseñar:
• Organizaciones: empresa, división, equipo, etc.
Identificación de Clases y Objetos
• Para identificar objetos de un programa dividiremos los
mismos en una serie de categorías base, aunque podrían
usarse otras categorías diferentes en función de los
requisitos de la aplicación/programa a diseñar:
• Incidentes que representan un suceso: vuelo,
accidente, suceso, etc
Identificación de Clases y Objetos
• Para identificar objetos de un programa dividiremos los
mismos en una serie de categorías base, aunque podrían
usarse otras categorías diferentes en función de los
requisitos de la aplicación/programa a diseñar:
• Interacciones que implican transición o contrato y
relacionan dos o más objetos del modelo: compras,
matrimonio, etc.
Identificación de Clases y Objetos
Ejercicio:
1. El cliente nos pide un sistema que le permita gestionar su empresa
de transporte. La misma dispone de camiones, camionetas y motos
que realizan entregas que le piden los clientes. La empresa dispone
de dos estacionamientos, en los que permanecen los vehículos
cuando no están realizando alguna entrega, que también tienen que
ser gestionados, porque no caben todos ellos en los terrenos, por lo
que debe contratar espacio en estacionamientos privados. Además,
el sistema debe gestionar la plantilla de choferes, asignándolos a los
vehículos.
Identificación de Clases y Objetos
Ejercicio:
2. Nuestra empresa ha decidido comenzar el desarrollo de un juego
multiplataforma en el que los jugadores se encuentran frente a un
tablero lleno de bolillas de colores, habrá tableros de diferentes
tamaños y formas y las bolillas pueden ser de seis colores
diferentes. Los jugadores deben combinar al menos tres bolillas del
mismo color moviendo una bolilla. Los movimientos permitidos son
horizontal y vertical únicamente. Cada tablero deberá resolverse en
una cantidad de movimientos determinada, generando puntos por la
cantidad de movimientos realizados.
Identificación de Clases y Objetos
Ejercicio:
3. En la veterinaria del vecino han decidido implementar un sistema
que le ayude a realizar la gestión de las consultas a los animales que
atienden a diario. Cada cliente tiene uno o varios animales, que
pueden ser de diferentes especies y razas. Cada vez que se atiende
a un paciente se produce una consulta, esta consulta puede ser
programada o de urgencia, teniendo cada tipo de consulta un costo
diferente. La veterinaria dispone de tres médicos que atienden en
los dos consultorios, teniendo ellos horarios rotativos.
Identificación de Clases y Objetos
• Para identificar objetos de un programa dividiremos los
mismos en una serie de categorías base, aunque podrían
usarse otras categorías diferentes en función de los
requisitos de la aplicación/programa a diseñar:
• Lugares: sala de embarque, muelle de carga,
almacén, etc.
Identificación de Atributos y Métodos de clase
• Una vez que “tenemos en claro” los objetos que van a
formar parte de nuestro programa (pueden variar a
medida que empecemos con el diseño más profundo),
hemos de identificar los atributos de dichos objetos que
nos van a ser útiles.
• Los atributos describen la abstracción de características
individuales que poseen todos los objetos.
Identificación de Atributos y Métodos de clase
• En una clase Empleado, podríamos tener:
• Número de cédula
• Nombre y apellido (¿separados o juntos?)
• Horario (entrada, salida, descanso)
• Sueldo
Identificación de Atributos y Métodos de clase
• Por último nos quedaría la tarea de identificar las
operaciones o funciones miembro las cuales van a
cambiar, de alguna forma, el comportamiento del objeto.
• Cambian los valores de uno o más atributos contenidos
en dicho objeto.
Identificación de Atributos y Métodos de clase
• La identificación de las operaciones se realiza haciendo
un nuevo análisis gramatical de la descripción del
problema y buscando y aislando los verbos presentes en
el texto.
• “El sistema deberá permitir incrementar el salario de
cada empleado de acuerdo a lo establecido en los
acuerdos salariales del sector”
Identificación de Atributos y Métodos de clase
• Las operaciones generalmente se dividen en los
siguientes tres grandes grupos:
• Manipulación de datos: de alguna forma específica
como añadir, borrar, cambiar formato, etc. (setters)
• cambiar horario
• aumentar salario
Identificación de Atributos y Métodos de clase
• Las operaciones generalmente se dividen en los
siguientes tres grandes grupos:
• Monitorización del objeto: comprobarán el estado de
un objeto frente a la ocurrencia de algún suceso de
control. (getters)
• obtener salario
• obtener cédula
Identificación de Atributos y Métodos de clase
• Las operaciones generalmente se dividen en los
siguientes tres grandes grupos:
• Realización de cálculos: estos métodos realizarán
operaciones de muy diversa índole (algebraicas,
estadísticas, etc.) sobre los atributos de un objeto.
• cambiar horario
• depositar salario

Más contenido relacionado

La actualidad más candente

Taxonomia de las herramientas case
Taxonomia de las herramientas caseTaxonomia de las herramientas case
Taxonomia de las herramientas caseisidro luna beltran
 
Automated YCSB Benchmarking
Automated YCSB BenchmarkingAutomated YCSB Benchmarking
Automated YCSB Benchmarking
Miro Cupak
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
VMware Tanzu Korea
 
JAVA DATABASE CONNECTIVITY (JDBC)
  JAVA DATABASE CONNECTIVITY (JDBC)  JAVA DATABASE CONNECTIVITY (JDBC)
JAVA DATABASE CONNECTIVITY (JDBC)
MILAGRINAMAGUINAPRINCIPE
 
XML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNticaXML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNtica
Miguel Angel Niño Zambrano
 
WebSockets
WebSocketsWebSockets
WebSockets
Anahii FeLiix
 
Building multi tenant systems with Cosmos DB and NserviceBus
Building multi tenant systems with Cosmos DB and NserviceBusBuilding multi tenant systems with Cosmos DB and NserviceBus
Building multi tenant systems with Cosmos DB and NserviceBus
Ivan Lazarov
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Anuja Arosha
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
Daniel Arndt Alves
 
El modelo margarita.ppt
El modelo margarita.pptEl modelo margarita.ppt
El modelo margarita.ppt
Daniela Vega
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Scalia
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacionjosebunbury
 
Microservices Decomposition Patterns
Microservices Decomposition PatternsMicroservices Decomposition Patterns
Microservices Decomposition Patterns
Firmansyah, SCJP, OCEWCD, OCEWSD, TOGAF, OCMJEA, CEH
 
Introduction to Event Sourcing
Introduction to Event SourcingIntroduction to Event Sourcing
Introduction to Event Sourcing
Jeffrey T. Fritz
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitoskelyquinayas
 
Goodbye Nightmare: Tips and Tricks for Creating Complex Layouts with Oracle A...
Goodbye Nightmare: Tips and Tricks for Creating Complex Layouts with Oracle A...Goodbye Nightmare: Tips and Tricks for Creating Complex Layouts with Oracle A...
Goodbye Nightmare: Tips and Tricks for Creating Complex Layouts with Oracle A...
Getting value from IoT, Integration and Data Analytics
 
Diagrama de comportamiento
Diagrama de comportamientoDiagrama de comportamiento
Diagrama de comportamiento
NELSONJOSUETOLEDOGUZ
 
Requerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones webRequerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones web
Alonzer Acid Nox
 
MongoDB vs. Postgres Benchmarks
MongoDB vs. Postgres Benchmarks MongoDB vs. Postgres Benchmarks
MongoDB vs. Postgres Benchmarks
EDB
 
Documento arquitectura de software
Documento arquitectura de softwareDocumento arquitectura de software
Documento arquitectura de software
AURA SYSTEMS S.A.C
 

La actualidad más candente (20)

Taxonomia de las herramientas case
Taxonomia de las herramientas caseTaxonomia de las herramientas case
Taxonomia de las herramientas case
 
Automated YCSB Benchmarking
Automated YCSB BenchmarkingAutomated YCSB Benchmarking
Automated YCSB Benchmarking
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
 
JAVA DATABASE CONNECTIVITY (JDBC)
  JAVA DATABASE CONNECTIVITY (JDBC)  JAVA DATABASE CONNECTIVITY (JDBC)
JAVA DATABASE CONNECTIVITY (JDBC)
 
XML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNticaXML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNtica
 
WebSockets
WebSocketsWebSockets
WebSockets
 
Building multi tenant systems with Cosmos DB and NserviceBus
Building multi tenant systems with Cosmos DB and NserviceBusBuilding multi tenant systems with Cosmos DB and NserviceBus
Building multi tenant systems with Cosmos DB and NserviceBus
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
 
El modelo margarita.ppt
El modelo margarita.pptEl modelo margarita.ppt
El modelo margarita.ppt
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
 
Microservices Decomposition Patterns
Microservices Decomposition PatternsMicroservices Decomposition Patterns
Microservices Decomposition Patterns
 
Introduction to Event Sourcing
Introduction to Event SourcingIntroduction to Event Sourcing
Introduction to Event Sourcing
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Goodbye Nightmare: Tips and Tricks for Creating Complex Layouts with Oracle A...
Goodbye Nightmare: Tips and Tricks for Creating Complex Layouts with Oracle A...Goodbye Nightmare: Tips and Tricks for Creating Complex Layouts with Oracle A...
Goodbye Nightmare: Tips and Tricks for Creating Complex Layouts with Oracle A...
 
Diagrama de comportamiento
Diagrama de comportamientoDiagrama de comportamiento
Diagrama de comportamiento
 
Requerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones webRequerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones web
 
MongoDB vs. Postgres Benchmarks
MongoDB vs. Postgres Benchmarks MongoDB vs. Postgres Benchmarks
MongoDB vs. Postgres Benchmarks
 
Documento arquitectura de software
Documento arquitectura de softwareDocumento arquitectura de software
Documento arquitectura de software
 

Similar a Ingeniería de requerimientos i

Modelo entidad relación Rojas
Modelo entidad relación RojasModelo entidad relación Rojas
Modelo entidad relación RojasJoselineRojas
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
jorgejvc777
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
jose_rob
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
RaimonKoudsi
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetos
desimartinez
 
Introducción al POO
Introducción al POOIntroducción al POO
Introducción al POO
Raúl Francisco Vázquez Bautista
 
Java – Clases y Objetos
Java – Clases y ObjetosJava – Clases y Objetos
Java – Clases y Objetos
Galo Candela
 
Fundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a ObjetosFundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a Objetos
edwinlemmon
 
Proyect tipan silva
Proyect tipan silvaProyect tipan silva
Proyect tipan silva
Alejandra Silva
 
programacion orientada a objetos poo.pptx
programacion orientada a objetos poo.pptxprogramacion orientada a objetos poo.pptx
programacion orientada a objetos poo.pptx
Davilito Oso
 
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
karlalopezbello
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoaleja0940
 
Diseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y TestingDiseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y Testing
Juan Paulo Madriaza
 
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la pooLenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la pooJacki Wan
 
Formación workflow - día 3 -
Formación   workflow - día 3 - Formación   workflow - día 3 -
Formación workflow - día 3 -
Belen J
 
Taller campus party .net
Taller campus party .netTaller campus party .net
Taller campus party .netcampus party
 
Taller campus party
Taller campus partyTaller campus party
Taller campus partycampus party
 

Similar a Ingeniería de requerimientos i (20)

Modelo entidad relación Rojas
Modelo entidad relación RojasModelo entidad relación Rojas
Modelo entidad relación Rojas
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetos
 
Introducción al POO
Introducción al POOIntroducción al POO
Introducción al POO
 
Java – Clases y Objetos
Java – Clases y ObjetosJava – Clases y Objetos
Java – Clases y Objetos
 
Fundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a ObjetosFundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a Objetos
 
Proyect tipan silva
Proyect tipan silvaProyect tipan silva
Proyect tipan silva
 
programacion orientada a objetos poo.pptx
programacion orientada a objetos poo.pptxprogramacion orientada a objetos poo.pptx
programacion orientada a objetos poo.pptx
 
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Diseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y TestingDiseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y Testing
 
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la pooLenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
 
Formación workflow - día 3 -
Formación   workflow - día 3 - Formación   workflow - día 3 -
Formación workflow - día 3 -
 
Taller campus party .net
Taller campus party .netTaller campus party .net
Taller campus party .net
 
Taller campus party
Taller campus partyTaller campus party
Taller campus party
 
Analisis y diseno_oo
Analisis y diseno_ooAnalisis y diseno_oo
Analisis y diseno_oo
 
Expo
ExpoExpo
Expo
 

Más de Pablo Macon

Ejercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivosEjercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivos
Pablo Macon
 
Ejercicios directorios ii msdos
Ejercicios directorios ii msdosEjercicios directorios ii msdos
Ejercicios directorios ii msdos
Pablo Macon
 
Comandos para archivos msdos
Comandos para archivos msdosComandos para archivos msdos
Comandos para archivos msdos
Pablo Macon
 
Ejercicios ms dos - i directorios
Ejercicios ms dos - i directoriosEjercicios ms dos - i directorios
Ejercicios ms dos - i directorios
Pablo Macon
 
Directorios y caminos
Directorios y caminosDirectorios y caminos
Directorios y caminos
Pablo Macon
 
Prueba try
Prueba tryPrueba try
Prueba try
Pablo Macon
 
Comandos basicos ii directorios
Comandos basicos ii   directoriosComandos basicos ii   directorios
Comandos basicos ii directorios
Pablo Macon
 
Comandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del SistemaComandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del Sistema
Pablo Macon
 
Instalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM WareInstalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM Ware
Pablo Macon
 
Overclock
OverclockOverclock
Overclock
Pablo Macon
 
Como Trabaja un Procesador
Como Trabaja un ProcesadorComo Trabaja un Procesador
Como Trabaja un Procesador
Pablo Macon
 
Práctico motherboard
Práctico motherboardPráctico motherboard
Práctico motherboard
Pablo Macon
 
Placa madre
Placa madrePlaca madre
Placa madre
Pablo Macon
 
Sistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFSSistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFS
Pablo Macon
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
Pablo Macon
 
Introducción al proyecto
Introducción al proyectoIntroducción al proyecto
Introducción al proyecto
Pablo Macon
 
Gabinete PC
Gabinete PCGabinete PC
Gabinete PC
Pablo Macon
 
Nucleo kernel
Nucleo kernelNucleo kernel
Nucleo kernel
Pablo Macon
 
Herencia - Java
Herencia - JavaHerencia - Java
Herencia - Java
Pablo Macon
 

Más de Pablo Macon (20)

Ejercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivosEjercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivos
 
Ejercicios directorios ii msdos
Ejercicios directorios ii msdosEjercicios directorios ii msdos
Ejercicios directorios ii msdos
 
Comandos para archivos msdos
Comandos para archivos msdosComandos para archivos msdos
Comandos para archivos msdos
 
Ejercicios ms dos - i directorios
Ejercicios ms dos - i directoriosEjercicios ms dos - i directorios
Ejercicios ms dos - i directorios
 
Directorios y caminos
Directorios y caminosDirectorios y caminos
Directorios y caminos
 
Prueba try
Prueba tryPrueba try
Prueba try
 
Comandos basicos ii directorios
Comandos basicos ii   directoriosComandos basicos ii   directorios
Comandos basicos ii directorios
 
Comandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del SistemaComandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del Sistema
 
Instalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM WareInstalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM Ware
 
Cpu
CpuCpu
Cpu
 
Overclock
OverclockOverclock
Overclock
 
Como Trabaja un Procesador
Como Trabaja un ProcesadorComo Trabaja un Procesador
Como Trabaja un Procesador
 
Práctico motherboard
Práctico motherboardPráctico motherboard
Práctico motherboard
 
Placa madre
Placa madrePlaca madre
Placa madre
 
Sistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFSSistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFS
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Introducción al proyecto
Introducción al proyectoIntroducción al proyecto
Introducción al proyecto
 
Gabinete PC
Gabinete PCGabinete PC
Gabinete PC
 
Nucleo kernel
Nucleo kernelNucleo kernel
Nucleo kernel
 
Herencia - Java
Herencia - JavaHerencia - Java
Herencia - Java
 

Último

MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
jheisonraulmedinafer
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
HuallpaSamaniegoSeba
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
YasneidyGonzalez
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
Distea V región
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 

Último (20)

MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 

Ingeniería de requerimientos i

  • 1. Ingeniería de Requerimientos I prof. Pablo Macón http://pablomacon.wixsite.com/home/ profemacon@gmail.com
  • 2. Programación Orientada a Objetos • Una técnica o estilo de programación que utiliza objetos como bloque esencial de construcción de software. • Los lenguajes de programación Orientados a Objetos pretenden construir programas basándose en los objetos presentes en la realidad correspondiente al programa que se desea construir. • Por esa razón es que permiten crear en la computadora representaciones de esos objetos de la realidad.
  • 3. ¿Qué es un objeto? • Un Objeto es una "cosa", real o imaginaria, física o intangible, viva o inerte que existe enmarcado en alguna realidad. • Estamos rodeados por objetos, las personas que nos rodean son objetos, los muebles de nuestra casa son objetos e incluso en alguna realidad emocional podemos decir que cosas como los pensamientos o los sentimientos son objetos.
  • 4. ¿Qué es un objeto? • Un objeto puede, por tanto, ser algo conceptual o algo físico. • La idea fundamental es que un objeto es una entidad (o noción) única. • Cada objeto es una individualidad, que puede estar relacionado o constituido por otros objetos.
  • 5. ¿Qué es un objeto? • Dentro del paradigma de la Orientación a Objetos, se entiende que los objetos se componen de dos elementos denominados atributos y métodos. • Los primeros son aquellos datos del objeto con los cuales interese trabajar dentro de una determinada realidad • Los segundos son las acciones u operaciones que trabajan sobre el objeto.
  • 6. ¿Qué es un objeto? • Por ejemplo, si consideramos a una cuenta bancaria como un objeto, sus atributos de interés podrían ser su número, la cédula de su dueño y el monto de dinero que almacena, mientras que sus métodos podrían ser las operaciones de depósito, retiro y consulta.
  • 7. ¿Qué es un objeto? • Desde un punto de vista más formal, un objeto es en realidad un elemento perteneciente a un determinado Tipo. • Así como tenemos elementos que son enteros o Cadenas de Texto (int o String) podemos crear nuestros tipos particulares
  • 8. Clases de Objetos • Desde un punto de vista conceptual, diremos que una Clase es una plantilla o molde imaginario que sirve para definir objetos. • Decimos que los objetos de una clase son instancias de la misma.
  • 9. Clases de Objetos • Podemos hacer la siguiente analogía: • La clase es como el plano de un edificio • los objetos son todos los edificios concretos que yo puedo construir con ese plano.
  • 10. Clases y Objetos • Por otra parte, no podemos dejar de mencionar una característica muy importante de los objetos: poseen identidad. • Si bien los objetos de una clase tienen todos las mismas características, cada uno de ellos es una entidad única y diferenciable de los demás.
  • 11. Clases y Objetos • Por ejemplo, la clase persona define tres atributos: cédula, nombre y domicilio • Todos los objetos de la clase tendrán una cédula, un nombre y un domicilio. • No obstante, cada objeto de la clase persona será único, porque los valores que tomen esos datos para cada objeto en concreto nunca serán todos los mismos.
  • 12. Clases y Objetos • La existencia de clases de objetos es una característica sumamente útil y necesaria a la hora de escribir programas Orientados a Objetos. • Nos permite manipular con facilidad grandes grupos de Objetos. • Sería muy difícil tener que programar cada Objeto por separado.
  • 13. Clases y Objetos • Una clase es pues, un tipo de datos definido por el programador, que determina las estructuras de datos y las operaciones asociadas con ese tipo. • Cada clase es un modelo que describe un infinito conjunto de objetos del mismo tipo.
  • 14. Clases y Objetos • Cada vez que se construye un objeto de una clase, se crea una instancia de esa clase. • Cada instancia u objeto de una clase tiene su propio valor para cada uno de sus atributos pero comparte los mismos métodos que todos los otros objetos de la misma clase.
  • 16. Metodología Orientada a Objetos • A la hora de modelar sistemas utilizando Programación Orientada a Objetos, seguiremos una metodología para resolver problemas que se divide en las siguientes etapas. 1.Análisis del sistema. 2.Diseño del sistema.
  • 17. Metodología Orientada a Objetos • A la hora de modelar sistemas utilizando Programación Orientada a Objetos, seguiremos una metodología para resolver problemas que se divide en las siguientes etapas. 3. Implementación del sistema en un lenguaje Orientado a Objetos. 4. Prueba, despliegue y mantenimiento del sistema
  • 18. 1- Análisis del Sistema • Determinar cuál es el propósito general del Sistema, qué aspectos abarcará y cuáles no. • Partiendo de los requerimientos del sistema (tareas concretas que se espera que el mismo resuelva), debemos estudiar aquellos aspectos de la realidad correspondiente que sean relevantes para la resolución de los requerimientos y construir un Modelo de Análisis que los represente.
  • 19. 1 - Análisis del Sistema • Esto se hace con el fin de contextualizar hasta dónde debe abarcar el Sistema y qué cosas no interesan y deben quedar afuera del mismo. • La construcción del modelo de análisis se hace identificando los Objetos presentes en la realidad que son relevantes y cómo se relacionan entre sí, dejando afuera a todos aquellos que no son de importancia.
  • 20. 2 - Diseño del Sistema • Esta etapa consiste en traducir el modelo generado durante el análisis en un conjunto de clases y métodos que permitan implementar el Sistema de forma tal que resuelva los requerimientos que fueron definidos para el mismo.
  • 21. 2 - Diseño del Sistema • Esto significa generar una documentación lo más clara posible de las clases que hay que programar y de los métodos que hay que implementar en ellas. Para generar dicha documentación, se usará la notación UML, al igual que en la etapa de análisis
  • 22. 3 - Implementación del Sistema • Esta etapa consiste en partir de la documentación generada en la etapa del diseño e implementar en un lenguaje de Programación Orientado a Objetos cada una de las Clases especificadas durante el diseño, definiendo estructuras de datos apropiadas para cada una de ellas, así como los métodos de cada clase, también especificados durante el diseño.
  • 23. 3 - Implementación del Sistema • Todos los lenguajes OO proveen mecanismos para implementar Clases y Objetos, además de garantizar el cumplimiento de los cuatro conceptos fundamentales (abstracción, encapsulamiento, herencia y polimorfismo)
  • 24. 4 - Prueba, despliegue y mantenimiento • Una vez que hemos construido el sistema, que hemos traducido el modelo a un lenguaje Orientado a Objetos determinado, y antes de liberarlo al público o entregarlo al cliente que nos lo pidió, debemos hacer pruebas extensivas que verifiquen que el sistema funciona de la manera esperada y realiza las tareas especificadas.
  • 25. 4 - Prueba, despliegue y mantenimiento • Después de todo esto es posible entregar el producto y luego sigue el mantenimiento, mediante el cual vamos a corregir pequeños inconvenientes o hacer cambios que le permitan evolucionar, incorporar nuevas cosas. • Un programa bien diseñado, bien analizado, permite que los cambios sean razonables.
  • 27. Identificación y Análisis de Requerimientos • Lo primero que necesitamos para resolver el problema es establecer cuál es el problema en sí. • Tenemos que conocer qué es lo que necesitamos que el programa haga con exactitud.
  • 28. Identificación y Análisis de Requerimientos • Comienza recabando información sobre el problema • Sigue con un análisis exhaustivo de esa información • Termina con un documento llamado Especificación de Requerimientos (ESRE).
  • 29. ¿Cómo obtener la información? • Especificación Inicial del cliente • No siempre es precisa • Puede tener omisiones (faltar información sobre el negocio)
  • 30. ¿Cómo obtener la información? • Expertos en la materia • Se puede obtener información sobre el problema (negocio) a resolver consultando a expertos en la materia • Habitualmente son provistos por el cliente y no tienen, necesariamente, que saber de informática
  • 31. ¿Cómo obtener la información? • Usuarios • Son las personas que van a usar el sistema • Dan información práctica en contraposición con la teórica obtenida anteriormente
  • 32. ¿Cómo obtener la información? • Gerentes: • Son los responsables del sistema • Definen la importancia de cada parte del mismo
  • 33. ¿Cómo obtener la información? • Marketing: • Nos puede llegar a ayudar a investigar si hay mercado para productos similares. De ser así se puede considerar la idea de hacer un framework o componentes reusables para proyectos similares • ™Si el proyecto es interno, se debe discutir con otros departamentos el hacer un framework o componentes reusables
  • 34. ¿Cómo obtener la información? • Proyectos previos: • Pueden darnos información muy valiosa tanto positiva como negativa (tomar las positivas y evitar las negativas)
  • 35. Especificación de requerimientos (ESRE) • Es un documento que describe claramente los requerimientos funcionales (del cliente) y no funcionales (del sistema) • El aporte del cliente es crítico para este documento • Debe usar la terminología del negocio • Debe tener oraciones claras, completas y poca terminología informática (jerga)
  • 36. Especificación de requerimientos (ESRE) • Contiene detalle acerca del alcance del proyecto • Explica el contexto del problema • Debe contener toda la información pertinente para el análisis y diseño del proyecto • Hace explícitas todas las restricciones necesarias
  • 37. Especificación de requerimientos (ESRE) • Estándar IEEE 830. • Establece claramente qué cosas debe contener una especificación de requerimientos, cómo debe estar constituido • Si queremos participar de licitaciones del gobierno o grandes empresas, debe seguir este estándar
  • 38. Especificación de requerimientos (ESRE) • Definición de requerimiento [IEEE] • Condición o capacidad de un sistema requerida por el usuario para resolver un problema o alcanzar un objetivo. • Condición o capacidad que debe poseer un sistema para satisfacer un contrato, estándar, especificación, u otro documento formalmente impuesto.
  • 39. Especificación de requerimientos (ESRE) • Requerimientos funcionales • Especifican de los servicios que el sistema debe proveer. • Definen QUE hace el sistema. • Describen todas las entradas y todas las salidas del sistema y la forma en que se relacionan.
  • 40. Especificación de requerimientos (ESRE) • Requerimientos funcionales - Ejemplos: • El sistema debe emitir un informe de estado de situación patrimonial. • El sistema debe realizar la liquidación de haberes a personal contratado y personal estable.
  • 41. Especificación de requerimientos (ESRE) • Requerimientos funcionales - Ejemplos: • El sistema debe capturar cualquier regla de liquidación de haberes sin necesidad de intervención del fabricante del producto. • El sistema debe tener un archivo de movimientos.
  • 42. Especificación de requerimientos (ESRE) • Requerimientos no-funcionales • Especifican restricciones o propiedades que el sistema debe cumplir relacionadas con: • Características de calidad • Modelo de calidad ISO 9126 • Calidad interna, externa y en uso
  • 43. Especificación de requerimientos (ESRE) • Requerimientos no-funcionales • Especifican restricciones o propiedades que el sistema debe cumplir relacionadas con: • Reglas de negocio • Vocabulario y terminología del negocio • Estándares y políticas organizacionales
  • 44. Especificación de requerimientos (ESRE) • Requerimientos no-funcionales • Especifican restricciones o propiedades que el sistema debe cumplir relacionadas con: • Restricciones de entorno • Hardware y software de base • Interfaces externas
  • 45. Especificación de requerimientos (ESRE) • Requerimientos no-funcionales - Ejemplos: • El sistema debe correr sobre Windows 7 o superior. • El sistema debe ser fácil de aprender. • El sistema debe estar desarrollado en Java SE. • El sistema deberá ser desarrollado en 10 meses. • El sistema debe encriptar los datos almacenados.
  • 46. Especificación de requerimientos (ESRE) • El estándar IEEE 830 establece centralmente que los requerimientos deben tener las siguientes características: • Corrección: Todo requisito que se establezca en el documento refleja una necesidad real.
  • 47. Especificación de requerimientos (ESRE) • El estándar IEEE 830 establece centralmente que los requerimientos deben tener las siguientes características: • No ambiguos: No puede haber doble interpretación en lo que se refiere a lo que se va a desarrollar. Los requisitos deben estar redactados en un lenguaje no ambiguo y además, de ser posible, utilizando algún esquema o lenguaje matemático.
  • 48. Especificación de requerimientos (ESRE) • El estándar IEEE 830 establece centralmente que los requerimientos deben tener las siguientes características: • Completos: se deben incluir todas las posibilidades de entrada y salida del sistema, tanto válidas como no válidas.
  • 49. Especificación de requerimientos (ESRE) • El estándar IEEE 830 establece centralmente que los requerimientos deben tener las siguientes características: • Consistentes: No podemos incluir requisitos contradictorios, un requisito posterior no puede ir contra lo establecido en un requerimiento anterior. Uno de los dos debe corregirse.
  • 50. Especificación de requerimientos (ESRE) • El estándar IEEE 830 establece centralmente que los requerimientos deben tener las siguientes características: • Verificables: Debe existir un modo económico de verificar si un requisito se cumple o no.
  • 51. Especificación de requerimientos (ESRE) • El estándar IEEE 830 establece centralmente que los requerimientos deben tener las siguientes características: • Modificables: Una Especificación de Requerimientos solo puede ser modificable si sus requisitos están estructurados de forma que los cambios puedan realizarse de forma fácil, completa y consistente.
  • 52. Especificación de requerimientos (ESRE) • El estándar IEEE 830 establece centralmente que los requerimientos deben tener las siguientes características: • Trazables: Tenemos que saber quién nos pidió el requisito, tenemos que establecer de antemano con el cliente quién de la empresa va a poder pedir cosas. Tiene que haber responsables.
  • 54. Identificación de Clases y Objetos • A partir de la descripción del problema a resolver • Se subrayan los sustantivos y las frases sustantivas • Todas las palabras subrayadas son candidatas a ser objetos y clases • Los sinónimos se ponen juntos
  • 55. Identificación de Clases y Objetos • Para identificar objetos de un programa dividiremos los mismos en una serie de categorías base, aunque podrían usarse otras categorías diferentes en función de los requisitos de la aplicación/programa a diseñar: • Cosas tangibles: avión, televisor, coche, etc.
  • 56. Identificación de Clases y Objetos • Para identificar objetos de un programa dividiremos los mismos en una serie de categorías base, aunque podrían usarse otras categorías diferentes en función de los requisitos de la aplicación/programa a diseñar: • Roles o papeles desempeñados por personas: gerente, cliente, médico, etc
  • 57. Identificación de Clases y Objetos • Para identificar objetos de un programa dividiremos los mismos en una serie de categorías base, aunque podrían usarse otras categorías diferentes en función de los requisitos de la aplicación/programa a diseñar: • Organizaciones: empresa, división, equipo, etc.
  • 58. Identificación de Clases y Objetos • Para identificar objetos de un programa dividiremos los mismos en una serie de categorías base, aunque podrían usarse otras categorías diferentes en función de los requisitos de la aplicación/programa a diseñar: • Incidentes que representan un suceso: vuelo, accidente, suceso, etc
  • 59. Identificación de Clases y Objetos • Para identificar objetos de un programa dividiremos los mismos en una serie de categorías base, aunque podrían usarse otras categorías diferentes en función de los requisitos de la aplicación/programa a diseñar: • Interacciones que implican transición o contrato y relacionan dos o más objetos del modelo: compras, matrimonio, etc.
  • 60. Identificación de Clases y Objetos Ejercicio: 1. El cliente nos pide un sistema que le permita gestionar su empresa de transporte. La misma dispone de camiones, camionetas y motos que realizan entregas que le piden los clientes. La empresa dispone de dos estacionamientos, en los que permanecen los vehículos cuando no están realizando alguna entrega, que también tienen que ser gestionados, porque no caben todos ellos en los terrenos, por lo que debe contratar espacio en estacionamientos privados. Además, el sistema debe gestionar la plantilla de choferes, asignándolos a los vehículos.
  • 61. Identificación de Clases y Objetos Ejercicio: 2. Nuestra empresa ha decidido comenzar el desarrollo de un juego multiplataforma en el que los jugadores se encuentran frente a un tablero lleno de bolillas de colores, habrá tableros de diferentes tamaños y formas y las bolillas pueden ser de seis colores diferentes. Los jugadores deben combinar al menos tres bolillas del mismo color moviendo una bolilla. Los movimientos permitidos son horizontal y vertical únicamente. Cada tablero deberá resolverse en una cantidad de movimientos determinada, generando puntos por la cantidad de movimientos realizados.
  • 62. Identificación de Clases y Objetos Ejercicio: 3. En la veterinaria del vecino han decidido implementar un sistema que le ayude a realizar la gestión de las consultas a los animales que atienden a diario. Cada cliente tiene uno o varios animales, que pueden ser de diferentes especies y razas. Cada vez que se atiende a un paciente se produce una consulta, esta consulta puede ser programada o de urgencia, teniendo cada tipo de consulta un costo diferente. La veterinaria dispone de tres médicos que atienden en los dos consultorios, teniendo ellos horarios rotativos.
  • 63. Identificación de Clases y Objetos • Para identificar objetos de un programa dividiremos los mismos en una serie de categorías base, aunque podrían usarse otras categorías diferentes en función de los requisitos de la aplicación/programa a diseñar: • Lugares: sala de embarque, muelle de carga, almacén, etc.
  • 64. Identificación de Atributos y Métodos de clase • Una vez que “tenemos en claro” los objetos que van a formar parte de nuestro programa (pueden variar a medida que empecemos con el diseño más profundo), hemos de identificar los atributos de dichos objetos que nos van a ser útiles. • Los atributos describen la abstracción de características individuales que poseen todos los objetos.
  • 65. Identificación de Atributos y Métodos de clase • En una clase Empleado, podríamos tener: • Número de cédula • Nombre y apellido (¿separados o juntos?) • Horario (entrada, salida, descanso) • Sueldo
  • 66. Identificación de Atributos y Métodos de clase • Por último nos quedaría la tarea de identificar las operaciones o funciones miembro las cuales van a cambiar, de alguna forma, el comportamiento del objeto. • Cambian los valores de uno o más atributos contenidos en dicho objeto.
  • 67. Identificación de Atributos y Métodos de clase • La identificación de las operaciones se realiza haciendo un nuevo análisis gramatical de la descripción del problema y buscando y aislando los verbos presentes en el texto. • “El sistema deberá permitir incrementar el salario de cada empleado de acuerdo a lo establecido en los acuerdos salariales del sector”
  • 68. Identificación de Atributos y Métodos de clase • Las operaciones generalmente se dividen en los siguientes tres grandes grupos: • Manipulación de datos: de alguna forma específica como añadir, borrar, cambiar formato, etc. (setters) • cambiar horario • aumentar salario
  • 69. Identificación de Atributos y Métodos de clase • Las operaciones generalmente se dividen en los siguientes tres grandes grupos: • Monitorización del objeto: comprobarán el estado de un objeto frente a la ocurrencia de algún suceso de control. (getters) • obtener salario • obtener cédula
  • 70. Identificación de Atributos y Métodos de clase • Las operaciones generalmente se dividen en los siguientes tres grandes grupos: • Realización de cálculos: estos métodos realizarán operaciones de muy diversa índole (algebraicas, estadísticas, etc.) sobre los atributos de un objeto. • cambiar horario • depositar salario