Anda di halaman 1dari 52

UNIDAD 1 Conceptos bsicos de Calidad

El estudiante comprender la importancia de la calidad para el desarrollo de


software.

1.1 Definicin de calidad

La calidad es una propiedad inherente de cualquier cosa que permite que esta
sea comparada con cualquier otra de su misma especie.

La palabra calidad tiene mltiples significados. La calidad de un producto o


servicio es la percepcin que el cliente tiene del mismo. Es una fijacin mental
del consumidor que asume conformidad con un producto o servicio
determinado, que solo permanece hasta el punto de necesitar nuevas
especificaciones. La calidad es un conjunto de propiedades inherentes a un
objeto que le confieren capacidad para satisfacer necesidades implcitas o
explcitas.

La calidad significa llegar a un estndar ms alto en lugar de estar satisfecho


con alguno que se encuentre por debajo de lo que se espera cumpla con las
expectativas. Tambin podra definirse como cualidad innata, caracterstica
absoluta y universalmente reconocida, aunque, en pocas palabras calidad es
hacer las cosas bien a la primera, es decir, que el producto salga bien al menor
costo posible. Es el resultado de una actitud enrgica y comprometida de
esfuerzos sinceros de una ejecucin talentosa.

Definicin de calidad

Propiedad inherente a una cosa que permite comprarla con la de su


especie.
Propiedad o conjunto de caractersticas de un elemento que le dotan de
una ventaja competitiva.
Es la totalidad de los rasgos y caractersticas de un producto o servicio
que se sustenta en su habilidad para satisfacer las necesidades
implcitas establecidas.

1
1.2 Definicin de calidad de Software

Que es la calidad del software?

La calidad del software es el conjunto de cualidades que lo caracterizan y que


determinan su utilidad y existencia. La calidad es sinnimo de eficiencia,
flexibilidad, correccin, confiabilidad, mantenibilidad, portabilidad, usabilidad,
seguridad e integridad.

La calidad del software es medible y vara de un sistema a otro o de un


programa a otro. Un software elaborado para el control de naves espaciales
debe ser confiable al nivel de "cero fallas"; un software hecho para ejecutarse
una sola vez no requiere el mismo nivel de calidad; mientras que un producto
de software para ser explotado durante un largo perodo (10 aos o ms),
necesita ser confiable, mantenible y flexible para disminuir los costos de
mantenimiento y perfeccionamiento durante el tiempo de explotacin.

La calidad del software puede medirse despus de elaborado el producto. Pero


esto puede resultar muy costoso si se detectan problemas deriva dos de
imperfecciones en el diseo, por lo que es imprescindible tener en cuenta tanto
la obtencin de la calidad como su control durante todas las etapas del ciclo de
vida del software.

Definicin de calidad de software

Concordancia con los requisitos funcionales y de rendimiento explcitamente


establecidos con los estndares de desarrollo explcitamente documentados y
con las caractersticas implcitas que se espera de todo software desarrollado
profesionalmente . R.S. Pressman (1992)

Como obtener un software de calidad?

La obtencin de un software con calidad implica la utilizacin de metodologas


o procedimientos estndares para el anlisis, diseo, programacin y prueba
del software que permitan uniformar la filosofa de trabajo, en aras de lograr
una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que
eleven la productividad, tanto para la labor de desarrollo como para el control
de la calidad del software.

La poltica establecida debe estar sustentada sobre tres principios bsicos:


tecnolgico, administrativo y ergonmico.

El principio tecnolgico define las tcnicas a utilizar en el proceso de desarrollo


del software.

2
El principio administrativo contempla las funciones de planificacin y control del
desarrollo del software, as como la organizacin del ambiente o centro de
ingeniera de software.

El principio ergonmico define la interfaz entre el usuario y el ambiente


automatizado.

La adopcin de una buena poltica contribuye en gran medida a lograr la


calidad del software, pero no la asegura. Para el aseguramiento de la calidad
es necesario su control o evaluacin.

Como controlar la calidad del software?

Para controlar la calidad del software es necesario, ante todo, definir los
parmetros, indicadores o criterios de medicin, ya que, como bien plantea
Tom De Marco, "usted no puede controlar lo que no se puede medir".

Las cualidades para medir la calidad del software son definidas por
innumerables autores, los cuales las denominan y agrupan de formas
diferentes. Por ejemplo, John Wiley define mtricas de calidad y criterios,
donde cada mtrica se obtiene a partir de combinaciones de los diferentes
criterios. La Metodologa para la evaluacin de la calidad de los medios de
programas de la CIC, de Rusia, define indicadores de calidad estructurados en
cuatro niveles jerrquicos: factor, criterio, mtrica, elemento de evaluacin,
donde cada nivel inferior contiene los indicadores que conforman el nivel
precedente. Otros autores identifican la calidad con el nivel de complejidad del
software y definen dos categoras de mtricas: de complejidad de programa o
cdigo, y de complejidad de sistema o estructura.

Todos los autores coinciden en que el software posee determinados ndices


medibles que son las bases para la calidad, el control y el perfeccionamiento de
la productividad.

Una vez seleccionados los ndices de calidad, se debe establecer el proceso de


control, que requiere los siguientes pasos:

Definir el software que va a ser controlado: clasificacin por tipo, esfera


de aplicacin, complejidad, etc., de acuerdo con los estndares
establecidos para el desarrollo del software.
Seleccionar una medida que pueda ser aplicada al objeto de control.
Para cada clase de software es necesario definir los indicadores y sus
magnitudes.
Crear o determinar los mtodos de valoracin de los indicadores:
mtodos manuales como cuestionarios o encuestas estndares para la
medicin de criterios periciales y herramientas automatizadas para medir
los criterios de clculo.

3
Definir las regulaciones organizativas para realizar el control: quines
participan en el control de la calidad, cundo se realiza, qu documentos
deben ser revisados y elaborados, etc.

A partir del anlisis de todo lo anterior, nuestro Centro se encuentra enfrascado


en un proyecto para el Aseguramiento de la Calidad del Software (ACS), vlido
para cualquier entidad que se dedique a la investigacin, produccin y
comercializacin del software, el cual incluye la elaboracin de un Sistema de
Indicadores de la Calidad del Software, la confeccin de una Metodologa para
el Aseguramiento de la Calidad del Software y el desarrollo de herramientas
manuales y automatizadas de apoyo para la aplicacin de las tcnicas y
procedimientos del ACS, de forma tal que se conforme un Sistema de
Aseguramiento de la Calidad del Software.

1.3 Quien define la calidad

El usuario define la calidad

Debe entenderse que el usuario es quien define la calidad; debiendo la


empresa complacer a los clientes, y no contentarse slo con librarlos de sus
problemas inmediatos, sino ir ms all para entender a fondo sus necesidades
presentes y futuras, a fin de sorprenderlos con productos y servicios que ni
siquiera imaginaban. Este conocimiento ya no debe ser slo del dominio
exclusivo de grupos especiales de una organizacin; sino que debe ser
compartido y desarrollado por todos los empleados.

Una empresa que define la calidad sin tomar en cuenta a los consumidores
corre con el riesgo de producir bienes y servicios con escasa o nula demanda,
ya sea porque los clientes tienen otras expectativas y necesidades, o bien
porque los competidores estn generando bienes con un mayor valor
agregado.

Por tales motivos es esencial para las empresas practicar tanto la investigacin
de mercado, como la inteligencia competitiva y el benchmarking.

Conocidos los deseos y necesidades de los consumidores, estos deben ser


traducidas en trminos cuantitativos y tangibles. Este proceso de traduccin no
es sencillo y requiere de la integracin de conocimientos de mercadotecnia con
ingeniera y administracin, para que las necesidades del consumidor y las
expectativas que desarroll durante el proceso de seleccin del producto,
puedan ser satisfechas completamente. Entre la tcnica ms importante para
tales fines tenemos el Despliegue de la Funcin de Calidad (QFD), el cual sirve
para realizar todo este proceso de traduccin, ayudando a que la voz del
cliente se despliegue a travs de toda la organizacin.

La funcin de despliegue de la calidad tiene como objetivo asegurar que se


cumplan las expectativas del cliente desde el diseo del producto, durante su
proceso de manufactura, y hasta que es utilizado por el consumidor. En
japons se le llama ten kai lo cul significa "despliegue", refirindose a la idea

4
de llevar las necesidades y expectativas del cliente expresados en su lenguaje
(voz del cliente) a todos los involucrados en la organizacin, e ir en cada etapa
"traducindolas" al lenguaje apropiado.

Quien define la calidad?

Los estndares o metodologas definen un conjunto de criterios de


desarrollo que guan la forma en que se aplica la ingeniera del software.

La calidad del software la define o avala una Gestin de la calidad del


software por ejemplo: ISO 9000, esto como poltica de calidad, se entiende
como un conjunto de actividades de la funcin general de la direccin que
determina la calidad, los objetivos, el control de la calidad.

1.4 La importancia de la calidad

El ofrecer atencin de buena calidad siempre ha sido una meta de los


programas de planificacin familiar: la buena atencin ayuda a los individuos y
a las parejas a cubrir sus necesidades de salud reproductiva en una forma
segura y eficaz. Recientemente, varias tendencias han convergido para asignar
una alta prioridad a la calidad.

Tanto los programas como los profesionales de salud estn procurando ofrecer
mejor atencin a ms personas. Crecientemente, los programas de
planificacin familiar estn estudiando formas de servir a una mayor cantidad
de clientes continuos y de prestarles mejores servicios, dado que la calidad de
los servicios suele influir en la toma de decisiones de las personas con
respecto al uso de planificacin familiar. Al mismo tiempo, los programas estn
procurando formas en las que puedan atraer a nuevos clientes, quienes suelen
ser ms incrdulos y estar ms preocupados con la calidad de atencin que los
clientes en el pasado. La calidad de atencin puede ser el factor decisivo para
las personas que desean evitar el embarazo, pero que estn indecisos con
respecto al uso de la anticoncepcin.

Aun ms empuje proviene de los movimientos relacionados con la salud de la


mujer y la atencin primaria a la salud, los cuales han defendido los derechos
de los clientes y rechazado previas estrategias para los servicios de
planificacin familiar que establecieron metas numricas. En el Programa de
Accin de la Conferencia internacional sobre la poblacin y el desarrollo
(CIPD), celebrada en 1994 en Cairo, se inst a que se prestara mayor atencin
a la calidad de atencin. Tambin se promovi un enfoque centrado en el
cliente para prestar servicios de planificacin familiar y otros servicios de salud
reproductiva.

Adems, las teoras de administracin y los mtodos para garantizar una alta
calidad que han sido ideados en la industria con el objetivo de prestar mejores
servicios al cliente, estn siendo aplicados al campo de la salud. Hoy en da,
los programas de salud y planificacin familiar en el mundo entero combinan

5
las estrategias convencionales para controlar la calidad en el campo de la
medicina, tales como requerir licencias, un mbito estndar y acreditacin, con
las filosofas industriales para el Proceso de Mejoramiento Continuo de la
Calidad (PMC) y la Total Quality Management (TQM) (Administracin Total de la
Calidad).

El movimiento de calidad en la planificacin familiar es joven, y sus mtodos


an estn en las etapas de desarrollo. Las definiciones bsicas an no han
sido estandarizadas. El movimiento de calidad es amplio, diverso y evolutivo.
Sin embargo, ya se cuenta con suficiente conocimiento y experiencia como
para que los profesionales de salud y gerentes en cada nivel puedan mejorar la
calidad de los servicios. Ms an, es evidente que las mejoras en la calidad no
tienen que costar mucho dinero. Independientemente del nivel de recursos en
los programas, la calidad siempre puede mejorarse. De hecho, el mejorar la
calidad de servicios suele ser un proceso rentable.

Importancia DE LA CALIDAD

Es importante por que producir un software con calidad produce beneficios


tanto para el usuario (clientes) como para los desarrolladores.

Un mala calidad en el producto provoca insatisfaccin y desconfianza del


cliente, adems de que baja la demanda y utilidades.

Qu Determina la Calidad?

