Planificación de Proyecto del Software

Planificación de un proyecto de sistemas

El Proyecto: Es el proceso de gestión para la creación de un sistema o 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

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.

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

Características:

Descripción del Recurso

Informes de disponibilidad

Fecha cronológica en la que se requiere el recurso

Tiempo durante el que será aplicado el recurso

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

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

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

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

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

Deje la estimación para más adelante

Base las estimaciones en proyectos similares ya terminados

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

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

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

Diferentes modelos de estimación

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

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

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

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

Identificación de Necesidades

Reconocimiento del problema

Evaluación y Síntesis

Modelado

Especificación

Revisión

Estudio de Viabilidad

Viabilidad económica

Viabilidad Técnica

Viabilidad Legal

Alternativas

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

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

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

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

Etapa del Diseño del Sistema

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.

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

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

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

Diseño de la Salida: Se refiere a los resultados e informaciones generadas por el Sistema

Diseño de Archivos: Incluye decisiones con respecto a la naturaleza y contenido del propio archivo

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.

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 de especificación: Apoyan el proceso de formular las características que debe tener una aplicación

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 para el desarrollo de Sistemas: Nos ayudan como analistas a trasladar diseños en aplicaciones funcionales.

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

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

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

IMPLANTACION, EVALUACION Y PRUEBAS

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

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.

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

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

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.

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.

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

Documento ERS

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

Características de una buena ERS

Corrección: La ERS es correcta si y sólo si todo requisito que figura en ella refleja alguna necesidad
real.

Ambigüedad: Un documento es no ambiguo si y solo si cada requisito descrito tiene una única
interpretación.

Completitud:
Una ERS es completa si:

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

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

- 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.

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

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.

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?)

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.

Modificabilidad: Una ERS es modificable si cualquier cambio puede realizarse de manera fácil, completa y consistente.

Explorabilidad (traceability): Una ERS es explorable si el origen de cada requerimiento es claro tanto hacia atrás como hacia delante

Utilizable durante las tareas de mantenimiento y uso: En la ERS también se deben tener en cuenta las necesidades de mantenimiento.

Esquema de la ERS definida en el IEEE 830-1998

Introducción

Propósito

Ámbito del Sistema

Definiciones, Acrónimos y Abreviaturas

Referencias

Visión general del documento

Descripción General

Perspectiva del Producto

Funciones del Producto

Características de los usuarios

Restricciones

Suposiciones y Dependencias

Requisitos Futuros

Requisitos Específicos

Interfaces Externas

Funciones

Requisitos de Rendimiento

Restricciones de Diseño

Atributos del Sistema

Otros Requisitos

Apéndices

Índice

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

Tipos de Requerimiento

requerimiento Funcional

Requerimiento no Funcionales

Características:

- Especificado por escrito

- Posible de Comprobar o Verificar

- Conciso

- Completo

- Consistente

- No Ambiguo

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.

Ingeniería de requerimientos: El proceso de recopilar, analizar y verificar las necesidades del cliente o usuario para un sistema.

Importancia de la ingeniería de requerimientos

Permite gestionar las necesidades del proyecto en forma estructurada

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

Disminuye los costos y retrasos del proyecto

Mejora la calidad del software

Mejora la comunicación entre equipos

Evita rechazos de usuarios finales

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

Extracción

Análisis

Especificación

Validación

Técnicas y herramientas utilizadas en la ingeniería de requerimientos

Técnicas utilizadas en las actividades de IR

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

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

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

Prototipos: Durante la actividad de extracción de requerimientos

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

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.

Jean A. Escalante. Z.

C.I 14.503.312