You are on page 1of 11

1.1 EL SOFTWARE.

El software es un conjunto de programas, instrucciones y reglas informticas que


permiten ejecutar distintas tareas en una computadora.

Se considera que el software es el equipamiento lgico e intangible de un


ordenador. En otras palabras, el concepto de software abarca a todas
las aplicaciones informticas, como los procesadores de textos, las planillas de
clculo y los editores de imgenes.

El software es desarrollado mediante distintos lenguajes


de programacin, que permiten controlar el
comportamiento de una mquina. Estos lenguajes
consisten en un conjunto de smbolos y reglas
sintcticas y semnticas, que definen el significado de
sus elementos y expresiones. Un lenguaje de programacin permite a los
programadores del software especificar, en forma precisa, sobre qu datos debe
operar una computadora.

Dentro de los tipos de software, uno de los ms importantes es el software de


sistema o software de base, que permite al usuario tener el control sobre
el hardware (componentes fsicos) y dar soporte a otros programas informticos.
Los llamados sistemas operativos, que comienzan a funcionar cuando se enciende
la computadora, son software de base.
Cmo se crea un software?

Un programador informtico o varios programadores informticos escriben


las instrucciones utilizando un lenguaje de programacin que le dice al
software cmo tiene que trabajar. Una vez que este programa ha sido
completado se compila en un lenguaje que el ordenador pueda comprender.

Ejemplos de tipos de software

SOFTWARE EJEMPLO

Antivirus AVG

Audio / Programa de msica iTunes

Base de datos Access

Controladores de dispositivo Controladores computacionales

E-mail Outlook

Juego World of Warcraft

Navegador de internet Firefox

Reproductor de pelculas VLC

Sistema operativo Windows XP

Software es todo el conjunto de programas, procedimientos y rutinas asociadas


con el funcionamiento de un sistema informtico, incluyendo el sistema
operativo. El software es escrito por los programadores en una variedad de
lenguajes de programacin, esta escritura se conoce como cdigo fuente, el cual
debe ser traducido por medio de un compilador a lenguaje de mquina para que la
computadora lo pueda entender y ejecutar.

Caractersticas del Software

El software tiene tres caractersticas principales:


1) Caractersticas operativas
2) Caractersticas de transicin
3) Caractersticas de revisin

Caractersticas operativas del Software

Son factores de funcionalidad, es como se presenta el software, es la


parte exterior del mismo. Incluye aspectos como:

Correccin: El software que estamos haciendo debe satisfacer todas las


especificaciones establecidas por el cliente.

Usabilidad / Facilidad de aprendizaje: Debe ser sencillo de aprender.

Integridad: Un software de calidad no debe tener efectos secundarios.

Fiabilidad: El producto de software no debera tener ningn defecto. No slo esto,


no debe fallar mientras la ejecucin.

Eficiencia: Forma en que el software utiliza los recursos disponibles. El software


debe hacer un uso eficaz del espacio de almacenamiento y el comando ejecutar
segn los requisitos de tiempo deseados.

Seguridad: Se deben tomar medidas apropiadas para mantener los datos a salvo
de las amenazas externas

Caractersticas de transicin del Software


Interoperabilidad: Es la capacidad para el intercambio de informacin con otras
aplicaciones.

Reutilizacin: Es poder utilizar el cdigo de software con algunas modificaciones


para diferentes propsitos.

Portabilidad: Capacidad para llevar a cabo las mismas funciones en todos los
entornos y plataformas.

Caractersticas de revisin de Software

Son los factores de ingeniera, la calidad interior del software como la eficiencia,
la documentacin y la estructura. Incluye aspectos como:

Capacidad de mantenimiento: El mantenimiento del software debe ser fcil para


cualquier tipo de usuario.

Flexibilidad: Los cambios en el software debe ser fcil de hacer.

Extensibilidad: Debe ser fcil de aumentar nuevas funciones.

Escalabilidad: Debe ser muy fcil de actualizar para ms trabajo.

Capacidad de prueba: Prueba del software debe ser fcil.