Cliente o Usuario
Empresas Certificadoras.

Caractersticas de un producto de calidad

Eficaz
Moda
Novedoso
Innovador
Bsico
Gusto
Costo contenido
Presentacin
Seguridad.

Importancia de la calidad

Satisfaccin
Seguridad
Prestigios
Mejor servicio

6
Competitividad (nacional, internacional)
Eficiencia

Principios de la calidad de software

Objetivos

Se puede considerar que un software es de calidad si cumple con los


siguientes objetivos.
1. Concordancia en el Software de requerimientos el cliente desea que
el software satisfaga una seri de requisitos o metas iniciales. En caso de
no alcanzarlo el software carecer de calidad.
2. Desarrollo coherente aplicando correctamente los criterios de la
ingeniera de SW uno de los objetivos de la ingeniera de software es
mejorar la calidad atravs de una metodologa correcta y apropiada al
proyecto, si se desea aumentar la calidad de resultado final.
3. Desarrollo de requerimientos implcitos al proyecto siempre existen
una serie de requerimientos que el cliente no especifica pero que son
deseables. Por ejemplo que el software sea fcil de mantener, que sea
fcil de usar y en caso de no alcanzar estos requerimientos el software
carecer de calidad.

Factores que determinan la calidad de software.

Los factores se pueden medir en 2 grupos:


Factores directos son aquellos que se pueden medir directamente del
software por ejemplo; el estudiar el tiempo que tarda el programa en
hacer una tarea, contar el nmero de errores que tiene un proyecto.
Factores Indirectos Son aquellos que no se pueden medir directamente
del software por ejemplo, facilidad de uso y facilidad de mantenimiento.

Caractersticas de la calidad

Eficiencia que realice lo que dice que hace.


Eficacia que lo que hace lo haga muy bien.
Robustez capaz de soportar toda clase de pruebas, sin incluir ni errores
ni abortos.
Amigable una buena interfaz con el usuario.

1.5 Calidad y globalizacin en el marco universitario

El siglo XX se caracteriz por los grandes avances tecnolgicos y cientficos,


que dieron paso a nuevas orientaciones mundiales en relacin con la
produccin y el consumo, especialmente con el fenmeno de la globalizacin,

7
el que cada da avanza y abarca a casi todos los pases del planeta. Estos
cambios han penetrado hasta la esencia misma de la sociedad y la cultura.

Frente a esta nueva realidad mundial, las Universidades como fuente de


generacin y transmisin del conocimiento deben de asumir el reto histrico
que el fenmeno plantea: Cmo y para qu educar en la sociedad globalizada
de hoy? Cmo preparar al futuro profesional para ser competitivo? Qu
valores debe inculcarse ante el fenmeno de la globalizacin cultural? Aunque
la globalizacin tradicionalmente se ha enfocado a los procesos monetarios y a
la economa de mercado, en realidad el fenmeno se extiende a todas las
facetas socio culturales de los pueblos, y en ese sentido es que las
Universidades estn llamadas a desarrollar el talento humano que pueda
insertarse en el campo laboral, hoy da caracterizado por la incorporacin en su
seno de la electrnica, la informtica, la robtica y otros avances tecnolgicos.
La Universidad por tanto est llamada a brindar una enseanza de calidad que
contemple al menos los siguientes elementos:

Formacin contina del personal docente.


Incorporacin de las nuevas tecnologas en los procesos de enseanza
aprendizaje.
Actualizacin de software y hardware que satisfagan los intereses de la
informtica y el moderno mundo de la informacin.
Adquisicin de equipo y herramientas de soporte tcnico.
Actualizacin bibliogrfica.
Participacin en procesos de evaluacin que fortalezcan la calidad de
los servicios educativos de docencia, investigacin y proyeccin social:
evaluacin institucional y procesos de acreditacin nacional o
internacional.
Auto evaluacin permanente.
Generacin de conocimientos en base a las nuevas necesidades
poblacionales.
Elaboracin de planes estratgicos donde se contemple la visin de
desarrollo institucional a corto, mediano y largo plazo.
Fortalecimiento acadmico por medio de alianzas estratgicas con otras
universidades del mundo.
Formacin humana complementaria a la formacin acadmica.

La formacin de calidad, competencia y eficacia en los nuevos profesionales,


son exigencias que la globalizacin plantea hoy a las universidades. Una
institucin de enseanza superior que ignore estas realidades simplemente se
aislara del mundo y pronto se convertir en una mero espectador del
desarrollo.

No obstante que la globalizacin presenta grandes beneficios que se traducen


en desarrollo para los pueblos de la Tierra y genera el espacio para el
encuentro entre las culturas, si no se analiza el fenmeno desde la perspectiva
de fortalezas y debilidades, se puede correr el riesgo de convertir el proceso en
un fin en si mismo y olvidarse de que ante todo proceso de desarrollo material,
debe prevalecer el ser humano, siendo ste el principio y fin del progreso.

8
Consideramos con relacin al papel de las Universidades y la globalizacin,
que la educacin y el mensaje evangelizador no pueden ir separados y por esa
razn afirmamos:

a) La Universidad de hoy debe promover el desarrollo integral de las


personas, anteponindolas a cualquier razn tecnolgica o cientfica que
se oponga a su existencia.

b) La Universidad debe estar comprometida con la promocin de la


dignidad humana, de tal forma que sta sea el lugar donde se ensee
los mas altos valores de la persona.

c) Es necesario que los avances cientficos y tecnolgicos sean


consecuentes con los valores antes mencionados. No se puede so
pretexto del desarrollo de los pueblos, someter la vida humana a un
simple experimento. Hoy en da los avances biotecnolgicos han
querido reducir el embrin humano a la categora de cosa y en ese
sentido muchas experimentaciones se orientan a su aniquilamiento o
utilizacin para fines atentatorios de la naturaleza humana.

d) Las herramientas de la sociedad de la informacin, deben utilizarse para


la bsqueda y transmisin de la verdad y la justicia. Muy especialmente
se deben hacer esfuerzos porque la informtica ayude al progreso de los
pueblos y a su rpida comunicacin y no se preste a generar violencia,
pornografa o prostitucin que tanto mal hacen en estos das.

e) La Universidad debe promover la preservacin de la cultura de cada


pueblo frente al fenmeno de transculturacin globalzate.

f) La globalizacin de la cultura no implica la perdida de la identidad


personal. Hoy en da se imponen nuevos estilos de tica basados en el
hedonismo, el consumismo y la libertad llevada al extremo del
libertinaje.

Si bien la globalizacin presenta grandes ventajas y oportunidades, stas


deben aprovecharse para el bien de nuestros pueblos. Hoy en da es imperioso
que desde la academia se forme al nuevo profesional con alta capacidad, pero
ante todo con sentido humano, responsabilidad y visin del mundo desde una
perspectiva cristiana que permita ver la verdad y anteponer el valor de la
persona humana ante cualquier fenmeno cientfico, tecnolgico o comercial.

La globalizacin es, con mucha frecuencia, resultado de factores econmicos,


que hoy ms que nunca determinan las decisiones polticas, legales y
bioticas, a menudo en detrimento de los intereses humanos y sociales. El
mundo universitario debe esforzarse por analizar los factores que subyacen a
estas decisiones y, a la vez, debe contribuir a convertirlos en actos
verdaderamente morales, actos dignos de la persona humana. Esto implica
destacar con fuerza la centralidad de la dignidad inalienable de la persona
humana en la investigacin cientfica y en las polticas sociales.

9
Calidad y el mundo globalizado

Es necesario que las empresas elaboren productos de alta calidad y un


buen servicio, se habla mucho de la globalizacin y se podra definir como el
proceso de integrar mundialmente las actividades, la aplicacin y la evaluacin
de estrategias, se toman con base a consecuencias que tienen la rentabilidad
global de la empresa, y no solo con base a consideraciones nacionales o de
pases individuales.

1.6 La calidad de vida

Se define en trminos generales como el bienestar, felicidad y satisfaccin de


un individuo, que le otorga a ste cierta capacidad de actuacin,
funcionamiento o sensacin positiva de su vida. Su realizacin es muy
subjetiva, ya que se ve directamente influida por la personalidad y el entorno en
el que vive y se desarrolla el individuo. Segn la OMS, la calidad de vida es "la
percepcin que un individuo tiene de su lugar en la existencia, en el contexto
de la cultura y del sistema de valores en los que vive y en relacin con sus
objetivos, sus expectativas, sus normas, sus inquietudes. Se trata de un
concepto muy amplio que est influido de modo complejo por la salud fsica del
sujeto, su estado psicolgico, su nivel de independencia, sus relaciones
sociales, as como su relacin con los elementos esenciales de su entorno".

Algunos describen calidad de vida como un conjunto de comportamientos y


actitudes individuales que mantienen a la persona sana y libre de un deterioro
fsico ante una enfermedad crnica. Este modelo de atencin mdica delega en
la persona afectada toda la responsabilidad sobre su salud. La persona
enferma deber cambiar su estilo de vida, dejar de fumar, beber alcohol o dejar
de usar sustancias controladas, adherirse a su tratamiento de manera estricta,
mantener una dieta nutritiva, reposar adecuadamente, meditar y desarrollar su
vida espiritual, a fin de poder obtener una buena calidad de vida. La calidad de
vida depender solo del individuo como si la salud fuera un evento voluntario.

Otros describen calidad de vida de manera m s limitada, como el mero acceso


a un subconjunto de cuidados mdicos que garanticen la salud del individuo.
Es de consenso que el primer paso hacia una mejor calidad de vida se da al
tener acceso a los servicios de salud, hecho que en nuestro pas podra
resumiese como el de hacer cumplir el derecho a la salud con independencia
del rgimen de adscripcin. El acceso a los servicios mdicos es slo el inicio
de una mejor calidad de vida. La sobrevivencia fsica y el alivio al dolor debe ir
acompaado del bienestar psicolgico y social para poder pasar al
mejoramiento progresivo de la calidad de la vida en todas sus dimensiones.

Calidad de vida

Es el bienestar, felicidad, satisfaccin de la persona que le permite una


capacidad de actuacin o de funcionar en un momento dado de la vida, es un
concepto subjetivo propio del individuo que esta muy influido por el entorno en
el que vive como la sociedad, la cultura y las escalas de los valores.

10
1.7 Qu es calidad total

La calidad total es un concepto, una filosofa, una estrategia, un modelo de


hacer negocios y est localizado hacia el cliente.
La calidad total no solo se refiere al producto o servicio en s, sino que es la
mejora permanente del aspecto organizacional, gerencial; tomando una
empresa como una mquina gigantesca, donde cada trabajador, desde el
gerente, hasta el funcionario del mas bajo nivel jerrquico estn comprometidos
con los objetivos empresariales.
Para que la calidad total se logre a plenitud, es necesario que se rescaten los
valores morales bsicos de la sociedad y es aqu, donde el empresario juega
un papel fundamental, empezando por la educacin previa de sus trabajadores
para conseguir una poblacin laboral ms predispuesta, con mejor capacidad
de asimilar los problemas de calidad, con mejor criterio para sugerir cambios en
provecho de la calidad, con mejor capacidad de anlisis y observacin del
proceso de manufactura en caso de productos y poder enmendar errores.
El uso de la calidad total conlleva ventajas, pudiendo citar como ejemplos las
siguientes:
Potencialmente alcanzable si hay decisin del ms alto nivel.
Mejora la relacin del recurso humano con la direccin.
Reduce los costos aumentando la productividad.

La reingeniera junto con la calidad total pueden llevar a la empresa a


vincularse electrnicamente con sus clientes y as convertirse en una empresa
ampliada. Una de las estructuras ms interesantes que se estn presentando
hoy en da son la formacin de redes, que es una forma de organizar a una
empresa y que est demostrando su potencial con creces.
La calidad total es un sistema de gestin de calidad que abarca a todas las
actividades y a todas las realizaciones de la empresa, poniendo especial
nfasis en el cliente interno y en la mejora continua.

Calidad total

Es el estado ms evolucionado dentro de las sucesivas transformaciones


que ha sufrido el trmino calidad a lo largo del tiempo.

