Академический Документы
Профессиональный Документы
Культура Документы
Ingeniera de Software
Establecer y usar principios de ingeniera orientados a obtener software de manera econmica, que sea fiable y funcione eficientemente
Bauer
Ingeniera de Software II
Ingeniera de Software
Es la disciplina que comprende todos los aspectos de la produccin de software desde las etapas iniciales de la especificacin del sistema, hasta el mantenimiento de ste despus de que se utiliza.
Sommerville
Ingeniera de Software II
SWEBOK
La IEEE Computer Society y la Association for Computing Machinery han trabajando en un proyecto conjunto para desarrollar una gua del Cuerpo de Conocimientos de la Ingeniera de Software (SWEBOK). SWEBOK busca aglutinar en un solo texto las competencias que debiese tener todo ingeniero de software para desempearse competentemente en el mercado. Es un proyecto para clasificar y definir todo lo que es Ingeniera de Software (IS). http://www.computer.org/portal/web/swebok
Ingeniera de Software II 4
Ingeniera de Software II
Ingeniera de Software II
Ingeniera de Software II
Anlisis de Requerimientos Diseo Codificacin Prueba de Unidad Prueba de Aceptacin Mantenimiento 6 1 Anlisis Diseo Codificacin (J.Leite)
20
Grfico 1
Grfico 2
Ingeniera de Software II
Algunas definiciones
Universo de Informacin (UdI): tambin llamado Universo de Discurso (UdeD). Es el contexto general
en el cual el software deber ser desarrollado y operado. El UdI incluye todas las fuentes de informacin y todas las personas relacionadas al software. Esas personas son tambin conocidas como los actores de ese universo. El UdI es la realidad influenciada por el conjunto de objetivos definidos por los que demandan el software.
Stakeholder: todos aquellos que tienen algn inters en el cambio que se est considerando, aquellos que ganan con l, y aquellos que pierden con l.
Ingeniera de Software II 10
Definicin de Requerimiento
Requerimiento: Necesidad de un Stakeholder Requerimiento es... una especificacin de lo que debera ser implementado. Son una descripcin de cmo el sistema debera comportarse o de una propiedad o atributo del sistema, que puede ser una restriccin sobre el proceso de desarrollo del sistema.
97 Sommerville and Sawyer
Ingeniera de Software II 11
Requerimiento - Requisito
Simplemente... cualquier cosa que un cliente necesite. Desde el punto de vista del diseador, cualquier cosa que necesite ser diseada.
Ingeniera de Software II
12
Ingeniera de Requerimientos
La Ingeniera en Requisitos es una subtarea (est incluida dentro) de la Ingeniera de Software. Propone mtodos, tcnicas y herramientas que faciliten el trabajo de Definicin de lo que se quiere de un software La Ingeniera de Requerimientos es "la aplicacin disciplinada de principios cientficos y tcnicas para desarrollar, comunicar y administrar los requerimientos". La Ingeniera de Requerimientos es "el proceso sistemtico de desarrollar los requerimientos a travs de un proceso iterativo de analizar un problema, documentar las observaciones resultantes, y verificar la exactitud de la comprensin ganada"
Ingeniera de Software II
13
Ingeniera de Software II
15
Requerimientos Funcionales
Describen la funcionalidad o los servicios que se esperan del sistema de software. Dependen del tipo de software y del sistema que se desarrolle y de los posibles usuarios del software. Cuando se expresan cmo requerimientos del usuario, se describen de forma general; mientras que los requerimientos funcionales del sistema describen con detalle la funcin de ste, sus entradas y salidas, excepciones, etc.
Ingeniera de Software II
16
RNF: Clasificacin
Requerimientos no funcionales
Requerimientos organizacionales
Requerimientos externos
Requerimientos de eficiencia
Requerimientos de fiabilidad
Requerimientos de portabilidad
Requerimientos de interoperabilidad
Requerimientos ticos
Requerimientos de usabilidad
Requerimientos de entrega
Requerimientos de implementacin
Requerimientos de estndares
Requerimientos legislativos
Requerimientos de privacidad
Requerimientos de seguridad
Ingeniera de Software II
18
Requerimientos No Funcionales
No se refieren directamente a las funciones especficas que brinda el sistema, sino a sus propiedades emergentes: fiabilidad, tiempo de respuesta, capacidad de almacenamiento , etc. Definen las restricciones del sistema: capacidad de los dispositivos de entrada/salida, representacin de datos que se utiliza en las interfaces, etc.
Ingeniera de Software II
19
Funcionales vs No Funcionales
Los requerimientos no funcionales se refieren al sistema como un todo ms que a rasgos particulares del mismo; => a menudo son ms crticos que los requerimientos funcionales particulares.
Mientras que el incumplimiento de un requerimiento funcional degradar al sistema, una falla en un requerimiento no funcional del sistema lo inutiliza.
Ingeniera de Software II 20
Ingeniera de Software II
21
Ingeniera de Software II
23
IR: el proceso
Concepto Anlisis del Problema
Cada etapa debe ser seguida de una validacin para chequear la veracidad de la informacin conseguida y el entendimiento ganado sobre el problema.
Documentacin de Requerimientos
Ingeniera de Software II 24
IR: el proceso
Ingeniera de Software II
25
Rastreabilidad de requerimientos
La rastreabilidad de requerimientos (traceability) significa que los requerimientos relacionados deben estar relacionados de alguna manera y que a su vez deben estar relacionados a sus fuentes. La rastreabilidad es una propiedad de una buena especificacin de los requerimientos que se ve reflejada por la facilidad para encontrar requerimientos relacionados. Algunas herramientas CASE proveen soporte para la rastreabilidad. Por ejemplo, pueden encontrar todos los requerimientos que usen los mismo trminos.
Ingeniera de Software II 29
Tcnicas de rastreabilidad
Asignar un numero nico a todos los requerimientos. Hacer un referencia cruzada (cross-reference) de los requerimientos relacionados utilizando este numero nico. Producir una matriz de referencias cruzadas para cada documento de requerimientos mostrando los requerimientos relacionados. Varias matrices pueden ser necesarias para diferentes tipos de relaciones.
Ingeniera de Software II
30
Documento de Requerimientos
Tambin conocido como Especificacin de
Requerimientos de Software (ERS o SRS, en ingls)
Documento de Requerimientos
(cont.)
No existe un nivel de especificacin universalmente correcto. Los clientes con gran experiencia prefieren especificaciones de alto nivel, y aquellos con escasa experiencia pretenden mayor detalle. Recomendaciones: Cada clusula debe contener solamente un requerimiento. Evitar tener requerimientos que hace(n) referencia a otro(s) Agrupar los requerimientos semejantes.
Ingeniera de Software II 32
2.
3.
Ingeniera de Software II
3.2.
3.3. 3.4.
3.5.
3.6.
3.1.2. Requerimiento Funcional 2 Requerimientos de Interfase externos 3.2.1. Interfase de usuarios 3.2.2. Interfase de Hardware 3.2.3. Interfase de Software 3.2.4. Interfase de Comunicacin Requerimientos de Performace Restricciones de Diseo 3.4.1. Cumplimiento de Estndares 3.4.2. Limitaciones de Hardware Atributos 3.5.1. Seguridad 3.5.2. Mantenibilidad Otros Requerimientos 3.6.1. Bases de Datos 3.6.2. Operaciones 3.6.3. Adaptacin al sitio
Apndices ndice
Ingeniera de Software II 34
El Documento de Requerimientos
De acuerdo a la IEEE (1984), un buen DR debera contener sentencias (oraciones, afirmaciones): No ambiguas Completas Verificables Consistentes Modificable Trazable (seguible) Usable
Ingeniera de Software II 35
Tipos de lenguajes
Informales: (grficos, arbitrarios, lenguaje natural, etc.)
natural para stakeholders fcil de validar no automatizacin
Un usuario necesita de un lenguaje informal para exponer sus necesidades y entender lo que el analista capt del problema. El analista, a su vez, precisa de lenguajes semi-formales y formales para entender mejor el problema, verificar inconsistencias y ambigedades.
Ingeniera de Software II 36 36
LEL - Fases
Identificacin de smbolos del lenguaje.
A travs de una tcnica de colecta de hechos (por ejemplo: entrevistas informales, observacin, lectura de documentos), el analista anota las frases o palabras que parecen tener un significado especial para la aplicacin. El resultado de esta fase es una lista de palabras o frases.
La descripcin de impactos y nociones est orientada por los principios de vocabulario mnimo y circularidad
Ingeniera de Software II 39
LEL - Principios
Vocabulario mnimo: prescribe que al describir una mnimo: nocin o un impacto, esta descripcin debe minimizar el uso de smbolos externos al lenguaje, y que cuando esos smbolos externos son usados deben intentar tener una representacin matemtica clara, ej. Conjunto, unin, funcin. Circularidad define que las nociones e impactos deben ser descriptos usando smbolos del propio lenguaje.
40
Ingeniera de Software II
LEL - Categoras
Sujeto Objeto Accin, Verbo o Frase verbal Situacin o Estado: no es tan clara la delimitacin entre esta
categora y la anterior. Pueden estar unidas.
Estas categoras se pueden abrir en subcategoras dependiendo de la conveniencia dentro del dominio en el que se est trabajando.
Ingeniera de Software II
41
LEL - Ejemplo
LEL Solicitud de Adhesin / Solicitud / Formulario Nociones : Formulario que completa el solicitante para requerir la adhesin a un Plan de Ahorro. Contiene: Datos de Aceptacin Datos del Bien Datos del monto incial Datos Personales del solicitante Contiene las condiciones generales que debe cumplir el adherente al formar parte de un plan. Impactos : Necesaria para considerar el ingreso de una persona a un plan. La aceptacin de la solicitud implica la adhesin a un plan de ahorro. La solicitud puede ser rechazada.
Ingeniera de Software II
42
LEL - Heursticos
Cada smbolo puede tener 1 o + impactos Cada smbolo tiene 0 o ms sinnimos (\) (alias) Cada smbolo tiene 1 o + nociones Escribir frases simples, una sola idea Las nociones e impactos de un smbolo pueden indicar puntos de vista diferentes o complementarios Respetar la circularidad y el vocabulario mnimo
Ingeniera de Software II
43
Si es verbo:
las nociones deben aclarar quien ejecuta la accin, cundo y cules son los procedimientos incluidos, los impactos deben identificar las situaciones que impiden la accin, efectos de la accin en el ambiente y resultado.
Ingeniera de Software II 44
Revisin constante
Ingeniera de Software II 45
Ingeniera de Software II
46
Validar LEL
Entradas candidatas
Generar lista
Descripciones Smbolos Clasificados Smbolos que no se ubican en la Clasificacin
Lista Candidata
Lista
Controlar LEL
Clasificar lista
Clasificacin
Ingeniera de Software II
LEL
47