Visitas Pagina

viernes, 24 de mayo de 2013

DOCUMENTACIÓN DURANTE EL DESARROLLO DEL SOFTWARE

En general se habla mucho de la documentación, pero no se la hace, no se le asigna presupuesto, no se la mantiene y casi nunca está al día en los proyectos de desarrollo de software.
Lo importante es la disponibilidad de la documentación que se necesita en el momento en que se la necesita.
Muchas veces se hace porque hay que hacerla y se escribe, con pocas ganas, largos textos, a la vez que se está convencido de estar haciendo un trabajo inútil. A veces se peca por exceso y otras por defecto. Ocurre mucho en la Web y con productos RAD. En ocasiones se olvida que el mantenimiento también debe llegar a la documentación.
La documentación se suele clasificar en función de las personas o grupos a los cuales está dirigida:

· Documentación para los desarrolladores
· Documentación para los usuarios
· Documentación para los administradores o soporte técnico


La documentación para desarrolladores es aquélla que se utiliza para el propio desarrollo del producto y, sobre todo, para su mantenimiento futuro. Se documenta para comunicar estructura y comportamiento del sistema o de sus partes, para visualizar y controlar la arquitectura del sistema, para comprender mejor el mismo y para controlar el riesgo, entre otras cosas. Obviamente, cuanto más complejo es el sistema, más importante es la documentación.

Buena parte de la documentación para los usuarios puede empezar a generarse desde que comienza el estudio de requisitos del sistema. Esto está bastante en consonancia con las ideas de extreme programming y con metodologías basadas en casos de uso.

La documentación para administradores o soporte técnico, a veces llamada manual de operaciones, contiene toda la información sobre el sistema terminado que no hace al uso por un usuario final. Es necesario que tenga una descripción de los errores posibles del sistema, así como los procedimientos de recuperación. Como esto no es algo estático, pues la aparición de nuevos errores, problemas de compatibilidad y demás nunca se puede descartar, en general el manual de operaciones es un documento que va engrosándose con el tiempo.


METODOLOGIAS PARA EL DESARROLLO DE SOFTWARE


Metodología: Conjunto de procedimientos, técnicas, herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevo software.
Una metodología de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información.
A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad.




METODOLOGÍA Vs CICLO DE VIDA.


Una metodología puede seguir uno o varios modelos de ciclo de vida, es decir, el ciclo de vida indica qué es lo que hay que obtener a lo largo del desarrollo del proyecto pero no cómo hacerlo.
La metodología indica cómo hay que obtener los distintos productos parciales y finales.





GENERACIONES DE METODOLOGÍA.


  • Desarrollo Convencional (Sin Metodología) .
  • Desarrollo Estructurado.
  • Desarrollo Orientado a Objetos.
1. DESARROLLO CONVENCIONAL


  • Los resultados finales son impredecibles
  • No hay forma de controlar lo que está sucediendo en el Proyecto 
  • Los cambios organizativos afectan negativamente al proceso de desarrollo
2. DESARROLLO ESTRUCTURADO


  • Programación estructurada
  • Diseño estructurado
  • Análisis estructurado
  • Especificaciones funcionales:
  • Gráficas
  • Particionadas
  • Mínimamente redundantes
3. DESARROLLO ORIENTADO AL OBJETO.


La esencia del desarrollo orientado a objetos es la identificación y organización de conceptos del dominio de la aplicación y no tanto de su representación final en un lenguaje de programación.

ADMINISTRACION DE UN PROYECTO DE INGENIERIA DEL SOFTWARE

La administración de proyectos de desarrollo de software consiste en gestionar el desarrollo de un producto, dentro del plazo previsto y con los fondos establecidos.
La administración de un proyectos comprende:
•Estructura (Elementos organizativos involucrados)
•Proceso administrativo (Responsabilidades y supervisión de participantes)
•Proceso de desarrollo (métodos, herramientas, lenguajes, documentación y apoyo)
•Programa (organización de los tiempos en los que deben realizarse los trabajos)
Factores de la administración de un proyecto.
  • La administración de un proyecto debe controlar los 
  • siguientes factores:
  • El costo total del proyecto
  • Por ejemplo, aumentar o disminuir los gastos.
  • Las capacidades del proyecto
  • Como añadir o eliminar características funcionales.
  • La calidad del producto
  • Como aumentar el tiempo entre fallos de una cierta severidad.
  • La duración del proyecto
  • Por ejemplo, reducir el tiempo programado un 20% o posponer un mes la 
  • fecha de terminación.