Hacer las cosas bien desde la primera vez. Actualmente la calidad se ha


convertido en el culto al cual se adhieren las mentes ms brillantes del mundo.

1. Origen de la tcnica de la calidad total

Como nos tienen acostumbrados, los japoneses fueron los pioneros. La II


Guerra Mundial dej la economa nipona en una situacin catastrfica, con

11
unos productos poco competitivos que no tenan cabida en los mercados
internacionales.
Los japoneses no tardaron en reaccionar: se lanzaron al mercado gracias a la
adopcin de los sistemas de calidad. Los resultados fueron que Japn registr
un espectacular crecimiento.
La iniciativa nipona pronto se transmiti a otras zonas del planeta. Europa tard
algo ms, pero tambin fueron los aos 80 los del impulso definitivo.
En 1988 nace la European Foundation for Quality Managment (EFQM),
organizacin que apuesta por los modelos de gestin de calidad total (GTC o
TQM), estrategias encaminadas a optimizar los recursos, reducir costes y
mejorar los resultados, con el objetivo de perfeccionar constantemente el
proceso productivo.
La implantacin de la calidad total es un proceso largo y complicado, supone
cambiar la filosofa de la empresa y los modos de gestin de sus responsables;
se debe elegir un problema concreto, y analizar el punto en donde est fallando
la empresa.
Los principio de gestin de la calidad total son sencillos de entender, pero
complicados de asimilar:

El sistema parte de la bsqueda de la satisfaccin del cliente, en todos


sus aspectos.
Un primer paso es la bsqueda de la calidad de los productos/servicios.
Pero habr que tener en claro que el producto/servicio ya no ser el
punto principal de calidad.

Los principios elementales son los siguientes:


De poco sirve imponer de forma autoritaria la mejora en cada puesto de
trabajo.
La calidad la produce el ltimo eslabn que termina el producto que
est en contacto con el cliente pero nunca el director general.
El directivo tiene que estar convencido de la necesidad de la calidad.

1. Progreso del significado de la calidad total

La transformacin de las empresas y la globalizacin de las economas, han


ocasionado un sinnmero de problemas y dificultades en los gobiernos de
Amrica Latina.
Explicar como analizar el hecho, de que la clave del xito de la fuerza del ao
2000, dentro de la organizacin es la Calidad Total en las empresas, para dar a
conocer a la comunidad el porqu s realiza esta transformacin, es una accin
complicada.
Para el anlisis de la competitividad y la calidad total en las empresas; existen
algunas preguntas obvias: Cmo afect a las empresas la incorporacin del

12
concepto de calidad total? Cmo la calidad total impresion en las empresas
que intervienen en el proceso de Globalizacin?
Se ha definido al Mejoramiento del personal como una forma de lograr la
calidad total, y como una conversin en el mecanismo viable y accesible al que
las empresas de los pases en vas de desarrollo cierren la brecha tecnolgica
que mantienen con respecto al mundo competitivo y desarrollado.
Para mejorar un proceso y llegar a la calidad total, y ser en consecuencia ms
competitivos, es necesario cambiar dicho proceso, para hacerlo ms efectivo,
eficiente y adaptable. Qu cambiar y cmo cambiar depende del enfoque
especfico del empresario y del proceso.
La clave del xito es la Calidad Total de mantener sistemticamente ventajas
que le permitan alcanzar determinada posicin en el entorno socioeconmico.
El trmino calidad total es muy utilizado en los medios empresariales, polticos
y socioeconmicos en general. A ello se debe la ampliacin del marco de
referencia de nuestros agentes econmicos que han pasado de una actitud
auto protectora a un planteamiento ms abierto, expansivo y proactivo.
La ventaja comparativa de una empresa estara en su habilidad, recursos,
conocimientos y atributos, etc., de los que dispone dicha empresa, los mismos
de los que carecen sus competidores o que estos tienen en menor medida, que
hace posible la obtencin de unos rendimientos superiores a los de aquellos.
El uso de estos conceptos supone una continua orientacin hacia el entorno y
una actitud estratgica por parte de las empresas grandes como en las
pequeas, en las de reciente creacin o en las maduras y en general en
cualquier clase de organizacin. Por otra parte, el concepto de xito nos hace
pensar en la idea "excelencia", o sea, con caractersticas de eficiencia y
eficacia de la organizacin.
Ecuador est sufriendo ya hace algunos aos los cambios de la calidad total;
pero an existen algunas empresas en nuestro pas que no mostraban estas
nuevas formas de hacer empresa y poco a poco estn haciendo los cambios y
otras ya fueron absorbidas por otras para no tener que cerrar sus puertas, la
calidad de los productos, la red de distribucin, las relaciones con la
comunidad, el desempeo de los trabajadores, son puntos primordiales en la
lucha para desarrollar empresas en estos tiempos.

2. Importancia de la calidad total

La calidad total en la organizacin de una empresa, debe ser el nervio y motor


de la misma; si de verdad la empresa desea alcanzar el xito debe cimentarse
en estas dos palabras.
El mensaje de la calidad total debe ser comunicado a tres audiencias que son
complementarias entre s:
Los Trabajadores.
Los Proveedores; y,
Los Clientes.

13
Los fundamentos de la calidad total son los siguientes:
El objetivo bsico: la competitividad
El trabajo bien hecho.
La Mejora continuada con la colaboracin de todos:
responsabilidad y compromiso individual por la calidad.
El trabajo en equipo es fundamental para la mejora permanente
Comunicacin, informacin, participacin y reconocimiento.
Prevencin del error y eliminacin temprana del defecto.
Fijacin de objetivos de mejora.
Seguimiento de resultados.
Indicadores de gestin.
Satisfacer las necesidades del cliente: calidad, precio, plazo.
Los obstculos que impiden el avance de la calidad pueden ser:
El hecho de que la direccin no defina lo que entiende por
calidad.
No se trata de hacer bien las cosas, sino de que el cliente opine
igual y est satisfecho.
Todos creen en su concepto, pocos en su importancia y son
menos los que la practican.

1. El control de la calidad total

El Control de la Calidad se posesiona como una estrategia para asegurar el


mejoramiento continuo de la calidad. Es un programa para asegurar la continua
satisfaccin de los clientes externos e internos mediante el desarrollo
permanente de la calidad del producto y sus servicios.
Es un concepto que involucra la orientacin de la organizacin a la calidad
manifestada en sus productos, servicios, desarrollo de su personal y
contribucin al bienestar general.
El mejoramiento continuo es una herramienta que en la actualidad es
fundamental para todas las empresas porque les permite renovar los procesos
administrativos que ellos realizan, lo cual hace que las empresas estn en
constante actualizacin; adems, permite que las organizaciones sean ms
eficientes y competitivas, fortalezas que le ayudarn a permanecer en el
mercado.
Para la aplicacin del mejoramiento es necesario que en la organizacin exista
una buena comunicacin entre todos los rganos que la conforman, y tambin
los empleados deben estar bien compenetrados con la organizacin, porque
ellos pueden ofrecer mucha informacin valiosa para llevar a cabo de forma
ptima el proceso de mejoramiento continuo.
La definicin de una estrategia asegura que la organizacin est haciendo las
cosas que debe hacer para lograr sus objetivos. La definicin de su sistema
determina si est haciendo estas cosas correctamente.

14
La calidad de los procesos se mide por el grado de adecuacin de estos a
lograr la satisfaccin de sus clientes (internos o externos).
Es el proceso de alcanzar los objetivos de calidad durante las operaciones.
Para el efecto, se debern desarrollar los siguientes pasos:
a. Elegir qu controlar.
b. Determinar las unidades de medicin.
c. Establecer el sistema de medicin.
d. Establecer los estndares de performance.
e. Medir la performance actual.
f. Interpretar la diferencia entre lo real y el estndar.
g. Tomar accin sobre la diferencia.

El trmino calidad se ha convertido en una de las palabras clave de nuestra


sociedad, alcanzando tal grado de relevancia que iguala e incluso supera en
ocasiones al factor precio, en cuanto a la importancia otorgada por el posible
comprador de un producto o servicio.
Las necesidades de quienes compran nuestros productos o servicios no son
estticas, sino que evolucionan de forma continua.
Esto supone la permanente adaptacin de todos nuestros procesos productivos
y comerciales a dichas necesidades, si queremos seguir contando con su
fidelidad
Gestin de la calidad es el conjunto de actividades llevadas a cabo por la
empresa para obtener beneficios mediante la utilizacin de la calidad como
herramienta estratgica.

1. Tipos de accin de Calidad Total

Para lograr el mejoramiento de la calidad se debe pasar por un proceso, para


as poder alcanzar niveles de performance sin precedentes.
Los pasos de este proceso pueden resumirse as:
1. Probar la necesidad de mejoramiento.
2. Identificar los proyectos concretos de mejoramiento.
3. Organizarse para la conduccin de los proyectos.
4. Prepararse para el diagnstico o descubrimiento de las causas.
5. Diagnosticar las causas.
6. Proveer las soluciones.
7. Probar que la solucin es efectiva bajo condiciones de operacin.
8. Proveer un sistema de control para mantener lo ganado.

Adems se habla del Despliegue de la Funcin de Calidad (DFC), concepto


complejo que provee los medios para traducir los requerimientos de los clientes
en los apropiados requerimientos tcnicos para cada etapa del desarrollo y
manufactura del producto. Es decir, las actividades necesarias para traducir la
voz del cliente en las caractersticas del producto final.
Para lograr esto, existen los siguientes principios:

15
1. La calidad comienza con deleitar a los clientes.
2. Una organizacin de calidad debe aprender como escuchar a sus
clientes y ayudarlos a identificar y articular sus necesidades.
3. Una organizacin de calidad conduce a sus clientes al futuro.
4. Productos y servicios sin mcula y que satisfacen al cliente provienen de
sistemas bien planificados y que funcionen sin fallas.
5. En una organizacin de calidad, la visin, los valores, sistemas y
procesos deben ser consistentes y complementarios entre s.
6. Todos en una organizacin de calidad, administradores, supervisores y
operarios, deben trabajar en concierto.
7. El trabajo en equipo en una organizacin de calidad debe estar
comprometido con el cliente y el mejoramiento continuo.
8. En una organizacin de calidad cada uno debe conocer su trabajo.
9. La organizacin de la calidad usa el mtodo cientfico para planear el
trabajo, resolver problemas, hacer decisiones y lograr el mejoramiento.
10. La organizacin de calidad desarrolla una sociedad con sus
proveedores.
11. La cultura de una organizacin de calidad sostiene y nutre los esfuerzos
de mejoramiento de cada grupo e individuo.

Para que tengan xito, los productos o servicios de una empresa se debe:
Cubrir una necesidad concreta.
Satisfacer las expectativas de los clientes.
Cumplir especificaciones y normas.
Cumplir los requisitos legales aplicables.
Tener precios competitivos.
Su coste debe proporcionar beneficios

Operadores atomicos

++, --, +, -, *, /
& (and), | (xor), << >> (despl.)
Int, double

Importancia de los operadores atmicos

La importancia indica principalmente en que son operadores bsicos y


que se utilizan con singularidad en los programas ejecutables.

Qu es el Register?

16
Es aquel que permite trabajar en un solo ciclo, con toda la informacin
que contiene, se encuentra en el CPU, y es mucho ms rpido que la variable
local.

Caracteristicas de operadores atomicos

Son ms eficientes, ya que mientras se ejecutan espera a que se


termine la operacin.
Evita interrupciones, es decir, o se ejecuta toda la operacin o nada de
ella.

Ciclos Vacos (Nulos) Son utilizados como ciclos retardadores de tiempo.

Qu es la globalizacin?

Es un trmino moderno usado para describir los cambios en las


sociedades y en la economa mundial que resultan en un incremento sustancial
del comercio cultural.

Es un proceso fundamental econmico mundial que consiste en la


creciente integracin de las distintas economas nacionales en un nico
mercado capitalista mundial Toni Comin.

Ventajas o Beneficios Potenciales

Economa y mercado globales, que puede levar a un mejor


