56
Diseño de Sistemas Unidad I Especificación de los Requerimientos del Software

Diseño de Sistemas - Unidad I - Especificación Requerimientos Software

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