Upload
raul-yachi
View
34
Download
0
Embed Size (px)
Citation preview
TÉCNICAS DE DOCUMENTACIÓN Y
ARCHIVO
Ing. MSc. CELEDONIO MENDEZ VALDIVIA
UNIVERSIDAD NACIONAL DE INGENIERÍA
1
Contenido
1. Conceptos fundamentales
2. Consideraciones de software y hardware
3. Factores de calidad y productividad
4. Técnicas de Documentación
5. Problemas y soluciones en la
administración de software
1
CONCEPTOS
FUNDAMENTALES
¿Qué es el Software?
“Es el conjunto de los
programas de cómputo,
procedimientos, reglas,
documentación y datos
asociados que forman
parte de las operaciones
de un sistema de
computación”
Fuente: estándar 729 del IEEE
Aplicaciones de Software
Software de Sistema
Software de Tiempo Real
Software de Negocios
Software de Ingeniería/Científico
Software Incrustrado
Software de PC
Software de IA
Aplicaciones Web
Perspectiva histórica del
desarrollo de software
Década 50-60: “Software como un añadido”.
Desarrollo artesanal, a medida.
Lenguajes de bajo nivel.
Década 60-70: Software como producto.
Década lenguajes y compilación.
“Crisis del software”.
Perspectiva histórica del
desarrollo de software
Década 70-80: Programación estructurada.
Ingeniería del Software.
Primeros métodos estructurados.
Década 80-90:
Nuevos paradigmas de programación y de
producción de programas:
• OO
• C/S
Perspectiva histórica del
desarrollo de software
90’s - actualidad:
Análisis/Diseño OO.
Tecnología CASE
Componentes y reutilización
Interoperabilidad (CORBA, .NET...)
Internet
• ISw. distribuida
• repositorios de componentes reutilizables
• e-business; e-commerce
2
CONSIDERACIONES DEL
HARDWARE Y SOFTWARE
Consideraciones del
hardware y software
• El software es un elemento del sistema que
es lógico, en lugar de físico.
• El software se desarrolla no se fabrica en
un sentido clásico.
• La mayoría del software se construye a
medida.
• Se usa en forma integral (todo o nada)
Factores de calidad y
productividad
Basili y Zelkowitz definen cinco factores importantes
que inciden en la productividad del software:
• Factores humanos: El tamaño y la
experiencia de la organización de desarrollo.
• Factores del problema: La complejidad del
problema que se debe resolver y el número de
cambios en las restricciones o los requisitos del
diseño.
• Factores del proceso: Técnicas del
análisis y diseño qué se utilizan, lenguajes y
herramientas CASE y técnicas de revisión.
• Factores del producto: Fiabilidad y
rendimiento del sistema basado en computadora.
Factores de calidad y
productividad
• Factores del recurso: Disponibilidad de
herramientas CASE, y recursos (hardware y
software).
Factores de calidad y
productividad
Fiable
Capacidad de ofrecer los mismos resultados
bajo las mismas condiciones.
Eficiente
Utilización óptima de los recursos de la
máquina.
Atributos de calidad del software:
Robusto
No poseer un comportamiento catastrófico
ante situaciones excepcionales
(Tolerante a fallos).
Correcto
Se ajusta a las especificaciones dadas por el
usuario.
Atributos de calidad del software:
PortableCapaz de integrarse en entornos distintos con el
mismo esfuerzo.
Adaptable (extensibilidad)Modificar alguna función sin que afecte a sus
actividades.
Atributos de calidad del software:
Inteligible
Diseño claro, bien estructurado y documentado.
No Erróneo
No exista diferencia entre los valores reales y
los calculados
Reutilizable (reusabilidad)
Atributos de calidad del software:
3
FACTORES DE CALIDAD DEL
SOFTWARE
Factores para la calidad del
software:
El objetivo primordial de la ingeniería del software es:
“Producir un sistema, aplicación o producto de alta calidad”
Para lograr este objetivo, los
ingenieros de software
deben aplicar métodos
efectivos junto con
herramientas modernas
dentro del contexto de un
proceso maduro de
desarrollo del software.
Factores para la calidad del
software:
La calidad de un sistema, aplicación o producto
es tan bueno como:
Los requisitos que describen el problema,
El diseño que modela la solución
El código que conduce a un programa
ejecutable, y
Las pruebas de los programas para detectar
errores.
Factores para la calidad del
software:
Un buen ingeniero del software utiliza mediciones
que evalúan la calidad del análisis y los modelos
de diseño, el código fuente y los casos de prueba
que se han creado al aplicar ingeniería del
software.
Para lograr esta evaluación de la calidad, el
ingeniero debe utilizar medidas técnicas que
evalúan la calidad con objetividad, no con
subjetividad.
Factores para la calidad del
software:
El gestor de proyectos también debe evaluar la
calidad objetivamente, y no subjetivamente.
A medida que el proyecto progresa el gestor del
proyecto también debe evaluar la calidad.
Las métricas privadas recopiladas por ingenieros
del software se asimilan para proporcionar
resultados en los proyectos.
Factores para la calidad del
software:
Aunque se pueden recopilar muchas medidas de
calidad, el primer objetivo en el proyecto es medir
errores y defectos.
Las métricas que provienen de estas medidas
proporcionan una indicación de la efectividad de
las actividades de control y de la garantía de
calidad del conjunto o de alguna de las partes
Factores para la calidad del
software:
Los errores detectados por hora de revisión y los
errores detectados por hora de prueba proporcionan
una visión profunda de la eficacia de cada una de
las actividades implicadas en la métrica.
Factores para la calidad del software:
Visión general de los factores que afectan a la
calidad:
En las dos décadas pasadas, McCall y Cavano
definieron un juego de factores de calidad como los
primeros pasos hacia el desarrollo de métricas de
la calidad del software.
Estos factores evalúan el software desde tres
puntos de vista distintos:
Factores para la calidad del software:
• Operación del producto (utilizándolo).
• Revisión del producto (cambiándolo).
• Transición del producto (modificándolo para
que funcione en un entorno diferente, por
ejemplo «portándolo».
La relación entre estos factores de calidad es lo
que se llama un «marco de trabajo».
Factores para la calidad del
software:
El marco de trabajo proporciona un mecanismo para
que el gestor del proyecto identifique lo que
considera importante.
Estas cualidades son atributos del software, además
de su corrección y rendimiento funcional, que tiene
implicaciones en el ciclo de vida.
En otros factores, como son facilidad de
mantenimiento y transportabilidad, se ha demostrado
que tienen un impacto significativo en el costo del
ciclo de vida...
Factores de calidad del software
MARCO DE TRABAJO
En segundo lugar, el marco
de trabajo proporciona un
medio de evaluar
cuantitativamente lo bien
que va progresando el
desarrollo en relación con
los objetivos de calidad
establecidos.
Factores de calidad del software
MARCO DE TRABAJO
En tercer lugar, el marco de trabajo proporciona
más interacción del personal de calidad en el
esfuerzo de desarrollo.
Factores de calidad del software
MARCO DE TRABAJO
Por último, el personal de garantía de calidad
puede utilizar indicaciones de calidad pobre
para ayudar a identificar estándares
[mejores] a contrastar en el futuro.
Factores para la calidad del
software:
Aunque hay muchas medidas
de la calidad de software, la
corrección, facilidad de
mantenimiento integral y
facilidad de uso proporcionan
indicadores útiles para el
equipo del proyecto.
Gilb sugiere definiciones y
medidas para cada uno de
ellos.
Factores para la calidad del software
Medida de la calidad:
Corrección:
Un programa debe operar
correctamente o
proporcionará poco valor a
sus usuarios.
La corrección es el grado en
el que el software lleva a
cabo su función requerida.
Factores para la calidad del
software:
Facilidad de mantenimiento:
El mantenimiento del software cuenta con más
esfuerzo que cualquier otra actividad de ingeniería
del software.
La facilidad de mantenimiento es la facilidad con la
que se puede corregir un programa si se encuentra
un error, se puede adaptar si su entorno cambia, o
mejorar si el cliente desea un cambio de requisitos.
Factores para la calidad del
software:
No hay forma de medir
directamente la facilidad
de mantenimiento; por
consiguiente, se deben
utilizar medidas indirectas.
Factores para la calidad del
software:
Integridad:
En esta época de intrusos informáticos y de virus,
la integridad del software ha llegado a tener mucha
importancia.
Este atributo mide la habilidad de un sistema para
resistir ataques (tanto accidentales como
intencionados) contra su seguridad.
El ataque se puede realizar en cualquiera de los
tres componentes del software: programas, datos y
documentos.
Factores para la calidad del software:
Para medir la integridad, se tienen que definir dos
atributos adicionales: amenaza y seguridad.
Amenaza es la probabilidad (que se puede estimar
o deducir de la evidencia empírica) de que un
ataque de un tipo determinado ocurra en un tiempo
determinado.
La seguridad es la probabilidad (que se puede
estimar o deducir de la evidencia empírica) de que
se pueda repeler el ataque de un tipo determinado.
Factores para la calidad del software:
Facilidad de uso:
El calificativo «amigable con el usuario» se ha
convertido en omnipresente en las discusiones
sobre productos de software.
Si un programa no es «amigable con el usuario»,
frecuentemente está abocado al fracaso, incluso
aunque las funciones que realice sean valiosas.
La facilidad de uso es un intento de cuantificar «lo
amigable que puede ser con el usuario»
Factores para la calidad del software:
4
DOCUMENTACIÓN DEL
SOFTWARE
Documentación de
software
• Recomendaciones para documentar
• Ejemplos de documentación
• Recomendaciones para documentación de
capacitación
En cuanto al Contenido
• Desde los procesos
– Definir los procesos, las actividades y las tareas.
– Elaborar diagramas
• Explicación del funcionamiento del software
Recomendaciones
respecto al Idioma
• Escribir en tercera persona
• Siempre debe estar identificado quién realiza
la acción, por ejemplo: el sistema, la opción,
el módulo, la pantalla, la ventana, el botón….
• No utilizar gerundios
• Verbos en presente
• No utilizar muletillas (de que, cual, etc.)
Capacitación
• Idioma sencillo
• Material complementario eficiente
• Definir claramente el objetivo de la
capacitación e identificar los logros a obtener
• Ejercicios o parte práctica
Herramientas de apoyo
• Las herramientas de apoyo documental le
permiten asegurar la integridad de la
información.
• Ayudas en línea, demos, manuales impresos,
guías rápidas, entre otras
5
PROBLEMAS Y SOLUCIONES
EN LA ADMINISTRACIÓN DE
SOFTWARE
Problemas y soluciones en la
administración de software
Thayer, Pyster y Wood sugirieron 20 áreas
potenciales, y pidieron a 294 individuos su
opinión respecto a la importancia de los
problemas, la naturaleza de éstos, ya fuera
técnica, gerencial o ambas, y sobre su
posible solución.
Problemas y soluciones en la
administración de software
problemas importantes en la administración fueron:
• La planeación de proyectos de programación es
generalmente pobre.
• Los procedimientos y las técnicas para la selección
de los gerentes de proyecto son pobres.
• La contabilidad en proyectos de programación es
pobre, cuestionando sobre quién es el responsable
de las diversas funciones del proyecto.
Problemas y soluciones en la
administración de software
• La capacidad para estimar correctamente los
recursos requeridos para completar un proyecto
de programación es pobre.
• Los criterios de éxito en el desarrollo de
proyectos son, con frecuencia, inapropiados;
esto repercute en productos de programación no
confiables, difíciles de usar y de mantener .
• No existen reglas de decisión para ayudar a la
selección de la adecuada organización
estructural.
• No existen reglas de decisión para ayudar a la
selección de las técnicas gerenciales más
correctas para los proyectos de programación.
• No siempre existen procedimientos, métodos y
técnicas para el diseño de un sistema de control
del proyecto que permita a los gerentes controlar
con éxito sus proyectos.
Problemas y soluciones en la
administración de software
• No siempre existen procedimientos, técnicas,
estrategias y ayuda que permitan vigilar el
avance real de un proyecto.
• No existen estándares y técnicas para medir la
calidad del desempeño y la cantidad de
producción esperada de los programadores y
analistas de procesamiento de datos.
Problemas y soluciones en la
administración de software