aprovechamiento de los recursos.
Acceso universal a la cultura y la ciencia
Mayor desarrollo cientfico-tcnico.
Mayor capacidad de maniobra frente a las fluctuaciones de las
economas nacionales.
Cooperacin internacional
Sistema global de proteccin de los derechos humanos.

Diferencia entre Consumismo y Calidad

El consumismo es un trmino que se utiliza para describir los efectos de


igualar la felicidad personal a la compra de bienes y servicios o al consumo en
general.

Tambin se refiere al consumo desmedido de bines y servicios en la


sociedad contempornea que impacta en los recursos naturales y el equilibrio
ecolgico de manera seria.

La calidad es tener caractersticas especficas de un producto.

17
Una de las causas y consecuencias del consumismo es la baja calidad
de algunos productos que conlleva un periodo de vida relativamente bajo los
cuales son atractivos por su bajo costo pero a largo plazo salen ms caros, y
son ms dainos para el medio ambiente.

Caractersticas de la calidad de Vida

Ser amado
Hogar digno
Ser
Bienestar
Satisfaccin de las necesidades bsicas:
1. Fsico
2. Psicolgico
3. Social.

UNIDAD 2 Aseguramiento de la calidad del software

18
Comprender la relacin entre ingeniera de software y el aseguramiento de la
calidad de software.

2.1 Relacin de la ingeniera de software con SQA

La Ingeniera de software designa el conjunto de tcnicas destinadas a la


produccin de un programa de computadora, ms all de la sola actividad de
programacin. Forman parte de esta disciplina las ciencias computacionales y
el manejo de proyectos, entre otros campos, propios de la rama ms genrica
denominada Ingeniera informtica, mientras que (SQA) El aseguramiento de
calidad del software es el conjunto de actividades planificadas y sistemticas
necesarias para aportar la confianza en que el producto (software) satisfar los
requisitos dados de calidad.

Relacin de la ingeniera del software SQA

Su propsito es integrar y ejecutar un proceso de ingeniera bien definido


y coherente integrando todas las actividades de ingeniera del software para
producir productos de software correcto y consistente de manera eficiente y
efectiva con SQA.

Las actividades de la ingeniera del SW estn definidas, integradas y se


ejecutan de forma consistente para producir el SW. Los entregables se
mantienen consistentes entre ellos.

2.2 Aseguramiento de calidad del software

El aseguramiento de calidad del software es el conjunto de actividades


planificadas y sistemticas necesarias para aportar la confianza en que el
producto (software) satisfar los requisitos dados de calidad.

Propsito del SQA

Descubrir errores de funcionamiento, lgica o de implementacin.


Verificar que el software cumpla con los requisitos.
Garantizar que se cumplen los estndares establecidos.
Conseguir un desarrollo uniforme.

Definicin y propsito del SQA

19
Definicin SQA es un set de actividades sistemticas que aseguran que el
proceso del SW y productos conformados por requerimientos, estndares y
procedimientos. Los procesos incluyen todas las actividades involucradas en el
diseo, codificacin pruebas y mantenimiento; los productos incluyen SW,
datos asociados, documentacin y toda la documentacin para soporte y
reportes.

El rol del SQA es brindar a la Administracin la seguridad de los procesos


oficialmente establecidos estn siendo implementados.

Propsito proporcionar visibilidad sobre los procesos utilizados por el proyecto


del SW y sobre los productos que genera.

Objetivos

1. Planificar las actividades de aseguramiento de la calidad.


2. Revisar y auditar objetivamente los productos y las actividades para
verificar que estn conformes con los procedimientos y estndares
aplicables.
3. Proporcionar los resultados de estas revisiones o auditorias
informando a la direccin cuando sea necesaria su mediacin.

2.3 Problemas que resuelve la SQA

Econmicamente

En los EEUU, el software contribuy a 1/4 de todo el incremento del PIB


durante los 90's (alrededor de 90,000 millones de dlares por ao), y 1/6 de
todo el crecimiento de productividad durante los ltimos aos de la dcada
(alrededor de 33,000 millones de dlares por ao). La ingeniera de software
contribuy a $1 billn de crecimiento econmico y productividad en esa
dcada. Alrededor del globo, el software contribuye al crecimiento econmico
en formas similares, aunque es difcil de encontrar estadsticas fiables.

Socialmente

La ingeniera de software cambia la cultura del mundo debido al extendido uso


de la computadora. El correo electrnico (E-mail), la WWW y la mensajera
instantnea permiten a la gente interactuar en nuevas formas. El software baja
el costo y mejora la calidad de los servicios de salud, los departamentos de
bomberos, las dependencias gubernamentales y otros servicios sociales. Los
proyectos exitosos donde se han usado mtodos de ingeniera de software
incluyen a Linux, el software del transbordador espacial, los cajeros
automticos y muchos otros.

La ingeniera de software se puede considerar como la ingeniera aplicada al


software, esto es en base a herramientas preestablecidas, la aplicacin de las

20
mismas de la forma ms eficiente y ptima; objetivos que siempre busca la
ingeniera. No es slo de la resolucin de problemas, sino ms bien teniendo
en cuenta las diferentes soluciones, elegir la ms apropiada.

Problemas que resuelve la SQA (funciones)

Practicas SQA se definen y estn disponibles herramientas, tcnicas,


mtodos y estndares de desarrollo adecuados para ser usados como
estndares de las revisiones QA.
Evaluacin de la planificacin del proyecto de SW si no se planifican
practicas de calidad adecuada desde el inicio y sincronizada con el plan
del proyecto, luego no sern implementadas.
Evaluacin de lo requerimientos como es extremadamente inusual
que se desarrollen productos de alta calidad a partir de requerimientos
de baja calidad, los requerimientos iniciales deben ser supervisados
contra los entandares de calidad establecido.
Evaluacin del proceso de Diseo se definen los medio para asegurar
que el diseo sigue las metodologas planeadas, que implemento los
requerimientos y la calidad del diseo propiamente dicha es revisada
independientemente.
Evaluacin de las prcticas de codificacin prcticas apropiadas de
codificacin deben ser establecidas y usadas.
Evaluacin del proceso de integracin y testeo del SW se establece
un programa de Testing de calidad, el testing es ejecutado por un grupo
independiente que es tanto capaz como motivado para encontrar
problemas, la planificacin del testing comienza en las primeras etapas
del proyecto y se revisa la calidad del testing previamente dicho.
Evaluacin de uso del proceso de control y gerenciamiento del
proyecto asegurando que los procesos de gerenciamiento estn
funcionando, SQA ayuda a garantizar que todo el grupo del proyecto
esta orientado a producir resultados de calidad.
Adaptacin de los procedimientos de SQA el plan de SQA debe ser
adaptado a las necesidades especificas del proyecto.

2.4 Calidad del software en el ciclo de vida del mismo

Su seleccin
La insercin del Aseguramiento de Calidad en el Ciclo de Vida
Administracin de la configuracin
El proceso de produccin de software
El control de versiones
La Calidad en la construccin del software
El seguimiento de fallas

21
Calidad de software en el ciclo de vida del mismo

La calidad del SW es una compleja mezcla de ciertos factores que varan para
las diferentes aplicaciones y los clientes que las solicitan.

La garanta de calidad es una actividad esencial en cualquier empresa que


produce productos que va a hacer usados por otros. Antes del siglo XX la
garanta de calidad era responsabilidad nica de la empresa que construya el
producto.

La primera funcin de control y de garanta de calidad formal fue introducida


por los laboratorios Bell en 1916 y se extendi rpidamente por todo el mundo
de la manufactura.

Hoy en da cada compaa tiene un mecanismo que se asegura de la calidad


de sus productos, de hecho durante la pasada dcada se han usado
ampliamente como tcticas de mercado de la declaracin explicita de mensajes
que ponan en manifiesto la calidad ofrecida por las compaas.

2.5 Roles y responsabilidades de los equipos de desarrollo

Coordinador General

El principal objetivo del Coordinador General es dirigir un equipo efectivo. Sus


principales responsabilidades son:
Estimular a los miembros del equipo a comportarse en forma motivada,
productiva, colaboradora, proactiva, respetuosa y disciplinada en el
proyecto.
Coordinar la elaboracin del plan de trabajo. El plan debe determinar de
manera completa y precisa las tareas y actividades a realizar por el
equipo, el responsable de cada tarea y la fecha de inicio y culminacin
prevista para cada tarea, as como sus holguras.
Hacerle seguimiento al plan para que se logre la entrega oportuna del
proyecto. Esta actividad involucra recoger las hojas de registro semanal,
determinar el avance logrado, reportar las estadsticas pertinentes al
gerente de desarrollo (es decir, al profesor del curso), analizar las
desviaciones del plan y coordinar las acciones que se deriven de ese
anlisis.
Escuchar las observaciones de los dems miembros relacionadas con el
funcionamiento del equipo y manejar no ms de cinco riesgos
relacionados con el equipo.
Redactar y publicar la agenda de las reuniones del grupo.
Concertar y coordinar las reuniones del grupo.
Mantener oportunamente informado al profesor/gerente del estado de
avance, riesgos que se presentan y retrasos que pudieran surgir.
Velar para que se cumplan las metas del producto.
Coordinar la elaboracin del anlisis post-hoc del proceso de desarrollo.

Coordinador de la Aplicacin

22
El principal objetivo del Coordinador de la Aplicacin es lograr que el equipo
entregue un producto funcional de calidad. Sus responsabilidades son:
Coordinar la elaboracin/mantenimiento de los requerimientos, diseo e
implementacin de la capa del dominio de la aplicacin;
Coordinar la definicin y elaboracin de las interfaces entre las capas.
Custodiar y respaldar los artefactos asociadas a la capa del dominio de
la aplicacin.
Explicitar las decisiones de diseo para la capa del dominio de la
aplicacin y sus justificaciones
Coordinar la integracin, custodia y respaldo del software a entregar.
Coordinar la medida de las estadsticas de tamao del producto, fallas y
defectos del software .
Aprovechar plenamente las habilidades y potencialidades de los dems
miembros del equipo.
Manejar no ms de cinco riesgos asociados al desarrollo de la capa del
dominio de la aplicacin y sus interfaces con otras capas.

Docmaster

El principal objetivo del Docmaster es lograr calidad y completitud en los


documentos del desarrollo. Sus responsabilidades son:
Mantener actualizado y de calidad el sitio web de la empresa;
Hacerle el seguimiento a la elaboracin y fechas de entregas de los
documentos generados por el equipo;
Lleva el registro de las reuniones generales (asistentes, decisiones,
justificaciones, acciones a tomar y sus responsables), as como elaborar
y publicar oportunamente sus minutas;
Elaborar y mantener los manuales asociados al desarrollo.
Definir y velar por los estndares que deben cumplir los documentos, en
cuanto a organizacin, redaccin, ortografa y consistencia de
presentacin.
Coordinar la elaboracin del material de apoyo a las presentaciones del
equipo y velar por su calidad.
Manejar no ms de cinco riesgos asociados con la documentacin.

En el pasado se ha encontrado conveniente separar este rol en dos: Editor


Tcnico y Webmaster. Para ello se prev el rol de Asistente al Docmaster. El
Docmaster explicitar qu responsabilidades quiere delegar en su asistente.

Coordinador de Interfaces con el Usuario

El principal objetivo del Coordinador de Interfaces es lograr un producto cuya


capa de presentacin (interfaz con el usuario) sea de calidad y en la mayor
medida posible independiente de la capa del dominio de la aplicacin. Sus
principales responsabilidades son:

23
Coordinar la elaboracin/mantenimiento de los requerimientos, diseo e
implementacin de la capa de presentacin.
Custudiar y respaldar los artefactos asociadas a la capa de
presentacin.
Explicitar las decisiones de diseo para la capa y sus justificaciones.
Aprovechar plenamente las habilidades y potencialidades de los dems
miembros del equipo.
Manejar no ms de cinco riesgos asociados al desarrollo de la capa de
la presentacin y el enlace con el cliente.
Coordinar la instalacin del producto y cualquier herramienta de
instalacin utilizada..
Coordinar las presentaciones del equipo.