Modularidad: Debe estar compuesto por unidades y mdulos independientes entre


s.
1.2 FACTORES DE CALIDAD.

Entre los factores que Determinan la Calidad existen dos tipos de factores:

Factores que pueden ser medidos directamente (errores/KLDC/unidad de


tiempo).

Factores que solo pueden ser medidos indirectamente (la facilidad de uso o de
mantenimiento).

En ambos casos se puede medir la calidad, debemos comparar el software


(documentos, programas, etc.) con alguna referencia y llegar a una indicacin
de calidad.

Factores de Calidad segn McCall

PUNTO DE VISTA FACTOR


Mantenibilidad

REVISIN DEL PRODUCTO Flexibilidad

Testeabilidad

Portabilidad

TRANSICIN DEL PRODUCTO Reusabilidad

Interoperabilidad

Correctitud

Confiabilidad

OPERACIN DEL PRODUCTO Eficiencia

Integridad

Usabilidad

Factores de Calidad segn Boehm


El modelo que presenta Boehm presenta una jerarqua de caractersticas donde
cada una de ellas contribuye a la calidad global. Dentro de los factores que se
describen en el modelo se toman muchos de los que propone McCall. Parte de
la estructura del modelo de Boehm se presenta en la siguiente figura, se hace
nfasis en los factores presentes en dicho modelo. En total el modelo de
Boehm presenta siete factores:

Factores de Calidad segn ISO 9126


Es un modelo jerrquico con seis atributos especiales.
Segn Juran (1992), la calidad, para poder ser entendida de una mejor
manera y posteriormente ser medida con eficacia, debe ser expresada
por medio de otros trminos que tengan ms sentido para el usuario. En
el caso del software. Estos factores son el medio por el cual se traduce el
trmino calidad al lenguaje de las personas que manejan la tecnologa.
Los factores de calidad que afectan a la calidad del software se dividen
en dos grandes grupos:

Los que miden directamente (defectos descubiertos en las


pruebas).

Los que se miden directamente (facilidad de uso o de


mantenimiento).

En cada caso debe presentarse una medicin. Se debe comparar el


software con algn conjunto de datos y obtener as algn indicio sobre la
calidad. McCall, Richards & Walters (1977), propusieron una clasificacin
de los factores que afectan directamente a la calidad del software. Estos
factores se muestran en la figura 2.30 En ella se concentran tres
aspectos importantes de un software:

Caractersticas operativas.

Capacidad para experimentar cambios.

Capacidad para adaptarse a nuevos entornos.

A continuacin se describen los factores que propone McCall, Richards &


Walters.

Correccin.

El grado en que el programa cumple con su especificacin y satisfacer


los objetivos que propuso el cliente.

Confiabilidad.

El grado en que se esperara que un programa desempea su funcin


con la precisin requerida.
Eficiencia.

La cantidad de cdigo y de recursos de cmputo necesarios para que un


programa realice su funcin.

Integridad.

El grado de control sobre el acceso al software o los datos por parte de


las personas no autorizadas.

Facilidad de uso.

El esfuerzo necesario para aprender, operar y preparar los datos de


entrada de un programa interpretan la salida.

Facilidad de mantenimiento.

El esfuerzo necesario para localizar y corregir un error en un programa.

Flexibilidad.

El esfuerzo que demanda probar un programa con el fin de asegurar que


realiza su funcin.

Portabilidad.

El esfuerzo necesario para transferir el programa de un entorno de


hardware o software a otro.

Facilidad de reutilizacin.

El grado en que un programa o partes de l pueden reutilizarse en otras


aplicaciones(en relacin con el empaquetamiento y el alcance de las
funciones que realiza el programa)
1.3 PRINCIPALES PROBLEMAS EN EL DESARROLLO DE SOFTWARE.

Relativos a las Personas


