Категории: Все - desarrolladores - software - requisitos - proyecto

по jean escalante 8 лет назад

991

Planificación de Proyecto del Software

El documento de planificación de proyecto de software sigue el esquema definido por el estándar IEEE 830-1998, abarcando diversos aspectos esenciales como el ámbito del sistema, definiciones, acrónimos, referencias y una visión general del documento.

Planificación de Proyecto del Software

Jean A. Escalante. Z.

C.I 14.503.312

Planificación de Proyecto del Software

Ingeniería de Requerimiento: Sirve como Base Solida en el proceso de desarrollo de Software.

Que son Requerimientos: Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo
Técnicas y herramientas utilizadas en la ingeniería de requerimientos

Herramientas automatizadas para la Administración de Requerimientos: En el desarrollo de software se cuenta con una ventaja proporcionada por las herramientas CASE.

RequisitePro: RequisitePro es la herramienta que ofrece Rational Software para tener un mayor control sobre los requerimientos planteados por el usuario y todos aquellos requerimientos técnicos o nuevos requerimientos de usuario que surjan durante el ciclo de vida del proyecto.

Técnicas utilizadas en las actividades de IR

Casos de Uso: Los casos de uso son una técnica para especificar el comportamiento de un sistema.

Prototipos: Durante la actividad de extracción de requerimientos

Lluvia de ideas (Brainstorm): Este es un modelo que se usa para generar ideas.

Sistemas existentes: Esta técnica consiste en analizar distintos sistemas ya desarrollados que estén relacionados con el sistema a ser construido.

Entrevistas y Cuestionarios: Las entrevistas y cuestionarios se emplean para reunir información proveniente de personas o de grupos.

Actividades de la ingeniería de requerimientos: Se dice que dentro de la IRexisten cuatro actividades básicas que se tienen que llevar a cabo para completar el proceso

Validación

Análisis

Extracción

Importancia de la ingeniería de requerimientos

Evita rechazos de usuarios finales

Mejora la comunicación entre equipos

Mejora la calidad del software

Disminuye los costos y retrasos del proyecto

Mejora la capacidad de predecir cronogramas de proyectos, así como sus resultados

Permite gestionar las necesidades del proyecto en forma estructurada

Ingeniería de requerimientos: El proceso de recopilar, analizar y verificar las necesidades del cliente o usuario para un sistema.
Dificultades para definir los requerimientos: a continuación se presenta un listado con los problemas más comunes en este proceso:

- Los requerimientos no son obvios y vienen de muchas fuentes.   - Son difíciles de expresar en palabras (el lenguaje es ambiguo).   - La cantidad de requerimientos en un proyecto puede ser difícil de manejar.   - Un requerimiento puede cambiar a lo largo del ciclo de desarrollo.   - El usuario no puede explicar lo que hace   - Tiende a recordar lo excepcional y olvidar lo rutinario   - Hablan de lo que no funciona   - Los usuarios tienen distinto vocabulario que los desarrolladores.

- No Ambiguo

- Consistente

- Completo

- Conciso

- Posible de Comprobar o Verificar

- Especificado por escrito

Tipos de Requerimiento

Requerimiento no Funcionales

requerimiento Funcional

Documento ERS

Esquema de la ERS definida en el IEEE 830-1998
Índice
Apéndices
Requisitos Específicos

Otros Requisitos

Atributos del Sistema

Restricciones de Diseño

Requisitos de Rendimiento

Funciones

Interfaces Externas

Descripción General

Requisitos Futuros

Suposiciones y Dependencias

Restricciones

Características de los usuarios

Funciones del Producto

Perspectiva del Producto

Introducción

Visión general del documento

Referencias

Definiciones, Acrónimos y Abreviaturas

Ámbito del Sistema

Propósito

Características de una buena ERS
Utilizable durante las tareas de mantenimiento y uso: En la ERS también se deben tener en cuenta las necesidades de mantenimiento.
Explorabilidad (traceability): Una ERS es explorable si el origen de cada requerimiento es claro tanto hacia atrás como hacia delante
Modificabilidad: Una ERS es modificable si cualquier cambio puede realizarse de manera fácil, completa y consistente.
Clasificación: No todos los requisitos son igual de importantes. Los requisitos pueden clasificarse por diversos criterios