Coordinador de Base de Datos

El principal objetivo del Coordinador de Bases de Datos es lograr un producto


cuya capa de base de datos sea de calidad. Sus principales responsabilidades
son:
Coordinar la elaboracin/mantenimiento de los requerimientos, diseo e
implementacin de la capa de la base de datos.
Custodiar y respaldar los artefactos asociadas a la capa de la base de
datos.
Explicitar las decisiones de diseo para la capa y sus justificaciones.
Aprovechar plenamente las habilidades y potencialidades de los dems
miembros del equipo.
Manejar no ms de cinco riesgos asociados al desarrollo de la capa de
la base de datos.
Coordinar la transcripcin de datos a la base de datos.

Miembro de equipo

El principal objetivo de cada miembro del equipo es contribuir a la efectividad


de su equipo. Sus responsabilidades incluyen:
Colaborar proactivamente en el logro de las metas del equipo;
Entregar oportunamente los artefactos que le fueran encomendados;
Cumplir oportuna y disciplinadamente con las tareas que le designen, de
diseo, programacin, prueba, documentacin, instalacin,
entrenamiento, revisin, administracin de herramientas o sitios web;
Participar para lograr un desarrollo exitoso, un ambiente productivo y un
clima armonioso donde las diferencias de opinin se aprovechan para
enriquecer el trabajo;
Llevar y entregar oportunamente las estadsticas y registros
correspondientes;
Asistir puntualmente a las reuniones convocadas (planifique al menos
una reunin semanal hasta el fin del trimestre).

24
Cumplir con los estndares de codificacin, proceso y artefactos
asociados al desarrollo.
Respetar los estndares de trabajo del equipo.

2.6 Habilidades y capacidades de SQA

Aseguramiento de la calidad del software... Es bsico y sera falaz pensar


siquiera en que la calidad podra llegar a inyectarse al producto software
finalizando el proceso de desarrollo el viejo enfoque del control de la calidad.
El simple control no puede asegurarnos ms que que estaremos muy
concientes de los dolores de cabeza que tendremos y la cantidad de dinero que
perderemos. La calidad del producto software depende de tareas realizadas
durante todo el proceso: detectar errores en forma temprana ahorra esfuerzos,
tiempo y recursos.

No hacer las cosas bien se manifiesta en muchas formas. Estos problemas,


que listo a continuacin, son los ms generalizados en las empresas del sector
cuyos procesos no tienen calidad y no tienen forma de asegurar la calidad del
producto software.

Compromisos consistentemente incumplidos, expresados en trminos de


entregas tardas, afluencia constante de defectos de ltima hora algo que
aqu en Colombia llaman coloquialmente chicharrones y costos
espiralados.

Reducida visin gerencial en el progreso, con la ocurrencia de sorpresas


constantes.

Problemas propios de la calidad, como demasiado reproceso o retrabajo,


que las funciones no operen correctamente y un elevado nmero de quejas de
los clientes luego de la entrega lo cual no es menor si pensamos en el
impacto que esto puede tener sobre la imagen marca de la empresa al estar
dejando gran parte de las detecciones de defectos en manos de los clientes.

Moral pobre, que se percibe en forma de gente frustrada y la sensacin de que


nadie est a cargo.

2.7 Actividades de SQA

Entre los principales objetivos del SQA son la confiabilidad, el desempeo, la


funcionalidad y el reuso. Y entre los principales elementos para la aplicacin de
pruebas estn la experiencia, guas y estndares, mtricas, revisiones, pruebas
y el reuso.

Las actividades del aseguramiento de la calidad del software contemplan

25
aquellas tareas del proceso de desarrollo de software que buscan asegurar el
diseo, desarrollo y distribucin de una aplicacin exitosa u otra forma de
tecnologa de software. Ocurre durante todo el proceso de desarrollo, y cada
persona involucrada en este proceso tiene un impacto en la calidad de la
aplicacin resultante, es importante concentrarse que el aseguramiento de la
calidad no es una actividad separada que puede obtenerse fuera de la
organizacin.

El SQA, como actividad de proteccin en el proceso de desarrollo, comprende


procedimientos para la aplicacin efectiva de mtodos y herramientas,
revisiones tcnicas formales, tcnicas y estrategias de prueba, dispositivos
paka-yoke, procedimientos de control de cambios, procedimientos de
aseguramiento de ajuste a los estndares y mecanismos de medida e
informacin.

Los principales elementos del SQA son los siguientes:

1. Definicin y experiencia
2. Guas y estndares
3. Mtricas
4. Revisiones
1. Autorevisiones
2. Revisiones informales
3. Revisiones de paso
4. Inspecciones
5. Pruebas
1. Unitarias
2. Mdulo
3. Integracin
4. Sistemas
6. Anlisis y Reporteo

26
Aunque algunas de las actividades de SQA deben ser realizadas por los
desarrolladores e ingenieros de software, puede establecerse un grupo SQA en
la organizacin. Las principales actividades de este grupo son: establecer un
plan de SQA para los proyectos; participar en el desarrollo de la descripcin del
proceso de software del proyecto; revisar las actividades de ingeniera de
software para verificar su ajuste al proceso definido; auditar los productos de
software designados para verificar el ajuste con los definidos como parte del
proceso; asegurar que las desviaciones del trabajo y los productos del software
se documenten y se manejen de acuerdo con un procedimiento establecido y
registrar lo que no se ajuste a los requisitos, e informar a los superiores.
Asimismo, coordina el control y administracin de cambios, aunado a recopilar
y analizar las mtricas del software.

Uno de los elementos importantes del proceso de SQA son las revisiones
tcnicas, las cuales se constituyen en reuniones conducidas por personal
tcnico para personal tcnico, donde se analizan detalladamente los productos
generados, los eventos que surgen en forma imprevista, etc. Para esta etapa el
uso de mtricas es esencial. Una rama importante de esta disciplina es el SQA
estadstico, donde los datos histricos permiten una mejora continua tanto del
producto generado en el proyecto, como de proyectos posteriores. Es
importante aseverar que la ingeniera de pruebas es otro factor fundamental
para el SQA.

Muchas de las actividades a realizar deben estar incorporadas al proceso de


desarrollo utilizado por la organizacin; cabe recalcar que primeramente la
organizacin deber tener definido su proceso o procesos de desarrollo de
software. Aunado a ello, si existen herramientas automatizadas que dan
soporte al SQA para probar aplicaciones y componentes de stas, registrando y
ejecutando casos de prueba, as como generndolos en forma automtica se
logra conseguir una productividad alta.

2.8 Mtodos y herramientas

El objetivo primario de las revisiones tcnicas formales (inspeccin) es


encontrar errores durante el proceso para evitar que se conviertan en defectos
despus de la entrega del software. El beneficio obvio de estas inspecciones es
el descubrimiento de errores al principio para que no se propaguen al paso
siguiente del proceso de desarrollo del software (catarata de errores de
Mizuno).

Una serie de estudios (TRW, Nippon Electric y Mitre Corp., entre otros) indican
que las actividades del diseo introducen entre el 50% y 65% de todos los
errores(y en ltimo lugar, todos los defectos) durante el proceso de software. Si
embargo se ha demostrado que las inspecciones de software son efectivas en
un 75% a la hora de detectar errores [JON86].

27
Con la deteccin y la eliminacin de un gran porcentaje de errores, el proceso
de inspeccin reduce substancialmente el costo de los pasos siguientes en las
fases de desarrollo y mantenimiento.

Una de las principales estrategias que compone el modelo estratgico de


ParqueSoft, es la CCA-

Certificacin de Calidad, que se ocupa de la definicin e implementacin de


los procesos de calidad necesarios para darle viabilidad al desarrollo de
software como actividad de ingeniera aplicada para hacer negocios.

La metodologa BaQEM (Bussines Application Quality Evaluation Method) para


hacer pruebas funcionales a sistemas de informacin se comenz a desarrollar
a finales del 2002, con el propsito de aportar una metodologa cuantitativa,
prctica y efectiva para evaluar y analizar la calidad de los sistemas de
informacin desarrollados en ParqueSoft, independiente de la metodologa y
plataforma tecnolgica utilizada para su desarrollo.

En la primera seccin de este documento se ilustra como la metodologa de


pruebas parte del conocimiento de la Industria en temas relacionados con la
calidad como el modelo CMM

[CMM01] o el estndar ISO9000 [Iso9000] y se complementa con las


implicaciones de ser el soporte metodolgico de ParqueSoft, que acta como
catalizador en la apropiacin de prcticas de ingeniera aplicables a los
procesos de negocios, es decir que requiere metodologas con alto contenido,
giles, basadas en el sentido comn y orientadas al resultado.

De modo que, a partir de esas funcionalidades se derivan procesos,


subprocesos, y, a partir de stos, siguiendo un proceso de descomposicin
jerrquico, se identifican y especifican requerimientos de prueba que en otras
palabras son los atributos de calidad del producto.

Igualmente, se dedica la seccin 3 del documento para presentar el nivel de


soporte que brinda la herramienta de software GreenVolution al proceso de
aseguramiento de calidad definido en la metodologa BaQEM, adems de
mostrar un panorama de la misma.

28
UNIDAD III Estndares de calidad aplicados al software

Conocer la importancia de la aplicacin de estndares de calidad y


productividad en el desarrollo de un software.

3.1 ISO

ISO

La Organizacin Internacional para la Estandarizacin (ISO) es una


organizacin internacional no gubernamental, compuesta por representantes
de los organismos de normalizacin (ONs) nacionales, que produce normas
internacionales industriales y comerciales. Dichas normas se conocen como
normas ISO y su finalidad es la coordinacin de las normas nacionales, en
consonancia con el Acta Final de la Organizacin Mundial del Comercio con el

29
propsito de facilitar el comercio, facilitar el intercambio de informacin y
contribuir con unos estndares comunes para el desarrollo y transferencia de
tecnologas.

Estructura de la organizacin

La Organizacin ISO est compuesta por tres tipos de miembros:


Miembros natos: uno por pas, recayendo la representacin en el Organismo
nacional ms representativo.

Miembros correspondientes: de los organismos de pases en vas de desarrollo


y que todava no poseen un comit nacional de normalizacin. No toman parte
activa en el proceso de normalizacin pero estn puntualmente informados
acerca de los trabajos que les interesen.

Miembros suscritos: pases con reducidas economas a los que les exige el
pago de tasas menores que a los correspondientes.

ISO es un rgano consultivo de la Organizacin de las naciones unidas


Coopera estrechamente con la Comisin Electrotcnica Internacional
(Internatinal Electrotechnical Comisin, IEC) que es responsable de la
estandarizacin de equipos elctricos.

Descripcin general de las normas ISO:

La familia de normas ISO 9000 se compone por a aplicaciones fundamentales


denominadas:

Norma ISO 9001


Norma ISO 9002
Norma ISO 9003
Norma ISO 9004

3.2 SPICE

(Programa de simulacin con nfasis en circuitos integrados) fue desarrollado


por la Universidad de California, Berkeley en 1975 por Donald Pederson.

Es un estndar internacional cuyo objetivo es simular circuitos y luego elegir el


tipo de simulacin (temporal, en frecuencia, en continua y parametrico)

SPICE

Software process improvement and capabillity determination.

30
ISO/IEC ISS04 es un emergente estandar internacinal de evaluacin y
determinacin de la capacidad y mejora continua de procesos de ingeniera de
software con la filosofa de desarrollar un conjunto de medidas de capacidad
estructuradas para todos los procesos del ciclo de vida y para todos los
participantes.

PROPOSITO

Evaluacin del proceso de ingeniera


Mejora de proceso de Ingeniera
Determinacin de capacidades

DIRIGIDA A:

Adquisidores
Suministradores
Evaluadores

3.3 CMM

CMM
(Capability Maturity Model)

Fue diseado por: Software Engineering Institute (SEI) en Noviembre de 1986.

Qu es?

Es un modelo de calida del software que clasifica las empresas de niveles. Este
modelo establece un conjunto de procesos agrupados en reas clave de
proceso (KPA).

