DOCUMENTACION DE SOFTWARE MANUALES
Ingeniería de Software - Manual de Usuario/Técnico.
Ingeniería de Software.
Ingeniería de software, disciplina relacionada con el desarrollo de productos de soporte lógico o software. Un producto de software
es el conjunto completo de programas informáticos, procedimientos,
documentación y datos especificados para su suministro a un cliente; el
desarrollo se ocupa de todas las actividades técnicas y de la gestión
necesaria para crear el producto, y realizar el desarrollo eficazmente
significa cumplir las necesidades del cliente ajustándose a unos límites
de tiempo, coste y calidad.
Metodología.
Un
objetivo de décadas ha 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.
Etapas del proceso.
La ingeniería de software requiere llevar a cabo numerosas tareas, dentro de etapas como las siguientes:
- Análisis de requerimientos.
Extraer
los requisitos y requerimientos de un producto de software es la
primera etapa para crearlo. La captura, análisis y especificación de
requerimientos (incluso pruebas de ellos), es una parte crucial; de esta
etapa depende en gran medida el logro de los objetivos finales.
La
IEEE Std. 830-1998 normaliza la creación de las Especificaciones de
Requerimientos de Software (Software Requirements Specification).
- Especificación.
La
Especificación de Requisitos describe el comportamiento esperado en el
software una vez desarrollado. Gran parte del éxito de un proyecto de
software radicará en la identificación de las necesidades del negocio
(definidas por la alta dirección), así como la interacción con los
usuarios funcionales para la recolección, clasificación, identificación,
priorización y especificación de los requisitos del software.
Entre las técnicas utilizadas para la especificación de requisitos se encuentran:
Casos de Uso.
Historias de usuario.
Siendo las primeras más rigurosas y formales, las segundas más ágiles e informales.
El análisis y especificación de requisitos es donde se establece qué debe lograr el producto de software.
- Arquitectura o diseño.
La
integración de infraestructura, desarrollo de aplicaciones, bases de
datos y herramientas gerenciales, requieren de capacidad y liderazgo
para poder ser conceptualizados y proyectados a futuro, solucionando los
problemas de hoy. El rol en el cual se delegan todas estas actividades
es el del Arquitecto. El Arquitecto de Software es la persona que añade
valor a los procesos de negocios gracias a su valioso aporte de
soluciones tecnológicas. La Arquitectura de Sistemas en general, es una
actividad de planeación, ya sea a nivel de infraestructura de red y
hardware, o de Software. La Arquitectura de Software consiste en el
diseño de componentes de una aplicación (entidades del negocio),
generalmente utilizando patrones de arquitectura. El diseño
arquitectónico debe permitir visualizar la interacción entre las
entidades del negocio y además poder ser validado, por ejemplo por medio
de diagramas de secuencia. Un diseño arquitectónico describe en general
el cómo se construirá una aplicación de software. Para ello se
documenta utilizando diagramas, por ejemplo:
Diagramas de clases
Diagramas de base de datos
Diagramas de despliegue plegados
Siendo
los dos primeros los mínimos necesarios para describir la arquitectura
de un proyecto que iniciará a ser codificado. Depende del alcance del
proyecto, complejidad y necesidades, el arquitecto elige qué diagramas
elaborar. Entre las herramientas para diseñar arquitecturas de software
se encuentran:
Enterprise Architect
Microsoft Visio for Enterprise Architects
- Programación.
Reducir
un diseño a código puede ser la parte más obvia del trabajo de
ingeniería de software, pero no necesariamente es la que demanda mayor
trabajo y ni la más complicada. La complejidad y la duración de esta
etapa está íntimamente relacionada al o a los lenguajes de programación
utilizados, así como al diseño previamente realizado.
- Prueba.
Consiste
en comprobar que el software realice correctamente las tareas indicadas
en la especificación del problema. Una técnica de prueba es probar por
separado cada módulo del software, y luego probarlo de forma integral,
para así llegar al objetivo. Se considera una buena práctica el que las
pruebas sean efectuadas por alguien distinto al desarrollador que la
programó, idealmente un área de pruebas; sin perjuicio de lo anterior el
programador debe hacer sus propias pruebas. En general hay dos grandes
formas de organizar un área de pruebas, la primera es que esté compuesta
por personal inexperto y que desconozca el tema de pruebas, de esta
forma se evalúa que la documentación entregada sea de calidad, que los
procesos descritos son tan claros que cualquiera puede entenderlos y el
software hace las cosas tal y como están descritas. El segundo enfoque
es tener un área de pruebas conformada por programadores con
experiencia, personas que saben sin mayores indicaciones en qué
condiciones puede fallar una aplicación y que pueden poner atención en
detalles que personal inexperto no consideraría.
- Documentación.
Todo
lo concerniente a la documentación del propio desarrollo del software y
de la gestión del proyecto, pasando por modelaciones, casos de uso
diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo
con el propósito de eventuales correcciones, usabilidad, mantenimiento
futuro y ampliaciones al sistema.
- Mantenimiento.
Mantener
y mejorar el software para enfrentar errores descubiertos y nuevos
requisitos. Esto puede llevar más tiempo incluso que el desarrollo
inicial del software. Alrededor de 2/3 de toda la ingeniería de software
tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo
consiste en arreglar errores, o bugs.
La mayor parte consiste en extender el sistema para hacer nuevas cosas.
De manera similar, alrededor de 2/3 de toda la ingeniería civil,
arquitectura y trabajo de construcción es dar mantenimiento.
Modelos de desarrollo de software.
La
ingeniería de software tiene varios modelos, paradigmas o filosofías de
desarrollo en los cuales se puede apoyar para la realización de
software, de los cuales podemos destacar a éstos por ser los más
utilizados y los más completos:
Modelo en cascada o Clásico (modelo tradicional): es el enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior.
Modelo de prototipos: El
prototipo debe ser construido en poco tiempo, usando los programas
adecuados y no se debe utilizar mucho dinero pues a partir de que éste
sea aprobado nosotros podemos iniciar el verdadero desarrollo del
software.
Modelo en espiral: Las
actividades de este modelo se conforman en una espiral, en la que cada
bucle o iteración representa un conjunto de actividades. Las actividades
no están fijadas a priori, sino que las siguientes se eligen en función
del análisis de riesgo, comenzando por el bucle interior.
Desarrollo por etapas:
El modelo de desarrollo de software por etapas es similar al Modelo de
prototipos ya que se muestra al cliente el software en diferentes
estados sucesivos de desarrollo, se diferencia en que las
especificaciones no son conocidas en detalle al inicio del proyecto y
por tanto se van desarrollando simultáneamente con las diferentes
versiones del código.
Desarrollo iterativo y creciente o Iterativo e Incremental:
creado en respuesta a las debilidades del modelo tradicional de
cascada. Para apoyar el desarrollo de proyectos por medio de este modelo
se han creado frameworks (entornos de trabajo), de los cuales los dos
más famosos son el Rational Unified Process y el Dynamic Systems
Development Method. El desarrollo incremental e iterativo es también una
parte esencial de un tipo de programación conocido como Extreme
Programming y los demás frameworks de desarrollo rápido de software.
RAD (Rapid Application Development):
El método comprende el desarrollo iterativo, la construcción de
prototipos y el uso de utilidades CASE (Computer Aided Software
Engineering). Tradicionalmente, el desarrollo rápido de
aplicaciones tiende a englobar también la usabilidad, utilidad y la
rapidez de ejecución.
Proceso Unificado: es
un marco de desarrollo de software que se caracteriza por estar
dirigido por casos de uso, centrado en la arquitectura y por ser
iterativo e incremental.
RUP (Proceso Unificado de Rational):
es un proceso de desarrollo de software y junto con el Lenguaje
Unificado de Modelado UML, constituye la metodología estándar más
utilizada para el análisis, implementación y documentación de sistemas
orientados a objetos.
Desarrollo concurrente.
Manual De Usuario.
Un
manual de usuario se trata de una guía que ayuda a entender el
funcionamiento de algo. Es un documento de comunicación técnica que
busca brindar asistencia a los sujetos que usan un sistema o servicio.
Elaboración del Manual De Usuario.
Pasos del manual del usuario:
1. Portada: De que se trata el documento y ¿quién lo elaboro?
2. Introducción: Describe el uso del documento (¿para qué sirve?) y ¿de qué habla?
3. Análisis y requerimientos del sistema (¿que se ocupa para poder instalarlo y usarlo?)
3. Explicación del funcionamiento: Debes de poner paso a paso y con pantallas bien explicadas cómo funciona el programa
4. Glosario
Debe ser escrito de tal manera, que cualquier persona pueda entenderlo con la menor dificultad posible.
Es recomendable, detallar todos aquellos pasos que se llevan a cabo para usar el programa.
Especificar los alcances y las limitaciones que tiene el programa.
Un
buen punto de partida para un manual de usuario, es hacer de cuenta que
las personas que lo van a leer no tienen el más mínimo conocimiento
sobre computadores.
Manual Técnico.
Este
documento contiene toda la información sobre los recursos utilizados
por el proyecto, llevan una descripción muy bien detallada sobre las
características físicas y técnicas de cada elemento. Por ejemplo:
características de procesadores, velocidad, dimensiones del equipo,
garantías, soporte, proveedores y equipo adicional.
Su
extensión depende de la cantidad de recursos y equipo utilizado y
generalmente se presenta en forma de fichas técnicas en donde se
describe en cada una las características de cada recurso.
Elaboración del Manual Técnico.
Un
manual técnico es aquel que va dirigido a un público con conocimientos
técnicos sobre algún área, mientras que, por ejemplo, un manual de
usuario va dirigido a un público más general, el cual no necesariamente
debe tener conocimientos específicos en el área de interés.
En este caso el manual técnico, debe incluir:
- Paradigma de programación seleccionado y sus beneficios.
- Lenguaje de programación seleccionado y sus beneficios frente a otros lenguajes.
- Estandarización de código utilizada.
- Diseño del sistema.Fuente: http://blogparaentregartareas.blogspot.com/2011/04/ingenieria-de-software-manual-de.html
Comentarios
Publicar un comentario