· Importancia: Pueden ser esenciales, condicionales u opcionales. · Estabilidad: Cambios que pueden afectar al requisito.

Consistencia: Una ERS es consistente si y sólo si ningún conjunto de requisitos descritos en ella son contradictorios o entran en conflicto.

· Requisitos que describen el mismo objeto real utilizando distintos términos. · Las características especificadas de objetos reales. Un requisito establece que todas las luces son verdes y otro que son azules. · Conflicto lógico o temporal entre dos acciones determinadas. Se llega a unpunto en el que dos acciones serían perfectamente válidas (¿sumar o multiplicar?)

Verificabilidad: Un requisito se dice que es verificable si existe algún proceso no excesivamente costoso por el cual una persona o una máquina pueda chequear que el software satisface dicho requerimiento.
Completitud: Una ERS es completa si:

- Aparecen etiquetadas todas las figuras, tablas, diagramas, etc, así como definidos todos los términos y unidades de medida empleados.

- Cumple con el estándar utilizado. Si hay alguna parte del estándar que no se utiliza, se debe razonar suficientemente el porqué no se ha utilizado dicho apartado.

- Existe una definición de respuestas a todas las posibles entradas, tanto válidascomo inválidas, en todas las posibles situaciones.

- Incluye todos los requisitos significativos del software (relacionados con la funcionalidad, ejecución, diseño, atributos de calidad o interfaces externas).

Ambigüedad: Un documento es no ambiguo si y solo si cada requisito descrito tiene una única interpretación.
Corrección: La ERS es correcta si y sólo si todo requisito que figura en ella refleja alguna necesidad real.
Objetivos de la ERS: Ayudar a los clientes a describir claramente lo que se desea obtener mediante un determinado software.Ayudar a los desarrolladores a entender qué quiere exactamente el cliente. Ayudar a los desarrolladores a entender qué quiere exactamente el cliente. Servir de base para desarrollos de estándares de ERS particulares para cada organización

Planificación de un proyecto de sistemas

DISEÑO DE SISTEMAS DE COMPUTACIÓN:Es el proceso de aplicar ciertas técnicas y principios con el propósito de definir un dispositivo, un proceso o un Sistema
IMPLANTACION, EVALUACION Y PRUEBAS

Prueba de Sistemas: Dependiendo del tamaño de la Empresa que usara el Sistema y el riesgo asociado a su uso.

La Evaluación del Sistema: Se lleva a cabo para identificar puntos débiles y fuertes del Sistema implantado.

Desempeño del Desarrollo: Es la evaluación del Proceso de desarrollo adecuado tomando en cuentas ciertos criterios como, Tiempo y esfuerzo en el desarrollo.

Impacto Organizacional: Identifica y mide los beneficios operacionales para la Empresa en áreas tales como, Finanzas (Costos, Ingresos y Ganancias), eficiencia en el desempeño laboral e impacto competitivo, Impacto, rapidez y organización en el flujo de Información interna y externa.

Evaluación operacional: Es el Momento en que se evalúa la manera en que funciona el Sistema

Capacitación de Usuarios del Sistema: Es enseñar a los usuarios que se relacionan u operan en un proceso de implantación.

Objetivos de la Capacitación: Es lograr que los usuarios tengan el Dominio necesario de las cosas básicas acerca de las maquinarias y procesos que se emplean para su operación de manera eficiente y segura.

IMPLANTACION: Es la última fase del desarrollo de Sistemas. Es el proceso instalar equipos o Software nuevo.

Herramientas para el Diseño de Sistemas: Apoyan el proceso de formular las características que el sistema debe tener para satisfacer los requerimientos detectados durante las actividades del análisis:

Herramientas para pruebas: Apoyan la fase de la evaluación de un Sistema o de partes del mismo contra las especificaciones.

Generadores de códigos: Producen el código fuente y las aplicaciones a partir de especificaciones funcionales bien articuladas.