Esta destinada a la evaluacin y mejora de procesos.

Propsito

Guiar a las organizaciones en la seleccin de estrategias de mejora


determinando la madurez del proceso actual.

Evolucin

Se investiga con marco de mejora y la calidad de las empresas del resultado


fue la SW-CMM cuya versin 1.0 se publico en 1991 se reviso la 1.2 y hoy es
absoluto.

31
Caractersticas

Actividades

Compromisos

Capacidad

Medidas y anlisis

Verificacin

CMM

Este trmino se puede referir a:

La visin general de los modelos basados en la madurez de las


capacidades, modelo de capacidad y madurez.
El modelo de calidad especfico de desarrollo del software SW-CMM es
un modelo de proceso para el desarrollo y mantenimiento de sistemas
de software, diseo sobre los criterios.
La calidad de un producto o sistemas.
El centro de modelamiento matemtico de la Universidad de Chile.

3.3.1 Definicin del modelo

Es el proyecto o reproduccin a escala reducida o no de un pieza escultrica.

El objetivo principal de este proyecto era el diseo de un producto que mejora


la calidad del producto.

3.3.2 Nivel inicial

El proceso de software es impredecible y poco controlado; pero esto no


significa que una organizacin no produzca bien un software, sino que el coste
(financiamiento) humano, temporal es demasiado alto tanto como para los
usuarios.

3.3.3 Nivel repetido

En este nivel existe una disciplina bsica en la gestin de procesos basados en


la repeticin de tareas apreciadas previamente, ya que hay una planificacin en
trminos de coste, calendario y requisitos.

32
3.3.4 Nivel definido

Definido: adems de una gestin de proyectos, a este nivel las organizaciones


disponen de correctos procedimientos de coordinacin entre grupos, formacin
del personal, tcnicas de Ingeniera ms detallados y un nivel ms avanzado
de mtricas en los procesos. Se implementan tcnicas de revisin por pares.

3.3.5 Nivel administrativo

Se caracteriza porque las organizaciones disponen de un conjunto de mtricas


significativas de calidad y productividad, que se usan de modo sistemtico para
la toma de decisiones y la gestin de riesgos. El software resultante es de alta
calidad.

La organizacin establece mtricas para productos y procesos estrechando la


variacin de estos a as finalmente miden los resultados de calidad.
Los proyectos llevan a cabo un control sobre los reductos y procesos
estrechando la variacin en el desempeo de su proceso de una manera de
caer dentro de los lmites aceptables para esto:

Los riesgos involucrados con la tecnologa de nuevos productos,


procesos y mercados son analizados cuidadosamente.
Existen mediciones detallados del proceso y calidad del producto.
El proceso y el producto deben ser perfectamente conocidos y
controlados.

Este nivel permite a una organizacin predecir tendencias en la calidad del


proceso y el producto.

3.3.6 Nivel optimizado

La organizacin completa esta volcada en la mejora continua de los procesos.


Se hace uso intensivo de las mtricas y se gestiona el proceso de innovacin.

Existe una evolucin continua en la optimizacin del proceso.

ISO 9001 es aplicable a sistemas que comprendan las actitudes de


diseo, desarrollo, fabricacin, instalacin y servicio.
ISO 9002 es aplicable a sistemas que comprendan las actividades de
produccin, instalacin y servicios.
ISO 9003 es aplicable a sistemas que comprendan expresin y pruebas
fiables.
ISO 9004 describe las directrices generales de la gestin de calidad y
los elementos de un sistema.

33
Los procesos de los proyectos y de la organizacin estn orientados a la
mejora de las actividades.

Mejoras incrementales e innovadoras de los procesos que mediante mtricas


son identificados, evaluados y puestos en prctica.

Los procesos que hay que implementar para alcanzar estos niveles son:

Innovacin organizacional

Anlisis Resolucin del as causas

Modelo de cascada

La implementacin debe de posponerse hasta que los objetivos se hayan


comprendido

Prototipacin
Estudio de factibilidad
Ingeniera de requerimientos
Diseo especificacin
Codificacin
Verificacin
Entrega y mantenimiento

Propsito

El desarrollo o mantenimiento de Software

Modelo en espiral

Cuatro tareas:
1. Determinar o fijar objetivos

Fijar tambin los productos definidos a obtener: requerimientos,


especificacin manual de usuario.
Fijar las restricciones
Identificacin de riesgos del apoyo y estrategias alternativas para
evitarlos.
Hay una sola cosa que se hace una vez: planificacin inicial previa.

2. Anlisis de riesgo
Se estudian los riesgos potenciales y se selecciona una o varias
alternativas propuestas para reducir o eliminar los riesgos.

3. Dependiendo del resultado


Tareas de la actividad propia y se prueba
Anlisis de alternativas e identificacin resolucin de riesgos

34
Dependiendo del resultado de la evolucin de los riesgos, se elige un
modelo para el desarrollo.

4. Planificar
Revisamos todo el hecho, evaluando y con ello decidimos si
continuaremos con las fases siguientes

Modelo lineal

Etapas:

Necesidades
Especificaciones
Anlisis
Diseo
Implementacin
Validacin
Mantenimiento y evaluacin

Son una serie de etapas que comprenden todas las actividades, desde el
momento en que surge la idea hacer un nuevo producto de software.
El seguimiento de la calidad que aborda principalmente 3 reas o tcnicas:

Mtricas del software para el control del proyecto


Verificacin y validacin a lo largo del ciclo de vida del software,
incluyendo pruebas y procesos de revisin.

Mtodos de ordenamiento

Mtodo de la burbuja

El Ordenamiento de Burbuja (Bubble Sort en ingls) es un sencillo algoritmo


de ordenamiento. Funciona revisando cada elemento de la lista que va a ser
ordenada con el siguiente, intercambindolos de posicin si estn en el orden
equivocado. Es necesario revisar varias veces toda la lista hasta que no se
necesiten ms intercambios, lo cual significa que la lista est ordenada. Este
algoritmo obtiene su nombre de la forma con la que suben por la lista los
elementos durante los intercambios, como si fueran pequeas "burbujas".
Tambin es conocido como el mtodo del intercambio directo.

Dado que solo usa comparaciones para operar elementos, se lo considera un


algoritmo de comparacin, siendo el ms sencillo de implementar.

35
Una manera simple de expresar el ordenamiento de burbuja en pseudocdigo
es la siguiente:

Para hasta haga lo siguiente:


Si entonces:

Repita mientras

Mtodo SHELL

El mtodo Shell pertenece a los mtodos de clasificacin avanzados,


nombrado as en honor a su desarrollador, Donald Shell.

Este mtodo utiliza una segmentacin entre los datos. Funciona comparando
elementos que estn distantes; la distancia entre comparaciones decrece
conforme el algoritmo se ejecuta hasta la ultima fase, en la cual se comparan
los elementos adyacentes, por esta razn se le llama ordenacin por
disminucin de incrementos.

La ordenacin de Shell usa una secuencia, h1, h2, . . ., ht, conocida como la
secuencia de incrementos. Al principio de todo proceso, se fija una secuencia
decreciente de incrementos. Cualquier secuencia funcionar en tanto que
empiece con un incremento grande, pero menor al tamao del arreglo de los
datos a ordenar, y que el ltimo valor de dicha secuencia sea 1.

Una eleccin muy comn (pero no tan eficiente) para la secuencia de


incrementos es adoptar la secuencia sugerida por Shell: ht = [n / 2], y hk =
[hk+1 / 2]. A continuacin se muestra un programa que implanta la ordenacin
de Shell usando esta secuencia.

# include <iostream.h>

void main (void)

int a[15];

int n, inc, i, j, tmp;

cout <<"De cuantos elementos es el arreglo? ";

cin >> n;

36
for (i=1; i<=n; i++)

cout <<"Introduce el elemento " <<i<<" : ";

cin >> a[i];

inc = n/2;

while (inc > 0)

for (i = inc +1; i<=n; i++)

tmp = a[i];

j=i;

while ( (j-inc) > 0 )

if (tmp < a[j-inc])

a[j]=a[j-inc];

j=j-inc;

else

break;

} // fin del while //

a[j]=tmp;

} // fin del for //

inc = inc/2;

37
} // fin del while //

cout <<endl;

for (i=1; i<=n; i++)

cout << a[i] <<endl;

} // fin de shell sort //

Mtodo de insercin directa

El mtodo de insercin directa es el que generalmente utilizan los jugadores de


cartas cuando ordenan stas, de ah que tambin se conozca con el nombre de
mtodo de la baraja.
La idea central de este algoritmo consiste en insertar un elemento del arreglo
en la parte izquierda del mismo, que ya se encuentra ordenada. Este proceso
se repite desde el segundo hasta el n-esimo elemento.
Ejemplo:
Se desean ordenarse las siguientes clave del arreglo A: 15, 67, 08, 16, 44, 27,
12, 35

Primera pasada
A[2] < A[1] 67 < 15 No hay intercambio

A: 15, 67, 08, 16, 44, 27, 12, 35

Segunda pasada
A[3] < A[2] 08 < 67 Si hay intercambio
A[2] < A[1] 08 < 15 Si hay

A: 15, 08, 67, 16, 44, 27, 12, 35

Tercera pasada
A[4] < A[3] 08 < 15 Si hay intercambio
A[3] < A[2] 08 < 15 Si hay intercambio

A= 08, 15, 67, 16, 44, 27, 12, 35

Hasta la sptima pasada el arreglo queda ordenado: 08, 12, 15, 16, 27, 35, 44,
67.

Mtodo QUICK SORT

El mtodo de ordenamiento Quick Sort es actualmente el ms eficiente y veloz


de los mtodos de ordenacin interna. Es tambin conocido con el nombre del

38
mtodo rpido y de ordenamiento por particin, en el mundo de habla hispana.
Este mtodo es una mejora sustancial del mtodo de intercambio directo

Se trata de ubicar a x en la posicin correcta del arreglo, de tal forma que todos
los elementos que se encuentran a su izquierda sean menores o iguales a x y
todos los elementos que se encuentren a su derecha sean mayores o iguales a
x.

UNIDAD IV Calidad enfocada al desarrollo del software

Conocer y aplicar los estndares de calidad para el desarrollo de software.

4.1 Que es la calidad del Software.

La calidad del software es el conjunto de cualidades que lo caracterizan y que


determinan su utilidad y existencia. La calidad es sinnimo de eficiencia,
flexibilidad, correccin, confiabilidad, mantenibilidad, portabilidad, usabilidad,
seguridad e integridad.

La calidad del software es medidle y vara de un sistema a otro o de un


programa a otro. Un software elaborado para el control de naves espaciales

39
debe ser confiable al nivel de "cero fallas"; un software hecho para ejecutarse
una sola vez no requiere el mismo nivel de calidad; mientras que un producto
de software para ser explotado durante un largo perodo (10 aos o ms),
necesita ser confiable, mantenible y flexible para disminuir los costos de
mantenimiento y perfeccionamiento durante el tiempo de explotacin.

La calidad del software puede medirse despus de elaborado el producto. Pero


esto puede resultar muy costoso si se detectan problemas deriva dos de
imperfecciones en el diseo, por lo que es imprescindible tener en cuenta tanto
la obtencin de la calidad como su control durante todas las etapas del ciclo de
vida del software.

4.2 Como obtener calidad del software metodologa como estndares

La obtencin de un software con calidad implica la utilizacin de metodologas


o procedimientos estndares para el anlisis, diseo, programacin y prueba
del software que permitan uniformar la filosofa de trabajo, en aras de lograr
una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que
eleven la productividad, tanto para la labor de desarrollo como para el control
de la calidad del software.

La poltica establecida debe estar sustentada sobre tres principios bsicos:


tecnolgico, administrativo y ergonmico.

El principio tecnolgico define las tcnicas a utilizar en el proceso de desarrollo


del software.

El principio administrativo contempla las funciones de planificacin y control del


desarrollo del software, as como la organizacin del ambiente o centro de
ingeniera de software.

El principio ergonmico define la interfaz entre el usuario y el ambiente


automatizado.

La adopcin de una buena poltica contribuye en gran medida a lograr la