Administración del proyecto.


El ingrediente principal requerido para producir software es la gente. Cuenta las actitudes de los ingenieros y  pero también que se coordinen en el tiempo para realizar el proyecto. Esto requiere una combinación de profesionalidad, trabajo en equipo y liderazgo.
Existen tres perspectivas diferenciadas sobre el equipo de personas que realizan el proyecto:
Perspectiva de la empresa: Desde el punto de vista de la empresa que ejecuta un proyecto, su  desarrollo se ve como una contribución a las metas de la empresa, producir un producto que justifique con creces su costo. Esta perspectiva es de negocio. El nombre que da la organización al equipo de personas “Recursos humanos” refleja el papel que juega para ella.
Perspectiva de la administración: El punto de vista del administrador es una mezcla de preocupación por el negocio e interés en las personas involucradas. El reto del gerente es conciliar la realización del trabajo tal como interesa a la empresa, y la satisfacción del personal del equipo ya que los trabajadores descontentos no son productivos. Por ejemplo: el administrador debe mediar entre la empresa que puede querer que se utilice un lenguaje antiguo para asegurar la compatibilidad, y los ingenieros que requieren un lenguaje mas adecuado para incrementar su productividad. 
El administrador aseguran que los esfuerzos técnicos de los ingenieros vayan en la dirección adecuada. La solución es el liderazgo, esto es, la habilidad para extraer el deseo natural de los ingenieros de cooperar y participar de modo activo en un trabajo exitoso. Los administradores tienen diferente diferente grado de responsabilidad administrativa dependiendo de la magnitud del proyecto: En los proyectos grandes las responsabilidades de los lideres son administradores, mientras que en los proyectos pequeños son fundamentalmente técnicas. 
Perspectiva del ingeniero: Los ingenieros desean sobre todo trabajos interesantes y oportunidades para mostrar que son competentes, desean ser reconocidos, recompensados y tener una cordial relación con los otros compañeros del equipo.



La administración de proyectos de ingeniería de software esta basada en los principios y funciones básicas de la administración clásica.





IMPORTANTE:
Además de ser un administrador, un gerente de proyectos también debe tener un sólido conocimiento de ingeniería de software.

jueves, 23 de mayo de 2013

EL PROCESO DE SOFTWARE


El proceso de Ingeniería del Software se basa en modelos, métodos y herramientas que sirven como una guía para los ingenieros del software durante el proceso de desarrollo, con la finalidad de mejorar la calidad de los proyectos, procesos y productos mediante la evaluación y medición de los mismos.


Ese proceso de creación de software puede llegar a ser muy complejo, dependiendo de su porte, características y criticidad del mismo. Por ejemplo la creación de un sistema operativo es una tarea que requiere proyecto, gestión, numerosos recursos y todo un equipo disciplinado de trabajo. En el otro extremo, si se trata de un sencillo programa (ejemplo: resolución de una ecuación de segundo orden), éste puede ser realizado por un solo programador (incluso aficionado) fácilmente. Es así que normalmente se dividen en tres categorías según su tamaño (líneas de código) y/o costo: de Pequeño, Mediano y Gran porte. Existen varias metodologías para estimarlo, una de las más populares es el sistema COCOMO que provee métodos y un software (programa) que calcula y provee una estimación de todos los costos de producción en un "proyecto software" (relación horas/hombre, costo monetario, cantidad de líneas fuente de acuerdo a lenguaje usado, etc.).



Considerando los de gran porte, es necesario realizar tantas y tan complejas tareas, tanto técnicas, de gerenciamiento, fuerte gestión y análisis diversos (entre otras) que toda una ingeniería hace falta para su estudio y realización: es la Ingeniería de Software.


viernes, 17 de mayo de 2013

INGENIERIA DE SISTEMAS

