Documentos de Académico
Documentos de Profesional
Documentos de Cultura
19
Poca productividad
20
Nada es posible
Fundamentos de programacin
Verificacin de programas
Metodologas de diseo
Entornos de programacin
Especificacin formal
Programacin automtica
21
un buen diseo pero la fase de construccin del hardware puede introducir problemas de calidad
que no existen, o son fcilmente corregibles, en el software. Ambas actividades dependen de las
personas, pero la relacin entre la gente dedicada y el trabajo realizado es completamente
diferente para el software. Ambas actividades requieren la construccin de un "producto", pero
los mtodos son diferentes.
Los costos del software se concentran en la ingeniera. Esto significa que los proyectos de
software no pueden ser gestionados cmo si fueran proyectos de fabricacin. En los ltimos
cinco aos se ha tratado en la literatura el concepto de "fsico de software". Es importante
observar que este trmino no implica que la fabricacin del hardware y el desarrollo del software
sean equivalentes. En vez de ello, el concepto fsico de software recomienda el uso de
herramientas automticas para el desarrollo del software.
22
B) Para cada atributo a medir, hay una medicin confiable (objetiva) que puede llevarse
a cabo. La idea es que, dado que el atributo deseable es difcil de medir, se mide otro atributo
que est correlacionado con el primero.
C) En vez de medir la calidad del producto, midamos la calidad del proceso. Tener un
buen proceso implica producir software de buena calidad.
D) Es fcil saber cundo se tiene un buen proceso. Es fcil disear un buen proceso para
producir software.
E) Deben crearse campeones de la calidad, comits de calidad, y otras organizaciones
humanas cuya meta sea promover la calidad. Generalmente, estos comits (1) elaboran
normas que dicen cmo llevarse a cabo la confeccin de software, incluyendo formatos que
ciertos documentos intermedios y finales (manuales, digamos) deben seguir, y (2) observan que
el grupo productor se apegue a las normas (1).
F) La actitud frente a la calidad debe permear a cada codificador. El diseador o
programador debe estar constantemente pensando en calidad, tener f en que l har trabajos
de calidad, vigilar que la calidad de sus obras rebase un mnimo.
Si hacemos las cosas de la manera que dicta un comit internacional, lo estamos haciendo
bien, as se asegura la calidad del proceso y del software resultante. Es decir, de los muchos
procesos que podemos seguir, usemos uno que sea parte de una norma o estndar internacional,
o que sea el procedimiento que sigue una empresa que produce software de calidad (Oracle,
digamos).
23
Cualquier disciplina de ingeniera (incluida la ingeniera del software) debe descansar sobre
un esfuerzo de organizacin de Calidad. La gestin total de la calidad y las filosofas
similares fomentan una cultura continua de mejoras de procesos que conduce al desarrollo de
enfoques cada vez ms robustos para la ingeniera del software.
24
25
Requisitos nuevos
o modificados
Proceso de Desarrollo
de Software
Sistema nuevo
o modificado
26
Gestin de reutilizacin.
Mediciones.
Gestin de riesgos.
Un marco comn del proceso, definiendo un pequeo nmero de actividades del marco
de trabajo que son aplicables a todos los proyectos de software, con independencia del
tamao o complejidad.
Un conjunto de tareas, cada uno es una coleccin de tareas de ingeniera del software,
hitos de proyectos, entregas y productos de trabajo del software, y puntos de garanta de
calidad, que permiten que las actividades del marco de trabajo se adapten a las caractersticas
del proyecto de software y los requisitos del equipo del proyecto.
Las actividades de proteccin, tales como garanta de calidad del software, gestin de
configuracin del software y medicin, abarcan el modelo del proceso. Las actividades de
proteccin son independientes de cualquier actividad del marco de trabajo y aparecen
durante todo el proceso.
27
Otra perspectiva utilizada para determinar los elementos del proceso de desarrollo de
software es establecer las relaciones entre elementos que permitan responder Quin debe hacer
Qu, Cundo y Cmo debe hacerlo [5].
Qu: Un Artefacto1 es producido por un Rol en una de sus Actividades. Los Artefactos se
especifican utilizando Notaciones especficas. Las Herramientas apoyan la elaboracin de
Artefactos soportando ciertas Notaciones.
Cmo y Cundo: Las Actividades son una serie de pasos que lleva a cabo un Rol durante el
proceso de desarrollo. El avance del proyecto est controlado mediante hitos que establecen
un determinado estado de terminacin de ciertos Artefactos.
Un artefacto es una pieza de informacin que (1) es producida, modificada o usada por el proceso, (2) define un rea de responsabilidad
para un rol y (3) est sujeta a control de versiones. Un artefacto puede ser un modelo, un elemento de modelo o un documento.
Instituto Tecnolgico de Ciudad.Jurez
28
Un software de calidad debe ser eficaz, es decir, que debe realizar las funciones
establecidas, debe ser amigable. Un usuario debe utilizar el software porque produce
resultados confiables, realiza todas las operaciones que se requieren, ejecuta las operaciones
en un tiempo aceptado y es fcilmente usado por el grupo de usuarios a quien este dirigido.
algunos aspectos fundamentales que caracterizan al software de calidad como son : solidez,
exactitud, completitud, mantenibilidad, reutilizabilidad, claridad en la documentacin, entre
otros que sern descritos a continuacin.
29
30
que los usuarios disfruten de las cualidades visibles, los diseadores y los implementadotes
deben aplicar tcnicas internas que aseguren las cualidades ocultas.
1.2 Robustez
31
La robustez es por naturaleza una nocin ms difusa que la correccin. Puesto que tiene
que ver aqu con casos no previstos por la especificacin, no es posible decir, como con la
correccin, que el sistema debera realizar sus tareas en tal caso; donde las tareas son
conocidas, el caso excepcional formara parte de la especificacin y regresaramos al terreno de
la correccin.
Siempre habr casos que la especificacin no contemple explcitamente. El papel del
requisito de robustez es asegurar que si tal caso surgiese el sistema no causar eventos
catastrficos; debera producir mensajes de error apropiados, terminar su ejecucin
limpiamente en lo posible.
1.3 Extensibilidad
32
1.4 Reutilizacin
1.5 Compatibilidad
Instituto Tecnolgico de Ciudad.Jurez
33
Estructuras de datos estndares como en los sistemas Lisp, donde tanto los datos
como los programas, se representan mediante rboles binarios.
1.6 Eficiencia
34
Por otro lado, existe la tendencia de soslayar las cuestiones de eficiencia, como se
evidencia en las frases de la industria hgalo correcto antes de hacerlo rpido y
de todos modos los modelos de computadoras del ao que viene van a ser un 50%
ms rpidos.
La portabilidad tiene que ver con las variaciones no slo del hardware fsico sino ms
generalmente de la mquina hardware-software, la que realmente programamos y que incluye
el sistema operativo, el sistema de ventanas y otras herramientas fundamentales. Muchas de las
incompatibilidades existentes entre las plataformas son injustificadas, y convierte a la
portabilidad en un asunto primordial tanto para los que desarrollan como para los que usan el
software.
La definicin insiste en los diferentes niveles de experiencia de los posibles usuarios. Este
requisito plantea uno de los mayores retos de los diseadores de software preocupados por la
facilidad de uso: cmo proporcionar explicaciones y guas detalladas a los usuarios novatos sin
Instituto Tecnolgico de Ciudad.Jurez
35
fastidiar a los usuarios expertos que quieren ir directo al grano.Una de las claves de la facilidad
de uso es la simplicidad estructural. Un sistema bien diseado, construido de acuerdo a una
estructura clara y bien pensada, tiende a ser ms fcil de aprender y usar que uno confuso.
Los buenos diseadores de interfaces siguen una poltica prudente. Hacen las menos
suposiciones posibles sobre los usuarios. Cuando se disea un sistema interactivo, se debe
esperar que los usuarios sean miembros de la raza humana y que sepan leer, mover un ratn,
presionar un botn y teclear (lentamente); no mucho ms. Si el software est dirigido a un rea
especializada de aplicacin, se puede dar por supuesto que los usuarios estn familiarizados con
sus conceptos bsicos. Pero incluso esto es arriesgado.
1.9 Funcionalidad
Uno de los problemas ms difciles a los que se enfrenta un jefe de proyecto es conocer
cuanta funcionalidad es suficiente. La presin para ofrecer ms facilidades (conocida como
featurism), est constantemente presente. Sus consecuencias son malas para los proyectos
internos, donde las presiones vienen de los usuarios de la misma compaa, y son peores para
los productos comerciales, ya que la parte ms destacada de los anlisis comparativos suele ser
una tabla donde se enumeran una por una las propiedades que ofrecen los distintos productos
analizados.
El featurism es realmente la combinacin de dos problemas, uno ms difcil que el otro.
El problema ms fcil es la prdida de consistencia como consecuencia de estar aadiendo
nuevas propiedades, lo que puede afectar a su facilidad de uso. Los usuarios se quejan con razn
de que toda la parafernalia que acompaa a una nueva versin de un producto lo hace
tremendamente complejo. Tales comentarios no deberan preocuparnos en exceso, puesto que
las nuevas propiedades no surgen de la nada: la mayor parte de las veces han sido solicitadas por
los usuarios otros usuarios. Lo que a unos les puede resultar algo superfluo puede ser una
facilidad indispensable para otros.
La solucin aqu es trabajar una y otra vez sobre la consistencia del producto global,
tratando de que todo encaje en un molde general. Un buen producto software est basado en un
Instituto Tecnolgico de Ciudad.Jurez
36
nmero pequeo de potentes ideas; incluso si tiene muchas propiedades especializadas, stas
deberan explicarse como consecuencia de los conceptos bsicos. El gran plan debe estar
visible y todo debera ocupar su sitio dentro de l.
1.10 Oportunidad
37
2. Sobre la documentacin:
En una lista de factores de calidad del software, uno podra esperar encontrar la presencia
de una buena documentacin como uno de los requisitos. Pero ste no es un factor de calidad
separado; la necesidad de documentacin es una consecuencia de otros factores de calidad vistos
en el acpite anterior. Se pueden distinguir tres tipos de documentacin:
38
39