calidad del software, pero no la asegura. Para el aseguramiento de la calidad
es necesario su control o evaluacin.

4.3 Como controlar la calidad del software

Para controlar la calidad del software es necesario, ante todo, definir los
parmetros, indicadores o criterios de medicin, ya que, como bien plantea
Tom De Marco, "usted no puede controlar lo que no se puede medir".

Las cualidades para medir la calidad del software son definidas por
innumerables autores, los cuales las denominan y agrupan de formas

40
diferentes. Por ejemplo, John, Wiley define mtricas de calidad y criterios,
donde cada mtrica se obtiene a partir de combinaciones de los diferentes
criterios. La Metodologa para la evaluacin de la calidad de los medios de
programas de la CIC, de Rusia, define indicadores de calidad estructurados en
cuatro niveles jerrquicos: factor, criterio, mtrica, elemento de evaluacin,
donde cada nivel inferior contiene los indicadores que conforman el nivel
precedente. Otros autores identifican la calidad con el nivel de complejidad del
software y definen dos categoras de mtricas: de complejidad de programa o
cdigo, y de complejidad de sistema o estructura.

Todos los autores coinciden en que el software posee determinados ndices


medibles que son las bases para la calidad, el control y el perfeccionamiento de
la productividad.

Una vez seleccionados los ndices de calidad, se debe establecer el proceso de


control, que requiere los siguientes pasos:

Definir el software que va a ser controlado: clasificacin por tipo, esfera


de aplicacin, complejidad, etc., de acuerdo con los estndares
establecidos para el desarrollo del software.
Seleccionar una medida que pueda ser aplicada al objeto de control.
Para cada clase de software es necesario definir los indicadores y sus
magnitudes.
Crear o determinar los mtodos de valoracin de los indicadores:
mtodos manuales como cuestionarios o encuestas estndares para la
medicin de criterios periciales y herramientas automatizadas para medir
los criterios de clculo.
Definir las regulaciones organizativas para realizar el control: quines
participan en el control de la calidad, cundo se realiza, qu documentos
deben ser revisados y elaborados, etc.

A partir del anlisis de todo lo anterior, nuestro Centro se encuentra enfrascado


en un proyecto para el Aseguramiento de la Calidad del Software (ACS), vlido
para cualquier entidad que se dedique a la investigacin, produccin y
comercializacin del software, el cual incluye la elaboracin de un Sistema de
Indicadores de la Calidad del Software, la confeccin de una Metodologa para
el Aseguramiento de la Calidad del Software y el desarrollo de herramientas
manuales y automatizadas de apoyo para la aplicacin de las tcnicas y
procedimientos del ACS, de forma tal que se conforme un Sistema de
Aseguramiento de la Calidad del Software.

4.4 Costo de la calidad del Software.

Es el uso de puntos funcin para ayudar a calcular el costo real del software.
La mayora de las organizaciones subestima en gran medida el costo del
software.

41
El costo real del software es la suma de todos los costos durante la vida de un
proyecto, incluyendo los mejoramientos esperados y los costos de
mantenimiento, de hecho, el clculo real debera ser el valor presente de todos
los desarrollos mejoras y costos de mantenimiento esperado durante la vida del
proyecto.

Este tipo de anlisis demuestra, la recompensa de invertir en un diseo y


anlisis de primera.

Cuando ms se invierte en un proyecto, ms se va a ahorrar en un futuro


costos de mantenimiento y mejoras.

El uso de puntos funcin para ayudar a estimar el costo de proyectos, la


programacin y es el esfuerzo la estimacin exitosa usando puntos funcin se
basa en varias tcnicas de estimacin: Top Down: Analoga y consejo de
expertos.

Loa estimacin Top Down es una tcnica de estimacin que calcula el


programa entero, costo y esfuerzo usando parmetros amplios.
Los parmetros amplios y las comparaciones estn basadas en datos
histricos usando tcnica de analogas.

Lograr la estimacin exitosa, se debe considerar lo siguiente:

Tipo de plataforma de Hardware mainframe, cliente, servidor, PC


Tipo de lenguaje; cobol, C, C++
Tipo de proyecto: software del sistema, software intermedio, software de
aplicacin
Tipo de sistema operativo: MVS, Windows, Unix

Una vez que los proyectos han sido determinados obtener:

Medida histrica de entrega (horas)


Diagramas histricos (duracin de programa)
Costos histricos

4.5 Nomenclara y certificacion isop 9001 2000

Es un mtodo de trabajo, que se considera tan buena que es el mejor para


mejorar la calidad y satisfaccin de cara al consumidor. La versin actual es del
ao 2000 ISO 9001:2000; que no ha sido adoptado como modelo a seguir para
obtener la certificacin de calidad y es a lo que tienden y debe aspirar toda
empresa competitiva, que quiera permanecer y sobrevivir en el exigente
mercado actual.

42
Estos principios bsicos de la gestin de la calidad son reglas de carcter
social encaminadas mejorar la marcha y funcionamiento de una organizacin
mediante la mejora de sus relaciones internas.

Estas normas han de combinarse con los principios tcnicos para conseguir
una mejora de la satisfaccin del consumidor.

ISO 9001:2000 especifica los requisitos para los sistemas de gestin aplicables
a toda organizacin que necesita demostrar su capacidad para proporcionar
productos que cumplan los requisitos de sus clientes los reglamentos.

4.6 Norma ISO/IEC 9126

Describe un modelo en 2 partes para la calidad del producto del software, a la


calidad interna y externa, y a la calidad en uso, la primera parte del modelo
especifica 6 caractersticas para la calidad interna y externa, que se subdividen
posteriormente en dos caractersticas.

Estas subcaractersticas se manifiestan externamente cuando el software se


usa como parte de un sistema informtico y son el resultado de los atributos
externos del software.

Esta parte de la ISO/IEC 9126 no elabora el modelo interno y externo ms all


del nivel de subcaratersticas.

4.7 Anlisis de factores que determina la calidad de software

Los atributos de calidad de un producto de software se divide en interno y


externo.

Correcta: cuando se desenvuelve de acuerdo con las especificaciones


de funcionamiento que provee, es decir, es la equivalencia entre el
software y las especificaciones del mismo.
Confiable: la confiabilidad de un software se puede determinar en
funcin de la confiabilidad de otro del mismo tipo.
Robusto: capacidad del programa de responder a la entrada de datos
Amigable: se refiere a que existe consistencia en las interfaces
Verificable: un software es verificable si las propiedades del mismo
pueden ser llevados totalmente.
Portable: es cuando un sistema puede ser transferido a otro
Productividad: es la eficiencia en sus procesos, es decir, rendimientos de
los mismos.
Oportunidad: se refiere a la liberacin del producto cuando el cliente lo
necesita y con las caractersticas requeridas

4.8 Anlisis del proceso del ciclo de vida del software

43
Proceso.

Cuando se construye un producto o se presta un servicio se siguen una serie


de pasos para lograr cumplir las tareas necesarias en un cierto orden. Un
proceso es una serie de pasos que involucran actividades, restricciones y
recursos que producen una salida determinada (producto o servicio) utilizando
para ello un conjunto de herramientas y tcnicas.

Todos los procesos tienen estas caractersticas:

establecen las principales actividades del proceso.

utilizan recursos (horas hombre, equipos, dinero).

estn sujetos a restricciones (calendario, presupuesto, ).

genera productos intermedios y finales.

puede constituirse como una cadena de subprocesos, cada uno con su


propio modelo.

cada actividad tiene criterios de entradas y salidas; puede saberse


cuando comienza y cuando termina una actividad.

las actividades se organizan en secuencia; resulta claro el orden


relativo de una actividad respecto a las dems.

tiene un conjunto de principios orientadores que describen las metas


de cada actividad.

las restricciones pueden aplicarse a una actividad, recurso o producto.


Un proceso es ms que un procedimiento. Un procedimiento es una
manera estructurada de combinar herramientas y tcnicas para generar
un producto. Un proceso es un conjunto de procedimientos organizados
de tal modo que los productos construidos satisfagan un conjunto de
metas o estndares 1 de 5.

Proceso de desarrollo o ciclo de vida del software

El proceso que nos interesa es el proceso de desarrollo del software. Cuando


un proceso implica construccin de algn producto suele denominarse al
proceso ciclo de vida. En particular, el ciclo de vida del software describe la

44
vida de un producto de software desde su concepcin hasta su
implementacin, entrega, utilizacin y mantenimiento.

Modelos de procesos en ingeniera de software

Es posible concebir diferentes modelos de proceso para arribar a un mismo


producto; las diferencias estarn en las actividades priorizadas, su importancia
relativa, la secuencia de realizacin, los principios orientadores, las
herramientas y tcnicas elegidas. Entre los modelos ms comunes
experimentados por la ingeniera de software se cuentan:

modelo en cascada (~1970).

modelo de prototipos (~1975).

modelo de transformaciones (~1981)

modelo en espiral (~1988).

desarrollo por fases: incrementos e iteraciones (~1996).

proceso unificado (~1999).

programacin extrema (~2000). Nota: las fechas son aproximadas,


generalmente de alguna publicacin donde por primera vez se propone
el modelo o a partir de la cual cobra vigencia. Una fecha lejana no
significa necesariamente inutilidad u obsolescencia; los procesos
modernos incorporan muchos principios de modelos ms viejos.

Adems, cada proyecto puede responder mejor a un modelo que a otro,


independientemente de la edad del modelo. Para un proceso de desarrollo de
software son de inters las siguientes caractersticas:

el proceso debe describirse de manera flexible, que permita a las


personas disear y construir el software con algn grado de libertad en
la eleccin de las herramientas y tcnicas preferidas o ms adecuadas.

el proceso debe guiar las acciones permitiendo examinar, comprender,


controlar y mejorar las actividades que abarca.

los procesos deben permitir capturar la experiencia y transferirla a los


dems.

45
cada etapa de un proceso de desarrollo de software es en s misma un
proceso o coleccin de procesos capaz de ser descrito como un
conjunto de actividades, cada actividad con sus propias entradas,
salidas, restricciones y recursos.

la descripcin de un proceso puede hacerse de muchas formas,


textuales, grficas o combinadas.

Elementos del proceso.

El producto logrado a a travs de la realizacin de un proyecto es el resultado


de la intervencin de muchas personas. El proceso de desarrollo gua los
esfuerzos de esas personas, marcando los pasos necesarios para lograr
culminar el proyecto. El proceso puede ayudarse de herramientas con las
cuales se busca facilitar o automatizar algunas tareas.

Producto.

El producto resultante de un proyecto de desarrollo de software incluye todos


los elementos (artefactos) creados durante la realizacin del proyecto: modelo,
cdigo fuente, ejecutables, documentacin. Un sistema de software es el
conjunto de todos los artefactos necesarios para representarlo en forma
comprensible por mquinas u hombres, destinado a las mquinas, los
trabajadores y los 2 de 5 interesados en el proyecto. Las mquinas son las
herramientas, compiladores y computadores donde se instalar el software.
Los trabajadores son directores, arquitectos de software, diseadores,
programadores, personal de gestin, administracin y apoyo. Los interesados
son inversores, usuarios, personal de comercializacin, agentes de regulacin,
otros. Las personas y mquinas involucradas en el desarrollo de un sistema de
software son llamados a veces trabajadores del proyecto [Jacobson2000, cap.
2].

Un artefacto designa cualquier tipo de informacin creada, producida,


cambiada o utilizada por los trabajadores (hombres o mquinas) durante el
desarrollo del sistema. Los artefactos pueden ser tanto de ingeniera como de
gestin. Ms formalmente, un artefacto es una pieza de informacin tangible

1) creada, modificada y usada por los trabajadores al realizar actividades

46
2) donde se representa un rea de responsabilidad

3) candidata a ser tenida en cuenta al realizar el control de configuracin. Un


