Upload
mario-flores
View
226
Download
2
Embed Size (px)
DESCRIPTION
diseño de sistemas
Citation preview
Diseo de Sistemas Unidad I Especificacin de los Requerimientos del Software
DOSIFICACIN DEL CURSO
Objetivos
Definir la Ingeniera de Software y explicar su importancia.
Discutir los conceptos de producto de software y proceso de software.
Explicar la importancia de la visibilidad delos procesos.
Ingeniera de Software
Las economas de los pases desarrollados dependen en gran parte del software.
Mas y ms sistemas son actualmente controlados por software.
La Ingeniera de Software concierne a teoras, mtodos y herramientas para el desarrollo profesional
de software.
El gasto en La Ingeniera de Software, representa un alto porcentaje del PIB de los pases desarrollados.
Ingenieria de Software: Conceptos Basicos
Que es la Ingenieria de Software ? Cual es la diferencia entre un programador y un
Ingeniero de Software? Cual es la diferencia entre un Ingeniero de
Software y un Ingeniero de Sistemas? Cual es la diferencia entre la Ingenieria de
Software y la Computacion ? Que es el software ? Que es un proceso de software ? Que es un modelo de software?
Que es la Ingeniera de Software
La Ingeniera de Software es una diciplina de la Ingeniera que concierne a todos los aspectos de la produccin de software
Los Ingenieros de Software adoptan un enfoque sistematico para llevar a cabo su trabajo y utilizan las herramientas y tecnicas necesarias para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y recursos disponibles.
Diferencia entre Ingenieria de Software y Computacion
La computacion concierne a la teoria y fundamentos de cualquier sistema de computo, sea de hardware o
de software.
La Ingenieria de software concierne solo al desarollo de sisetmas o productos de software
La Ingeniria de Sofware todavia esta lejos de ser una ciencia como los son la Quimica, la Ingenieria Civil o
la Electronica.
Ingenieria de Sistemas e Ingenieria de Software
La Ingeniera de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cmputo, que incluyen hardware, software y el proceso de Ingeniera. La Ingeniera de Software es solo parte de este proceso.
Que es el Software ?
Programas de cmputo y su documentacion asociada
Sistemas o Productos de software grandes y complejos.
Que contiene el software.
Que tipos de software hay ?
Cual es el costo del software.
Como se desarrolla el software ?
Como saber si un software tiene calidad.
Productos de Software
Productos genricos. Productos que son producidos por una organizacin para ser vendidos al
mercado.
Productos hechos a medida. Sistemas que son desarrollados bajo pedido a un desarrollador
especfico.
La mayor parte del gasto del software es en productos genricos, pero hay ms esfuerzo en el desarrollo de
los sistemas hechos a medida.
Caractersticas de los Productos de Software
Mantenibles. Debe ser posible que el software evolucione y que siga cumpliendo con
sus especificaciones.
Confiabilidad. El software no debe causar danos fsicos o econmicos en el caso de
fallos.
Eficiencia. El software no debe desperdiciar los recursos del sistema.
Utilizacin adecuada. El software debe contar con una interfaz de usuario adecuada y su
documentacin.
Importancia de las caractersticas del producto
La importancia relativa de las caractersticas depende en el tipo de producto y en el ambiente en el que ser
utilizado.
En algunos casos, algunos atributos pueden dominar. En sistemas de seguridad crticos de tiempo real, los atributos clave
pueden ser la confiabilidad y la eficiencia.
Los costos tienden a crecer exponencialmente si son requeridos altos niveles de alguna caracterstica.
Que contiene el software ?
El software contiene: Lneas de cdigo de algn lenguaje ?
Instrucciones de computadora.
Descripcin de las estructuras de datos.
Algoritmos.
Procedimientos y funciones.
Componentes de software.
Que tipos de software hay ?
Por su estructura: Funcionales. Orientados a objetos. Orientados a listas. Orientados a componentes.
Por su funcion: Programas o Sistemas de Usuario Interfaces Hombre-Maquina. Herramientas de Software. Librerias. Sistemas de uso generico: Compiladores, S.Os, Procesadores de Texto,
etc.
Bases de Datos. Sistemas basados en Web.
Que tipos de software hay ?
Por su plataforma de computo: Sistemas embebidos.
Sistemas de computo distribuido.
Sistemas de computo paralelo.
Sistemas de tiempo real.
Sistemas basados en Chips.
Wearable computing systems.
Sistemas de computo ubiquos.
Costos del Software
Los costos del software a menudo dominan al costo del sistema. El costo del software en un PC es a
menudo mas caro que la PC.
Cuesta mas mantener el software que desarrollarlo. Para sistemas con una larga vida, este costo se
multiplica.
La Ingeniera de Software concierne a un desarrollo efectivo en cuanto a costes del software.
El Proceso de Software
Conjunto estructurado de actividades requeridas para desarrollar un sistema de software. Especificacin- que debe hacer el software y cuales son sus
especificaciones de desarrollo.
Desarrollo produccin del sistema de software.
Validacin verificar que el software hace lo que el cliente pide.
Evolucin cambiar/adaptar el software a las demandas.
Las actividades varan dependiendo de la organizacin y del tipo de sistema a desarrollarse.
Debe estar explcitamente modelado si va a ser bien administrado.
Proceso Genrico de Software
Especificacin - establecer los requerimientos y restricciones del sistema
Diseo - Producir un modelo en papel del sistema Manufactura - construir el sistema Prueba - verificar que el sistema cumpla con las
especificaciones requeridas
Instalacin - entregar el sistema al usuario y asegurar su operacionalidad
Mantenimiento - reparar fallos en el sistema cundo sea descubiertos
Caractersticas del proceso
Entendible Se encuentra el proceso bien definido y es entendible ?.
Visible El proceso es visible al exterior ?.
Soportable Puede el proceso ser soportado por herramientas CASE ?.
Aceptable El proceso es aceptado por aquellos involucrados en el ?.
Caractersticas del proceso
Confiable Los errores del proceso son descubiertos antes de que se conviertan en
errores del producto ?.
Robusto Puede continuar el proceso a pesar de problemas inesperados ?.
Mantenible Puede el proceso evolucionar para cumplir con los objetivos
organizacionales ?.
Rapidez Que tan rpido puede producirse el sistema ?.
Problemas en el Modelo del Proceso
Normalmente, las especificaciones son incompletas o anmalas
No existe una distincin precisa entre la especificacin, el diseo y la manufactura
Solo hasta que el sistema se ha producido se puede probar
El software no se puede remplazar siempre durante el mantenimiento
Diseo de Sistemas Requerimientos del Software
Determinacin de Requerimientos
Tabla de contenidos
1. Conceptos
a) Concepto.
b) Caractersticas,
c) Tipos de requerimientos.
1. Proceso de Determinacin de requerimientos.
a) Concepto.
b) Fases.
c) Caractersticas.
2. Metodologa para la Determinacin de requerimientos.
Determinacin de Requerimientos.
Proceso de R. 1. Conceptos. Concepto
Requisito/Requerimiento. Condicin, Caracterstica o
Restriccin que debe tener o cumplir un sistema o componente de un sistema para satisfacer un contrato, norma, especificacin u otro documento formalmente impuesto.
Ingeniera de Requerimientos. Disciplina de la ISW que se encarga de definir los requerimientos del sistema. Fases:
1. Determinacin de requerimientos.
2. Anlisis de requerimientos.
Determinacin de Requerimientos
1. Conceptos. Caractersticas.
Caractersticas que han de reunir los requisitos para ser de alta calidad.
Correctos, sin errores.
Consistentes.
No ambiguos.
Son completos:
1. Externamente completa si contiene todas las propiedades deseadas por el cliente.
2. Internamente completa si no existen referencias no definidas.
Determinacin de Requerimientos
1. Conceptos. Caractersticas.
Son realistas. Puede el sistema hacer lo que el cliente desea.
Los R. Describen algo necesario para el cliente.
Verificables. Un requisito es verificable si existe algn proceso finito de coste razonable que pueda probar que el producto software cumple con el requisito.
Son rastreables. Trazables, el origen de cada requisito est claro y se posibilita la referencia de cada uno de estos requisitos en desarrollos futuros o incrementos de la documentacin.
Determinacin de Requerimientos
1. Conceptos. Tipos de Requerimientos.
1. R. Funcionales. Una funcin es algo que har el sistema. Describen una interaccin entre el sistema y su ambiente.
2.R. No funcionales. Describen restricciones que limitan las opciones de solucionar el problema. Restricciones cuantitativas o precisin.
3.Seudorequerimientos. R. impuestos por el cliente que restringen la implementacin del sistema.
Determinacin de Requerimientos 1. Conceptos. Concepto
Determinacin Requerimientos
Documentacin Obtencin
Cliente/Usuario Desarrolladores
Especificacin Sistema
Validacin
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Concepto y Fases. Proceso que tiene como objetivo capturar, documentar y condiciones o
caractersticas que debe cumplir un sistema dado: La especificacin del sistema.
1. Obtencin de requerimientos. Captura de requerimientos con el
objetivo de definir que es el sistema.
2.Documentacin de requerimientos. Los requisitos han de reflejarse en un documento como registro del proceso de captura con el objetivo de fijar una base para clientes y desarrolladores.
3.Validacin. Es el proceso por el cual se determina si la especificacin es consistente es decir si los requerimientos satisfarn las necesidades del cliente.
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Participantes en el proceso.
Supervisores del contrato, sugieren hitos de control y cronogramas
que disciplinan el desarrollo del sistema.
Clientes y usuarios, deben comprender y trasmitir adecuadamente los requerimientos, para del sistema.
Los gerentes de negocios, para calibrar el impacto de construir y utilizar el sistema.
Los diseadores que usarn los requerimientos como base del desarrollo.
Los verificadores encargados de las sesiones de prueba destinadas a asegurar que el sistema cumple los requerimientos.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Captura R.
1. Captura de Requerimientos.
1. Primera tarea
2. Fase critica. Colaboracin de grupos heterogneos.
Captura de Requer.
Actividades Obtencin
Requer.
Identifc. Actores
Desarrollador Cliente/Usuario
Identifc. Funcionalidad
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Captura R.
Objetivos de la captura de requerimientos (OO):
Identificacin de actores. Entidades externas que interactan con el sistema. Como abstraccin de papeles.
Identificar la funcionalidad a la que tiene acceso cada actor.
Identificacin de escenarios. Descripcin concreta, enfocada e informal de una sola caracterstica del sistema desde el punto de vista de un solo actor.
Descripcin de casos de uso.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Captura R.
Administracin de la Captura de requerimientos:
Fuentes: Documentacin.
Personas con puntos de vista necesarios.
Tcnicas Cuestionarios
Entrevistas
Talleres
Prototipos
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Captura R.
Fuentes. Anlisis de Documentacin.
Es imprescindible cuando:
Introduccin del sistema en infraestructuras existentes. Suplemento de funcionalidad ya disponible.
Documentacin a analizar:
Sobre las prcticas existentes de los usuarios. Sobre procedimientos de soporte. Sobre componentes tcnicos. Sobre el modelo lgico Sobre los modelos de procesos y datos Sobre requisitos existente
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Captura R.
Fuentes. Personas. Identificar personas con puntos de vista precisos para
representar el conjunto de los requerimientos:
1. Direccin general 2. Usuarios finales y direccin 3. Clientes 4. Proveedores 5. El equipo operativo 6. El equipo de mantenimiento 7. Asesora jurdica u otros expertos.
Importante contar con ms de una persona por cada punto de vista.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Captura R.
Tcnicas
1. Elaboracin de cuestionarios.
1. Recomendable para grandes poblaciones (+30 personas).
2. Recomendable como base para posterior entrevista personal.
3. Crear un marco para el anlisis de resultados. (visin clara de cmo utilizar la informacin)
4. Comprobar que existe informacin suficiente en el personal cuestionado.
5. Garantizar que es comprensible (no utiliza argot tcnico).
6. Probarlo antes de comenzar
7. Verificar la comprensin.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Captura R.
Tipos de cuestionarios:
Para recopilar datos estructurados. 2 Modalidades: 1. Mediante Lista de cuestiones concretas y de respuesta cerrada.
Cunto lleva operando el actual sistema de facturacin (en aos)?.
2. Mediante ndices.
Importancia de estos factores para adquirir un OS?
Baja Alta
Velocidad 1 2 3 4 5
Usabilidad 1 2 3 4 5
Flexibilidad 1 2 3 4 5
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Captura R. Tipos de cuestionarios:
Cuestionarios para recoger informacin abierta.
Se formula una pregunta abierta. Cul son para usted los factores principales en la seleccin de proveedor de
servicios de Internet
tiles para obtener una informacin inicial sobre el
rea.
Importante evitar sesgos.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Tcnicas captura. Entrevistas
Objetivo: Obtener toda la informacin posible de la visin que el entrevistado tiene de los requisitos.
Depende de la habilidad del entrevistador para crear un clima de confianza.
Resulta til planificar las entrevistas para evitar sesgos (evitar que un grupo incline a un lado el proceso). Preparar un marco para la entrevista (mediante un cuestionario) Confirmar detalles del entrevistado Establecer la finalidad de la entrevista con el entrevistado Organizar una lugar adecuado. Confirmar los detalles por escrito.
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Tcnicas captura. Entrevistas:
Es aconsejable 2 entrevistadores (una conduce la entrevista el otro supervisa la interaccin y toma notas): Mejora la gestin del tiempo. Beneficia la supervisin.
Es aconsejable emplear tanto preguntas abiertas como cerradas: Abiertas: Suelen comenzar por qu, por qu y como y exigen respuesta detallada
por el entrevistado. Cerradas: Aquellas con un Intervalo especfico de respuesta.
El entrevistador debe centrar la entrevista cuando esta se desva.
El entrevistador debe evitar emitir juicios de valor para no influir.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Tcnicas captura.
Entrevistas:
Anlisis de resultados de la entrevista: Si se ha utilizado como marco un cuestionario, este se utilizar como
contexto e el anlisis.
Si la entrevista no es estructurada, el resultado se detallar como informe.
Nombre entrevistado. Puesto de trabajo y breve descripcin. Punto de vista que representa. Fecha, hora y lugar de la entrevista Resumen de puntos principales Docs. de referencia Otros contactos.
Esquema de resumen de entrevista
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Tcnicas captura. Talleres:
Reunin de partes interesadas.
Sesiones intensivas y estructuradas concentradas en uno
o dos das.
Es preciso una importante preparacin previa: Definir con los participantes la finalidad del taller. Facilitarles informacin histrica.
El taller ha de ser dirigido por un experto para: Garantizar que todo los participantes aportan sus puntos de vista. No se desvan del propsito del taller.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Tcnicas captura.
Talleres:
Los requisitos capturados en el taller se registran junto con todas las
cuestiones y acciones resultantes.
Se genera un informe para documentar los resultados y base de la especificacin de requisitos.
Tiene la ventaja de reunir a los participantes pudiendo debatirse las cuestiones ms controvertidas y resolver as requisitos aparentemente divergentes satisfaciendo a las partes.
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Tcnicas captura. Modelado de proceso:
Mtodo de anlisis vertical (up-dow) para establecer la composicin funcional del area para la cual se propone el sistema.
Proceso
Funciones
Funciones
Funciones
Actividades
Actividades
Actividades Actividades
Actividades
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Tcnicas captura.
Modelado de proceso:
Se descompone el sistema en procesos atmicos que no admitan mas
divisiones.
La derivacin de procesos se realizar mediante tcnicas de captura de requisitos.
Los usuarios revisarn el modelo en cada desagregacin.
Permite correcciones antes de seguir con una mayor elaboracin
Permite identificar procesos de bajo nivel duplicados, permitiendo una simplificacin del modelo.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Tcnicas captura. Prototipado:
Un prototipo es un modelo de sistema eventual que se
puede utilizar para demostrar las caractersticas de lo que el sistema puede ofrecer. 2 mtodos: P. desechable, P. evolutivo.
Los prototipos pueden usarse para: Demostrar la viabilidad del sistema. Se implanta parte del sistema para:
Comprobar el comportamiento funcional. Anlisis de rendimiento.
Aclarar los requisitos del usuario.
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Documentacin.
Los requisitos han de reflejarse en un documento como registro del
proceso de captura.
El objetivo de la documentacin es servir de base para la futura operativa del proyecto tanto para clientes como para desarrolladores.
Por ello han de escribirse de modo que sean significativos para ambos.
As se generan dos documentos: Doc. De requisistos del usuario/Definicin de requerimientos Doc. De requisitos del sistema/Especificacin de requerimientos.
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Documentacin. Doc. De Requisitos del Usuario/determinacin de requerimientos.
Listado completo de las cosas que el cliente espera que haga el sistema propuesto para todas las categoras de usuarios (incluido el soporte operativo).
Redactado de forma que el cliente pueda entenderlo. (con claridad, conciso y congruente)
Es generado entre cliente y desarrollador como documento de compromiso.
Si el Documento recoge requisitos no funcionales se documentarn en trminos mensurables.
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Documentacin. Doc. De Requisitos del Usuario/determinacin de requerimientos.
Elementos de la documentacin: Se perfila el propsito general del sistema con referencias a otros sistemas
relacionados y un diccionario de trminos y abreviaturas que puedan ser tiles.
Descripcin de antecedentes y objetivos del desarrollo.
Si el cliente tiene un nuevo enfoque para describir el problema se recoge el enfoque y sus restricciones o suposiciones si las hay.
Se detallan se definen las caractersticas del sistema: Limites del sistema, interfaces, lista clases y caractersticas, funciones y procesos con sus entradas y salidas y finalmente requerimientos especficos de rendimiento.
Requerimientos sobre soporte, seguridad y privacidad y cualquier restriccin.
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Documentacin.
Doc. De Requisitos del Usuario/determinacin de requerimientos.
Introduccin
1. Alcance. rea de aplicacin de los requisitos.
2. Definiciones.
3. Historial.
4. Descripcin de alto nivel. Esquema del problema.
5. RF (Forma atmica y con identificador)
6. RNF (Forma atmica y con identificador y vinculados a los funcionales que soportan)
7. Restricciones especficas
E. Requisitos del Usuario
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Documentacin. Doc. De Requisitos del Sistema/especificacin de requerimientos.
Se desarrolla a partir del documento de requisitos del usuario.
Cubre el mismo rea que el documento de requisitos del usuario pero en los trminos tcnicos adecuados para disear el sistema,
Suele estar redactado por analistas de requerimientos.
Se fundamenta en: El modelado del sistema, para esclarecer la funcionalidad del sistema. Restricciones sobre infraestructura. Requisitos Funcionales y no funcionales.
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Documentacin.
Doc. De Requisitos del Sistema/especificacin de requerimientos.
Introduccin
1. Alcance. Relacin con otros sistemas
2. Definiciones.
3. Historial. Infraestructura existente
4. Descripcin de alto nivel. Esquema del problema.
5. RF (Forma atmica y con identificador)
6. RNF (Forma atmica y con identificador y vinculados a los funcionales que soportan)
7. Restricciones especficas
E. Requisitos del Sistema
Determinacin de Requerimientos 2. Determinacin de Requerimientos. Validacin.
La determinacin de requerimientos tiene 2 propsitos: El acuerdo entre clientes y desarrolladores sobre qu debe ser el sistema. Proporcionar a los diseadores pautas para el desarrollo.
La validacin de requerimientos es el proceso por el cual
se determina si la especificacin del sistema es consistente, es decir si los requerimientos satisfarn las necesidades del cliente. 2 pasos (trazabilidad): Se asegura que cada especificacin del sistema pueda ser rastreada hasta su requerimiento en
el documento de definicin. Se chequea la definicin comprobando que cada requerimiento es rastreable hasta la
especificacin.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Validacin.
La tcnica ms utilizada y simple son las reuniones de revisin.
Se examinan los requerimientos por parte de: Representantes del cliente:
Operadores del sistema. Operadores que preparan las entradas Operadores los que utilizan las salidas Gerentes de estos empleados.
Representantes del desarrollador: Equipo de diseo Equipo de pruebas, y gestin de configuracin
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Validacin.
La reuniones comprenden las siguientes actividades: Se revisan las metas declaradas y los objetivos del sistema.
Se comparan las metas con los requerimientos para verificar que todos estos
son necesarios.
Se describe el ambiente en el que debe operar el sistema.
Se evala y documenta el riesgo y se plantean alternativas.
Se determinan las pruebas segn avance el sistema.
Cuando se detecta un problema se documenta y se establece la accin para subsanarlo antes del comienzo del proceso de diseo.
Determinacin de Requerimientos
2. Determinacin de Requerimientos. Validacin.
La trazabilidad de requisitos se documenta mediante la MTR (Matriz de trazabilidad de Requisitos).
Matriz de Trazabilidad de Requisitos
Resumen de
requisitos del
Usuario
Requisito del
Usuario
Requisito del
Sistema
Identificador Identificador