Es un modo de enfoque interdisciplinario que permite estudiar y comprender la realidad, con el propósito de implementar u optimizar sistemas complejos.
Es la aplicación de  las ciencias matemáticas y físicas para desarrollar sistemas que utilicen económicamente los materiales y fuerzas de la naturaleza para el beneficio de la humanidad.
CAMPOS RELACIONADOS.
Podrían estar considerados con estrechas vinculaciones a la ingeniería de sistemas . Muchas de estas áreas han contribuido al desarrollo de la ingeniería de sistemas como área independiente.
Implicaciones.

Económicamente: contribuyo a una octava parte de todo el incremento de PIB (producto interno bruto) durante la década de 1990.
Socialmente: cambia la cultura del mundo debido al extendido uso de la computadora.

metodología

Un objetivo de décadas a sido el encontrar procesos y metodologías, que sean sistemáticas, predecibles y repetibles, a fin de mejorar la productividad en el desarrollo y la calidad del producto software.

Arquitectura de la ingeniería de software
  • Diagrama de clases
  • Diagrama d base de datos
  • Diagrama de despliegue
  • Diagrama de secuencia 


martes, 7 de mayo de 2013

Rogelio Guerrero - Ingenieria del Software

Ingeniería del Software

Ofrece métodos y técnicas para desarrollar y mantener software. Esta ingeniería trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo:

    • Equipos informáticos: ordenadores (computadoras, Tablets, Smartphone ), periféricos.
    • El software (programas) de dichos equipos: Sistemas Operativos, Aplicaciones.
    • Los usuarios y administradores: las personas que utilizan dicho sistema y las que se encargan de que funcione.
    • Las relaciones entre todos estos elementos: esto incluye las políticas de uso de los mismos.

    Objetivo de la Ingeniería del software

    La Ingeniería de Software (SW) tiene como objetivo brindar un marco de trabajo para la obtención de un SW de alta calidad. 

    Principales áreas de estudio y/o investigación:
    • Métodos y Metodologías de Desarrollo de Software.
    • Procesos de Desarrollo de Software.
    • Gestión de Proyectos de Software.
    • Medición y Estimación de Software.
    • Ingeniería de Requisitos / Requerimientos.                                             
    • Ingeniería de Software Empírica.
    • Gestión de Riesgos.
    • Usabilidad de Software.
    • Evaluación de Software.
    • Métricas de Software.
    • Calidad de Software.
    • Métodos Formales.
    • Ingeniería Web.
           INGENIERIA.
            Esto quiere decir que, a través de técnicas, diseños y modelos, y con el conocimiento proveniente de las ciencias, la ingeniería puede resolver problemas y satisfacer necesidades humanas.
            La ingeniería también supone la aplicación de la inventiva y del ingenio para desarrollar una cierta actividad. Esto, por supuesto, no implica que no se utilice el método científico para llevar a cabo los planes.

            Autor: ROgelio Guerrero.


    sábado, 4 de mayo de 2013

    INGENIERÍA DE SOFTWARE

    CONCEPTO.- La ingeniería de software es una disciplina formada por un conjunto de métodos, herramientas y técnicas que se utilizan en el desarrollo de los programas informáticos (software).
    Esta disciplina trasciende la actividad de programación, que es el pilar fundamental a la hora de crear una aplicación. El ingeniero de software se encarga de toda la gestión del proyecto para que éste se pueda desarrollar en un plazo determinado y con el presupuesto previsto.





    Un campo directamente relacionado con la ingeniería de software es la arquitectura de sistemas, que consiste en determinar y esquematizar la estructura general del proyecto, diagramando su esqueleto con un grado relativamente alto de especificidad y señalando los distintos componentes que serán necesarios para llevar a cabo el desarrollo, tales como aplicaciones complementarias y bases de datos. Se trata de un punto fundamental del proceso, y es muchas veces la clave del éxito de un producto informático.

    OBJETIVOS.-
            Ø       Mejorar la Calidad a ser Usable.
      Ø Organizar la eficacia, eficiencia de los productos utilizados por los usuarios.
            Ø Diseñar aplicaciones informáticas.


    ANÁLISIS PERSONAL.-

    Ingeniería de software nos permite desarrollar y mantener software de calidad que resuelve problemas de todo tipo.



    Autor. Rogelio Guerrero.