Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido ............................................................................................................................................ 1 1 Procesos de la Ingeniera de Requerimientos ............................................................................. 3 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.4 1.4.1 1.4.2 2 2.1 2.1.1 2.1.2 2.2 2.3 2.3.1 2.3.2 2.3.3 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 Requerimientos de proceso ................................................................................................ 3 Marco de trabajo para el proceso .................................................................................... 3 Integracin del modelo de capacidad de madurez (IMCM) ............................................ 5 Patrones del proceso....................................................................................................... 5 Evaluacin del proceso ................................................................................................... 6 Evaluacin Del Proceso Del Software............................................................................. 7 Requerimientos de los usuarios ........................................................................................ 12 Anlisis del problema .................................................................................................... 12 Clasificar los requerimientos ......................................................................................... 12 Evolucin de los requerimientos ................................................................................... 13 Requerimientos para el anlisis y la negociacin ............................................................. 13 Anlisis de sistemas ...................................................................................................... 13 Negociacin ................................................................................................................... 14 Requerimientos para la administracin ............................................................................. 15 Dificultades para definir los requerimientos .................................................................. 18 Los principales beneficios que se obtienen de la ingeniera de requerimientos ........... 18 Planeacin del tiempo ....................................................................................................... 19 Objetivos de la planificacin del proyecto ..................................................................... 19 Actividades asociadas al proyecto de software. ........................................................... 19 Evaluacin del Costo/Beneficio (investigacin personal).................................................. 19 Estudio de viabilidad.......................................................................................................... 20 Determinacin de la viabilidad del proyecto. ................................................................. 20 Determinacin de recursos ........................................................................................... 21 Evaluacin de la viabilidad ............................................................................................ 21 Planificacin de la Documentacin ................................................................................... 22 Documentacin .............................................................................................................. 23 Documentacin tecnica del desarrollo .......................................................................... 24 Documentacin de construccin ................................................................................... 26 Documentacion de uso .................................................................................................. 27 Normas de presentacin ............................................................................................... 28 Contenido del documento de Especificacion del Sistema ............................................ 29 Contenido del Documento de Diseo del Sistema ........................................................ 30 Contenido del Manual de Operacin del Sistema ......................................................... 31
2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 3 3.1
Gestin de la configuracin del software (GCS) ............................................................... 31 Qu es? ....................................................................................................................... 32 Lnea base ..................................................................................................................... 32 El proceso de gestin de la configuracin de software (GCS)...................................... 32 Identificacin de Objetos de la Configuracin de Software ........................................... 33 Control de versiones...................................................................................................... 33 Control de cambios........................................................................................................ 34 Auditoria de la Configuracin ........................................................................................ 34 Informes de Estado ....................................................................................................... 34 Preparar exposicin........................................................................................................... 36
Establece la base para un proceso de software completo a identificar un nmero pequeo de actividades del marco de trabajo aplicables a todos los proyectos de
3
software. Adems abarca un conjunto de actividades sombrilla a lo largo del proceso del software. Cada actividad contiene un conjunto de acciones de ingeniera de software. El conjunto de tareas es una serie de tareas de trabajo. Comunicacin. Implica colaboracin y comunicacin con los clientes, adems abarca la investigacin de requisitos y otras actividades relacionadas. Planeacin. Establece un plan para el trabajo de la ingeniera de software. Modelado. Abarca la creacin de modelos que permiten al desarrollador y al cliente entender mejor los requisitos del software. Construccin. Combina la generacin del cdigo y la realizacin de pruebas necesarias. Despliegue. El software se entrega al cliente, quien evala el producto y proporciona informacin basada en su evaluacin. Al marco de trabajo lo completa una serie de actividades sombrilla que se aplican durante el proceso del software. Seguimiento y control del proyecto de software: permite que el equipo de software evalu el progreso comparndolo con el plan del proyecto y as tomar las acciones necesarias para mantener el programa. Gestin del riesgo: evala los riesgos que pudieran afectar los resultados del proyecto o la calidad del producto. Aseguramiento de la calidad del software: define y conduce las actividades requeridas para asegurar la calidad del software. Revisiones tcnicas formales: evala los productos del trabajo de la ingeniera del software en un esfuerzo encaminado a descubrir y eliminar los errores antes de que estos se propaguen hacia la siguiente accin o actividad. Medicin: define y recolecta mediciones del proceso, el proyecto y el producto. Gestin de la configuracin del software: maneja los efectos del cambio a travs del proceso del software. Gestin de la reutilizacin: define los criterios para la reutilizacin de productos del trabajo y establece mecanismos para la creacin de componentes reutilizables.
Preparacin y produccin del trabajo de trabajo: abarca las actividades requeridas para crear productos del trabajo como modelos, documentos, registros, formatos y listas.
1.1.2
Una organizacin debe crear un modelo de proceso que se ajuste a las directrices establecidas por la integracin del modelo de capacidad de madurez. El Instituto de Ingeniera del Software (SEI) ha desarrollado un modelo completo de un amplio proceso basado en conjunto de capacidades de sw. El modelo continuo IMCM describe un proceso en 2 dimensiones. Cada rea del proceso se evala de manera formal contra las metas y practicas especficas y se clasifica de acuerdo con los siguientes niveles de capacidades: Nivel 0: Incompleto. Aun no se realiza o todava no alcanza todas las metas y objetivos definidos para el nivel 1 de capacidad. Nivel 1: Realizado. Nivel 2: Administrado. Los clientes estn implicados de manera activa en el rea de proceso. Nivel 3: Definido. El proceso est adaptado al conjunto de proceso estndar de la organizacin. Nivel 4: Administrado en forma cuantitativa. El rea de proceso se controla Nivel 5: Mejorado. El rea de proceso se adapta y mejora mediante el uso de medios cuantitativos para conocer las necesidades cambiantes del cliente.
Los patrones de fase definen la secuencia de actividades del marco trabajo que ocurre junto con el proceso. Contexto inicial. Se describen las condiciones en las cuales se aplica el patrn. Problema. Se describe el problema que debe resolver el patrn. Solucin. Se describe la implementacin del patrn. Contexto resultante. Se describen las condiciones que habr una vez que el patrn haya sido implementado con xito. Patrones relacionados. Se proporciona una lista de todos los patrones de proceso directamente relacionados con este. Usos conocidos/ejemplos. Se indican los ejemplos especficos en los cuales el patrn es aplicable.
Mejoramiento de proceso de sw
Motiva
Determinacin de la capacidad
TAREA Los enfoques para la evaluacin del proceso de software Mtodo de IMCM para el mejoramiento del proceso (MEIEMP) CMM mejoramiento del proceso interno (ABC MPI) Estndar SPICE (ISO/IEC15504) ISO 9001:2000 PARA Software
10
11
1.2 Requerimientos de los usuarios Es difcil definir cuantos o cuales son los requerimientos de los usuarios, ya que cada usuario piensa de forma diferente y de acuerdo a sus necesidades. Dificultades para definir los requerimientos: Los requerimientos no son obvios y vienen de muchas fuentes. Son difciles de expresar en palabras. Tipos de requerimientos y diferentes niveles de detalle. La cantidad de requerimientos en un proyecto puede ser difcil de manejar. Nunca son iguales. Algunos son ms difciles, ms riesgosos, ms importantes o ms estables que otros. Los requerimientos estn relacionados unos con otros, y a su vez se relacionan con otras partes del proceso. Cada requerimiento estn relacionados unos con otros. Cada requerimiento tiene propiedades nicas y abarcan reas funcionales especficas. Puede cambiar a lo largo del ciclo de desarrollo. Son difciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada proyecto.
12
Actividad de evaluacin y negociacin, se incrementa la comunicacin entre el equipo de desarrollo y los clientes o usuarios. La validacin de requerimientos es importante es de ella depende que no existan elevados costos de mantenimiento para el software desarrollado.
1.3
Significa descomponer en sus componentes para estudiar cada uno tanto como un ente aislado como en interaccin con el resto. Definicin por el estndar IEEE Sed. 610[1990] El anlisis de requisitos es el proceso del estudio de las necesidades de software, as como el proceso de estudio y refinamiento de dichos requisitos. Se define como una condicin o capacidad que necesita el usuario para resolver un problema o conseguir un objetivo determinado. La fase de anlisis de requisitos segn el estndar IEEE 1074 [1991] consiste en 3 grandes actividades: Definir los requisitos del sw. Se trata de una tarea iterativa para crear una definicin o especificacin preliminar de los requisitos que debe cumplir el sw.
13
Definir los requisitos de las interfaces del sw con el resto del sistema y con el exterior. Integrar los requisitos en un documento de la especificacin y asignarles prioridades. Otra manera de describir las actividades que se realizan en la fase de anlisis de requisitos: 1. Extraccin o determinacin de requisitos. 2. Anlisis de requisitos. 3. Especificacin de requisitos. 4. Validacin de los requisitos. Distintas tcnicas para el anlisis Para la extraccin o determinacin de los requisitos se emplean de recopilacin de informacin (observacin, cuestionarios, entrevistas, etc.) Para el anlisis y la especificacin existen no solo tcnicas graficas (como diagramas de flujo de datos) sino tambin como el anlisis estructurado. Para la validacin suele recurrirse a listas de comprobacin de distintos aspectos con tcnicas de revisin. TAREA Explicado cmo se realiza el anlisis costo beneficio Evaluacin de los riesgos. Determina en que el indicador se ver reflejado que un problema se presente, se deben establecer puntos de referencia para cada riesgo, segn su prioridad de atencin, se sale del manejo aceptable. Proyeccin de riesgos. Determina la probabilidad de que un riesgo ocurra y las consecuencias que puede tener, por ejemplo: incremento de costos, cancelacin del proyecto, insatisfaccin del cliente.
1.3.2 Negociacin
Adecuado significa que ha sido percibido a un nivel aceptable de riesgo tomando en cuenta los riesgos. Descubrir problemas potenciales Clasificar los requerimientos Mandatario, deseable o innecesarios. Requerimiento informativo, puede esperar para fases posteriores, innecesario Incluir requerimiento mandatario, discutir los deseables y descartar los innecesarios. Documentacin de todos los requerimientos Mostrar todos los requerimientos a los involucrados Analizar el impacto que causen los cambios a requerimientos antes de aceptarlos
14
Establecer las relaciones entre requerimientos que indiquen independencias Negociar con flexibilidad para que exista un beneficio mutuo Enfocarse en intereses y no en posiciones.
1.4
La mayor causa de problemas en el desarrollo de sistemas (incumplimiento de fechas, presupuestos errneos, etc.) mbito problema, mbito solucin, mbito recursos El alcance del proyecto (nmero de requerimientos a satisfacer). El alcance del proyecto lo definir el tiempo y el financiamiento.
15
16
Caractersticas de los requerimientos Las caractersticas de los requerimientos son sus propiedades principales. Necesario: es necesario si su omisin provoca una deficiencia en el sistema a construir, y adems su capacidad, caractersticas fsicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o del proceso. Conciso: es conciso si es fcil de leer y entender. Completo: est completo si no necesita ampliar detalles en su redaccin, es decir, si se proporciona la informacin suficiente para su comprensin. Consistente: es consistente si no es contradictorio con otro requerimiento. No ambiguo: cuando tiene una sola interpretacin.
17
Verificable: cuando puede ser cuantificado de manera que permita hacer uso de los siguientes mtodos de verificacin: inspeccin, anlisis, demostracin o pruebas.
18
2.2
Debido a que el crecimiento de la estimacin de costos es una actividad compleja, existe un crecimiento industrial de compaas dedicadas a ofrecer diferentes marcas comerciales de herramientas de estimacin de costos en el mercado. A partir del 2005, algunas de esas herramientas de estimacin son: COCOMO II, CoStar, CostModeler, CostXpert, KnowledgePlan, PRICE S, SEER, SLIM y SoftCost. Algunas de las herramientas de estimacin de costos ms antiguas, no estn activamente en el mercado pero todava son utilizadas, tales como: CheckPoint, COCOMO, ESTIMACS, REVIC y SPQR/20, ya que su uso no es apoyado por los vendedores, por lo que su utilizacin est en declive. Mientras estos instrumentos de estimacin fueron desarrollados por empresas diferentes y no son idnticos, ellos realmente tienden a proporcionar un ncleo de funciones comunes. Los rasgos principales de instrumentos de estimacin de software comerciales se incluyen estos atributos: Lgica de dimensionamiento para especificaciones, cdigo fuente y casos de evaluacin Nivel de fase, nivel de actividad, y estimacin de nivel de tarea Ajustes para perodos de trabajo especficos, vacaciones y horas extraordinarias Ajustes para salarios locales e ndices de carga Ajustes para varios proyectos de software como militares, sistemas, comerciales, etc. Apoyo para mtricas de puntos de funcin, mtricas de lneas de cdigos o ambas Apoyo para backfiring, es decir, convertir lneas de cdigos a puntos de funcin
19
Apoyo tanto para nuevos proyectos como a proyectos de mejora y mantenimiento Algunas herramientas de estimacin tambin incluyen funciones ms avanzadas como: Estimacin de fiabilidad y calidad Anlisis de valor y riesgo Retorno de Inversin Posibilidad de compartir datos con herramientas de administracin de proyectos Medios de medicin para reunir datos histricos Costo y tiempo para completar estimaciones que combinan datos histricos con datos proyectados Apoyo para evaluaciones de procesos de software Anlisis estadstico de mltiples proyectos y anlisis de cartera Conversin monetaria para acordar proyectos en el exterior
2.3
Estudio de viabilidad
2.3.1 Determinacin de la viabilidad del proyecto.
El objetivo es recopilar suficientes datos para los directivos a su vez, tengan los elementos necesarios para decidir si debe procederse a realizar un estudio de sistemas. Los datos se pueden recopilar mediante las entrevistas. El tiempo debe ser reducido y abarcar diversas actividades. El analista de sw funge como catalizador y experto de soporte tcnico. Las oportunidades se pueden considerar como la contraparte de los problemas.
Las mejoras a los sistemas se pueden definir como cambios que darn como resultados benficos crecientes y valiosos: 1. Aceleracin de un proceso. 2. Optimizacin de un proceso al eliminar pasos innecesarios o duplicados. 3. Combinacin de procesos. 4. Reduccin de errores en la captura de informacin mediante la modificacin de formularios y pantallas de despliegue. 5. Reduccin de almacenamiento redundante. 6. Reduccin de salidas redundantes. 7. Mejora en la integracin de sistemas y subsistemas. Es til para el analista de sistemas elaborar una cuadricula de impacto de la viabilidad, que le sirva para comprender y evaluar los impactos (si los hay) que tendrn las mejoras a los sistemas existentes.
20
Tambin es importante la manera en que las mejoras a los sistemas existentes (manuales o automatizados) afectan los objetivos corporativos. Estos objetivos incluyen: 1. Mejoras de las ganancias corporativas. 2. Apoyo a la estrategia competitiva de la organizacin. 3. Mayor cooperacin con distribuidores y socios. 4. Incremento del apoyo a las operaciones internas con el fin de producir bienes y servicios de manera ms eficiente y eficaz. 5. Incremento del apoyo a las operaciones internas para que estas sean ms eficaces. 6. Mejora del servicio al cliente. 7. Incremento en la moral de los empleados.
21
2.4
Planificacin de la Documentacin
22
2.4.1 Documentacin
23
24
25
26
27
28
29
30
2.5 Gestin de la configuracin del software (GCS) Es una actividad de autoproteccin que se aplica durante el proceso de software. Sirven para: 1. Identificar el cambio. 2. Controlar el cambio. 3. Garantizar que el cambio se implementa adecuadamente. 4. Informar del cambio a todos aquellos que pueden estar interesados.
31
2.5.1 Qu es?
Es un conjunto de actividades diseadas para controlar el cambio identificando los productos del trabajo que probablemente cambien, estableciendo las relaciones entre ellos, definiendo mecanismos para gestionar distintas versiones de estos productos, controlando los cambios realizados, y estudiando e informando de los cambios realizados. Origen de los cambios 1. Nuevos negocios o condiciones comerciales 2. Nueva necesidades del cliente que demandan la modificacin de los datos producidos por sistemas de informacin 3. Reorganizacin o crecimiento /reduccin del negocio que provoca cambios en las prioridades del proyecto. 4. Restricciones presupuestarias o de planificacin que provocan una redefinicin del sistema o producto.
32
33
Cuando aparece involucrada mucha gente es muy fcil que se d el sndrome de que <la mano izquierda ignora lo que hace la mano derecha>. Esto que dos programadores intenten modificar el mismo ECS son intenciones diferentes y conflictivas. El IEC (Informes de estado de configuracin) ayuda a eliminar esos problemas, mejorando la comunicacin entre todas las personas involucradas. La gestin de configuracin del software es una actividad de proteccin que se aplica a lo largo de todo el proceso del software. La GCS identifica, controla, audita e informa de las modificaciones que invariablemente se dan al desarrollar el software una vez que ha sido distribuido a los clientes. El control de cambios es una actividad procedimental que asegura la calidad y la consistencia a medida que se realizan cambios en los objetos de la configuracin. El proceso de control de cambios comienza con una peticin de cambio, lleva una decisin de proseguir o no con el cambio y culmina con una actualizacin controlada de ECS que se ha de cambiar. La auditora de configuracin es una actividad de SQA (Aseguramiento de la Calidad del Software) que ayuda a asegurar que se mantiene la calidad durante la realizacin de los cambios. Los informes de estado proporcionan informacin sobre cada cambio a aquellos que tienen que estar informados.
35
Introduccin
Segn la real academia espaola, riesgo se define como: -contingencia o proximidad de un dao. Segn Charette: Relacionada con acontecimientos futuros consecuencia de situaciones presentes. Implica cambio de actitud y accin Implica eleccin e incertidumbre. Segn higuera involucra: Incertidumbre: si es seguro no es riesgo Perdida: si ocurre ocurrirn prdidas indeseables Registro de riesgos Un riesgo se expresa como una situacin posible y el efecto adverso que es su consecuencia. Ejemplo: -Con el proyecto avanzado, el cliente solicita cambios grandes a los requerimientos, originando un retraso en la entrega. Categoras Conocidos: se identifican analizando, cuidadosamente: el plan del proyecto, el ambiente de negocios y tcnico. Predecibles: se extrapolan de proyectos anteriores Impredecibles: difciles de anticipar. Tipos de riesgos Los riesgos del proyecto: afectan la calendarizacin o los recursos del proyecto. Los riesgos del producto o tcnicos: perjudican la calidad o desempeo del software que esta desarrollando. Los riesgos del negocio: daan a la organizacin que desarrolla el software.
36
37