Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los datos son realidades concretas en su estado primario, representan hechos reales y
poseen escaso valor más allá del de su sola existencia. Por ejemplo, es posible pensar en los datos
como piezas de madera, en cuya condición tiene escaso valor más allá del que poseen como
objetos específicos. En cambio, si se define algún tipo de relación entre las piezas de madera, éstas
adquirirán mayor valor.
Por su parte, la información es muy similar; pueden establecerse reglas y relaciones para
organizar datos a fin de que provean útil y valiosa información. La información se define como un
conjunto de datos organizados de tal modo que adquieren un valor adicional más allá del propio.
Características de la información:
Los sistemas poseen Entradas, Procesamientos, Salidas y Retroalimentación. Las entradas son
aquellos objetos, acciones, procesos o algún evento que desencadena el funcionamiento del
sistema. Los procesamientos son acciones, procedimientos que se realizan sobre las entradas para
producir las salidas que dará el sistema. Las salidas, es la consecuencia de los procesamientos,
suelen representar algo de valor para alguien o pueden ser, a su vez, entradas para otro sistema.
La Retroalimentación, se le suele llamar también FeedBack, es un proceso que consiste en utilizar
la información de las salidas para realizar cambios en actividades de entrada o procesamiento.
Para operar con eficiencia, las empresas se apoyan cada vez más en los sistemas de información.
En definitiva el objetivo de esta computarización es satisfacer a los clientes de una empresa y
proporcionar una ventaja competitiva al reducir los costos y mejorar el servicio.
El procesamiento de transacciones fue uno de los primeros procesos que se computarizaron en las
empresas; además sin los sistemas de información, el registro y el procesamiento de las
transacciones de negocios requeriría de enormes cantidades de los recursos de una organización.
Los sistemas de procesamiento de transacciones realizan operaciones rutinarias tales como
pedidos y facturación de ventas, y realizan con frecuencia diaria o semanalmente las mismas
operaciones.
Para seleccionar que método para procesar las transacciones se debe elegir, se debe tener
en cuenta los objetivos específicos de la organización. Las empresas por lo general esperan
que su sistema de procesamiento de transacciones logren varios objetivos, como por
ejemplo, “procesar datos generados por las transacciones y que se relacionen con ellas”,
“asegurar la integridad y la exactitud de los datos y la información”, “elaborar documentos
e informes oportunos”, “ayudar a proporcionar mayores y mejores servicios”, “lograr una
ventaja competitiva”, etc.
Aunque los Sistemas de Informacion de las empresas están adaptados a las circunstancias de cada
una de ellas (mercado, tipo de negocio, tamaño, recursos, etc.), todos los sistemas presentan
algunas características comunes, puesto que ciertas actividades de gestión suelen ser muy
parecidas en la mayoría de las organizaciones. Podríamos decir que una empresa típica cuenta con
una estructura de Sistema de Informacion compuesta por los siguientes subsistemas:
Introduccion
En esta unidad describiremos como se debe modelar los procesos de negocio con UML, explicando
las herramientas que se utilizaran para lograr los modelos de negocio.
UML significa Lenguaje Unificado de Modelado, es tal como su nombre lo indica, un lenguaje de
modelado y no un método o un proceso, es decir no nos define como se debe modelar.
¿En que ayudan los modelos a los analistas? Les ayuda a entender el comportamiento, la
información y el funcionamiento del sistema, también sirven de base para la revisión del trabajo
realizado y sirven de base para la etapa siguiente.
Los analistas lo utilizan porque les permite concentrarse en lo importante dejando de lado
aspectos que en ese momento no son de gran interés, les permite disctir cambios del sistema a
bajo costo y ahorrar tiempo. Tambien permite verificar que se comprendió lo que el cliente pidió,
al utilizar modelos se obtiene información documentada del sistema.
Sabiendo para que se utilizan los modelos y que son, ¿Qué es el modelado de negocio? Es una
parte esencial de cualquier proceso de desarrollo de software. Es una técnica que se utiliza para
comprender los procesos de negocio de una organización. Muestra el ambiente de la organización
y cómo ésta actúa en relación con el ambiente. Con un modelo preliminar del negocio, permite al
analista capturar los eventos, las entradas, los recursos y las salidas más importantes vinculadas
con el proceso de negocio.
Es necesario modelar el negocio porque nos permite conocer el contexto en el cual se va a insertar
el sistema de información y a partir de ello identificar futuros usuarios del sistema, tareas que se
llevan a cabo en los procesos y los documentos que se generan en cada proceso. Nos permite
detectar problemas y ver oportunidad de mejoras, permite que el cliente y el desarrollador
comprendan exactamente lo mismo.
Es necesario cuando:
Vista Externa: muestra lo esencial que realiza el negocio para entregar un resultado deseado al
actor o usuario. Esta compuesto actores, eventos, procesos, información, recursos, objetivos y
salidas.
Vista Interna: define como debería ser organizado y ejecutado el trabajo para lograr los mismos
resultados deseados. Puede comprender además a los trabajadores y entidades de negocio.
A partir del modelo de negocio, aparece un concepto llamado Proceso de Negocio, que se define
como una colección de actividades relacionadas, diseñadas para producir una salida específica
para un cliente o un mercado en particular. Esto implica un fuerte énfasis en cómo se realiza el
trabajo dentro de la organización.
Se puede modelar procesos de negocio a partir del Diagrama de Actividad. Es un diagrama de flujo
que muestra el flujo de control entre actividades, la concurrencia y las bifurcaciones del control.
Sirven para visualizar, especificar, construir y documentar la dinámica de una sociedad de objetos.
Permiten modelar procesos como una actividad que consta de una colección de nodos conectados
por extremos.
Nodos de Acción: representa unidades de trabajo que son atómicas dentro de la actividad.
Unidad 3 Proceso de Desarrollo de Software
Conceptos de modelo:
Método: conjunto de pasos para realizar una tarea o cumplir un objetivo. Un método
define ¿Qué hacer?
Herramienta: elementos que nos ayudan a construir modelos. Las herramientas definen
¿con que?
Técnica: procedimiento ordenado que se lleva a cabo para realizar una tarea. Las técnicas
definen el ¿Cómo?
Metodología: conjunto de métodos, herramientas y técnicas.
Proceso de Software: da un marco de trabajo a las actividades necesarias para construir un
sistema de alta calidad en el tiempo adecuado.
Paradigma: es una forma de pensar. Conjunto de teorías, métodos, que en conjunto
organizan el pensamiento. Es una forma de mirar la realidad
Ingeniería de Software: metodología que nos permite desarrollar software económico,
que sea fiable, y funcione de manera eficiente sobre máquinas reales.
Metodologías
Deben ser COMPLETAS. Eso significa, que cubran todos los aspectos del dominio del
problema y la solución.
Deben ser VERIFICABLES. Que permita realizar correcciones.
Deben GENERAR PRODUCTOS contra los cuales se pueda medir el avance del producto.
Esos productos deben ser APROVECHABLES en la fase siguiente.
ANALISIS
La fase de Analisis se centra en el qué, consiste en estudiar el sistema para determinar qué
mejoras pueden realizarse o si es necesario construir un nuevo sistema. El que desarrolla
el software intenta identirficar qué información ha de ser procesada, qué función y
rendimiento se desa, qué interfaces han de establecerse, qué restricciones de diseño
existen y qué criterios de validadcion se necesitan para definir un sistema correcto. Se
deben especifijar los requisitos clave del sistema y del software, se debe realizar un
documento formal de requisitos. Dentro de esta fase se producirán tres pasos específicos:
Analisis del Sistema: define el papel de cada elemento de un sistema informatico,
asignando finalmente al software el papel que va a desempeñar.
Planificacion del proyecto de Software: se analizan los riesgos, se asignan los
recursos, se estiman los costes, se definen las tareas y se planifica el trabajo.
Analisis de Requisitos: es necesario disponer de una información más detallada del
ámbito de información y de función del software.
DISEÑO
La fase de Diseño se centra en el cómo , esto es, el que desarrolla el software intenta
descubrir cómo han de diseñarse las estructuras de datos y la arquitectura del fostware,
cómo han de implementarse los detalles procedimentales, cómo ha de traducirse el diseño
a un lenguaje de programación y cómo ha de realizarse la prueba. Es un proceso por el
cual el Modelo Logico se transforma en Modelo Fisico.
Diseño del Software: el diseño traduce los requisitos del software a un conjunto de
representaciones que describen la estructura de los datos, la arquitectura, el
procedimiento algorítmico y las características de la interfaz.
Codificación: las representaciones del diseño deben ser traducidas a un lenguaje
artificial (un lenguaje de programación) dando como resultado unas instrucciones
ejecutables por la computadora.
Prueba del Software: una vez que el software ha sido implementado en una forma
ejecutable por la máquina, debe ser probado para descubrir los defectos que
puedan existir en la función, en la lógica y en la implementación.
Actividades:
Diseñar Datos
Diseñar Arquitectura
Diseñar Interfaz. Definir dispositivos de E/S (interfaz)
Aspectos a tener en cuenta: se debe ofrecer retroalimentación, ser consistente al
utilizar formatos y visualización de datos, preguntar por la verificación de
cualquier acción destructiva, permitir volver atrás, perdonar errores, usar
mensajes de error significativos, permitir mantener el contacto visual de una
imagen original, proporcionar ayuda.
MANTENIMIENTO
CASCADA
Sistemático y secuencial
No se puede volver atrás
Al principio se establecen todos los requisitos del sistema. Es difícil para el cliente
establecer todos los requerimientos al principio.
No siempre siguen el flujo secuencial que propone el modelo
El cliente solo observará el sistema cuando ya éste terminado el diseño.
ESTRUCTURADO
PROTOTIPO:
Se diseña un prototipo rápido para ver si se entendió lo que pidió el cliente y/o para ver la
interfaz.
Lleva a la confusión entre prototipo y sistema de información.
Se adapta a cualquier modelo de procesos.
ESPIRAL
Calidad
Fiabilidad
Integridad (regularidad en los datos)
Facilidad de Mantenimiento
Flexibilidad
Reutilizacion
La garantía de calida es una actividad de protección que se aplica en cada paso del proceso y
engloba:
¿Qué es un proceso? Se define a un proceso como un conjunto de pasos a realizar para cumplir un
objetivo. Nuestro objetivo es diseñar un software de calidad.
Sabiendo que es un proceso, ¿Qué es el PUD? Es un marco de trabajo genérico que puede
especializarse para una gran variedad de sistemas software, para diferentes áreas de aplicación,
diferentes tipos de organizaciones, diferentes modelos de aptitud y diferentes tamaños.
ESTÁ DIRIGIDO POR CASOS DE USOS: porque para construir un sistema con éxito debemos
conocer lo que sus futuros usuarios necesitan y desean. Los casos de uso no son solo una
herramienta para especificar los requisitos de un sistema sino que también guían el diseño,
implementación y prueba, es decir, que guían el proceso de desarrollo.
INICIO: se desarrolla una descripción del producto final a partir de una buena idea y se
presenta el análisis de negocio para el producto. Esta fase responde a las siguientes
preguntas:
o ¿Cuáles son las principales funciones del sistema para sus usuarios más
importantes? (casos de usos)
o ¿Cómo podría ser la arquitectura del sistema?
o ¿Cuál es el plan de proyecto y cuanto costará desarrollar el producto?
ELABORACION: se especifican en detalle la mayoría de los casos de uso del producto y se
diseña la arquitectura del sistema. La relación entre la arquitectura del sistema y el propio
sistema es primordial. La arquitectura se expresa en forma de vistas de todos los modelos
del sistema, los cuales juntos representan al sistema entero. Esto implica que hay vistas
arquitectónicas del modelo de casos de uso, del modelo de análisis, del modelo de
negocio, del modelo de implementación y el modelo de despliegue. Al final de la fase, el
director de proyecto está en disposición de planificar las actividades y estimar los recursos
necesarios para terminar el proyecto.
CONSTRUCCION: se crea el producto, “se añaden los musculos (software) al esqueleto
(arquitectura)”. La línea base de la arquitectura crece hasta convertirse en el sistema
completo. Al final de la fase, el producto contiene todos los casos de uso que la dirección y
el cliente han acordado para el desarrollo de esta versión.
TRANSICION: cubre el período durante el cual el producto se convierte en versión beta. Un
número reducido de usuarios con experiencia prueba el producto e informa de defectos y
deficiencias. También conlleva a actividades como la fabricación, formación del cliente,
proporcionar una línea de ayuda y asistencia.
Concepto de proceso:
Flujos de trabajo
Surgimiento
Los lenguajes de modelado orientados a objetos aparecieron a mediados de los ´70 y fines de los
´80. El número de métodos orientados a objetos ha incrementado mucho durante 1989 y 1994.
Una masa crítica de ideas comenzó a formarse en la primera mitad de los 90 cuando Bosch,
Jacobson y Rumbaugh empezaron a adoptar ideas de cada uno, los cuales habrían sido
reconocidos como los principales métodos orientados a objetos a nivel mundial.
Primero, la comunicación de esos modelos conceptuales a otros está sujeta a errores a menos que
cualquier persona implicada hable el mismo lenguaje. Por ejemplo, las organizaciones usualmente
generan su propio lenguaje y es difícil comprender lo que esta sucediendo para alguien nuevo o
ajeno a la empresa.
Segundo, hay algunas cuestiones sobre un sistema software que no se pueden entender a menos
que se construyan modelos que trasciendan el lenguaje de programación textual. Por ejemplo, el
significado de una jerarquía de clases puede inferirse, pero no capturarse completamente,
inspeccionando el código de todas las clases en la jerarquía.
Tercero, si el desarrollador que escribió el código no dejo documentación escrita sobre los
modelos que había en su cabeza, esa información se perderá para siempre o será solo
parcialmente reproducible a partir de la implementación.
Soluciones: al escribir modelos en UML se afronta el tercer problema, un modelo explicito facilita
la comunicación.
En todos los sistemas interesantes hay estructuras que trascienden de lo que puede ser
representado en un lenguaje de programación. UML es uno de estos lenguajes gráficos. Así
afronta el segundo problema.
UML es algo más que un simple montón de símbolos gráficos. Detrás de cada símbolo en la
notación UML hay una semántica bien definida. De esta manera, un desarrollador puede escribir
un modelo en UML, y otro desarrollador puede interpretar ese modelo sin ambigüedad. Así se
afronta al primer problema.
UML no es un lenguaje de programación visual, pero sus modelos pueden conectarse de forma
directa a una gran variedad de lenguajes de programación. UML permite ingeniería directa, es
decir, la generación de código a partir de un modelo en un lenguaje de programación. Lo contrario
también es posible, pero la ingeniería inversa no es magia, a menos que se codifique esa
información en la implementación, la información se pierde cuando se pasa de los modelos al
código.
Una organización de software que trabaje bien produce toda clase de artefactos, además de
código ejecutable. Estos artefactos incluyen:
Requisitos
Arquitectura
Diseño
Código fuente
Planificación de proyectos
Pruebas
Prototipos
Versiones
Tales artefactos no son tan sólo los entregables de un proyecto, también son críticos para el
control, la medición y comunicación que requiere un sistema durante su desarrollo y después de
su despliegue. UML cubre la documentación de la arquitectura de un sistema y todos sus detalles.
También proporciona un lenguaje para expresar requisitos y pruebas y proporciona un lenguaje
para modelar las actividades de planificación de proyectos y gestión de versiones.
Esta pensado principalmente para sistemas con gran cantidad de software. Ha sido utilizado de
forma efectiva en dominios como Sistemas de información empresariales, bancos y servicios
financieros, transporte, telecomunicaciones, comercio, etc.
UMl no dice como llevar a cabo el diseño de cada uno de los diagramas, no es una metodología
que nos dice paso a paso lo que debemos hacer para hacer frente a los requerimientos del
usuario, modelado del negocio. Simplementa es una herramienta de modelado.
Modelo Conceptual de UML
ELEMENTOS DE UML
Estructural: son los nombres de los modelos UML. Son las partes estáticas de un modelo y
representan cosas que son conceptuales o materiales. Algunos de sus tipos son:
o Clases: es una descripción de un conjunto de objetos que comparten los mismos
atributos, operaciones, relaciones y semántica. Implementa una o mas interfaces
o Intefaz: es una colección de operaciones que especifican un servicio de una clase o
componente. Describe el comportamiento visible de una clase o componente o
solo una parte de ese comportamiento.
o Caso de Uso: es una descripción de un conjunto de secuencias y de acciones que
un sistema ejecuta y que produce un resultado observable, de interés para un
actor peculiar.
RELACIONES DE UML
DIAGRAMAS DE UML
Diagramas de Estructura
o De clases: muestra un conjunto de clases, interfaces y colaboraciones, así como
sus relaciones. Abarcan la vista de diseño estática de un sistema
o De componentes: variante de los diagramas de clases, representa la encapsulación
de una clase. Cubren la vista de implementación estática del diseño de un sistema.
o De objetos: muestra un conjunto de objetos y sus relaciones. Los diagramas de
objetos representan
o De estructura compuesta
o De despliegue: muestra la configuración de nodos de procesamiento en tiempo de
ejecución y los artefactos que residen en ellos. Los diagramas de despliegue
abordan la vista de de despliegue estática de una arquitectura. Un nodo alberga
uno o más paquetes.
o De paquetes: muestra la descomposición del propio modelo en unidades
organizativas y sus dependencias.
Diagramas de Comportamiento
o De casos de uso: muestra un conjunto de casos de uso y actores y sus relaciones.
Cubren la vista de casos de uso estática de un sistema. Estos diagramas son
importantes en el modelado ya que organizan el comportamiento de un sistema.
o De maquina de estado: muestra una máquina de estados, que consta de estados,
transiciones, eventos y actividades. Muestra la vista dinámica de un objeto. Son
importantes en el modelado del comportamiento de una interfaz, clase o
colaboración y resalta el comportamiento dirigido por eventos.
o De actividad: muestra la estructura de un proceso u otra computación como el
flujo de control y datos paso a paso en la computación. Cubren la vista dinámica
de un sistema.
o De interaccion: muestra una interaccion, que consta de un conjunto de objetos o
roles, incluyendo los mensajes que pueden ser enviados entre ellos. Cubren la
vista dinámica de un sistema.
o De secuencias: es un diagrama de interaccion que resalta la ordenación temporal
de los mensajes. Resaltan la ordenación temporal.
o De comunicación: es un diagrama de interaccion que resalta la organización
estructural de los objetos o roles que envían y reciben mensajes. Resaltan la
estructura de datos a través de la cual fluyen los mensajes.
o De tiempos: muestra los tiempos reales en los que se intercambian los mensajes.
o DE VISION GLOBAL DE INTERACCIONES: es un híbrido entre un diagrama de
actividades y un diagrama de secuencia.
REGLAS DE UML
Estos modelos que no llegan a ser bien formados son inevitables onforme los detalles de un
sistema van apareciendo y mezclándose durante el proceso de desarrollo de software. Las reglas
de UML estimulan a considerar las cuestiones más importantes de análisis, diseño e
implementación que llevan a tales sistemas a convertirse en bien formados con el paso del
tiempo.
Una casa puede construirse, en su mayor parte, de estilo victoriano o francés utilizando ciertos
patrones arquitectónicos que definen esos estilos. Lo mismo es cierto para UML. Éste se simplifica
mediante la presencia de cuatro mecanismos comunes:
En tercer lugar, está la separación entre tipo y rol. El tipo declara la clase de una entidad,
como un objeto, un atributo o un parámetro. Un rol describe el significado de una entidad
en un contexto, como una clase, un componente o una colaboración.
ARQUITECTURA
Vista lógica: captura el vocabulario del ámbito del problema como un conjunto de
clases y objetos. El énfasis está en mostrar como los objetos y las clases que
componen un sistema implementan el comportamiento requerido del sistema.
Vista de proceso: modela los procesos en un sistema como clases activas. Es una
variación orientada al proceso de la vista lógica y contiene los mismos artefactos.
Vista de implementación: modela los archivos y componentes que conforman la base
de código físico del sistema. También trata sobre ilustrar dependencias entre
componentes y sobre la gestión de la configuración de conjuntos de componentes
para definir una versión del sistema.
Vista de despliegue: modela el despliegue físico de artefactos en un conjunto de
nodos físicos computacionales como ordenadores y periféricos. Le permite modelar la
distribución de artefactos en los nodos de un sistema distribuido.
Vista de caso de uso: captura los requisitos básicos para el sistema como un conjunto
de casos de uso. Estos casos de uso proporcionan la base para la construcción de otras
vistas.
Un caso de uso se utiliza como un artefacto básico para establecer el comportamiento deseado del
sistema, para verificar y validar la arquitectura del sistema, para las pruebas y la comunicación
entre las personas involucradas en el proyecto. El actor es el usuario del sistema.
Unidad 4: Paradigma Orientado a Objetos
Introduccion
¿Qué es el diseño orientado a objetos (DOO)? El diseño es un método de diseño que abarca el
proceso de descomposición orientada a objetos y una notación para describir los modelos lógico y
físico, y así como los modelos estático y dinámico del sistema que se diseña.
¿Qué es el análisis orientado a objetos (AOO)? Es un método de análisis que examina los requisitos
desde la perspectiva de las clases y objetos que se encuentran en el vocabulario del dominio del
problema.
Existen varios tipos de software que un analista puede desarrollar. Estos son Simples y Complejos
Simples: son aplicaciones especificadas, construidas y mantenidas por una persona. Tales
sistemas tienen un propósito limitado y un ciclo de vida corto. Cuando el sistema no se
ajusta a las necesidades del cliente se descarta y se crea otro.
Complejos: son aplicaciones que exhiben un conjunto de comportamiento, tienen ciclo de
vida largo, son sumamente difíciles sino imposibles de desarrollar por una persona. La
complejidad es la propiedad esencial de todos los sistemas de gran tamaño. Tienden a
evolucionar con el tiempo. Un sistema grande significa una inversión considerable por lo
que no es aceptable desechar un sistema cada vez que los requerimientos cambian.
Asdfasdf********
(Rol) Cuando se diseñan sistemas complejos hay que descomponerlos en partes y existen dos
formas de hacerlo:
Clase y Objeto
Objeto: cosa tangible y/o visible, algo que puede comprenderse intelectualmente, algo hacia lo
que se dirige un pensamiento o acción. Entidad o elemento individual, ya sea real o abstractos,
juega un rol en el dominio del problema, posee atributos, operaciones.
Estado: son todas las propiedades de un objeto más los valores actuales de cada una de
esas propiedades.
Comportamiento: es cómo actúa y reacciona un objeto frente a cambios de estado y paso
de mensajes.
Identidad: es aquella propiedad de un objeto que los distingue de todos los demás
objetos.
Clase: es una descripción o abstracción de un conjunto de objetos que comparten los mismos
atributos, operaciones, relaciones y semántica.
Agregacion: representa una relación del tipo “tiene un” o “parte de”, un objeto del todo
tiene objetos de la parte.
Asociacion: relación estructural que especifica que los objetos de un elemento están
conectados con los objetos de otro.
Dependencia: un elemento utiliza la información y servicios de otro.
Conceptos
Operación: denota un servicio que una clase ofrece a sus clientes. Es una abstracción de algo que
se puede hacer a un objeto y que es compartido por todos los objetos de la clase. Es una acción
que un ojeto efectua sobre otro con el fin de provocar una reacción. Los tres tipos más comunes
de operaciones son los siguientes:
Responsabilidad: contrato o obligación de una clase. Al crear una clase, se expresa que todos los
objetos de esa clase tienen el mismo tipo de estado y el mismo… Incluye el conocimiento que un
objeto mantiene y las acciones que puede llevar a cabo, es decir es una descripción de lo que sus
atributos y/o operaciones realizan en conjunto.
La diferencia entre los anteriores conceptos está en que las operaciones son las características por
medio de las cuales se llevan a cabo las responsabilidades; mientras que la responsabilidad es un
contrato o una obligación de una clase.
Metodo: secuencia lógica de actividades que realiza una clase para mostrar un comportamiento.
Es una implementación de una operación.
Polimorfismo: “cualidad de tener más de una forma”. Una operación adopta varias formas de
implementación.
Navegabilidad: nos muestra que es posible pasar desde un objeto de la clase fuente a uno o más
objetos de la clase destino, dependiendo de la multiplicidad. Se puede pensar como “mensajes
que solamente se pueden enviar en la dirección de la flecha”.
Unidad 5: Ingenieria de Requerimientos
Introduccion
¿Qué es un requerimiento? Es una cualidad que debe estar incluido en el nuevo sistema de
información permitiéndole al cliente alcanzar un objetivo o resolver un problema. Una cosa es lo
que el cliente necesita, otra lo que cree necesitar y otra lo que le transmitió al profesional.
Tipos de requerimientos
Qué los desarrolladores expliquen cómo han entendido lo que el cliente pretende del
sistema.
Indican al equipo de prueba que demostraciones llevar a cabo para convencer al cliente
que el sistema que se entrega es el solicitado. Con este fin debe comprobarse que los
requerimientos posean las características que se desprenden de las siguientes preguntas:
o ¿Son correctos?: deben estar revisados tanto por el cliente como por el
desarrollador para asegurarse que no tienen errores.
o ¿Son consistentes?: que no tengan definiciones contradictorias o ambigüas.
o ¿Son completos?: todos los servicios solicitados por el cliente están definidos.
o ¿Son realistas?: significa que el sistema puede llevar a cabo lo que el cliente pidió.
o ¿Son verificables?: deben ser consistentes, completos y realistas.
o ¿Son rastreables?: se puede ir desde cada función hasta el conjunto de
requerimientos que la establece.
Categorias de Requerimientos
Es un proceso que comprende todas las actividades requeridas para crear y mantener un
documento de requerimientos del sistema.
Diferentes niveles de especifiacion del sistema son de utilidad debido a que comunican la
información del sistema a los diferentes tipos de lectores. Los requerimientos del usuario se
redactan para el cliente y los contratistas administradores quienes no tienen un conocimiento
técnico detallado del sistema. La especificación de requerimientos del sistema se orienta al
personal técnico y a los administradores del proyecto. Los usuarios finales pueden leer ambos
documentos. La especificación del diseño del software es un documento orientado a la
implementación, debe redactarse para los ingenieros de software que desarrollarán el sistema.
Unidad 7: Proceso de Especificaciones de Requerimientos
Introduccion
Consiste en documentar los requerimientos, teniendo en cuenta los niveles de los mismos (del
usuario y sistema). La especifiacion de requerimientos se define de dos maneras:
Es el resultado de los requisitos esenciales del software y de sus interfaces externas. Para que sea
eficaz debe tener 2 características fundamentales:
Debe influir información cierta, coherentes con las necesidades del usuario que se desean
satisfacer.
Debe comunicar dicha información de forma eficaz para que se pueda comprender
perfectamente.
El requisito debe ser especificado de la forma más completa posible para que sirva
de base en el diseño posterior.
Debe iniciarse un proceso formal de cambio para identificar, controlar, seguir e
informar de cambios proyectados. Los cambios aprobados deben ser indicados en
el Documento de Especificación de Requerimientos.
Modelo de CU
El modelo de CU describe el comportamiento completo del sistema. Está formado por el caso de
uso, relaciones y paquetes.
Actores: es quién demanda algo del sistema o está interesado en sus salidas. Es quién
interactúa directamente con el sistema.
o Caracteristicas:
Cada actor humano expresa un rol.
Cada actor está involucrado con, al menos, un caso de uso.
Cada actor tiene un nombre y una descripción.
Los actores pueden ser principales (demandan algo que responderá el
proceso) y secundarios (colaboran en alguna parte del proceso).
Casos de Uso: existen 2 categorías de Casos de Uso. Los más importantes que se
denominan “esenciales” y los menos importantes que se llaman “de soporte”. Cada CU
esencial deberá tener una relación de comunicación de o hacia un actor porque el sistema
debe construirse alrededor de los servicios que sus usuarios requieren.
Relaciones: no se utilizan para modelar las salidas sino inicios del proceso. Existen 3 tipos
de relaciones:
o Extension: si hay parte del CU que es opcional se la puede extender en un CU
adicional para simplificar la estructura del CU.
o Inclusión: si hay parte del CU que representa una función de la cual solo depende
del resultado, se la puede factorizar en un CU adicional.
o Generalizacion; si hay un CU que tiene comportamiento y estructura similar y
similitud de propósito, se puede factorizar a un CU (padre) que es heredado por
los CU (hijos).
Se estructura el modelo para que sea más fácil de entender, de mantener, para poder reutilizar
parte del flujo de trabajo y para trabajar con él.
¿Cuáles son las perspectivas que se modelan de un Sistema de Informacion? ¿Qué métodos se
utilizan?
Perspectivas:
Introducción
Es una verficación que define el sistema que el cliente desea. Implica encontrar problemas con los
requerimientos. Es importante porque los errores en el documento de requerimientos conducen a
costos excesivos al repetir el trabajo.
De validez: son aquellas donde un usuario cree necesitar un sistema para llevar a cabo
ciertas funciones, pero en realidad también se necesitan funciones adicionales y
diferentes.
De consistencia: los requerimientos en el documento no deben contradecirse.
De integridad: el documento debe incluir todas las funciones y restricciones propuestas
por el usuario.
De realismo: utilizando el conocimiento de la tecnología existente, los requerimientos
deben verificarse para asegurar que se puedan implementar.
De verificabilidad: deben redactarse de manera que permitan diseñar pruebas para
demostrar que el requerimiento cumple con lo documentado.
Revisiones: los requerimientos son analizados por un grupo de revisores para ver si se
necesita modificar algún requerimiento y ver qué se debe hacer.
Construcción de prototipos: se muestra un modelo ejecutable del sistema a los usuarios
finales y a los clientes para ver si el sistema cumple con las necesidades reales.
Generación de casos de prueba: se ponen a prueba los requerimientos a partir de
situaciones reales.
Análisis de Consistencia: los requerimientos son procesados para generar informes, se
utilizan las herramientas CASE.
Hablando de prototipos, ¿Qué es un prototipo? Es una versión inicial del sistema que se utiliza
para demostrar los conceptos, probar opciones de diseño y así enterarse más acerca del problema
y sus posibles soluciones.
Encontrar requerimientos
Validar requerimientos
Capacitar a los usuarios
Poder probar el sistema
Ventajas:
Mejora la usabilidad.
Mejora el acoplamiento entre el sistema y las necesidades del usuario.
Mejora la calidad del Diseño
Mejora el mantenimiento.
Reduce el esfuerzo en el desarrollo.
Tipos de Prototipos
Evolutivos: inicia con un sistema simple que implementa los requerimientos más
importantes, dicho prototipo aumenta o cambia en cuanto se descubren nuevos
requerimientos. Finalmente se convierte en el sistema requerido.
No existe una especificación detalla de éste y en muchos casos no existe un documento
formal de requerimientos.
El objetivo es entregar un sistema funcional, por eso se dejan de lado los requerimientos
de prioridad baja hasta cuando lo requieran los usuarios, y además se deben desarrollar
con estándares de calidad.
Desechables: ayudan a refinar y clasificar la especificación del sistema. El prototipo se
escribe, evalúa y modifica.
la evaluación informa del desarrollo de la especificación detallada del sistema que se
incluye en el documento de requerimientos.
una vez redactada la especificación, el prototipo ya no es útil y se desecha. El objetivo es
validar o derivar los requerimientos del sistema y se hace con aquellos requerimientos que
no se comprenden bien.
A la hora de diseñar una interfaz de usuario se debe tener en cuenta la edad y conocimiento de la
persona que va a manejar el sistema.
El propósito del FTR es guiar el desarrollo hacia el sistema correcto. Esto se consigue mediante la
descripción de los requisitos del sistema.
¿Qué es el modelo de dominio? El modelo de dominio describe los conceptos más importantes del
contexto.
Artefactos:
o Modelo de CU
o Descripcion de Arquitectura: es una vista del modelo de CU. Esta vista debería
incluir CU que describan alguna funcionalidad importante o que posea algún
requisito importante que deba ser desarrollado pronto.
o Glosario: se utiliza para definir términos comunes importantes que utilizan los
analistas para describir el sistema.
o Prototipo de interfaz de usuario: nos ayuda a comprender cómo se va a comunicar
el usuario con el sistema.
Trabajadores:
o Analista de sistemas: es el responsable de la obtención de los requerimientos. Es
el responsable de todo el modelo de CU.
o Especificador de CU: es el responsable de detallar cada uno de los CU.
o Diseñador de interfaz de usuario: es el responsable de dar forma visual a la
interfaz de usuario.
o Arquitecto: es quién le da la prioridad a los CU. Es quién describe la vista de la
arquitectura del modelo de CU.
Actividades:
o Identificar actores y CU.
o Describir CU (plantillas): se describe el detalle de los CU a través de las plantillas.
o Estructurar CU (relaciones): establecer relaciones entre los CU. Si alguna relación
me va a complicar el modelo no se utiliza. Se estructura el modelo de CU para que
sea más fácil de entender, mantener y reutilizar flujos de trabajo.
o Priorizar los CU: determinar qué CU son más importantes, es decir, darles un
orden. Los primeros que se van a modelar son los que tienen un valor crítico.
¿Qué son los patrones?
Los patrones realizan una descripción de un problema que ocurre y de cómo solucionarlo. Son
estereotipos que se utilizan una y otra vez para solucionar problemas parecidos. Se pueden utilizar
muchas veces y además perfeccionarlos.
Unidad 10: Flujo de Trabajo de Análisis
Se analizan los requisitos capturados con el objetivo de conseguir una compresión más precisa y
una descripción de los mismos que sea fácil de mantener y nos ayude a estructurar el sistema
entero. Se centra en lo que el sistema necesita hacer, pero deja de lado los detalles de cómo lo
hará.
Glosario
Se documenta para: comprender los compromisos que se asumen, las políticas que se definen y
los riesgos que se corren, comunicar la información de un sector a otro, controlar las alternativas
que sufre el proyecto y prevenir situaciones indeseables, comunicar a los usuarios las desiciones
del diseño.