1. Motivacin inadecuada. El equipo no est suficiente o adecuadamente
motivado.
2. Personal inadecuado. Las personas no estn preparadas adecuadamente
para el proyecto.
3. Inadecuada gestin de los empleados problemticos. No se gestiona
correctamente el impacto de los empleados problemticos en el resto del equipo ni
en el proyecto.
4. Heroicidades. Surgen hroes que son los que se echan a la espalda el
proyecto ignorando al resto.
5. Incorporar ms personas a un proyecto retrasado. Un caso clsico, lo
que se consigue es que el proyecto se retrase an ms debido a la curva de
aprendizaje y a la dedicacin del personal actual a formarlos.
6. Oficinas abarrotadas y ruidosas. Baja la productividad y entorpece el
desarrollo del proyecto.
7. Roces entre los desarrolladores y el cliente
8. Expectativas poco realistas. Llevan a que haya roces entre el cliente y los
desarrolladores.
9. Falta de un patrocinador del proyecto eficaz
10. Falta de compromiso por parte de los interesados
11. Falta de participacin del usuario
12. Anteponer decisiones polticas sobre el objetivo del proyecto
13. Pensamiento ilusorio. Actuar pensando lo que nos gustara que ocurriese
en lugar de pensar en lo que es ms probable que suceda.

Relativos al Proceso
14. Planificaciones excesivamente optimistas
15. Gestin de los riesgos insuficiente
16. Fallo de los proveedores
17. Planificacin insuficiente
18. Abandono de la planificacin bajo presin
19. Desperdiciar el tiempo antes del kickoff del proyecto
20. Acortar las tareas de alto nivel. Generalmente las tareas que no generan
cdigo pero que su reduccin tiene un impacto importante en las fases posteriores.
21. Diseo inadecuado
22. Reduccin de las tareas de control de la calidad
23. Insuficientes controles desde la direccin del proyecto. Se establecen
desde la direccin del proyecto pocos controles que permitan detectar los
problemas a tiempo y realizar acciones correctivas.
24. Se prepara el producto para su liberacin demasiado pronto o
demasiadas veces. Se realizan las tareas de pruebas de rendimiento, impresin de
la documentacin final, etc. demasido pronto o con demasiada frecuencia.
25. Omitir tareas de estimacin necesarias
26. Planificar pensando en que recuperaremos el retraso acumulado ms
tarde. Si en el primer hito de entrega nos retrasamos 1 mes, volvemos a planificar
pensando que ese tiempo lo recuperaremos ms tarde.
27. Programar a cualquier precio. Se piensa que codificar a cualquier precio
es un mtodo ms rpido de desarrollo, hecho que se demuestra que es un error.

Relativos al Producto
28. Aadir requisitos no solicitados por el cliente. Conocido como gold-
plating.
29. Corrupcin del alcance. Aadir, cambiar, modificar contnuamente los
requisitos del proyecto sin importar en que fase del desarrollo nos encontremos.
30. Los desarrolladores aaden caractersticas no solicitadas. Durante la
codificacin se aaden caractersticas que no se solicitaron por parte del cliente.
31. Negociaciones de tira y afloja. Se concede un retraso en la planificacin
(asumiendo un error en la misma) pero a cambio se aaden nuevos requisitos (por
lo que se comente un nuevo error).
32. Desarrollo enfocado a la investigacin. Cuando el proyecto debe
desarrollar algoritmos o mtodos que nunca antes se han utilizado en lugar de
desarrollo de software estamos en una investigacin y las estimaciones de las
investigaciones no estn tan claras ni definidas.

Relativos a la Tecnologa
33. Soluciones mgicas (silver-bullet). Confiar demasiado en que una nueva
tecnologa, metodologa, lenguaje, plataforma, etc. resolver grandes problemas de
un plumazo.
34. Sobreestimacin del ahorro por la utilizacin de nuevas herramientas
o mtodos. Obtener el mximo rendimiento de una nueva herramienta o mtodo
lleva un tiempo entre que aprendemos a usarlo (curva de aprendizaje) y lo usamos
de la forma correcta.
35. Cambiar las herramientas en mitad del proyecto
36. Falta de automatizacin del control del Cdigo Fuente

You might also like