artefacto puede ser un modelo, un elemento de un modelo o un documento. La
construccin de un sistema es la construccin de modelos. Diferentes modelos
pueden describir diferentes perspectivas del sistema. Un modelo es una
abstraccin del sistema, especificando el sistema modelado desde un cierto
punto de vista y en determinado nivel de abstraccin. Ms formalmente, un
modelo es una abstraccin semnticamente cerrada del sistema. Es una vista
autocontenida del sistema: un usuario del modelo no necesita recurrir a
informacin fuera del propio modelo, ni a otros modelos [Jacobson2000, cap.
2].

Personas.

Los constructores del proyecto son arquitectos de software, desarrolladores,


encargados de pruebas, personal de gestin; usuarios, clientes, inversores y
otros interesados tambin participan en la construccin. Las personas se vern
afectadas por diversos aspectos organizativos y de gestin del proyecto:

viabilidad del proyecto: el proyecto debe ser posible; una evaluacin temprana
de la viabilidad puede detener un proyecto imposible.

gestin del riesgo: identificacin de los riesgos mayores, definicin de


polticas de aversin al riesgo (como evitar o manejar el riesgo) contribuyen a la
confianza y tranquilidad de todos los involucrados.

estructura de los equipos: las personas trabajan mejor en grupos reducidos,


de seis a ocho personas. La divisin en subsistemas con interfaces claras
permite trabajar con varios equipos manteniendo su coordinacin.

plan de proyecto: una estimacin realista de tiempos y recursos permite armar


un plan de trabajo fundamentado y posible, eliminando la desalentadora
sensacin de no terminar nunca.

facilidad de comprensin del proyecto: la visin global del proyecto provista


por la descripcin de la arquitectura permite a todos los implicados conocer qu
se est haciendo y para qu; la comprensin de lo que se est haciendo
permite a la gente trabajar mejor.

47
cumplimiento: la conclusin exitosa de cada etapa, hecha posible por un plan
realista, evita la frustracin del atraso o el incumplimiento. Las tareas y
responsabilidades de las personas intervinientes en el proyecto irn cambiando
a lo largo del mismo, o an pueden desempearse en diferentes conjuntos de
tareas y especialidades al mismo tiempo; el papel de las personas como
trabajadores cambiar, o se desempearn como diferentes tipos de
trabajadores. El trmino trabajador designa un conjunto de tareas y
responsabilidades asumidas por una persona o un grupo [Jacobson2000, cap.
2].

Proyecto.

El proyecto es un elemento organizativo a travs del cual se gestiona el


desarrollo de software. El resultado de un proyecto es una versin de un
producto. Se parte de un proyecto inicial con el cual se evala la viabilidad, se
identifican los riesgos y se define el plan de proyecto. La construccin se
realizar en una serie de iteraciones; cada iteracin constituye un mini proyecto
con requisitos, diseo, implementacin y prueba. 3 de 5.

Proceso

Un proceso de desarrollo de software es una definicin del conjunto completo


de actividades necesarias para transformar los requerimientos del usuario en
un producto. Un proceso es un patrn o plantilla sobre la cual se definen los
proyectos. Puede decirse que un proyecto es una instancia de un proceso, una
aplicacin concreta a un emprendimiento particular de los principios, forma de
trabajo y recomendaciones de un proceso. Un proceso de desarrollo de
software consiste en la definicin del conjunto completo de actividades
necesarias para convertir los requerimientos del usuario en un conjunto
consistente de artefactos que conforman el producto de software, as como
para convertir los cambios surgidos en los requerimientos en un nuevo conjunto
consistente de artefactos de software [Jacobson2000, cap. 2].

Modelo

Un modelo es una simplificacin de la realidad. Se construyen modelos para


comprender mejor el sistema en desarrollo. El modelado persigue estos

48
objetivos: visualizar cmo ser el sistema deseado; especificar la estructura
o el comportamiento del sistema; proveer plantillas descriptivas para usar
como gua en la construccin del sistema; documentar las decisiones
adoptadas. Se construyen modelos de los sistemas complejos porque resulta
muy difcil comprender el sistema en su totalidad. La eleccin de modelos tiene
una profunda influencia sobre la forma de enfrentar un problema y como se
llega a la solucin. Es preciso elegir bien los modelos. Los mejores modelos
reflejan la realidad en todos y slo aquellos aspectos importantes para el
sistema en desarrollo. Un modelo puede ser presentado en diferentes niveles
de detalle, desde diferentes perspectivas, a travs de un conjunto de modelos
casi independientes pero coordinados entre s [Booch1999, cap. 1].

Arquitectura

El diseo de arquitectura de un sistema ofrece una visin global del sistema.


Ms formalmente, la arquitectura de un sistema de software es un conjunto de
decisiones significativas acerca de la organizacin de ese sistema, la seleccin
de elementos estructurales e interfaces componentes del sistema junto con su
comportamiento, la composicin de esos elementos estructurales en
subsistemas, y el estilo que orienta esa organizacin. Incluye no slo la
funcionalidad (lo que hace) sino tambin restricciones (limitantes),
compromisos sobre uso, rendimiento, comprensin, flexibilidad, reutilizacin,
economa, tecnologa y esttica [Jacobson2000, cap. 2]. No es posible
comprender la arquitectura de un sistema medianamente complejo si no se la
expresa a travs de diversas vistas complementarias:

una vista de casos de uso para mostrar los requerimientos del sistema;

una vista de diseo para capturar el vocabulario del dominio del problema tal
como lo conocen los usuarios y del dominio de la solucin tal como la imaginan
los desarrolladores.

una visin de procesos, donde se modelan los procesos e hilos de ejecucin


mediante los cuales el sistema realizar sus tareas.

una vista de implementacin, donde se consigna la relacin entre los distintos


componentes de software que colaboran entre s para cumplir los cometidos
del sistema.

una vista de despliegue donde se muestra la distribucin fsica de los


componentes en diferentes equipos y ubicaciones. Cada una de estas vistas

49
comprende aspectos estructurales (estticos, cmo es) y de comportamiento
(dinmicos, cmo funciona). En conjunto, estas vistas son los planos del
software, anlogos a los planos de un edificio, un puente, una mquina o un
diagrama de circuitos [Booch1999, cap. 1]. 4 de 5

Herramientas

Las herramientas usadas en la realizacin de un proyecto de desarrollo de


software es el software usado para automatizar o facilitar las tareas del
personal interviniente en el proyecto. Puede incluir procesadores de palabras,
programas de diagramacin, ambientes integrados de desarrollo o software
especfico para ingeniera de software (herramientas CASE, Computer Aided
Software Engineering, ingeniera de software asistida por computador). El
proceso y las herramientas estn estrechamente relacionados; se eligen o
construyen las herramientas de acuerdo con el proceso de desarrollo a seguir.
Referencias y lecturas recomendadas. El contenido de este documento est
basado en las fuentes citadas a continuacin, cuya lectura o consulta no
pretenden sustituir. Lecturas recomendadas.

[Larman2003] Larman, Craig. UML y patrones. Una introduccin al anlisis y


diseo orientado a objetos y al Proceso Unificado, 2a. edicin. Madrid, 2003.
ISBN 8420534382.

[Fowler1997] Fowler, Martin y Scott, Kendall. UML distilled. Applying the


Standard Object Modelling Language. Addison Wesley Longman, Inc., 1997.
ISBN 0201325632.

[Pfleeger2002] PFLEEGER, SHARI LAWRENCE. Ingeniera de software,


teora y prctica, 1a. edicin. Buenos Aires, Pearson educacin, 2002. ISBN:
9879460715.

4.9 FUNCIONES DE EVOLUCION DEL SOFTWARE

Durante los primeros aos de la era de la computadora, el software se


contemplaba como un aadido. La programacin de computadoras era un "arte
de andar por casa" para el que existan pocos mtodos sistemticos. El
desarrollo del software se realizaba virtualmente sin ninguna planificacin,
hasta que los planes comenzaron a descalabrarse y los costes a correr. Los

50
programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a
menudo salan con xito. El software se diseaba a medida para cada
aplicacin y tenia una distribucin relativamente pequea.

La mayora del software se desarrollaba y era utilizado por la misma persona u


organizacin. La misma persona lo escriba, lo ejecutaba y, si fallaba, lo
depuraba. Debido a este entorno personalizado del software, el diseo era un
proceso implcito, realizado en la mente de alguien y, la documentacin
normalmente no exista.

La segunda era en la evolucin de los sistemas de computadora se extienden


desde la mitad de la dcada de los sesenta hasta finales de los setenta. La
multiprogramacin y los sistemas multiusuario introdujeron nuevos conceptos
de interaccin hombre - maquina. Las tcnicas interactivas abrieron un nuevo
mundo de aplicaciones y nuevos niveles de sofisticacin del hardware y del
software. Los sistemas de tiempo real podan recoger, analizar y transformar
datos de mltiples fuentes, controlando as los procesos y produciendo salidas
en milisegundos en lugar de minutos. Los avances en los dispositivos de
almacenamiento en lnea condujeron a la primera generacin de sistemas de
gestin de bases de datos.

La segunda era se caracterizo tambin por el establecimiento del software


como producto y la llegada de las "casas del software". Los patronos de la
industria, del gobierno y de la universidad se aprestaban a "desarrollar el mejor
paquete de software" y ganar as mucho dinero.

Conforme creca el numero de sistemas informticos, comenzaron a


extenderse las bibliotecas de software de computadora. Las casas
desarrollaban proyectos en los que se producan programas de decenas de
miles de sentencia fuente. Todos esos programas, todas esas sentencias
fuente tenan que ser corregidos cuando se detectaban fallos, modificados
cuando cambiaban los requisitos de los usuarios o adaptados a nuevos
dispositivos hardware que se hubieran adquirido. Estas actividades se
llamaron colectivamente mantenimiento del software.

La tercera era en la evolucin de los sistemas de computadora comenz a


mediados de los aos setenta y continuo mas all de una dcada. El sistema
distribuido, mltiples computadoras, cada una ejecutando funciones
concurrente y comunicndose con alguna otra, increment notablemente la
complejidad de los sistemas informticos. Las redes de rea local y de rea
global, las comunicaciones digitales de alto ancho de banda y la creciente
demanda de acceso "instantneo" a los datos, supusieron una fuerte presin
sobre los desarrolladores del software.

La conclusin de la tercera era se caracterizo por la llegada y amplio uso de los


microprocesadores. El microprocesador ha producido un extenso grupo de
productos inteligentes, desde automviles hasta hornos microondas, desde
robots industriales a equipos de diagnsticos de suero sanguneo.

51
La cuarta era de la evolucin de los sistemas informticos se aleja de las
computadoras individuales y de los programas de computadoras, dirigindose
al impacto colectivo de las computadoras y del software. Potentes maquinas
personales controladas por sistemas operativos sofisticados, en redes globales
y locales, acompaadas por aplicaciones de software avanzadas se han
convertido en la norma.

La industria del software ya es la cuna de la economa del mundo. Las tcnicas


de la cuarta generacin para el desarrollo del software estn cambiando en la
forma en que la comunidad del software construye programas informticos. Las
tecnologas orientadas a objetos estn desplazando rpidamente los enfoques
de desarrollo de software ms convencionales en muchas reas de
aplicaciones.

Sin embargo, un conjunto de problemas relacionados con el software ha


persistido a travs de la evolucin de los sistemas basados en computadora, y
estos problemas continan aumentando.

1. los avances del software continan dejando atrs nuestra


habilidad de construir software para alcanzar el potencial del
hardware.
2. Nuestra habilidad de construir nuevos programas no pueden ir al
mismo ritmo de la demanda de nuevos programas, ni podemos
construir programas lo suficientemente rpido como para cumplir las
necesidades del mercado y de los negocios.
3. El uso extenso de computadoras ha hecho de la sociedad cada
vez ms dependiente de la operacin fiable del software. Cuando el
software falla, pueden ocurrir daos econmicos enormes y
ocasionar sufrimiento humano.
4. Luchamos por construir software informtico que tengan
fiabilidad y alta calidad.
5. Nuestra habilidad de soportar y mejorar los programas existentes
se ve amenazada por diseos pobres y recursos inadecuados.

En respuesta a estos problemas, las practicas de la Ingeniera del Software se


estn adoptando en toda la industria.

52