Herramientas para Ingeniería de Software: Apoyan el Proceso de formular diseños de Software

Herramientas para el desarrollo de Sistemas: Nos ayudan como analistas a trasladar diseños en aplicaciones funcionales.

Herramientas para presentación: Se utilizan para describir la posición de datos, mensajes y encabezados sobre las pantallas de las terminales, reportes y otros medios de entrada y salida.

Herramientas de especificación: Apoyan el proceso de formular las características que debe tener una aplicación

Diseño de Interacciones con la Base de Datos: El diseñador no construye la base de datos sino que consulta a su administrador para ponerse de acuerdo en el uso de esta en el sistema.
Diseño de Archivos: Incluye decisiones con respecto a la naturaleza y contenido del propio archivo
Diseño de la Salida: Se refiere a los resultados e informaciones generadas por el Sistema
Etapa del Diseño del Sistema

El Diseño de procedimientos: Transforma elementos estructurales de la arquitectura del programa.

El Diseño de la Interfaz: Describe como se comunica el Software consigo mismo

El Diseño Arquitectónico: Define la relación entre cada uno de los elementos estructurales del programa.

El diseño de los datos: Trasforma el modelo de dominio de la información, creado durante el análisis, en las estructuras de datos necesarios para implementar el Software.

ANALISIS DE SISTEMAS DE COMPUTACION: Es un conjunto o disposición de procedimientos o programas relacionados de manera que juntos forman una sola unidad
Objetivos del Análisis

Especificaciones del Sistema: Describe la función y rendimiento de un Sistema basado en computadoras y las dificultades que estarán presentes durante su desarrollo

Modelado de la arquitectura del Sistema: Se concentran en lo que debe hacer el sistema no en como lo hace

Análisis Económico y Técnico: El análisis económico incluye lo que llamamos, el análisis de costos – beneficios

Estudio de Viabilidad

Alternativas

Viabilidad Legal

Viabilidad Técnica

Viabilidad económica

Identificación de Necesidades

Revisión

Especificación

Modelado

Evaluación y Síntesis

Reconocimiento del problema

El Proyecto: Es el proceso de gestión para la creación de un sistema o software
Diferentes modelos de estimación

Herramientas Automáticas De Estimación: Permiten al planificador estimar costos y esfuerzos, así como llevar a cabo análisis del tipo

El Modelo COCOMO: Jerarquía de modelos de estimación de Software

Los Modelos Empíricos: Donde los datos que soportan la mayoría de los modelos de estimación obtienen una muestra limitada de proyectos.

ESTIMACION DEL PROYECTO DE SOFTWARE: Hoy en día el Software es el elemento más caro de la mayoría de los sistemas informáticos

Estimación basada en el Proceso:Es basar la estimación en el proceso que se va a utilizar

Para realizar estimaciones seguras de costos y esfuerzos tienen varias opciones posibles:

Desarrolle un modelo empírico para él cálculo de costos y esfuerzos del Software

Utilice técnicas de descomposición relativamente sencillas para generar las estimaciones de costos y esfuerzo del proyecto

Base las estimaciones en proyectos similares ya terminados

Deje la estimación para más adelante

Recursos: Es la estimación de los recursos requeridos para acometer el esfuerzo de desarrollo de Software

Recursos de entorno:Es donde se apoya el proyecto de Software (incorpora Hardware y Software)

Recursos o componentes de software reutilizables:Esto es la creación y la reutilización de bloques de construcción de Software.

Recursos Humanos: La cantidad de personas requeridas se determinara después de hacer una estimación del esfuerzo de desarrollo

Características:

Tiempo durante el que será aplicado el recurso

Fecha cronológica en la que se requiere el recurso

Informes de disponibilidad

Descripción del Recurso

Actividades asociadas al proyecto de software

Ámbito del Software: Es la primera actividad de llevada a cabo durante la planificación del proyecto de Software.

Objetivos de la Planificación del Proyecto: Es proporcionar un marco de trabajo que permita al gestor hacer estimaciones razonables de recursos costos y planificación temporal.topic