Documente Academic
Documente Profesional
Documente Cultură
Administración de Conocimiento
versión 3.0
SWEBOK ®
versión 3.0
editores
Pierre Bourque, Escuela de Tecnología Superior (ETS)
Richard E. (Dick) Fairley, Software e Ingeniería de Sistemas Asociados (S2EA)
Derechos de autor y reimpresión Permisos. Se permite el uso personal o educativo de este material sin costes prevista dichas
copias
1) No se hacen con fines de lucro o en lugar de la compra de copias para las clases, y que este aviso y una referencia completa
a la obra original aparecen en la primera página de la copia y 2) no implican IEEE respaldo de los productos o servicios de
terceros . El permiso para reproducir / a publicar este material para fines comerciales, publicidad o con fines promocionales o
para la creación de nuevas obras colectivas para la reventa o redistribución debe ser obtenido de IEEE por escrito a la Oficina
de Derechos de Propiedad Intelectual IEEE, 445 Hoes Lane, Piscataway, NJ 08854-4.141 opubs-permissions@ieee.org.
La referencia a cualquier producto comercial específico, proceso o servicio no implica reconocimiento alguno por el IEEE.
Los puntos de vista y opinio- nes expresadas en esta publicación no reflejan necesariamente las de la IEEE.
IEEE pone este documento a disposición “tal cual” y no hace ninguna garantía, expresa o implícita, en cuanto a la exactitud,
la du- capaci-, comerciabilidad eficiencia, o el funcionamiento de este documento. En ningún caso, IEEE ser responsable de
los daños generales, consecuentes, indirectos, incidentales, ejemplares o especiales, incluso si IEEE ha sido advertido de la
posibilidad de tales daños.
copias digitales de Guía SWEBOK V3.0 se pueden descargar de forma gratuita para uso personal y académico a través
www.swebok.org.
Productos IEEE Computer Society y Servicios. El IEEE Computer Society de renombre mundial publica, promueve y
distribuye los de una amplia variedad de revistas de ciencia e ingeniería equipo autorizado, revistas, actas de congresos y
productos de educación profesional. Visite la Sociedad Informática de lawww.computer.org para más información.
TABLA DE CONTENIDO
Forewordxvii
Prólogo a la Editionxix 2004
Editorsxxi
Coeditorsxxi
contribuyendo Editorsxxi
Cambio de control Boardxxi
Área de conocimiento Editorsxxiii
Editores Área de Conocimiento de Anterior SWEBOK Versionsxxv
revisión Teamxxvii
Acknowledgementsxxix
Junta actividades profesionales, 2013 Membershipxxix
Movimientos respecto a la aprobación de la Guía SWEBOK V3.0xxx
Movimientos respecto a la aprobación de la Guía SWEBOK 2004 Versiónxxx
Introducción a la Guidexxxi
v
6.3. Modelo de validación 1-12
6.4. Prueba de aceptacion 1-12
7. Considerations1-12 práctica
7.1. La naturaleza iterativa del proceso Requisitos 1-13
7.2. Gestión del cambio 1-13
7.3. requisitos Atributos 1-13
7.4. requisitos de rastreo 1-14
7.5. La medición de Requisitos 1-14
8. Requisitos de software Tools1-14
Matriz de Temas vs. Referencia Material1-15
4. Revisión y Evaluation7-8
4.1. La determinación de satisfacción de los requisitos 7-8
4.2. Revisión y Evaluación del desempeño 7-9
5. Closure7-9
5.1. Cierre la determinación 7-9
5.2. Actividades de cierre 7-9
6. Ingeniería de Software Measurement7-9
6.1. Establecer y mantener el compromiso de Medición 7-9
6.2. Planificar el proceso de medición 7-10
6.3. Realizar el proceso de medición 7-11
6.4. evaluar Medición 7-11
7. Ingeniería de Software de Gestión Tools7-11
Matriz de Temas vs. Referencia Material7-13
xvii
Prólogo a la edición de 2004
xix
Guía xx SWEBOK® V3.0
2. Definir Ética y Estándares Profesionales. Se espera que los lectores encontrarán en este
3. Definir planes de estudio para la Educación libro uso-ful para guiarlos hacia el conocimiento
univer- y los recursos que necesitan en su carrera de por
comió, graduado, y la educación continua. vida desa- rrollo como profesionales de
ingeniería de software.
Este libro suministra el primer componente: El libro está dedicado a Fletcher Buckley en
requerida reconocimiento a su compromiso con la
Conjunto de conocimientos y recomendar promoción de la ingeniería de software como
prácticas. una disciplina profesional y su excelencia como
El código de ética y práctica profesional de la Tioner una ingeniería de software prác- en
ingeniería de software se completó en 1998 y aplicaciones de radar.
aprobado tanto por el Consejo de ACM y la
IEEE Computer Society Junta de Gobernadores.
Ha sido adoptado por numerosas empresas y Leonard L. Tripp, Fellow de IEEE 2003
otras organizaciones y está incluido en varios Presidente del Comité de Prácticas
libros de texto recientes. Profesionales, IEEE
El plan de estudios para los estudiantes está Computer Society (2001-2003)
siendo completada por un esfuerzo conjunto de
la IEEE Computer Society y de la ACM y se Presidente del Comité Directivo Conjunto IEEE
espera que esté terminado en 2004. Computer Society y ACM para el Establecimiento de
Cada profesión se basa en un cuerpo de El Ingeniería de Software como una Profesión (1998-
conocimiento y las prácticas recomendadas, a 1999)
pesar de que no siempre se definen de una
manera precisa. En muchos casos, éstos se Presidente del Comité de Estándares de Ingeniería de
documentan formalmente, el aliado no baja en Software, IEEE Computer Society
una forma que les permite ser utilizado para (1992-1998)
fines tales como la acreditación de programas
académicos, el desarrollo de programas de
educación y formación, la certificación de
especialistas, o licencia profe- sional. En
general, una sociedad profesional u organismo
relacionado mantiene la custodia de una
definición Mal tales lucro. En los casos en que
no exista tal formalidad, el conjunto de
conocimientos y prácticas recomendadas son
“generalmente reconocidos” por ners practitio- y
pueden ser codificados en una variedad de
maneras para diferentes usos.
EDITORES
Pierre Bourque, Departamento de Ingeniería de Software y TI, Escuela de Tecnología Superior (ETS),
Canadá, pierre.bourque@etsmtl.ca
Richard E. (Dick) Fairley, Software e Ingeniería de Sistemas Asociados (S2EA), EE.UU.,
dickfairley@gmail.com
coeditores
Alain Abran, Departamento de Ingeniería de Software y TI, Escuela de Tecnología Superior (ETS),
Canadá, alain.abran@etsmtl.ca
Juan Garbajosa, Universidad Politécnica de Madrid (Universidad Politécnica de Madrid, UPM),
España, juan.garbajosa@upm.es
Gargi Keeni, Tata Consultancy Services, la India, gargi@ieee.org
Beijun Shen, Escuela de software, Shanghai Jiao Tong Universidad, China, bjshen@sjtu.edu.cn
editores colaboradores
Las siguientes personas contribuyeron a la edición de la Guía de
SWEBOK V3: Don Shafer
Linda Shafer
Mary Jane Willshire
Kate Guillemette
xxi
EDITORES área de conocimiento
Requisitos de Software
Gerald Kotonya, Facultad de Informática y Comunicaciones, Universidad de Lancaster, Reino
Unido, gerald@comp.lancs.ac.uk
Peter Sawyer, Facultad de Informática y Comunicaciones, Universidad de Lancaster, Reino
Unido, sawyer@comp.lancs.ac.uk
Diseño de software
Yanchun Sol, Facultad de Ingeniería Electrónica e Informática, Universidad de Pekín, China,
sunyc@pku.edu.cn
Construcción de software
Xin Peng, Escuela de Software de la Universidad de Fudan, China, pengxin@fudan.edu.cn
Pruebas de software
Antonia Bertolino, ISTI-CNR, Italia,
antonia.bertolino@isti.cnr.it Eda Marchetti, ISTI-CNR, Italia,
eda.marchetti@isti.cnr.it
xxiii
Ingeniería de Software Práctica Profesional
EDITORES área de conocimiento
Aura Sheffield, EE.UU., arsheff@acm.org
Hengming Zou, Shanghai Jiao Tong Universidad, China, zou@sjtu.edu.cn
Fundamentos de computación
Hengming Zou, Shanghai Jiao Tong Universidad, China, zou@sjtu.edu.cn
Fundamentos matemáticos
Nabendu Chaki, Universidad de Calcuta, India, nabendu@ieee.org
Fundamentos de ingeniería
Amitava Bandyopadhayay, Instituto de Estadística de la India, la India,
bamitava@isical.ac.in Mary Jane Willshire, Software e Ingeniería de Sistemas
Asociados (S2EA), EE.UU., mj.fairley@gmail.com
Requisitos de Software
Peter Sawyer, Departamento de Informática, Universidad de
Lancaster, Reino Unido Gerald Kotonya, Departamento de
Informática, Universidad de Lancaster, Reino Unido
Diseño de software
Chico Tremblay, departamento de Informática, UQAM, Canadá
Construcción de software
Steve McConnell, Construx Software, EE.UU.
Terry Bollinger, la MITRE Corporation,
EE.UU.
Philippe Gabrini, departamento de Informática, UQAM, Canadá
Louis Martin, departamento de Informática, UQAM, Canadá
Pruebas de software
Antonia Bertolino, ISTI-CNR,
Italia Eda Marchetti, ISTI-CNR,
Italia
xxv
Guía xxiv SWEBOK® V3.0
referencias Editor
Marc Bouisset, departamento de Informática, UQAM
equipo de revisión
Las personas que figuran a continuación participaron en el proceso de revisión pública de la Guía
SWEBOK V3. La membresía de la IEEE Computer Society no era un requisito para participar en
este proceso de revisión, y la información de pertenencia no se ha solicitado a los colaboradores.
Más de 1.500 comentarios individuales se recogieron y debidamente adjudicadas.
xxvii
Stephen P. Masticola, EE.UU. Thom Schoeffling, EE.UU.
Nancy Mead, EE.UU. Reinhard Schrage,
Fuensanta Medina-Domínguez, Alemania Neetu Sethia,
España Silvia Judith Meles, India
Argentina Cindy C. Shelton, EE.UU.
Oscar A. Mondragon, México Alan Shepherd, Alemania
David W. Mutschler, EE.UU. Katsutoshi Shintani, Japón
Maria Nelson, Brasil Erik Shreve, EE.UU.
John Noblin, EE.UU. Jaguaraci Silva, Brasil
Bryan G. Ogihara, M. Somasundaram, India
EE.UU. Takehisa Peraphon Sophatsathit, Tailandia
Okazaki, Japón Hanna John Standen, Reino Unido
Oktaba, México Joyce Statz, EE.UU.
Chin Hwee Ong, Hong Kong Perdita P. Stevens,
Venkateswar Oruganti, India David Struble Reino
Birgit Penzenstadler, Alemania Unido, EE.UU. Ohno
Larry Peters, EE.UU. Susumu, Japón Urcun
SK Pillai, India Tanik, EE.UU. Talin
Vaclav Rajlich, Tasciyan, EE.UU.
EE.UU. Kiron Rao, J. Barrie Thompson, Reino
India Luis Reyes, Unido Steve Tockey,
EE.UU. Hassan EE.UU.
Reza, EE.UU. Steve Miguel Eduardo Torres Moreno, Colombia
Roach, EE.UU. Dawid Trawczynski, EE.UU.
Teresa L. Roberts, Adam Trendowicz, Alemania
EE.UU. Dennis Robi, Norio Ueno, Japón
EE.UU. Warren E. Cenk Uyan, Turquía
Robinson, EE.UU. Jorge Chandra Sekar Virappan, Singapur
L. Rodriguez, EE.UU. Oruganti Venkateswar, India
Alberto C. Sampaio, Portugal Jochen Vogt, Alemania
Ed Samuels, EE.UU. Hironori Washizaki, Japón
María Isabel Sánchez-Segura, Ulf Westermann, Alemania
España Vineet Sawant, EE.UU. Don Wilson, EE.UU.
R. Schaaf, EE.UU. Aharon Yadin, Israel
James C. Schatzman, Hong Zhou, Reino
EE.UU. Oscar A. Schivo, Unido
Argentina Florian
Schneider, Alemania
Guía XXVIII SWEBOK®
V3.0
EXPRESIONES DE GRATITUD
Los fondos para el desarrollo de la Guía diversas maneras: Pieter Botman, Evan Butterfield,
SWEBOK V3 ha sido proporcionada por la Carine Chauny, Pierce Gibbs, Diane Girard, John
IEEE Computer Society. Los editores y Keppler, Dorian McClenahan, Kenza Meridji,
coeditores aprecian el importante trabajo Sam-uel Redwine, Annette Reilly, y Pam
realizado por los editores Ka y los editores Thompson.
colaboradores, así como por los de los miem- Finalmente, seguramente hay otras personas
bros de la Junta de Control de Cambios. El que han contribuido a esta guía, ya sea directa o
equipo editorial también debe reconocer la indirectamente, cuyos nombres tenemos
contribución indispensable de los colaboradores. inadvertidamente omitido. Para esas personas,
El equipo de redacción desea también agradecer ofrecemos nuestra apre- ciación tácito y
a las personas siguien- tes que han contribuido al disculpas por haber omitido el reconocimiento
proyecto en explícito.
La siguiente moción fue aprobada por unanimidad por la Junta de Actividades Profesionales de la
Sociedad IEEE Com- puter en diciembre de 2013:
La Junta de Actividades Profesionales de la IEEE Computer Society considera que el Guía para
la Cesión de Software Ingeniería Cuerpo de Conocimiento Versión 3.0 se ha completado con
éxito; y hace suya la Guía de la Ingeniería de Software de Administración de Conocimiento
versión 3.0 y lo recomienda a la Junta IEEE Computer Society de Gobernadores para su
aprobación.
La siguiente moción fue aprobada por la Junta IEEE Computer Society de Gobernadores en diciembre de
2013:
Movido, que la Junta de Gobernadores de la IEEE Computer Society aprueba la versión 3.0 de
la Guía de la Ingeniería de Software de Administración de Conocimiento y autoriza al Presidente
de la Junta sionales Actividades Profe- para continuar con la impresión.
La siguiente moción fue aprobada por unanimidad por el Consejo Asesor Industrial de la Guía SWEBOK
proyecto en febrero de 2004:
El Consejo Asesor Industrial encuentra que la ingeniería del cuerpo software de proyecto
Conocimiento ini- ciada en 1998 se ha completado con éxito; y hace suya la versión del 2004Guía de
la SWEBOK y lo recomienda a la Junta IEEE Computer Society de Gobernadores para su
aprobación.
La siguiente moción fue aprobada por la Junta IEEE Computer Society de Gobernadores en febrero de
2004:
Movido, que la Junta de Gobernadores de la IEEE Computer Society aprueba la edición de 2004
de la Guía de la Ingeniería de Software de Administración de Conocimiento y autoriza al
Presidente del Comité de Prácticas pro- fesional para continuar con la impresión.
XXXI
Tabla I.1. El 15 SWEBOK KAs La organización jerárquica
Requisitos de Software
Diseño de software La organización de los capítulos KA es
compatible con el tercero de los objetivos de una
Construcción de software caracterización del proyecto de los contenidos de
Pruebas de software la ingeniería de software. Las especificaciones
Mantenimiento del software detalladas proporcionadas por el equipo de
Gestión de la Configuración de Software redacción del proyecto para los editores
asociados en relación con los contenidos de las
Gestión de Ingeniería de Software descripciones KA se pueden encontrar en el
Proceso de Ingeniería de Software Apéndice A.
Modelos de Ingeniería de Software y Métodos La Guía se usa una organización jerárquica
Calidad del software para descomponer cada KA en un conjunto de
temas con etiquetas tificables daciones. Un
Ingeniería de Software Práctica Profesional desglose de nivel dos (a veces tres) proporciona
Economía Ingeniería de Software una forma razonable para buscar temas de
Fundamentos de computación interés. La guía trata los temas seleccionados de
Fundamentos matemáticos una manera compatible con las principales
escuelas de pensamiento y con las averías que se
Fundamentos de ingeniería encuentran generalmente en la industria y en la
literatura de ingeniería de software y estándares.
Al especificar el alcance, también es Las averías de los temas no presumen dominios
importante adoptar la definición de las particulares de aplicación, usos comerciales,
disciplinas que se cruzan con la ingeniería de filosofías de gestión, métodos de desarrollo, y
software. Con este fin, SWEBOK V3 también así sucesivamente. La extensión de la
reco- ognizes siete disciplinas relacionadas, que descripción de cada tema es sólo eso necesitaba
se enumeran en la tabla comprender la naturaleza generalmente aceptada
I.2. Los ingenieros de software deben, por de los temas y para que el lector encuentre éxito
supuesto, tener conocimiento de material a partir material de referencia; el Cuerpo de
de estas disciplinas (y las descripciones KA en Conocimiento se encuentra en los materiales de
esta guía puede hacer referencia a ellos). No es, referencia a sí mismos, no en la Guía.
sin embargo, un obje- tivo de la Guía SWEBOK
para caracterizar el conocimiento de las MATERIAL DE REFERENCIA Y MATRIZ
disciplinas relacionadas.
Para proporcionar acceso tópica en el
Tabla I.2. Disciplinas relacionadas conocimiento de la cuarta parte de los objetivos
del proyecto, la guía identifica material de
Ingeniería Informática
referencia autorizada para cada KA. Apéndice C
Ciencias de la Computación proporciona una lista de referencia consolidado
Administración General del Guía. Cada KA incluye referencias relevante
Matemáticas de la lista consolidada de referen- cia y también
incluye una matriz que relaciona el material de
Gestión de proyectos
referencia para los temas incluidos.
Gestión de la calidad Cabe señalar que la Guía no pretende ser
Ingeniería de Sistemas exhaustivo en sus citas. Mucho material que es a
la vez conveniente y excelente no se hace
Los elementos pertinentes de la informática y referencia. Material incluido en la lista de
las matemáticas se presentan en los referencias Consolidated proporciona cobertura
Fundamentos de Informática y Fundaciones KAs de los temas descritos.
matemáticos de la Guía (capítulos 13 y 14).
Profundidad del tratamiento
Guía
Para XXXII
lograrSWEBOK® V3.0
el quinto objetivopro-SWEBOK
Viding una base para el desarrollo curricular,
Introducción xxxiii
CAPÍTULO 1 SOFTWARE
1-1
1-2 Guía SWEBOK® V3.0
Para resolver algún problema en el mundo real. requisitos pueden ser verificados dentro
Se puede tratar de automatizar parte de una tarea disponibles
para alguien para apoyar los procesos de negocio las limitaciones de recursos.
de una organiza- ción, para corregir defectos de Requisitos tienen otros atributos en adi- ción a
software existente, o para controlar un nombre las propiedades de comportamiento. Los
de dispositivo a sólo algunos de los muchos ejemplos más comunes incluyen una
problemas para los que son posibles soluciones clasificación de prioridad para permitir
de software . Las formas en que los usuarios, compensaciones en la cara de los recursos finitos
pro- cesos de negocio, y dispositivos de función y un valor de estado para permitir el avance del
suelen ser complejas. Por extensión, por lo tanto, proyecto a vigilar. Tıpicamente, los requisitos de
los requisitos de software de par- ticular son software son singularmente identificadas con los
típicamente una compleja combinación de varias de modo que puedan ser objeto de software de
personas en diferentes niveles de una gestión de con- figuración durante todo el ciclo
organización, y que están en una u otra manera de vida de la entidad y del software.
involucrados o relacionados con esta función del
entorno en el que el software operará. 1.2. Requisitos del producto y de proceso
Una propiedad esencial de todos los requisitos
de software es que sean verificables como una Un requisito de un producto es una necesidad o
característica individual como requisito restricción en el software que se desarrollarán
funcional o a nivel del sistema como un (por ejemplo, “El software verificará que un
requisito no funcional. Puede ser difícil o estudiante cumple con todos los requisitos
costoso para verificar ciertos requisitos de soft- previos antes de que él o ella se registre en un
ware. Por ejemplo, la verificación del requisito curso”). Un requisito proceso es esencialmente
de caudal en un centro de llamadas puede hacer un con- straint en el desarrollo del software (por
necesario el desarrollo de software de ejemplo, “El software se desarrolla utilizando
simulación. Requisitos de software, ING un proceso RUP”).
Ensayos software y personal de calidad debe Algunos de los requisitos de software generan
asegurar que el implícita
los requisitos del proceso. La elección de la Requisitos de software 1-3
verificación
1-4 Guía SWEBOK® V3.0
2. requisitos Proceso
[1 *, c4s4] [2 *, C1-4, c6, c22,
c23]
la evaluación comparativa;
• planificación de la mejora e
implementación;
• seguridad / CIAimprovement / planningand
implementación.
3. la obtención de requisitos
[1 *, c4s5] [2 *, c5, c6,
c9]
puede resultar en un conjunto más rico y determinar si se han cumplido los objetivos de
más coherente de los requisitos que de otro la historia de usuario.
modo podrían ser alcanzables. Sin embargo, • Otras técnicas. Una variedad de otras técnicas
las reuniones deben ser manejados con para el apoyo a la obtención de información de
cuidado (de ahí la necesidad de un los requisitos existen y van desde el análisis de
facilitador) para evitar una situación en la productos de la competencia para aplicar los
que las habilidades críticas del equipo son datos min-ing técnicas para el uso de fuentes de
erosionadas por la lealtad al grupo, o en las bases de datos de conocimiento de dominio o
que los requisitos que reflejan las petición del cliente.
preocupaciones de unos pocos pelos en la
lengua (y quizás de alto nivel) las personas
que se ven favorecidas en detrimento de
otros.
• Observación. La importancia del contexto
de software dentro de la ment ENTORNO
organización ha llevado a la adaptación de
las técnicas observacionales tales como la
etnografía para la obtención de requisitos.
Los ingenieros de software aprenden acerca
de las tareas del usuario mediante la
inmersión de sí mismos en el medio
ambiente y la observación de cómo los
usuarios realizan sus tareas mediante la
interacción con los demás y con
herramientas de software y otros recursos.
Estas técnicas son relativamente caros, sino
también instructiva porque ilustran que
muchas tareas de usuario y procesos de
negocio son demasiado sutil y complejo por
sus actores para describir fácilmente.
• Historias de usuarios. Esta técnica se utiliza
comúnmente en los métodos de adaptación
(ver Métodos ágiles en los modelos de
ingeniería de software y Métodos Ka) y se
refiere a las descripciones de nivel cortos,
de alta de funcionalidad requerida expresada
en términos de los clientes. Una historia de
usuario típico tiene la siguiente forma:
“Como <función>, quiero
<Meta / deseo> de manera que
<beneficiar> “. Una historia de usuario está
destinado a contener suficiente informa-
ción para que los desarrolladores pueden
producir una estimación razonable del
esfuerzo para que las aplicará. El objetivo es
evitar algunos de los residuos que sucede a
menudo en proyectos en los que se
utilizarán para reunir los requisitos
detallados temprano, pero se han invalidado
antes de que comience el trabajo. Antes se
implementa una historia de usuario, un
procedimiento de acep- tación adecuada
debe ser escrita por el al cliente central para
Requisitos de software 1-13
4. Análisis de requerimientos
[1 *, c4s1, c4s5, c10s4,
c12s5] [2 *, c7,
c11, c12, c17]
• Si el requisito es funcional o no
funcional (ver sección 1.3, funcional y
requerimientos no funcionales).
• Si el requisito se deriva de uno o más
requisitos de alto nivel o una propiedad
de gent gencia (véase la sección 1.4,
propiedades emergentes), o está siendo
impuesta directamente en el software
por un actor o alguna otra fuente.
• Si el requisito es en el producto o el
proceso (ver sección 1.2, producto y
requisitos del proceso). Requisitos en el
proceso pueden limitar la elección de
Tor contracción, el proceso de
ingeniería de software para ser
adoptado, o las normas que deben ser
respetados.
1-14 Guía SWEBOK® V3.0
Esto es crucial para la comprensión de con- propiedades Gent (tales como el peso del coche)
texto del software en su entorno operativo y para para identificar la detallada requisitos de software
que identifique los valores de sus interfaces con ABS. El diseño arquitectónico está estrechamente
el medio ambiente. identificada con el modelado conceptual (ver
Este subtema no busca “enseñar” a un estilo sección 4.2, conceptual
de modelado particu- lar o anotación, sino más Modelado).
bien proporciona orientación sobre el propósito
e intención de modelado.
5. Especificación de requisitos
[1 *, c4s2, c4s3, c12s2-5] [2 *,
c10]
Requisitos de software 1-19
un documento que pueda ser revisado de forma
sistemática, evaluada y aprobada. Para
sistemas complejos, especialmente aquellos
que involucran componentes mercancías
nonsoft- sustanciales, como se producen hasta
tres diferentes tipos de documentos: sistema de
defini- ción, requisitos del sistema y los
requisitos de software. Para los productos de
software simple, sólo se requiere el tercero de
estos. Los tres documentos se describen aquí,
con el entendimiento de que se pueden
combinar según sea apropiado. Una
descripción de la ingeniería de sistemas se
puede encontrar en las disciplinas de Ingeniería
de Software capítulo de esta guía relacionadas.
Los comentarios pueden ser constituidos en la análisis. Por ejem plos, en modelos de objetos, es
finalización del documento de definición del útil para llevar a cabo un análisis estático para
sistema, el documento de especificación del verificar la existencia de rutas de comunicación
sistema, el documento de especificación de entre los objetos que, en las partes interesadas
requisitos de software, la especificación de línea
de base para un nuevo lanzamiento, o en
cualquier otro paso en el proceso.
6.2. prototipado
7. Consideraciones prácticas
[1 *, c4s1, c4s4, c4s6,
c4s7] [2 *, c3, c12, c14,
c16, c18-21]
producto motivado cuenta con el fin de evaluar con el diseño y la construcción de la iteración
el impacto de los cambios propuestos. Por lo actual. Este enfoque proporciona ERS adaptado
tanto, la documentación y los requisitos de para el cliente con el valor de negocio de forma
gestión del cambio son la clave para el éxito de rápida, mientras minimizando ing el costo de
cualquier proceso de requisitos. reproceso.
En casi todos los casos, los requisitos de la
7.1. La naturaleza iterativa del proceso comprensión
Requisitos continúa evolucionando a medida que el diseño y
el desarrollo
Existe una presión general en el software de
indus- tria de los ciclos de desarrollo cada vez
más cortos, y esto es particularmente
pronunciado en sectores altamente competitivos,
impulsados por el mercado. Por otra parte, la
mayoría de los proyectos se ven limitados de
alguna manera por su entorno, y muchos son
actualizaciones o revisiones de software, tentes
ing en el que se da por la arquitectura. En la
práctica, por lo tanto, casi siempre es práctico
para implementar el proceso de requisitos como
un proceso lineal y determinista en el que los
requisitos de software son provocados a partir de
los grupos de interés, bases forrado, asignado y
entregado al equipo de desarrollo de software.
Sin duda, es un mito que los requisitos para
grandes proyectos de software están siempre
perfectamente entendidas o perfectamente
especificados.
En su lugar, los requisitos normalmente iterar
hacia un nivel de calidad y detalle que es
suficiente para permitir que las decisiones de
diseño y de adquisiciones a realizar. En algunos
proyectos, esto puede dar lugar a los requisitos
que se baselined antes de todas sus propiedades
se entienden completamente. Se corre el riesgo
expen- retrabajo siva si surgen problemas al
final del proceso de ingeniería soft- ware. Sin
embargo, los ingenieros de software están
necesariamente limitados por los planes de
gestión de proyectos y por lo tanto deben tomar
medidas para asegurar que la “calidad” de los
requisitos es tan alto como sea posible dados los
recursos disponibles. Deben, por ejemplo, hacer
explícitas las suposiciones que sustentan los
requisitos, así como los problemas conocidos.
Para los productos de software que se
desarrollan ITER tivamente, un equipo de
proyecto puede línea de base sólo a los
requisitos necesarios para la iteración actual. El
especialista requisitos puede seguir
desarrollándose requisitos para futuras
iteraciones, mientras res desarrollos proceder
1-16 Guía SWEBOK® V3.0 ware en fase de desarrollo o mantenimiento
producto. Esto a menudo conduce a la revisión
de los requisitos finales del ciclo de vida. Tal evoluciona. Esto debe incluir los diversos
vez el punto más crucial en la comprensión de clasificación
los requisitos de software es que una
proporción significativa de los requisitos
cambiará. Esto es a veces debido a errores en el
análisis, pero a menudo es una consecuencia
inevitable del cambio en el “medio ambiente”;
por ejemplo, el entorno operativo o de negocio
del cliente, procesos de regulación impuestas
por las autoridades, o el mercado en el que el
software debe vender. Cualquiera que sea la
causa, es importante reconocer la inevitabilidad
del cambio y tomar medidas para mitigar sus
efectos. El cambio tiene que ser gestionado por
asegurar que los cambios propuestos pasan por
una revisión definido y tasa de aprobación pro
y mediante la aplicación de los requisitos
cuidadosos trac- ción, análisis de impacto, y la
gestión de configuración de software (ver el
KA Software Configuration Management). Por
lo tanto, los requisitos de pro- ceso no es sólo
una tarea para el usuario en el desarrollo de
software, pero se extiende por todo el ciclo de
vida del software. En un proyecto típico, el
software requisito actividades mentos
evolucionan con el tiempo de obtención de la
gestión del cambio. Una combinación de arriba
hacia abajo métodos de análisis y diseño y de
abajo hacia arriba y métodos de
implementación de refactorización que se
reúnen en el medio podría proporcionar lo
mejor de ambos mundos. Sin embargo, esto es
difícil de lograr en la práctica, ya que depende
en gran medida de la madurez y la experiencia
de los ingenieros de software.
2011 [1 *]
Wiegers 2003
SommervilLe
[2 *]
1. Requisitos de software Fundamentos
1.1. Definición de un requisito de software c4 c1
1.2. Requisitos del producto y de proceso c4s1 C1, C6
1.3. Requisitos funcionales y no funcionales c4s1 c12
1.4. Propiedades emergentes c10s1
1.5. Requisitos cuantificables c1
1.6. Requisitos del sistema y requisitos de software c10s4 c1
2. Requisitos Proceso
2.1. Los modelos de proceso c4s4 c3
2.2. Los actores del proceso c1, c2, c4, c6
2.3. Administración y Apoyo Proceso c3
2.4. Proceso de Calidad y Mejora c22, c23
3. la obtención de requisitos
3.1. requisitos Fuentes c4s5 C5, C6, C9
3.2. técnicas de obtención c4s5 c6
Análisis 4. Requisitos
4.1. requisitos Clasificación c4s1 c12
4.2. Modelado conceptual c4s5 c11
4.3. Diseño y requisitos arquitectónicos Asignación c10s4 c17
4.4. requisitos de Negociación c4s5 c7
4.5. Análisis formal c12s5
5. Requisitos Especificación
5.1. Definición del sistema de documentos c4s2 c10
c4s2, c12s2,
5.2. Requisitos del sistema Especificación c12s3, c12s4, c10
c12s5
5.3. Especificación de Requerimientos de Software c4s3 c10
6. Requisitos de Validación
6.1. requisitos críticas c4s6 c15
6.2. prototipado c4s6 c13
6.3. Modelo de validación c4s6 c15
6.4. Prueba de aceptacion c4s6 c15
Requisitos de software 1-19
2011 [1 *]
Wiegers 2003
SommervilLe
[2 *]
7. Consideraciones prácticas
7.1. La naturaleza iterativa del proceso Requisitos c4s4 C3, C16
7.2. Gestión del cambio c4s7 c18, c19
7.3. requisitos Atributos c4s1 c12, c14
7.4. requisitos de rastreo c20
7.5. La medición de Requisitos c4s6 c18
8. Requisitos de software Herramientas c21
1-20 Guía SWEBOK® V3.0
LECTURAS
I. Alexander y L. Beus-Dukic, Requisitos A. van Lamsweerde, Ingeniería de Requisitos:
Descubriendo [5]. A partir de los objetivos del sistema de
modelos UML a Especificaciones de
Un libro de fácil digestión y de carácter práctico software [7].
sobre los requisitos de software, esto es quizás el
mejor de los libros de texto actuales sobre cómo Sirve como una buena introducción a la
los diferentes elementos de los requisitos de ingeniería de requisitos, pero su valor único es
software encajan entre sí. Está lleno de consejos como un libro de referencia para los requisitos
prácticos sobre (por ejemplo) la manera de orientados a objetivos lenguaje de modelado de
identificar los distintos actores del sistema y KAOS. Explica por qué el modelado meta es útil
cómo evaluar soluciones alternativas. Su edad y muestra cómo se puede integrar con técnicas
cubierta- es ejemplar y sirve como una de modelado convencionales usando UML.
referencia útil para técnicas de clave, tales como
modelado de caso de uso y requisitos de O. Gotel y A. Finkelstein, “Un análisis del
priorización. problema Requisitos trazabilidad” [8].
C. Potts, K. Takahashi, y A. Antón, “indagación Este trabajo es una obra de referencia clásica en
Análisis Requisitos Basado” [6]. un elemento clave de la gestión de requisitos.
Basándose en estudios empíricos, establece las
Este documento es una cuenta de fácil digestión razones y las barreras para el rastreo eficaz de
de trabajo que ha demostrado ser muy influyente los requisitos. Es una lectura esencial para la
en el desa- rrollo de las necesidades de comprensión de por qué los requisitos de rastreo
manipulación. En él se describe cómo y por qué es un elemento esencial de un proceso de
la elaboración de requisitos no puede ser un software efectivo.
proceso lineal por el cual el analista
simplemente transcribe y reformula requisitos N. Maiden y C. Ncube, “La adquisición de
provocadas por parte del cliente. El papel de los COTS Requisitos de selección de
escenarios se describe de una manera que ayuda software” [9].
a definir su uso en el descubrimiento y la
descripción de los requisitos. Este documento es importante porque reconoce
explícitamente que los productos de software a
menudo integran componentes de terceros.
Ofrece una visión de los problemas de la
selección de software off-the-shelf para
satisfacer los requisitos: por lo general hay una
falta de coincidencia. Esto desafía algunos de los
supuestos sub fijando la mayor parte de los
requisitos tradicionales dling manipulan de, que
tiende a asumir software personalizado.
Requisitos de software 1-21
Referencias
[1 *] I. Sommerville, Ingeniería de Software, 9ª [6] C. Potts, K. Takahashi, y AI Antón,
ed., Addison-Wesley, 2011. “basada en la indagación Análisis de
Requerimientos,” IEEE Software, vol. 11,
[2 *] KE Wiegers, Requisitos de software, no. 2, marzo de 1994,
segundo pp. 21-32.
ed., Microsoft Press, 2003.
[7] A. van Lamsweerde, Ingeniería de
[3] INCOSE, Manual de Sistemas de Requisitos: A partir de los objetivos del
Ingeniería: Una guía para los procesos de sistema de modelos UML a especificaciones
ciclo de vida del sistema y Actividades, de software, Wiley, 2009.
versión 3.2.2, Consejo Internacional de
Ingeniería de Sistemas, 2012. [8] O. Gotel y CW Finkelstein, “Un análisis del
problema exigencias de trazabilidad,” Proc.
[4] S. Friedenthal, A. Moore, y R. Steiner, Primero Int'l Conf. Requisitos Eng., IEEE,
Una guía práctica para SysML:. El sysml, 1994.
2ª ed, Morgan Kaufmann, 2012.
[9] NA Maiden y C. Ncube, “La adquisición de
[5] I. Alexander y L. Beus-Deukic, Requisitos de Elección COTS software”,
Descubriendo Requisitos: Cómo IEEE Software, vol. 15, no. 2, marzo-abril.
especificar los productos y servicios, 1998, pp. 46-56.
Wiley, 2009.
CAPÍTULO 2 DISEÑO
DEL SOFTWARE
2-1
2-2 Guía SWEBOK® V3.0
3.1. Las estructuras arquitectónicas y puntos de patrones que describen la organización de alto
vista nivel de software, otros patrones de diseño se
[14 *, c1] pueden utilizar para describir los detalles en un
nivel inferior. Estos patrones de diseño de bajo
Las diferentes facetas de alto nivel de un diseño nivel son los siguientes:
de software pueden ser descritos y
documentados. Estas facetas son a menudo • patrones de creación (por ejemplo,
llamados puntos de vista: “Una vista representa constructor, fábrica, prototipo, Singleton)
un aspecto parcial de una arquitectura de • patrones estructurales (por ejemplo,
software que muestra propiedades especí- espe- adaptador, puente, compuesto, decorador,
de un sistema de software” [14 *]. Vistas fachada, peso FLY-, Proxy)
pertenecen a distintos temas relacionados con el • Los patrones de comportamiento (por
software de diseño, por ejemplo, la vista lógica ejemplo, comandos, intérprete, iterador,
(satisfaciendo los requisitos funcionales) frente a mediador, recuerdo, observador, estado,
la vista de procesos (problemas de concurrencia) estrategia, plantilla, visitante).
frente a la vista física (problemas de distribu-
ción) frente a la vista de desarrollo (como el el 3.4. Las decisiones Arquitectura Diseño
diseño se divide en unidades de ejecución con [5 *, c6]
representación explícita de las dependencias
entre las unidades). Varios autores utilizan El diseño arquitectónico es un proceso creativo.
diferentes terminologías-como frente a la Duran- te el proceso de diseño, los diseñadores
conducta funcional vs. vistas de modelado de de software tienen que tomar una serie de
datos vs. estructurales. En resumen, un diseño de decisiones fundamentales que afectan
software es un artefacto multifacético producido profundamente el proceso de desa- rrollo de
por el proceso de diseño y generalmente software y. Es útil pensar en el proceso de
compuesta de puntos de vista relativamente diseño arqui- tectural desde una perspectiva de
independientes y ortogonales. toma de decisiones en lugar de desde una
perspectiva actividad. A menudo, el impacto
3.2. Estilos arquitectónicos sobre los atributos de calidad y soluciones de
[14 *, c1, c2, c3, c4, c5] compromiso entre los atributos de calidad que
compiten son la base para las decisiones de
Un estilo arquitectónico es “una especialización diseño.
de tipos Ment y relación ele-, junto con un
conjunto de restricciones sobre la forma en que 3.5. Las familias de los programas y marcos
se pueden utilizar” [14 *]. Un estilo [5 *, C6, C7, C16]
arquitectónico de este modo puede ser visto
como para simplificar la organización de alto Un enfoque para proporcionar la reutilización de
nivel del software. Varios autores han diseños y componentes de software es el diseño
identificado una serie de grandes estilos tectural de las familias de programas, también conocidas
arqui-: como líneas de productos de software. Esto se
puede hacer mediante la identificación de los
• Las estructuras generales (por ejemplo, puntos en común entre los miembros de estas
capas, tuberías y filtros, pizarra) familias y mediante el diseño de componentes
• Los sistemas distribuidos (por ejemplo, reutilizables y personalizables para dar cuenta de
cliente-servidor, tres niveles, broker) la variabilidad entre los miembros de la familia.
• Interactivesystems (porejemplo, Modelo En la programación orientada a objetos (OO),
View--Controller, Presentación-Abstracción- una noción relacionada clave es que de un
Control) marco: un sistema de software parcialmente
• sistemas adaptables (por ejemplo, nel completado que puede ser extendido por
microker-, reflexión) instanciar apropiadamente extensiones
• Otros (por ejemplo, por lotes, intérpretes, específicas (tales como plug-ins).
control pro- ceso, basado en reglas).
2- Diseño de
3.3. Patrones de 4. Diseño de interfaz de usuario
Software9
diseño [15 *, c3, c4,
c5] diseño de interfaz de usuario es una parte esencial
de la
Sucintamente descrito, un patrón es “una proceso de diseño de software. diseño de interfaz
solución común a un problema común en un de usuario debe asegurarse de que la interacción
contexto dado” [16]. Mientras que los estilos entre el humano y la máquina proporciona para
arquitectónicos pueden ser vistos como un funcionamiento eficaz
2-10 Guía SWEBOK® V3.0
cuestiones fundamentales:
Software Los ingenieros también tienen en ana- lyzes tareas de los usuarios, la ment
cuenta el tiempo de respuesta del software y la ENTORNO trabajo, otro software, y cómo
retroalimentación en el diseño de presentación los usuarios interactúan con otras personas.
de infor- mación. El tiempo de respuesta se mide • creación de prototipos de software. El
generalmente desde el punto en el que un desarrollo de prototipos de software ayudan a
usuario ejecuta una cierta acción de control hasta los usuarios a guiar la evolución de la
que el software responde con una respuesta. Una interfaz.
indicación del progreso es deseable poder • evaluación de la interfaz. diseñadores puede
mientras que el software está preparando la observar experiencias de los usuarios con la
respuesta. La retroalimentación puede ser interfaz de evolución.
proporcionado mediante la reformulación de la
entrada del usuario mientras que el
procesamiento se está terminando.
Abstractos visualizaciones pueden ser
utilizados cuando grandes cantidades de
información se han de presentar.
De acuerdo con el estilo de presenta- ción de
la información, los diseñadores también pueden
utilizar el color para mejorar la interfaz. Existen
varias pautas importantes:
se usa para describir los componentes otra parte, las descripciones del
principales y cómo comportamiento pueden incluir una
que están interconectados (visión estática): justificación de la decisión de diseño tales como
la forma de un diseño cumplirá con los
• Descripción de la arquitectura idiomas requisitos de seguridad.
(AVD): textual, a menudo formal, idiomas
utilizados para describir la arquitectura de
software en términos de componentes y
conectores.
• Clase y objeto diagramas: se utilizan para
represen- envían un conjunto de clases (y
objetos) y sus interrelaciones.
• diagramas de componentes: utilizados para
representar un conjunto de componentes (
“físico y reemplazar- parte capaz [s] de un
sistema que [conforme] para y
[proporcionar] la realización de un conjunto
de caras inter” [18]) y sus interrelaciones .
• tarjetas responsabilidad clase colaboradores
(CRC): se utiliza para denotar los nombres
de los componentes (clase), sus
responsabilidades, y los nombres de sus
componentes colaboradoras.
• Los diagramas de despliegue: utilizados
para representar un conjunto de nodos
(físicas) y sus interrelaciones, y, por lo
tanto, para modelar los aspectos físicos de
software.
• diagramas entidad-relación (ERD): se
utilizan para representar los modelos
conceptuales de los datos almacenados en
los depósitos de información.
• Descripción de la interfaz de idiomas (IDL):
lenguajes de programación que se usa para
definir las interfaces (nombres y tipos de
operaciones exportados) de los
componentes de software.
• los diagramas de estructura: se utiliza para
describir la estructura de los programas de
llamadas (que los módulos de llamada, y se
llaman por, qué otros módulos).
doLEMENTOS et
1999 [6 *]
2011 [5 *]
Budgen 2003
1993 [17
en 2008
Nielsen
Alabamal
Página-Jones
SommervilLe
[12 *]
[13 *]
[15 *]
[4 *]
nortea
*]
*]
1. Fundamentos
del Diseño de
Software
1.1. Diseño general
c1
Conceptos
1.2. El contexto de
c3
Diseño de Software
1.3. El Proceso de
c2
Diseño de
Software
1.4. Principios de C6, C7, C1, C8,
c1
Diseño de Software c21 C9
2. Cuestiones clave
en el diseño de
software
2.1. concurrencia c18
2.2. Control y
c21
Manipulación de
Eventos
2.3. Persistencia de C9
datos
2.4. Distribución
c18
de Componentes
2.5. Error y control
de excepciones y la c18
tolerancia a fallos
2.6. interacción y
c16
Presentación
c12,
2.7. Seguridad c4
c18
3. Estructura del
software y
Arquitectura
3.1. Las
estructuras c1
arquitectónicas y
puntos de vista c1, c2,
3.2. Estilos
c3, c4,
arquitectónicos
c5
c3, c4,
3.3. Patrones de
c5
diseño
2- Diseño de
Software13
doLEMENTOS et
1999 [6 *]
2011 [5 *]
Budgen 2003
1993 [17
en 2008
Nielsen
Alabamal
Página-Jones
SommervilLe
[12 *]
[13 *]
[15 *]
[4 *]
nortea
*]
*]
3.4. Las
c6
decisiones
Arquitectura
3.5. Las
Diseño C6, C7,
familias de los
C16
programas y
4. marcos
Diseño de
Interfaz de
Usuario
4.1. usuario
c29-
generalDiseño de c2
web
Interfaces
Principio
4.2. Interfaz de c29-
usuario Problemas web
Diseño
4.3. El diseño de
c29-
las modalidades
web
de interacción del
usuario
4.4. El diseño
c29-
de la
web
información
Presentación
4.5. Interfaz de c29-
usuario web
Proceso
4.6. de
Localización e
diseño C8, C9
internacionalización
4.7. Metáforas y
c5
modelos
5. conceptuales
Análisis de
Calidad de Software
de Diseño y
Evaluación
5.1. Calidad
c4
atributos
5.2. Análisis de
calidad y técnicas
c4 c24
de evaluación
doLEMENTOS et
1999 [6 *]
2011 [5 *]
Budgen 2003
1993 [17
en 2008
Nielsen
Alabamal
Página-Jones
SommervilLe
[12 *]
[13 *]
[15 *]
[4 *]
nortea
*]
*]
6. Diseño de
Software
notaciones
6.1. Las
C4, C5,
descripciones c7 C6, C7 c7 c7
C6, C7
estructurales
(estático
6.2. Las Vista)
C7, C13, C4, C5,
descripciones de C6, C7 c8
c18 C6, C7
comportamiento
7. (vista
Diseño dinámica)
de
Software
estrategias y
métodos
7.1. General C8, C9,
c7
Estrategias c10
7.2. Función-
Diseño Orientado c13
(estructurado)
7.3. Orientado a
c16
objetos
Diseño
7.4. Estructura de c14,
datos- c15
Diseño
7.5. Centrado
c17
Componente-
El diseño basado c19,
7.6.
(CDB)Otros metodos
c21
8. Herramientas c10,
de diseño de App.
software UN
2- Diseño de
Software15
CONSTRUCCIÓN DEL
SOFTWARE
INTRODUCCIÓN
3-1
3-2 Guía SWEBOK® V3.0
2. Construcción de la gestión
3.3. Codificación
[1 *]
• Examen de la unidad
• Pruebas de integración.
4.11. middleware
[3 *] [6 *]
SommervilLe
[1 *]
[4 *]
[7 *]
*]
*]
*]
1. Fundamentos
de construcción de
software
c2, c3,
C7-C9,
1.1. minimizando
c24,
Complejidad
c27,
c28,
c31,
C3-C5,
1.2. pronóstico c32, c34
C24,
del cambio
C31,
C32,
c8,C34
1.3. La construcción C23
de C20,
Verificación C31,
1.4. Reutilizar c34 c16
1.5. Normas de
c4
construcción
2. Gestión de la
Construcción
2.1. construcción en C2, C3,
Modelos de Ciclo de C27,
Vida C29
c3, c4,
2.2. Ordenación
c21,
de la Edificación
c27-c29
2.3. Construcción
c25, c28
Medición
3.
Consideracion
es 3.1.
prácticas
Diseño de la C3, C5,
construcción C24
3.2. Construcción
c4
idiomas
C5-
3.3. Codificación
C19,
C25-
C26
3-16 Guía SWEBOK® V3.0
SommervilLe
[1 *]
[4 *]
[7 *]
*]
*]
*]
3.4. Prueba de la
c22, c23
construcción
3.5. Construcción de
c16
Reutilización
3.6.
c16
Construcción
con
3.7. reutilización
Construcción c8,
Calidad C20-C25
3.8. Integración c29
4. Tecnologías de
la Construcción
4.1. Diseño APIy use
c7
4.2. Orientado a
C6, C7
Objetos Problemas
de
4.3.tiempo de
ejecución
parametrización c1
y genéricos
4.4. Afirmaciones,
Diseño por
C8, C9
contrato, y la
programación
defensiva
4.5. Control de
errores, control de C3, C8
excepciones, y la
tolerancia a fallos
4.6. Ejecutable
c1
modelos
4.7. Las técnicas
de construcción
c18
basadas en tablas
de base estatal y
4.8. Configuración
de tiempo de C3, C10
ejecución y la
internacionalizació
4.9. Procesamiento
nde la entrada c5 c8
Gramática-Basado
Construcción de Software 3-
17
SommervilLe
[1 *]
[4 *]
[7 *]
*]
*]
*]
4.10. Las
c6
primitivas de
concurrencia
4.11. middleware c1 c8
4.12. Métodos de
construcción de c2
software distribuido
4.13. La
construcción de C9
sistemas
heterogéneos
4.14. Análisis de
c25, c26
Rendimiento y
ajuste
4.15. Normas
c10 c1
de plataforma
4.16. Ensayos
c22
Primera
5. Programación
Instrumento de
construcción
5.1. Entornos de
c30
desarrollo
5.2. Constructores c30
GUIExamen de
5.3.
c22 c8
la unidad
Herramientas
5.4. Perfilado,
análisis de
c25, c26
rendimiento,y
Herramienta
s de cortado
3-18 Guía SWEBOK® V3.0
LECTURAS Referencias
Este estándar define una serie de software los [6 *] L. y J. nulo Lobur, Lo Esencial de la
procesos de desa- rrollo, incluyendo el software Organización de Computadores y
de construc- ción proceso, el proceso de Arquitectura, 2ª ed., Jones and Bartlett
integración de software, y el software de proceso Publishers, 2006.
de reutilización.
[7 *] A. Silberschatz, PB Galvin, y G. Gagne,
Operating System Concepts, octava ed.,
Wiley, 2008.
CAPÍTULO
PRUEBA 4
SOFTWARE
INTRODUCCIÓN
4-1
4-2 Guía SWEBOK® V3.0
es suficiente para un propósito determinado. en este sentido es el aforismo Dijkstra que “las
Prueba criterios quacy ade- se pueden utilizar pruebas pro- grama se puede utilizar para
para decidir cuando la prueba sufi- sufi- será, o mostrar la presencia de insectos, pero nunca para
se ha logrado [4] (ver terminación en la sección mostrar su ausencia” [5]. La razón obvia de esto
5.1, las consideraciones prácticas). es que la prueba completa no es viable en el
software realista. Debido a esto, las pruebas
1.2.2. Pruebas Efectividad / Objetivos deben ser impulsada en función del riesgo [6,
para las pruebas parte 1] y puede ser visto como una estrategia de
gestión de riesgos.
[1 *, c11s4, c13s11] 1.2.6. El problema de no factibles Caminos
[1 *,
Ensayos sobre la eficacia se determina mediante c4s7]
el análisis de un conjunto de ejecuciones del
programa. Selección de las pruebas que se caminos no factibles son trayectorias de flujo de
ejecutarán puede ser guiado por diferentes control que no pueden ser ejercidos por
objetivos: es sólo a la luz del objetivo cualquier dato de entrada. Ellos son un problema
perseguido que la eficacia del equipo de prueba no puede signifi- en pruebas basadas en el
se puede evaluar. camino, sobre todo en la derivación automática
de entradas de prueba para ejercer trayectorias
1.2.3. Pruebas Defecto de Descubrimiento de flujo de control.
[1 *, 1.2.7. la
c1s14] capacidad [1 *,
de prueba c17s2]
En las pruebas para la detección de defectos, una
prueba exitosa
es la que hace que el sistema falle. Esto es
bastante diferente de las pruebas para demostrar la teoría de las pruebas advierte contra atribuir un
que el software cumple sus especificaciones o nivel cado injustificado de confianza a una serie
otras propiedades deseadas, en los que las de pruebas con éxito. Desafortunadamente, los
pruebas de caso tiene éxito si no se observan resultados más establecidos de la teoría de las
fallos en virtud de casos de prueba realistas y pruebas son negativas, ya que afirman que la
entornos de prueba. prueba nunca puede alcanzar a diferencia de lo
que se consigue en realidad. La cita más famosa
1.2.4. El problema de Oracle
[1 *, c1s9,
c9s7]
• Prueba vs. Programa de Construcción (ver hilos funcionales. Las pruebas de integración es
pruebas de la construcción en la a menudo una actividad continua en cada etapa
construcción del software KA [1 *, c3s2]). de desarrollo durante el cual los ingenieros de
software abstractos perspectivas de distancia de
2. Prueba niveles nivel inferior y se concentran en las perspectivas
del nivel en el que están inte- grando. Para que
Las pruebas de software se realiza generalmente no sea el software pequeño, sencillo, estrategias
en niveles dife- rentes procesos en todo el de pruebas de integración incrementales son el
manteni- miento y el desarrollo. Los niveles aliado preferido no baja de poner todos los
pueden ser distinguidos basado en el objeto de componentes juntos en las pruebas una vez que
prueba, que se llama el objetivo, o de la está a menudo llamado “big bang”.
finalidad, que se llama el objetivo (del nivel de
prueba). 2.1.3. Prueba del sistema
[1 *, c8] [2 *, c8]
2.1. El objetivo de la
prueba [1 *, c1s13] [2 *, c8s1] Las pruebas del sistema se ocupa de probar el
comportamiento de todo un sistema. unidad
efectiva y
El objetivo de la prueba puede variar: un módulo menudo con el software quía chically
individual, un grupo de tales módulos estructurado.
(relacionadas por finalidad, uso, , estrategias de integración sistemáticas
comportamiento, o estructura), o todo un modernas son típicamente arquitectura dirigida,
sistema. Tres etapas de la prueba se pueden que consiste en integrar progresivamente los
distinguir: unidad, inte- gración, y el sistema. componentes o subsistemas de software basado en
Estas tres etapas de prueba no implican ningún com- identificado
modelo de proceso, ni es uno cualquiera de ellos
se supone que es más importante que los otros
dos.
Las pruebas de seguridad se centra en la En los casos donde el software se construye para
verificación de que el software está protegido de servir a diferentes usuarios, pruebas de
ataques externos. En particular, las pruebas de configuración verifica el software bajo
seguridad verifica la confidenciales cialidad, diferentes configuraciones especificadas.
integridad y disponibilidad de los sistemas y sus
datos. Por lo general, las pruebas de seguridad 2.2.13. Usabilidad e inter-Ordenador prueba
incluye la verificación contra el mal uso y el de la acción
abuso de la cerámica o el sistema (pruebas [10 *, c6]
negativas) blandas.
para guiar derivación de casos de prueba que (Más o menos, las salidas). Los casos de prueba
evaluarán la consecución de los objetivos de se derivan sistemáticamente por considerar cada
fiabilidad y ejercer uso relativo y importancia de posible combinación de condiciones y sus
las distintas funciones similares a lo que se acciones resul- tantes correspondientes. Una
encontró en el entorno operativo [3]. técnica relacionada es causa-efecto gráfica [1 *,
c13s6].
• software orientado a objetos en cada punto de decisión. Para evitar este tipo
• software basado en componentes de malentendidos, una clara distinción debe
• software basado en web hacerse entre las medidas relacionadas con las
• programas concurrentes pruebas que proporcionan una evaluación del
• software basado en el protocolo programa que se está probando, a partir de las
• sistemas de tiempo real salidas de prueba observadas y las medidas que
• sistemas de seguridad críticos evalúan la minuciosidad de la prueba. (Véase la
• software orientada a servicios Ingeniería de Software de medición en la
• software de código abierto Gestión KA Ingeniería de Software para obtener
• software embebido información sobre los programas de medición.
Ver Proceso de Software y Medición del
3.8. La selección y la combinación de técnicas producto en el Proceso de Ingeniería de
Software KA para obtener información sobre las
3.8.1. La combinación funcional y estructural medidas).
[1 *, c9] La medición se considera generalmente como
funda- mental para el análisis de calidad. La
Basado en modelos y técnicas de ensayo basadas medición también se puede utilizar para
en código son a menudo contrastan tan funcional optimizar la planificación y ejecución de las
frente a las pruebas estructurales. Estos dos pruebas. Gestión de pruebas puede utilizar varias
enfoques para la selección de la prueba no deben medidas de diferencias ent proceso para
ser vistos como alternativas sino como monitorear el progreso. (Véase la sección 5.1,
complementos; de hecho, se utilizan diferentes las consideraciones prácticas, para una dis-
fuentes de información y se ha demostrado que cusión de las medidas del proceso de pruebas
diferentes tipos de alta luz de los problemas. útiles para fines de gestión).
Pueden ser utilizados en combinación,
dependiendo de consideraciones presupuestarias. 4.1. Evaluación de la prueba el marco del
Programa
Un programa bajo prueba se puede evaluar por flujo del programa o el porcentaje de requisitos
recuento fallos descubiertos como la relación funcionales ejercidas entre los enumerados en el
entre el número de fallos encontrados y el documento de especificaciones. criterios de
tamaño del programa. adecuación basados en códigos requieren
instrumentación apropiada del programa que se
4.1.4. Prueba de vida, Evaluación Fiabilidad está probando.
[1 *, c15] [9 *, c3]
5. Prueba Proceso
5.2.4. Ejecución
[1 *,
c12s7]
podrían replicar los resultados. Por lo tanto, las El software. información de seguimiento de
pruebas deben realizarse de acuerdo con los defectos se utiliza para determinar qué aspectos
procedimientos documentados usando una de las pruebas de software y otros procesos
versión claramente definida del software bajo necesitan mejora y la eficacia de los enfoques
prueba. anteriores han sido.
pruebas ejecutadas que han grabado las • trazadores [1 *, c1s7] registrar la historia de
entradas y salidas (por ejemplo, pantallas). una
• comparadores de Oracle / archivo / rutas de ejecución del programa.
herramientas de comprobación de aserción • herramientas de pruebas de regresión [1 *,
[1 *, c9s7] ayudar a decidir si un resultado c12s16] apoyar la ejecución adicional de un
de la prueba es exitosa o no. conjunto de pruebas después de una sección
• analizadores de cobertura y instrumenters del software ha sido modificado. También
[1 *, c4] trabajar juntos. analizadores de pueden ayudar a seleccionar un subconjunto
cobertura evaluar qué y cómo se han de pruebas de acuerdo con el cambio
ejercido muchas entidades de la gráfica de realizado.
flujo del programa entre todos los • herramientas de evaluación de la fiabilidad
requeridos por el criterio de cobertura de [9 *, c8] resultados de prueba apoyo análisis
prueba seleccionada. El análisis se puede y ción visualiza- gráfica a fin de evaluar
hacer gracias a instrumenters que insertan medi- das relacionadas fiabilidad-de
sondas de grabación en el código del acuerdo con los modelos seleccionados.
programa.
4-22 Guía SWEBOK® V3.0
2011 [2 *]
1993 [10
Nielsen
Kan 2003
SommervilLe
[9 *]
*]
nortea
*]
1. Fundamentos de Software
Testing
1.1. Terminología de pruebas
relacionados
1.1.1. Definiciones de Pruebas y
c1, c2 c8
Terminología relacionada
1.1.2. Las fallas fallas vs. c1s5 c11
1.2. Cuestiones clave
1.2.1. Criterios de selección de
c1s14, c6s6,
prueba/ Criterios de prueba
c12s7
de adecuación (Reglas de
parada)
1.2.2. Prueba de Eficacia /
c13s11, c11s4
Objetivos para las pruebas
1.2.3. Las pruebas de defectos
c1s14
Identificación
c1s9,
1.2.4. El problema de Oracle
c9s7
1.2.5. Teórico y práctico
c2s7
Limitaciones de las Pruebas
1.2.6. El problema de la Inviable
c4s7
Caminos
1.2.7. la capacidad de prueba c17s2
1.3. Relación de las pruebas de
Otras actividades
1.3.1. Prueba de Software vs.
estáticoTécnicas de gestión de c12
la calidad
1.3.2. La corrección de pruebas
c17s2
vs.
Pruebas y verificación
1.3.3. Prueba formalvs.
de depuración c3s6
1.3.4. Las pruebas contra c3s2
2. Niveles de pruebaProgramación
2.1. El objetivo de la prueba c1s13 c8s1
2.1.1. Examen de la unidad c3 c8
2.1.2. Pruebas de integración c7 c8
2.1.3. Prueba del sistema c8 c8
Software de Pruebas 4-
23
2011 [2 *]
1993 [10
Nielsen
Kan 2003
SommervilLe
[9 *]
*]
nortea
*]
2.2. Objetivos de las Pruebas c1s7
2.2.1. Aceptación / Calificación c1s7 c8s4
2.2.2. Prueba de la instalación c12s2
c13s7,
2.2.3. Alfa y Beta Testing c8s4
c16s6
2.2.4. Logro fiabilidady
c15 c15s2
Evaluación
c8s11,
2.2.5. Pruebas de regresión
c13s3
2.2.6. Pruebas de rendimiento c8s6
2.2.7. Pruebas de seguridad c8s3 c11s4
2.2.8. Pruebas de estrés c8s8
2.2.9. Back-to-Back Testing
2.2.10. Prueba de recuperación c14s2
2.2.11. Prueba de interfaz c8s1.3 c4s4.5
2.2.12. Prueba de configuración c8s5
2.2.13. usabilidady Pruebas
c6
Human Computer
Interaction
3. Técnicas de Prueba
3.1. Basadoen la intuición y la
experiencia del ingeniero de
software
3.1.1. Ad hoc
3.1.2. Prueba exploratoria
3.2. Basado en el dominio de
entrada
técnicas
3.2.1. Partición de equivalencia c9s4
3.2.2. Las pruebas por parejas c9s3
3.2.3. Análisis de valores en la c9s5
3.2.4. Pruebas al azar frontera c9s7
3.3. Técnicas de código-base
3.3.1. -Base de flujo de control
c4
criterios
4-24 Guía SWEBOK® V3.0
2011 [2 *]
1993 [10
Nielsen
Kan 2003
SommervilLe
[9 *]
*]
nortea
*]
3.3.2. Criterios basados en el c5
flujo
3.3.3. de datos de referencia
Modelos
c4
de las pruebas basadas en el
Código
3.4. Técnicas basada en la culpa c1s14
3.4.1. error de adivinanzas c9s8
3.4.2. Las pruebas de mutación c3s5
3.5. Técnicas de uso-Basado
3.5.1. Perfil operativa c15s5
3.5.2. La heurística de
C5, C7
observación del usuario
3.6. Las pruebas basado en
modelos
técnicas
3.6.1. Tabla de decisión c9s6
3.6.2. Las máquinas de estados c10
finitos
3.6.3. Pruebas de formal
c10s11 c15
Presupuesto
3.7. Las técnicas basadasen la
naturaleza de la aplicación
3.8. Seleccióny la
combinación de técnicas
3.8.1. Funcional y estructural C9
3.8.2. Determinista vs aleatoria c9s6
4. Las medidas de prueba
relacionados
4.1. Evaluación del Programa
Bajo prueba
4.1.1. Las mediciones de
programas que ayudan en la c11
planificación y ensayo de
Proyectos
4.1.2. Tipos de fallos, clasificación,
c4
y Estadísticas
4.1.3. Densidad de fallos c13s4 c4
4.1.4. Prueba de vida, Fiabilidad
c15 c3
Evaluación
4.1.5. Los modelos de crecimiento c15 c8
fiabilidad
Software de Pruebas 4-
25
2011 [2 *]
1993 [10
Nielsen
Kan 2003
SommervilLe
[9 *]
*]
nortea
*]
4.2. Evaluación deLas pruebas
realizadas
4.2.1. Cobertura / Minuciosidad
c11
medidas
4.2.2. Siembra de fallos c2s5 c6
4.2.3. Puntuación mutación c3s5
4.2.4. Comparacióny la
eficacia relativa de las
diferentes técnicas
Proceso 5. Prueba
5.1. Consideraciones prácticas
5.1.1. actitudes/
c16 c15
Programación sin ego
5.1.2. Guías de prueba c12s1 c15s1
5.1.3. Gestión de procesos de c12 c15
5.1.4. Documentación de laprueba
c8s12 c4s5
comprobacióny productos de
5.1.5.trabajo
Desarrollo basado en pruebas c1s16
5.1.6. Independiente vs interna
c16
Equipo de prueba
5.1.7. Costo / estimación de esfuerzoy
c18s3 c5s7
Otras medidas del proceso
5.1.8. Terminación c10s4
5.1.9. Prueba de Reutilización y c2s5
Patrones
5.2. Las actividades de prueba
c12s1
5.2.1. Planificación
c12s8
c12s1
5.2.2. Generación de casos de
c12s3
prueba
5.2.3. Desarrollo
c12s6
Entorno de prueba
5.2.4. Ejecución c12s7
5.2.5. Resultados de la prueba c15
Evaluación
4-26 Guía SWEBOK® V3.0
2011 [2 *]
1993 [10
Nielsen
Kan 2003
SommervilLe
[9 *]
*]
nortea
*]
5.2.6. Informe de problemas /
c13s9
Prueba
Iniciar sesión
5.2.7. seguimiento de defectos C9
6. Herramientas de
prueba de software
6.1. Herramienta de c12s11 c5
soporte de pruebas
6.1.1. Selección de c12s11
Herramientas c1s7, c3s9,
c4, c9s7,
6.2. Categorías de Herramientas c8
c12s11,
c12s16
Software de Pruebas 4-
27
Referencias
[1 *] S. Naik y P. Tripathy, pruebas de [8] S. Yoo y M. Harman, “pruebas de regresión
software y aseguramiento de la calidad: Minimización, selección y priorización: una
Teoría y Práctica, Wiley-Spektrum, 2008. encuesta,” Pruebas de verificación de
software y Fiabilidad, vol. 22, no. 2, marzo
[2 *] I. Sommerville, Ingeniería de Software, 9ª de 2012,
ed., Addison-Wesley, 2011. pp. 67-120.
[4] H. Zhu, PAV Hall y JHR mayo, “Unidad de [10 *] J. Nielsen, Ingeniería de usabilidad,
Software Cobertura de la prueba y Morgan Kaufmann, 1993.
suficiencia,” ACM Computing Surveys,
vol. 29, no. 4, diciembre de 1997 pp. 366- [11] TY Chen et al., “Adaptive Testing aleatoria:
427. el arte de caso de prueba Diversidad,”
Diario de sistemas y software, vol. 83, no.
[5] EW Dijkstra, “Notas sobre la programación 1, enero de 2010, pp. 60-66.
estructurada,” Informe TH-70-WSE-03,
Universidad Tecnológica de Eindhoven, [12] Y. Jia y M. Harman, “An Analysis
1970; y la Encuesta de Desarrollo de pruebas de
http://www.cs.utexas.edu/users/EWD/ mutación “, IEEE Trans. Ingeniería de
ewd02xx / EWD249.PDF. Software, vol. 37, no. 5, Sep.-Oct. 2011,
pp. 649-678.
[6] ISO / IEC / IEEE P29119-1 / DIS Proyecto
de Norma para Sistemas de Software y [13] M. y B. Utting Legeard, práctico basado
Testing Ingeniería--Parte 1 Software: en modelos de prueba: Un Enfoque
Conceptos y definiciones, ISO / IEC / IEEE Herramientas, Morgan Kaufmann, 2007.
2012.
MANTENIMIENTO DE
SOFTWARE
INTRODUCCIÓN
5-1
5-2 Guía SWEBOK® V3.0
El objetivo del mantenimiento del software es de los cambios propuestos, código de software y
modificar el software existente, preservando su otros artefactos son
integridad. La norma internacional también
señala la importancia de tener algunas
actividades de mantenimiento antes de la entrega
final de software (actividades previas a la
entrega). En particular, IEEE 14764 hace
hincapié en la importancia de los aspectos de
mantenimiento previo a la entrega de
planificación, por ejemplo.
• corregir fallas;
• mejorar el diseño;
• implementar mejoras;
• interactuar con otros softwares;
• adaptar los programas a fin de que distintos
tipos de hardware, el software, las
características del sistema y de las
telecomunicaciones instalaciones se pueden
utilizar;
• migrar software heredado; y
• retirarse de software.
realizado después de la entrega para corregir próximo lanzamiento, mientras que el envío de
problemas Ered descu-. Se incluyen en esta parches de emergencia para la versión actual,
categoría es el mantenimiento de también crea un desafío. En la siguiente sección
emergencia, que es una modificación no se presentan algunos de los problemas gías Nical
programada se realiza para mantener y de gestión relacionados con el mantenimiento
temporariamente un producto de software del software. Se han agrupado bajo los
en funcionamiento en espera de siguientes encabezados de los temas:
mantenimiento correctivo.
• mantenimiento adaptativo: modificación de • problemas técnicos,
un producto de software se realiza después • asuntos Gerenciales,
de la entrega para mantener un producto de • estimación de costos, y
software que puedan utilizarse en un • medición.
entorno cambiante o cambiar. Por ejemplo,
el sistema operativo puede ser actualizado y 2.1. Técnico Cuestiones
algunos cambios en el software puede ser
necesario. 2.1.1. La comprensión limitada
• mantenimiento perfectivo: modificación de [2 *, c6]
un producto de software después de la
entrega para proporcionar mejoras para los comprensión limitada se refiere a la rapidez con
usuarios, mejora de la documentación del que un ingeniero de software puede entender que
programa, y la recodificación para mejorar para hacer un cambio o corrección en el software
el rendimiento del software, capacidad que él o ella no se desarrolló. Las
maintain-, u otros atributos de software. investigaciones indican que aproximadamente la
• El mantenimiento preventivo: modificación mitad del total del esfuerzo de mantenimiento se
de un producto de software después del dedica a pie Adjunto del software para ser
parto para detectar fallas latentes y correctas modificado. Por lo tanto, el tema de la
en el producto de software antes de que sean comprensión de software es de gran inter est a
fallos de funcionamiento. los ingenieros de software. La comprensión es
más difícil en el código fuente de la
IEEE 14764 clasifica mantenimiento representación en orientada a texto, por ejemplo,
adaptativo y perfectivo como mejoras de donde a menudo es difícil trazar la evolución del
mantenimiento. También agrupa a las categorías software a través de sus publicaciones /
de mantenimiento tiva correctivas y prevención versiones si los cambios no están documentados
en una corrección CAT- goría, como se muestra y si los desarrolladores no están disponibles a lo
en la Tabla 5.1. explican, lo que suele ser el caso. Por lo tanto,
Tabla 5.1. Mantenimiento de Software los ingenieros de software pueden ini- cialmente
Categorías tienen una comprensión limitada del software;
Corrección Mejora aún queda mucho por hacer para remediar esto.
Proactivo Preventivo perfectivo
2.1.2. Pruebas
Reactivo Correctivo Adaptado
[1 *, c6s2.2.2] [2 *, c9]
• permite la especialización;
• crea canales de comunicación;
La externalización y la deslocalización de Mantenimiento de Software
5-11
software manteni- miento se ha convertido en
una industria importante. Las organizaciones
que están externalizando carteras enteras de
software, incluyendo el mantenimiento del
software. Más a menudo, la opción de la
externalización se selecciona por menos de
software de misión crítica, como las
organizaciones no están dispuestos a perder el
control del software utilizado en su negocio
principal. Uno de los principales retos para los
subcontratistas es determinar el alcance de los
servicios de mantenimiento requeridos, los
términos de un acuerdo de nivel de ser- vicio, y
los detalles contractuales. Subcontratistas
tendrán que invertir en una infraestructura de
mantenimiento y el servicio de asistencia en el
sitio remoto debe contar con personal con
hablantes de lengua nativa. La externalización
requiere una inver- sión inicial importante y la
configuración de un proceso de mantenimiento
que requerirá la automatización.
2.3.3. Experiencia
[2 *, c12s5.5]
3. Proceso de mantenimiento
• implementación de procesos,
• problema y el análisis de la modificación,
• aplicación modificación,
5-14 Guía SWEBOK® V3.0
• arreglo rapido,
• espiral,
• Osborne,
• mejora iterativa, y
• reutilizar-orientado.
y las auditorías. Otra actividad importante apoyo seguido de un plan de mantenimiento. El concepto
consiste en la formación de los mantenedores y de mantenimiento para cada producto de software
usuarios. debe ser documentado en el plan [1 *, c7s2] y
debe hacer frente a la
3.2.3. Actividades de mantenimiento
Planificación • ámbito del mantenimiento de software,
[1 *, c7s3] • la adaptación del proceso de mantenimiento
de software,
Una actividad importante para el mantenimiento
del software es la planificación, y mantenedores
debe abordar las cuestiones relacionadas con la
planificación de una serie de perspectivas,
incluyendo
4.2. reingeniería
[2 *, c7]
Sneed 2008
[3 *]
*]
1. Fundamentos de
mantenimiento de
software
1.1. Definiciones y terminología c3 c1s2, C2S2
1.2. Naturaleza de Mantenimiento c1s3
1.3. La necesidad de mantenimiento c1s5
1.4. La mayoría de los costos de c4s3, c5s5.2
mantenimiento
1.5. Evolución de Software c3s5
1.6. Categorías de Mantenimiento c3, c6s2 c3s3.1, c4s3
2. Temas clave en el
mantenimiento de
software
2.1. Problemas técnicos
2.1.1. La comprensión limitada c6
2.1.2. Pruebas c6s2.2.2 C9
2.1.3. Análisis de impacto c5s2.5 c13s3
2.1.4. mantenibilidad c6s8, c3s4 c12s5.5
2.2. Asuntos Gerenciales
2.2.1. Alineación con
c4
objetivos de la organización
2.2.2. dotación de c4s5, c10s4
personal
2.2.3. Proceso c5 c5
2.2.4. OrganizativoAspectos de
c7s.2.3 c10
Mantenimiento
2.2.5. Subcontrataciones / todas
Offshoring
2.3. Estimación de costes de
mantenimiento
2.3.1. Estimación de costos c7s4.1 c7s2.4
Mantenimiento de Software
5-13
Sneed 2008
[3 *]
*]
2.3.2. Los modelos paramétricos c12s5.6
2.3.3. Experiencia c12s5.5
2.4. Medición de
c6s5 c12, c12s3.1
mantenimiento de
software
2.4.1. Las medidas específicas c12
3. Proceso de
Mantenimiento
3.1. Los procesos de mantenimiento c5 c5
c5, c5s3.2.2,
3.2. Actividades de mantenimiento
c6s8.2, c7s3.3
c3s10, c6s9, c7s2,
3.2.1. Actividades únicas C6, C7
c7s3
3.2.2. Las actividades que apoyen c4s1, c5, c6s7 C9
3.2.3. Planificación de
c7s2, c7s.3
mantenimiento
Ocupaciones
3.2.4. SoftwareGestión de la
c5s1.2.3 c11
configuración
3.2.5. Calidad del software c6s5, c6s7, c6s8 c12s5.3
4. Técnicas de Mantenimiento
4.1. programa de Comprensión c6, c14s5
4.2. reingeniería c7
4.3. Ingeniería inversa c6s2 c7, c14s5
4.4. Migración c5s5
4.5. Jubilación c5s6
5. Herramientas de Mantenimiento c6s4 c14
de Software
5-14 Guía SWEBOK® V3.0
LECTURAS Referencias
M. Kajko-Mattsson, “Hacia un Modelo de [5] ISO / IEC / IEEE 24765: 2010 Sistemas y de
Negocio de Mantenimiento,” IEEE Ingeniería de Software-Vocabulario, ISO /
Int'l Conf. Mantenimiento Software IEC / IEEE 2010.
[7].
[6] A. abril y A. Abran, Gestión de
Este artículo presenta una visión general del Mantenimiento de Software: evaluación y
modelo de madurez de mantenimiento mejora continua, Wiley-IEEE Computer
correctivas (cm3). A diferencia de otros modelos Society Press, 2008.
de procesos, CM3 es un modelo espe- cializada,
dedicado exclusivamente al mantenimiento [7] M. Kajko-Mattsson, “Hacia un
correctivo del software. Se considera que el mantenimiento Modelo de negocios,”
mantenimiento en términos de las actividades a Proc. Int'l Conf. Mantenimiento de
realizar y su orden, en función de la información Software, IEEE, 2001, pp. 500-509.
utilizada por estas actividades, metas, reglas y
motivaciones para su ejecución, y los niveles de
organización y roles involucrados en las
distintas etapas de un proceso típico de
mantenimiento correctivo.
Mantenimiento de Software
5-15
CAPÍTULO 6
6-1
6-2 Guía SWEBOK® V3.0
DISTRIBUCIÓN DE TEMAS
PARA LA GESTIÓN DE
CONFIGURACIÓN DEL
SOFTWARE
ideas que lleva a procesar los cambios y 2.1. Los productos que la identificación que deben
actualizaciones correspondientes a la PGCS. ser controlados
Bibliotecas de software y las diversas [2 *, c8s2.2] [4 *,
posibilidades de herramientas SCM c29s1.1]
proporcionan fuentes para extraer información
acerca de las características del proceso de SMC Uno de los primeros pasos en el cambio de control
(así como el suministro de información agement es
hombre-proyecto y). Por ejemplo, información la identificación de los elementos de software que
se desea controlar.
sobre el tiempo requerido para llevar a cabo
varios tipos de cambios sería útil en una evalua-
ción de los criterios para determinar qué niveles
de autoridad son óptimas para la autorización de
ciertos tipos de cambios y para la estimación de
cambios en el futuro.
Se debe tener cuidado para mantener el foco
de la vigilancia en las ideas que se pueden
obtener a partir de las mediciones, no en las
propias mediciones. La discusión de los
procesos de software y medición del producto se
presenta en el Proceso de Cesión de Software
Ingeniería KA. programas de software surement
Measure se describen en el Software
Engineering Management KA.
2. Identificación de la configuración de
software
[2 *, c8] [4 *,
c29s1.1]
debe considerar la necesidad de asignar todos los cambios aprobados en la línea de base,
elementos identificados a la estructura del representa la configuración actual aprobado.
software, así como la necesidad de apoyar la líneas de base utilizados comúnmente incluyen
evolución de los elementos de software y sus fun- cional, asignado, de desarrollo, y el producto
relaciones.
2.1.5. Base
[1, c3]
de los elementos cambiantes. La solicitud de qué cambios hacer, la autoridad de approv- ing
cambio de software ciertos cambios, el apoyo a la ción ¡Ejecución de
(SCR) se describe en la sección 3.1. esos cambios, y el concepto de desviaciones
En la adquisición de un SCI, se deben formales de los requisitos del proyecto, así como
establecer su origen y integri- dad inicial. exenciones de ellos. La información derivada de
Después de la adquisi- ción de un SCI, cambios estas actividades es útil en la medición de tráfico
en el elemento debe ser formalmente aprobado el cambio y la rotura, así como los aspectos de
como adecuado para el SCI y la línea de base reproceso.
que participan, como se define en el PGCS.
Después de la aprobación, el elemento se 3.1. Solicitar, evaluar y cambios que aprueba
incorpora en la línea de base software de Software
acuerdo con el procedimiento adecuado.
[2 *, c9s2.4] [4 *,
2.2. software Library c29s2]
[3 *, c1s3] [4 *,
c29s1.2] El primer paso en la gestión de cambios para
controlada
artículos es determinar qué cambios hacer. los
Una biblioteca de software es una colección trabajo y progreso.
controlada de software y la documentación
relacionada diseñado para ayudar en el 3. Control de Configuración de Software
desarrollo de software, uso o mantenimiento [1]. [2 *, c9] [4 *, c29s2]
También es fundamental para la versión de
software agement hombre- y actividades de control de la configuración de software se ocupa
entrega. Existen varios tipos de bibliotecas de la gestión de cambios durante el ciclo de vida
podrían ser utilizados, cada uno correspondiente del software. Cubre el proceso para determinar
a nivel particular del elemento de software de
madurez. Por ejemplo, una biblioteca de trabajo
podría apoyar la codificación y una biblioteca de
soporte proyecto podría apoyar de Exámenes,
mientras que una librería maestra podría ser
utilizado para productos termi- nado. Un nivel
adecuado de SCM trol con- (línea de base y el
nivel de autoridad para el cambio asociado) está
asociado con cada biblioteca. Seguridad, en
términos de control de acceso y las instala- copia
de seguridad, es un aspecto clave de la gestión
de la biblioteca.
La herramienta (s) que se utiliza para cada
biblioteca debe ser compatible con las
necesidades de control de SMC para esa
biblioteca, tanto en términos de control de LIC y
controlar el acceso a la biblioteca. A nivel
biblioteca de trabajo, se trata de una capacidad
de gestión de código que sirve Desa- ERS,
mantenedores, y SCM. Se centra en el hombre-
envejecimiento de las versiones de los elementos
de software, mientras que SUP- portar las
actividades de múltiples desarrolladores. En los
niveles más altos de control, el acceso es más
restringida y SCM es el usuario principal.
Estas bibliotecas son también una importante
fuente de información para las mediciones de
software de proceso de solicitud de cambio Configuración del software de gestión de 6-
15
(véase un flujo típico de un proceso de
solicitud de cambio en la figura 6.3)
proporciona procedimientos formales para la
presentación y el registro de las solicitudes de
cambio, evaluar el costo TiAl poten- y el
impacto de un cambio propuesto, y aceptar,
modificar, difiriendo, o rechazar el cambio
propuesto. Una solicitud de cambio (CR) es
una petición para expandir o reducir el alcance
del proyecto; modificar las políticas, procesos,
planes o procedimientos; modificar los costos o
presupuestos; o horarios Revisar [1]. Las
solicitudes de cambios en el software artículos
con- figuración pueden ser originados por
cualquier persona en cualquier momento del
ciclo de vida del software y pueden incluir una
propuesta de solución y la prioridad solicitada.
Una fuente de un CR es el inicio de una acción
correctiva en respuesta a los informes de
problemas. Independientemente de la fuente, el
tipo de cambio (por ejemplo, defecto o mejora)
que se registra en el CR Software (SCR).
Esto proporciona una oportunidad para el
seguimiento de defectos y la recolección de las
mediciones por tipo de actividad el cambio
cambio. Una vez que se recibe una SCR, una
evaluación técnica (también conocido como un
análisis de impacto) se lleva a cabo para
determinar la extensión de las modificaciones
que serían necesarias se debe aceptar la
solicitud de cambio. Una buena comprensión
de las relaciones entre el software (y,
posiblemente, el hardware) elementos es
importante para esta tarea. Por último, una
autoridad realizó medición-com- establecida
con la línea de base afectada, el SCI
involucrados, y la naturaleza del cambio
evaluará los aspectos técnicos y de gestión de
la solicitud de cambio y, o bien aceptar,
modificar, rechazar o posponer el cambio
propuesto.
6-16 Guía SWEBOK® V3.0
2011 [4 *]
2012 [2
2006 [5
Hass 2003
SommervilLe
yoEEE 828-
[3 *]
Mugirre
*]
*]
1. Gestión del Proceso de SMC
2011 [4 *]
2012 [2
2006 [5
Hass 2003
SommervilLe
yoEEE 828-
[3 *]
Mugirre
*]
*]
2.1.5. Base
2.1.6. Software de
c18
adquisición de
Elementos
2.2. softwarede configuración
Library c1s3 c29s1.2
3. Configuración del software
C9 c29s2
Controlar
3.1. Solicitar, evaluar,Los
c9s2.4 c29s2
cambios que aprueba y
Software
3.1.1. Configuración del
c9s2.2 c11s1 c29s2
software
Tabla de control
3.1.2. Software Proceso
c1s4, c8s4
de Solicitud de Cambio
3.2. La implementación de
c29
software
cambios
3.3. Desviaciones y renuncias
4. Configuración de Software
c10
Determinación del estado de
4.1. SoftwareInformación de
c10s2.1
estado de configuración
4.2. Configuración del c1s5, c9s1,
c10s2.4
software c17
5. Informes de estado
Configuración del software
c11
Revisión de cuentas
5.1. software funcional
c11s2.1
Auditoría de configuración
5.2. software física
c11s2.2
Auditoría de configuración
5.3. En-Proceso de auditorías
c11s2.3
de una
6. Línea de basededel software
El software
c14 c8s2 c29s3
administración de
lanzamientos
6.1. EdificioydeEntrega
software c29s4
6.2. Lanzamiento de software
c29s3.2
administración
7. Configuración del software
c26s1
Herramientas administrativas
Configuración del software de gestión de 6-
17
LECTURAS Referencias
Stephen P. Berczuk y Brad Appleton, Patrones [1] ISO / IEC / IEEE 24765: 2010 Sistemas y de
de Gestión de la Configuración de Ingeniería de Software-Vocabulario, ISO /
Software: El trabajo en equipo eficaz, IEC / IEEE 2010.
práctica Integración [6].
[2 *] IEEE Std. 828-2012, Norma para Sistemas
Este libro expresa prácticas de SCM y de Gestión de la Configuración de Software
estrategias útiles como patrones. Los patrones e Ingeniería, IEEE 2012.
pueden ser implementado utilizando diversas
herramientas, sino que se expresa de una manera [3 *] AMJ Hass, Principios y Prácticas de
independiente del instrumento. gestión de configuración, 1st ed., Addison-
Wesley, 2003.
“CMMI para el Desarrollo”, versión 1.3, pp.
137-147 [7]. [4 *] I. Sommerville, Ingeniería de Software, 9ª
ed., Addison-Wesley, 2011.
Este modelo presenta una recopilación de las
mejores ticas ticas para ayudar a las [5 *] JW Moore, La Hoja de Ruta de Ingeniería
organizaciones de desarrollo de software a de Software: Una guía basada en
mejorar sus procesos. En el nivel de madurez 2, estándares, Wiley-IEEE Computer Society
sugiere actividades de gestión de configuración. Press, 2006.
CAPÍTULO 7
INTRODUCCIÓN
7-1
7-2 Guía SWEBOK® V3.0
Otros aspectos de la gestión de las analizar los resultados anteriores pro- yecto e
organizaciones ejercen un impacto en la implementar mejoras).
ingeniería de software (por ejemplo, políticas de
la organización y los procedimientos que
constituyen el marco en el que se llevan a cabo
proyectos de ingeniería de software). Estas
normativas y procedimientos de pueden
necesitar ser ajustado por los requisitos de
software eficaz Desa-, crear y mantener.
Además, una serie de políticas específicas para
la ingeniería de software puede necesitar estar en
su lugar o establecido para la gestión eficaz de la
ingeniería de software a nivel nizational or-. Por
ejemplo, las políticas son generalmente
necesarios para establecer procesos de toda la
organización o procedimientos específicos para
tareas de ingeniería de software, tales como
diseño de software, software de construc- ción,
la estimación, el seguimiento y la presentación
de informes. Este tipo de políticas son
importantes para la gestión efectiva a largo plazo
de los proyectos de ingeniería de software en
toda la organización (por ejemplo, el
establecimiento de una base constante por el que
Ingeniería de Software de Gestión de 7-3
Otro aspecto importante de la gestión de la
organización son las políticas y procedimientos
de gestión de personal para la contratación,
capacitación y mentor personal ing para el
desarrollo profesional, no sólo a nivel de
proyecto, sino también a la Cess Suc a más
largo plazo de una organización. el personal de
ingeniería de software pueden presentar retos
de formación o gestión de personal único (por
ejemplo, el mantenimiento de la moneda en un
contexto donde la tecno- logía subyacente sufre
un cambio rápido y continuo).
gestión de la comunicación también se
menciona a menudo como un aspecto pasado
por alto pero importante del rendimiento de las
personas en un campo en el que es necesaria la
comprensión precisa de las necesidades del
usuario, requisitos de software y diseños de
software. Por otra parte, la gestión de carteras,
que pro- porciona una visión de conjunto, no
sólo de software actualmente en fase de
desarrollo en diversos proyectos y programas
(proyectos integrados), sino también de
software previstas y actualmente en uso en una
organiza- ción, se deseable. Además, la
reutilización de software es la clave
7-4 Guía SWEBOK® V3.0
1.1. La determinación y la
negociación de los requisitos
[3 *, c3]
deben ser evaluados. Adquisición de software y así como por las cuestiones relativas al personal
el uso de terceros para desarrollar las (por ejem- plo, la productividad de las personas
prestaciones debe ser planeada y proveedores y los equipos, la dinámica del equipo, y
seleccionados (ver sección 3.2, Software de estructuras de equipo).
Adquisición y Gestión de Proveedores de
contrato). 2.5. Gestión de riesgos
[3 *, c9] [5 *, c5]
2.3. Esfuerzo, Calendario, y Estimación de
Costos Riesgo e incertidumbre están relacionados pero
[3 *, c6] distintos conceptos. La incertidumbre resulta de
la falta de informa- ción. El riesgo se caracteriza
El rango estimado de esfuerzo requerido para un por la probabilidad de un evento que se traducirá
proyecto, o partes de un proyecto, se puede en un impacto negativo además de una
determinar utilizando un modelo de estimación caracterización de los efectos negativos sobre un
calibrada en base al tamaño y esfuerzo datos proyec- ect. El riesgo es a menudo el resultado
históricos (cuando esté disponible) y otros de la incertidumbre. Lo contrario de riesgo es la
métodos pertinentes, tales como el juicio de oportunidad, que se caracterizarse por la
expertos y la analogía. dependencias de tareas se probabilidad de que un evento que tenga se
pueden establecer y oportunidades potenciales puede producir un resultado positivo.
para la realización de tareas al mismo tiempo y La gestión del riesgo implica la identificación
de forma secuencial pueden ser identificados y de factores de riesgo y análisis de la
documentados mediante un diagrama de Gantt, probabilidad y el impacto poten- cial de cada
por ejem- plo. Para proyectos SDLC predictivos, factor de riesgo, la priorización de los factores
el calendario previsto de tareas con tiempos de de riesgo, y el desarrollo de estrategias de
inicio proyectada, ciones durabilidad y el final mitigación de riesgos para reducir la
de los tiempos se produce normalmente durante probabilidad y minimizar el impacto negativo si
la planificación. Para proyectos SDLC de un factor de riesgo se convierte en un problema.
adaptación, una estimación general de esfuerzo y métodos de evaluación de riesgos (por ejemplo,
el horario típicamente se desarrolló a partir de la la opinión de expertos, datos históricos, árboles
comprensión inicial de los requisitos, o, de decisión, y simulaciones de procesos) a veces
alternativamente, las restricciones sobre el se pueden utilizar con el fin de identificar y
esfuerzo global y el calendario puede ser evaluar los factores de riesgo.
especificado y se utiliza para determinar una condiciones de abandono del proyecto
estimación inicial de la nú- mero ciclos y también se pueden determinar en este punto de
estimaciones del esfuerzo de iterativos y otros la discusión con todos los interesados. aspectos
recursos asignados a cada ciclo. de software única de riesgo, tales como la
Recursos necesarios (por ejemplo, personas y tendencia ingenieros de software para añadir
herramientas) pueden traducirse en estimaciones características que no sean necesarios, o los
de costos. la estimación inicial de esfuerzo, riesgos relacionados con la naturaleza intangible
horario, y el costo es una actividad iterativa que del software, puede influir en el riesgo hombre-
debe ser negociado y revisado entre las partes agement de un proyecto de software. aten- ción
interesadas afectadas hasta que se alcanza particular, se debe prestar a la gestión de los
consenso sobre los recursos y el tiempo riesgos relacionados con los requisitos de
disponible para la finalización del proyecto. calidad de software, tales como la seguridad o la
seguridad (ver la calidad KA Software). La
2.4. Asignación de recursos gestión del riesgo debe hacerse no sólo en el
[3 *, c5, c10, c11] comienzo de un proyecto, sino también a
intervalos periódicos a lo largo del ciclo de vida
del proyecto.
y expectativas. Procedimientos relacionados con Las actividades del proyecto deben llevarse a cabo
el software en curso Garantía de Calidad (SQA) en ajustan al plan del proyecto y los planes de
y la mejora de la calidad durante todo el proceso apoyo. Recursos (por ejemplo, personal,
de desarrollo, y para la verificación y validación tecnología y financiación) son utilizados y
del producto software entregable, también deben productos de trabajo (por
especificarse durante la planificación de la
calidad (por ejemplo, las revisiones e
inspecciones técnicas o de- mostraciones de
completado funcionalidad, véase la calidad del
software KA).
intervalos predeterminados. Además, se deben proyecto (por ejemplo, los requisitos de software
evaluar los productos y los criterios pletion com- especifi- cación) para dar cabida a eventos no
para cada tarea. Entregables deben ser evaluados previstos y sus implicaciones.
en términos de sus características requeridas En algunos casos, el proceso de control puede
(por ejemplo, a través de las inspecciones o llevar al abandono del proyecto. En todos los
mediante la demostración de la funcionalidad de casos,
trabajo). gasto esfuerzo, horario de la
adherencia, y los costes hasta la fecha deben ser
analizados, y el uso de recursos examinados. El
perfil de riesgo del proyecto (ver sección 2.5,
gestión de riesgos) debe ser revisada, y la
adhesión a los requisitos de calidad de software
eva- uated (ver Requisitos de calidad de
software en la calidad del software KA).
Los datos de medición deben ser analizados
(véase Sta- Análisis Statistical en los
Fundamentos de Ingeniería KA). El análisis de
varianza basado en la desviación de real de los
resultados y valores esperados debe ser
determinado. Esto puede incluir los excesos de
costes, cronograma deslizamiento, u otras
medidas similares. identificación y análisis de
los datos de calidad y otra de medición de
valores atípicos se deben realizar (por ejemplo,
análisis de defectos; ver Software Medición de
la Calidad en el Software Quality KA).
exposiciones de riesgo deben ser recalculados
(ver sección 2.5, Gestión de Riesgos). Estas
actividades pueden permitir la detección del
problema e identificación excepción basada en
umbrales que se han superado. Los resultados
deben ser reportados cuando se han superado los
umbrales, o según sea necesario.
3.6. informes
[3 *, c11]
4. Revisión y Evaluación
5. Cierre
• Integrar los procedimientos de medición con apropiado a la naturaleza de los datos y las
los procesos de software Evant rel. Los necesidades de información. Los resultados de
procedimientos de medición, tales como la este análisis son típicamente indicadores tales
recopilación de datos, deben integrarse en como gráficos, números u otras indicaciones
los procesos de software que se está que serán interpretadas, resultando en
midiendo. Esto puede implicar cam- ing conclusiones y recomendaciones que se
procesos de software actuales para presentará a las partes interesadas (ver Análisis
acomodar la recopilación de datos de fecha estadístico en el
o actividades de generación. También puede
implicar el análisis de los procesos de soft-
ware actuales para reducir al mínimo
esfuerzo adicional y la evaluación del efecto
de los empleados para asegurar que se
aceptarán los procedimientos de medición.
problemas de moral y otros factores
humanos deben ser considerados. Además,
los procedimientos de medición deben ser
comu- nicated a los que proporcionan los
datos. También puede ser necesario
proporcionar formación y apoyo.
procedimientos de análisis de datos y de
información están típicamente integrados en
los procesos de organización y / o proyecto
de manera similar.
• Recolectar datos. Los datos deben
recogerse, que ha comprobado, y se
almacenan. Colección veces se puede
automatizar mediante el uso de software de
Engineer- herramientas de gestión de ING
(véase el tema 7, la Cesión de Software de
Gestión de Herramientas de ingeniería) para
analizar los datos y elaborar informes. Los
datos pueden ser agregados, transformadas,
o recodificados como parte del proceso de
análisis, utilizando un grado de rigor
7-12 Guía SWEBOK® V3.0
• Evaluar productos de información y el
proceso surement medi- contra
especificado Evaluation criterios ación y
determinar las fortalezas y debilidades de
los productos de información o proceso,
respectivamente. La evaluación puede ser
realizada por un proceso interno o una
auditoría nal externamente; que debe
incluir la retroalimentación de los
usuarios de medición. Las lecciones
aprendidas deben ser registrados en una
base de datos adecuada.
• Identificar las mejoras potenciales. Tales
mejoras pueden ser cambios en el
formato de los indicadores, los cambios
en unidades medidas, o reclasificación de
categorías de medición. Los costos y los
beneficios potenciales de las mejoras
deben ser determinados y acciones de
mejora apropiadas deben ser reportados.
• Comunicar las mejoras propuestas para el
propietario del proceso de medición y
ERS stakehold- para su revisión y
aprobación. Además, la falta de mejoras
potenciales debe comuni- nicated si el
análisis no identifica ninguna mejora.
SommervilLe
[5 *]
[7 *]
*]
1. Iniciación y Alcance
Definición
1.1. La determinación y la
c3
negociación de los
requisitos
1.2. Análisis de viabilidad c4
1.3. proceso parael examen y
c3
revisión de los requisitos
2. software de planificación
2.1. Planificación de c2, c3, c4, c5 c1
procesos
2.2. determinar entregables c4, c5, c6
2.3. Esfuerzo, Planificar,y
c6
Estimación de Costos
2.4. Asignación de recursos C5, C10,
2.5. Gestión de riesgos C11
C9 c5
2.6. Gestión de la calidad c4 c24
2.7. Gestión del plan c4
La promulgación 3. Proyecto de
Software
3.1. Implementación de Planes c2
3.2. Software de Adquisición y
C3, C4
Proveedor Gestión de contratos
3.3. Implementación de
c7
Proceso de medida
3.4. Process monitor c8
3.5. Control de procesos C7, C8
3.6. informes c11
4. Revisión y Evaluación
4.1. La determinación de
satisfacción de los requisitos
4.2. revisandoy la evaluación del
c8, c10
desempeño
Ingeniería de Software de Gestión de 7-15
SommervilLe
[5 *]
[7 *]
*]
5. Cierre
5.1. Cierre la determinación
5.2. Actividades de cierre
6. Software de
Ingeniería de medición
6.1. Establecer y mantener
c1, c2
Compromiso de medición
6.2. Planificar la Medición
c1, c2
Proceso
6.3. Realizar la medición
c1, c2
Proceso
6.4. evaluar Medición c1, c2
7. Herramientas de
C5, C6, C7
Gestión de Ingeniería
de Software
7-16 Guía SWEBOK® V3.0
INTRODUCCIÓN
8-1
8-2 Guía SWEBOK® V3.0
modelos están diseñados para facilitar la adaptarse para reflejar las realidades del
evolución de los requisitos de software durante desarrollo y mantenimiento de software dentro del
el proyecto. contexto de la organización y ambiente de
Se debe enfatizar que el continuo de SDLCs negocios.
de lineal a ágil no es una línea delgada, recta. Otra consideración práctica: procesos de
Elementos de diferentes enfoques pueden ser software (como la gestión de la configuración,
incorporados en un modelo específico; por ejem-
plo, un software de modelo de ciclo de vida de
desarrollo incremental puede incorporar
requisitos de software secuenciales y fases de
diseño, pero permitir una gran flexibilidad en la
revisión de los requisitos de software y la
arquitectura durante la construcción de software.
3. Software de evaluación y
mejora de procesos
[2 *, P188, P194] [3 *, c26] [4 *, P397,
c15]
la comparación entre los proyectos dentro de una objetivas que indica la consecución de los
organiza- ción y entre organizaciones. objetivos y resultados de un proceso de software
Una auditoría de proceso difiere de un proceso definido. Por ejemplo, una evaluación cuantitativa
de Assessment. Las evaluaciones se realizaron del proceso de inspección soft- ware puede ser
para determinar niveles de capacidad o madurez realizada por
y para identificar los procesos de software que
ser mejorado. Las auditorías se realizan
normalmente para verificar el cumplimiento con
las políticas y normas. Auditorías proporcionan
visibilidad ción manage- en las operaciones
reales que se lleva a cabo en la organización
para que las decisiones precisas y significativas
se pueden hacer cuestiones ING concern- que
están afectando a una actividad de
mantenimiento de desarrollo pro- yecto, o un
tema relacionado con el software.
factores de éxito de los procesos de software
evalua- ción y mejora dentro del software
Engineer- organizaciones ing incluyen buque
gestión patrocinio, la planificación, la
formación, los líderes experimentados y capaces,
el compromiso del equipo, gestión de las
expectativas, el uso de agentes de cambio,
además de proyectos piloto y experimentación
con herramientas. fac- tores adicionales incluyen
la independencia del evaluador y la oportunidad
de la evaluación.
en comparación con los resultados anteriores o nivel 1, pero de forma puntual, de manera
ejemplares de proceso y costes (control); y hacer informal. En el nivel 2, un proceso de software
modificaciones adicionales (en funciones). El (valoración capacidad) o los procesos en el nivel
Plan-Do-Check-Act modelo de mejora de de madurez 2 están siendo per- forman de una
procesos se puede aplicar, por ejemplo, para manera que proporciona una gestión
mejorar los procesos de software que mejoran la
prevención de defectos.
4. Medición de software
[3 *, s26.2] [4 *,
s18.1.1]
además de las pruebas puede ser comparada con arriba recién introducido se ha reducido el número
la cantidad anterior de esfuerzo requerido para restante de defectos en el software.
probar solo. consideraciones simi- lar se aplican medidas de productos que pueden ser
si se cambia un proceso. importantes en la determinación de la eficacia de
los pro- cesos de software incluyen la complejidad
4.1. Proceso de Software y Medición del del producto, defectos totales, densidad de
producto defectos, y la calidad de los requisitos,
[1 *, S6.3, P273] [3 *, s26.2,
P638]
cada categoría para los procesos del proceso de Además, las herramientas de negocio de
software o software, donde un grupo de defectos propósito general, tal como una hoja de cálculo,
origi- NATed (ver Defecto Caracterización en la puede ser útil.
Soft mercancías Quality KA). defectos interfaz Ingeniería de Software (CASE), herramientas
de software, por ejemplo, pueden haberse de ayuda de computadora pueden reforzar el uso
originado durante una inade- equiparan proceso de procesos integrados, apoyar la ejecución de
de diseño de software; mejorar el proceso de las definiciones de procesos defi-, y
diseño de software reducirá el número de proporcionar orientación a los seres humanos en
defectos de la interfaz de software. ODC puede la formación de per- procesos bien definidos.
proporcionar datos cuantitativos para la herramientas simples, tales como procesadores
aplicación de análisis de causa raíz. Control de texto y hojas de cálculo se pueden utilizar
Estadístico de Procesos se puede utilizar para para preparar las descripciones textuales de pro-
realizar un seguimiento de la estabilidad del cesos, actividades y tareas; Estas herramientas
proceso, o la falta de estabilidad del proceso, también SUP- puerto de trazabilidad entre las
el uso de gráficos de control. entradas y salidas de múltiples procesos de
software (como el análisis de las necesidades de
4.4.2. Técnicas de medición de procesos los interesados, los requisitos de software ción
cualitativos especificaciones, arquitectura de software, y el
[1 *, s6.4] diseño detallado de software), así como los
resultados de los procesos de software como la
Cualitativa técnicas- medición de procesos que documentación , componentes de software,
incluyen entrevistas, cuestionarios y la opinión casos de prueba, y la información de errores.
de expertos, se puede utilizar para aumentar las La mayor parte de las áreas de conocimiento
técnicas de medición de procesos cuantitativos. en esta guía se describen las herramientas
técnicas de consenso del grupo, incluyendo la especializadas que pueden ser utilizados para
técnica Delphi, se pueden utilizar para obtener gestionar los procesos dentro de ese KA. En
un consenso entre los grupos de interesados. particu- lar, véase la Gestión de la Configuración
de Software KA para una discusión de las
5. Herramientas de Ingeniería de Software herramientas de gestión de configuración de
Process software que pueden ser utilizados para
[1 *, s8.7] gestionar la construcción, integración y procesos
para liberar los productos de software. Otras
herramientas de proceso de software soportan herramientas, como los de gestión de requisitos
muchas de las notaciones ciones utilizadas para y pruebas, se describen en la KAs apropiado.
definir, implementar y gestionar los procesos de herramientas de proceso de software pueden
software individuales y los modelos del ciclo de apoyar proyectos que involucran
vida del software. Incluyen editores para geográficamente equipos dispersos (virtuales).
anotaciones tales como diagramas de flujo de Cada vez más, las herramientas de proceso de
datos, gráficos de estado, BPMN, diagramas software están disponibles a través de las
IDEF0, redes de Petri, y los diagramas de instalaciones de computación en la nube, así
actividad UML. En algunos casos, las como a través de infraestructuras dedicadas.
herramientas de proceso de software permiten Un panel de control de proyectos o en el
diferentes tipos de análisis y simulaciones (por salpicadero pueden dis- proceso seleccionado el
ejemplo, de simulación de eventos discretos). En juego y los atributos del producto para proyectos
de software e indicar las medidas que están
dentro de los límites de control y aquellos que
necesitan una acción correctiva.
8-14 Guía SWEBOK® V3.0
2011 [3 *]
2009 [1
2009 [2
JustaLey de
Kan 2003
SommervilLe
[4 *]
Mugirre
*]
*]
p28-29,
1. Definición del proceso de software P177 P295 p36,
c5
1.1. Gestión de procesos de software s26.1 p453-454
P183, P186
1.2. Infraestructura de Procesos de p437-438
Software
2. Ciclos de vida del software c2 p190
c22, c23,
2.1. Categorías de procesos de software prefacio p294-295
c24
2.2. Modelos de Ciclo de vida del c2 S3.2 S2.1
software
2.3. La adaptación de procesos de s2.7 p51
software
2.4. Consideraciones prácticas p188-190
3. Software de Evaluación y
P188, P194 c26 P397, c15
Mejora de Procesos
S4.5,
3.1. Modelos de evaluación de procesos de s26.5 p44-48
S4.6
software
3.2. Evaluación de Procesos de Software p44-48,
p322-331 s26.3
métodos s16.4
3.3. Modelos de mejora de procesos
p187-188 s26.5 s2.7
de software
3.4. Calificaciones continuas y puesta en p28-34 s26.5 p39-45
4. escena
Medición de Software s26.2 s18.1.1
4.1. Proceso de software y de productos S6.3, s26.2,
Medición P273 P638
S3.4,
S3.5,
4.2. Calidad de los resultados de
S3.6,
medición
s3.7
4.3. Información de software Modelos p310-311 pag. 712- s19.2
713 S5.1,
4.4. Medición de Procesos de Software s6.4,
S5.7,
técnicas c8
s9.8
5. Proceso de Ingeniería de Software s8.7
Herramientas
Software de Ingeniería de Procesos
8-15
CAPÍTULO 9
1. Modelado
Modelización de software se está convirtiendo técnica para ayudar a los ingenieros de software a
en un omnipresente entender,
9-1
9-2 Guía SWEBOK® V3.0
Figura 9.1. Desglose de los temas de los modelos de ingeniería de software y métodos KA
ingeniero, y comunicar los aspectos del soft- decisiones sobre el software o elementos de la
ware a las partes interesadas pertinentes. Las misma, y la comunicación de los
partes interesadas son aquellas personas o partes
que tienen un interés explícitas o implícitas en el
software (por ejemplo, usuario, comprador,
proveedor, arquitecto, certificando autori- dad,
evaluador, desarrollador, ingeniero de software,
y tal vez otros).
Si bien hay muchos lenguajes de modelado,
notaciones, técnicas y herramientas en la
literatura y en la práctica, hay que unifica
conceptos generales que se aplican en alguna
forma a todos ellos. Las siguientes secciones
proporcionan antecedentes sobre estos conceptos
generales.
en relación con el esfuerzo de modelado) puede entorno de modelado; esto puede no ser obvia. El
haber una unión de varios submodelos y modelo debe ser revisado para supuestos
cualquiera de los modelos de función especiales. documentados. Mientras que la sintaxis de
El examen y la relación tivo de toma de modelado puede ser idéntico, el modelo puede
decisiones a un modelo único dentro de esta significar algo muy diferente en el nuevo entorno,
colección de submodelos pueden ser que es un contexto diferente. Además, consideran
problemáticos. que como software madura y se realizan cambios,
La comprensión de los significados precisos de la discordia semántica
constructos ELING MOD- también puede ser
difícil. lenguajes de modelado se definen por
reglas sintácticas y semánticas. Para lenguajes
textuales, la sintaxis se define utilizando una
gramática notación que define construcciones
len- guaje válidos (por ejemplo, la Forma
Backus-Naur (BNF)). Para lenguajes gráficos, la
sintaxis se define usando modelos gráficos
llamados els metamod-. Al igual que con BNF,
metamodelos definen las construcciones
sintácticas válidas de un lenguaje de modelado
gráfico; metamodelo define cómo estos
constructos se pueden componer para producir
modelos válidos. La semántica de lenguajes de
modelado especifican el significado que se
atribuye a las entidades y relaciones capturados
dentro del modelo. Por ejemplo, un diagrama
simple de dos cajas conectadas por una línea está
abierto a una variedad de interpretaciones.
Sabiendo que el diagrama en el que se colocan las
cajas y CONECTADOS es un diagrama de objeto
o un diagrama de actividad
puede ayudar en la interpretación de este
modelo.
Como cuestión práctica, por lo general hay un
buen entendimiento de la semántica de un
modelo de software específico debido al
lenguaje de modelado elegido, cómo se utiliza
ese lenguaje de modelado para expresar las
entidades y las relaciones dentro de ese modelo,
la base de la experiencia del modelador (s) y el
contexto dentro del cual se ha llevado a cabo el
modelado y representado. El significado se com-
municated a través del modelo incluso en
presencia de información incompleta a través de
abstracción; pragmática explica cómo el
significado se materializa en el modelo y su
contexto y comunicarse efectivamente a otros
ingenieros de software.
Todavía hay casos, sin embargo, donde se
necesita cautela ción en relación con el
modelado y la semántica. Por ejemplo, las piezas
modelo importado de otro modelo o de la
biblioteca deben ser examinados para supuestos
semánticos que entran en conflicto en el nuevo
puede ser introducido, lo que conduce a específico; queModelos
puededeestar
Ingeniería de Software
compuesta y Métodos
de uno o 9-
7
errores. Con muchos ingenieros de software más diagramas. La colección de submodelos
que trabajan en una parte del modelo con el puede emplear múltiples
tiempo junto con las actualizaciones de la
herramienta y tal vez nuevas exigencias, hay
oportunidades para partes del modelo para
representar algo diferente de la intención del
autor original y el contexto modelo inicial.
2. tipos Modelos de
lenguajes de modelado o una sola modelado evento de activación guardado o descuido que se
LANGUAGE. El Lenguaje de Modelado produce en el entorno de modelado. modelos de
Unificado (UML) reconoce una rica colección flujo de control representan cómo una secuencia
de modelar dia- gramos. El uso de estos de acontecimientos provoca procesos para ser
diagramas, junto con las construcciones del activado o desactivado. Los datos de flujo
lenguaje de modelado, lleva cerca de tres tipos tamiento ior se tipifica como una secuencia de
de modelos generales de uso común: los pasos donde los datos se mueve a través de
modelos de información, modelos de procesos hacia almacenes de datos o sumideros de
comportamiento, y los modelos de estructura datos.
(ver sección 1.1).
3. Análisis de Modelos
3.4. trazabilidad
[3 *, c4s7.1, c4s7.2]
y pseudo-código, código escrito a mano y análisis para Modelos de Ingeniería
el ingeniero de de Software ypara
software Métodos 9-
11
generado herramienta, casos manuales y revisar el diseño de interacción y verificar que
automatizados de prueba e informes, y las diferentes partes de la obra de software
archivos y datos. Estos productos de trabajo juntos para proporcionar las funciones previstas.
pueden estar relacionados a través de diferentes
relaciones de dependencia (por ejemplo, usos,
implementos, y las pruebas). A medida que se
desarrolla el software, gestionar, mantener, o
extendido, hay una necesidad de asignar y
controlar estas relaciones de trazabilidad para
demostrar los requisitos de software coherencia
con el modelo de software (consulte Requisitos
de seguimiento en los requisitos de software
KA) y los muchos productos de trabajo. El uso
de trazabilidad suele mejorar el manage- ment
de productos de trabajo de software y software
de calidad pro- ceso; sino que también
proporciona garantías a los titulares de stake-
que todos los requisitos se han cumplido. La
trazabilidad permite cambiar el análisis una vez
que el software es desarrollado y puesto en
libertad, ya que las relaciones a los productos
de trabajo de software fácilmente se pueden
desplazar para evaluar el impacto del cambio.
Las herramientas de modelado suelen
proporcionar alguna automatizado o manual de
los medios para espec- ify y gestionar enlaces
de trazabilidad entre los requisitos, diseño,
código y / o entidades de prueba que puedan
ser representados en los modelos y otros
productos de trabajo de software. (Para obtener
más información sobre la trazabilidad, ver el
KA Software Configuration Management).
Página-Jones
SommervilLe
Ala 1990
[1 *]
[6 *]
[5 *]
[7 *]
*]
1. Modelado
C2S
1.1. Modelado
2, C2S2 c5s0
principios
c5s1
1.2. Propiedades , c4s1.1p7,
c5s2,
c5s2
y Expresión de c4s6p3,
c5s3
Modelos c5s0p3
1.3. Sintaxis, la
c2s2.2.2
semántica y la c5s0
P6
pragmática
1.4. Condiciones c10s4p2,
previas, c4s4 c10s5
postConditions, e p2p4
2. invariantes
Tipos de Modelos
2.1. Modelado
c7s2.2 c8s1
de información
c7s2.1,
2.2. conductual
c7s2.3, c9s2 c5s4
Modelado
c7s2.4
c7s2.5,
2.3. Estructura
c7s3.1, c5s3 c4
Modelado
c7s3.2
3. Análisis de
Modelos
3.1. Para c4s1.1p7,
pp8-11
completar el c4s6
análisis
3.2. La c4s1.1p7,
pp8-11
consistencia para c4s6
analizar
3.3. El análisis de
pp8-11
la corrección
c4s7.1,
3.4. trazabilidad
c4s7.2
3.5. Interacción c29s1.1,
c10, c11 c5
Análisis c29s5
Modelos de Ingeniería de Software y Métodos 9-
11
Página-Jones
SommervilLe
Ala 1990
[1 *]
[6 *]
[5 *]
[7 *]
*]
4. Métodos de
ingeniería de
software c2s2.2,
4.1. Los c13, c15,
c7s1,
métodos c16
c5s4.1
heurísticos
4.2. Métodos c18 c27 pp8-24
formales
4.3. prototipado
c12s2 c2s3.1 c7s3p5
métodos
c6, app.
4.4. Los métodos c3 c7s3p7
UN
ágiles
9-12 Guía SWEBOK® V3.0
Referencias
[1 *] D. Budgen, Diseño de software, 2ª ed., [5 *] JM Wing, “Introducción de un
Addison-Wesley, 2003. especificador de métodos formales,”
Computer, vol. 23, no. 9, 1990, pp. 8, 10-23.
[2 *] SJ Mellor y MJ Balcer, ejecutable UML:.
Una Fundación para el Model-Driven [6 *] JG Brookshear, Ciencias de la
Architecture, 1st ed, Addison-Wesley, Computación:. Una visión general, 10ª ed,
2002. Addison-Wesley, 2008.
CAPÍTULO 10 CALIDAD
DEL SOFTWARE
10-1
10-2 Guía SWEBOK® V3.0
que los ingenieros informan con precisión la software producto al cliente. costos ure Fail
información, con- diciones, y los resultados externos incluyen actividades para responder a
relacionados con la calidad. problemas de software descubiertas después de
La ética también juegan un papel importante la entrega al cliente. Los ingenieros de software
en la calidad del software, la cultura, y las deben ser capaces de utilizar métodos cosq para
actitudes de los ingenieros de software. El IEEE determinar los niveles de calidad del software y
Computer Society y la ACM han desarrollado un también deben ser capaces de presentar
código de ética y la práctica pro- fesional (ver alternativas de calidad y sus costos para que las
Códigos de Ética y Conducta Profesional de la compensaciones entre costo, horario, y la
Ingeniería de Software KA Práctica entrega de valor para los accionistas
Profesional). Puede ser hecho.
Definir y luego la consecución de la calidad del de software, pruebas de nivel de sistema, pruebas
software no es simple. Las características de de aceptación); los costos de evaluación se
calidad pueden o pueden no ser necesarios, o se extenderían a los proveedores de software
les puede pedir a un mayor o menor grado, y las subcontratados. Los costos de fallos internos son
compensaciones se pueden hacer entre ellos. los que se incurre para fijar defectos encontrados
Para ayudar a determinar el nivel de calidad del durante las actividades de evaluación y descubrió
software, es decir, el logro de valor para los antes de la entrega de la
accionistas, esta sección presenta coste de la
calidad del software (cosq): un conjunto de
medidas derivadas de la evaluación económica
de los procesos de desarrollo y mantenimiento
de software de calidad. Las mediciones cosq son
ejemplos de mediciones de proceso que pueden
utilizarse para inferir carac- terísticas de un
producto.
La premisa subyacente a la cosq es que el
nivel de calidad en un producto de software se
puede deducir de los costes de las actividades
relacionadas con la oferta- ing con las
consecuencias de la mala calidad. La mala
calidad significa que el producto de software no
totalmente “satisfacer necesidades expresadas o
implícitas” o Hay cuatro categorías de calidad
coste de “estable- ció requisitos.”: prevención,
evaluación, fallo interno y externo fracaso.
Prevención costos incluyen las inversiones en
los esfuerzos de mejora de procesos de software,
infra- estructura de calidad, herramientas de
calidad, formación, auditorías y revisiones Ment
manage-. Estos costos son por lo general no es
específico de un proyecto; que abarcan la
organización. surgen los costos de evaluación de
las actividades del proyecto que encuentran
defectos. Estas actividades de evaluación se
pueden clasificar en los costos de los exámenes
(diseño, pares) y los costos de las pruebas
(pruebas software de la unidad, de integración
Calidad de Software 10-
Terminología para características de calidad de 5
software difiere de una taxonomía (o modelo
de la calidad del software) a otro, cada modelo
tal vez tener un número diferente de niveles
jerárquicos y un número total diferente de
características. Varios autores han producido
modelos de características de calidad de
software o atributos que pueden ser útiles para
la discusión, la planificación, y la calificación
de la calidad de los productos de software. ISO
/ IEC 25010: 2011 [4] define la calidad del
producto y la calidad en uso como dos modelos
de calidad relacionados. Apéndice B de la Guía
de SWE- BOK proporciona una lista de las
normas aplicables para cada KA. Normas de
este KA cubren diversas formas de caracterizar
la calidad del software.
1.3.2. Calidad del producto de software fallos / defecto, la eliminación, y pre- vención, y
(3) el proceso de mejora de la calidad.
El ingeniero de software, en primer lugar, debe La teoría y los conceptos detrás de la mejora de
determinar el verdadero propósito del software. la calidad, tales como la construcción de la
En este sentido, requisitos de los interesados son calidad a través de la detección temprana y la
de suma importancia, y que incluyen los prevención de defectos, la mejora continua de las
requisitos de calidad, además de los requisitos partes interesadas, y enfoque son pertinentes para
fun- cionales. Por lo tanto, los ingenieros de la ingeniería de software. Estos conceptos se
software tienen la responsabilidad de obtener los basan en el trabajo de los expertos
requisitos de calidad que pueden no ser explícita
al principio y al Deben conocerse su
importancia, así como el nivel de difi- cultad en
el logro de ellos. Todos los procesos de
desarrollo de software (por ejemplo, la
obtención de requisitos, diseño, construcción,
construcción, control, mejora de la calidad)
están diseñados con estos requisitos de calidad
en la mente y puede llevar a los costes de
desarrollo adicionales si los atributos tales como
la seguridad, la seguridad y la fiabilidad son
importantes. Los costos de desa- rrollo
adicionales ayudan a asegurar que la calidad
obtenida puede canjearse por los beneficios
anticipados.
El término producto de trabajo significa
cualquier artefacto que es el resultado de un
proceso utilizado para crear el producto de
software final. Ejemplos de un UCT trabajo
PRODUCIRSE incluyen una especificación de
sistema / subsistema, una especificación de
requisitos de software para un componente de
software de un sistema, una descripción de
diseño de software, código fuente, prueba de
software documen- tación, o informes. Aunque
se describen algunos tratamientos de calidad en
términos de rendimiento del software y el
sistema final, buenas prácticas de ingeniería
requiere que se evalúen productos de trabajo
intermedios correspondientes a la calidad
durante todo el proceso de ingeniería de
software.
Tres técnicas complementarias para reducción utilizados. dades SQA activi- definir y evaluar la
ing el riesgo de fallo son la evitación, detección adecuación de los procesos de software para
y eliminación, y la limitación del daño. Estos proporcionar evidencia que establezca la
software técnicas impacto requisitos funcionales, confianza de que los procesos de software son
requisitos de rendimiento del software y los consignados para piado y producir productos de
procesos de desarrollo. El aumento de los software de calidad traje- poder para los fines
niveles de riesgo implican el aumento de los previstos [5]. actividades SQC examinan
niveles de calidad del software assur- técnicas artefactos específicos del proyecto (docu- mentos
ANCE y control tales como las inspecciones. y ejecutables) para determinar si
Los niveles más altos de riesgo pueden requerir
una revisión más detallada de los requisitos, el
diseño y el código o el uso de técnicas analíticas
más formales. Otra técnica para la gestión de
riesgos y control- software Ling es la
construcción de casos de aseguramiento. Un
caso de aseguramiento es un artefacto razonada,
auditable creado para apoyar la afirmación de
que su demanda o demandas son satisfechas.
Contiene las siguientes acciones y sus
relaciones: una o más afirmaciones sobre
propiedades; argumentos que enlazan
lógicamente parte, las pruebas y las posibles
hipótesis a las reclamaciones; y un conjunto de
pruebas y los supuestos que apoyan estos
argumentos [12].
equipos. revisiones por la dirección están a incluir informes de auditoría, informes, V & V
cargo de la gestión de la organización o informes y planes de muchos tipos, incluyendo la
proyecto. El personal de inge- niería lleva a cabo gestión de riesgos, gestión de proyectos, gestión
revisiones técnicas. de configuración de software, la seguridad de
software, y Assessment riesgo, entre otros
• revisiones por la dirección evalúan proyecto progresar. (Consulte el software de gestión de
real Inge- niería y el software de configu- ración de
resultados con respecto a los planes. Gestión KAs para el material relacionado).
• Revisiones técnicas (incluidas las
inspecciones, paso a paso, y la
comprobación de escritorio) examinar
productos de trabajo de ingeniería.
• auditorías de aseguramiento de proceso.
actividades de aseguramiento proceso SQA
asegurarse de que los procesos utilizados
para desarrollar, instalar, operar y mantener
el software se ajustan a los contratos,
cumplir con las leyes, normas y
regulaciones impuestas y son adecuados,
eficientes y eficaces para el fin previsto [5].
• auditorías de garantía de producto.
actividades de garantía de producto SQA se
aseguran para proporcionar evidencia de
que los productos de software y la
documentación relacionada se identifican en
y cumplir con los contratos; y asegurar que
se identifican y tratan [5] mances
nonconfor-.
• Declaración de objetivos
• producto de software específico
• plan específico de gestión de proyectos
• lista de temas relacionados con este
producto
• procedimiento de revisión técnica.
organización de código para la capacidad de grabadora, un lector, y algunos (de dos a cinco)
prueba, y Seguridad- Damas (inspectores). Los miembros de un equipo
consideraciones críticas. de inspec- ción pueden poseer diferentes
Tenga en cuenta que las revisiones técnicas de conocimientos, tales como experiencia en el
los modelos de código fuente o el diseño tales campo, experiencia en métodos de diseño de
como UML también se denominan análisis software, o la experiencia lenguaje de
estático (véase el tema 3, Consideraciones programación. las inspecciones se realizan
prácticas). normalmente en un relativamente
2.3.3. inspecciones
2.3.4. Tutoriales
3. Consideraciones prácticas
3.1.2. Confianza
rendimiento deseado, fiabilidad, u otras lenguas evolucionan, junto con los avances en el
características únicas en proyectos que software en general tecnolo- gías, aparecen
definen la importancia del software para nuevas clases de defectos, y se requiere una gran
el usuario y adquirente. Las cantidad de esfuerzo para interpretar clases
características utilizadas para determinar definidas anteriormente. Cuando el seguimiento
el nivel de integridad puede variar de defectos, el ingeniero de soft- ware está
dependiendo de la aplicación prevista y el interesado no sólo en el número de defectos, sino
uso del sistema. El software es una parte también los tipos. Información por sí sola, sin un
del sistema, y su nivel de integridad se ha poco de clasificación, puede no ser suficiente para
de determinar como una parte de ese identificar las causas subyacentes de los defectos.
sistema.
las causas de los defectos, por ejemplo, análisis Se utilizan sobre todo para verificar los requisitos
de la causa raíz (RCA). RCA actividades de software y diseños. En su mayoría se han
incluyen analizar y resumir los resultados para utilizado en la veri ficación de partes cruciales de
encontrar las causas de raíz y el uso de técnicas los sistemas críticos, como los requisitos de
de medición para mejorar el producto y el seguridad y protección específicas. (Ver
proceso, así como para realizar un seguimiento
de los defectos y su eliminación. La mejora de
procesos se discute principalmente en el proceso
de software Engineer- ing KA, con el proceso de
SQM ser una fuente de información.
Los datos sobre las insuficiencias y defectos
encontrados por las técnicas de control de
calidad de software se pueden perder a menos
que se graban. Para algunas técnicas (por
ejemplo, revisiones técnicas, auditorías,
inspecciones), grabadoras están presentes para
establecer ción tales informa-, junto con las
cuestiones y decisiones. Cuando se utilizan
herramientas automatiza apareadas (ver tema 4,
Software cali- dad Herramientas), la salida de la
herramienta puede proporcionar la información
de defectos. Los informes sobre defectos se
proporcionan a la gestión de la organización.
3.3.3. Pruebas
2008 [16 *]
2011 [9 *]
Wiegers 2003
2006 [17
[6
Voland 2003
2004
Kan 2002
SommervilLe
[10 *]
[18 *]
2000
[3 *]
*] *]
Mugirre
Larva del
*]
[7
Galin
*]
1. Fundamentos
de Calidad de
Software
1.1. Software
de Ingeniería
c1s4 c2s3.5
de la Cultura
y Ética
1.2. valor y c17,
Costo de la c22
Calidad
1.3. modelosy
características c24s1 c2s4 c17
de calidad
1.4. Mejora de
c11
la Calidad de c1s4 c24
S2.4
Software
1.5. software
c11s3
de Seguridad
2. Procesos de
Gestión de
Calidad de
Software
2.1. Calidad C4-C6,
de Software C11,
c26-27
c2
S2.3,
2.2. Verificación c8, c15
y Validación S1.1,
c21
S3.3
2.3.
c24s3 *
Revisiones y
auditorías
Calidad de Software 10-
17
2008 [16 *]
2011 [9 *]
Wiegers 2003
2006 [17
[6
Voland 2003
2004
Kan 2002
SommervilLe
[10 *]
[18 *]
2000
[3 *]
*]
Mugirre
Larva del
*]
*]
[7
Galin
*]
3.
Consideraciones
prácticas de la
calidad del s3.2.
software 2 c15,
3.1. Requisitos
s3.3.1
de calidad de c11s1 c12
c15,
software
s9.10
c16
c3s3,
3.2.
c8s8,
Caracterización
c10s
de defectos
2 c12s5,
3.3. SQM
c7s3 c17 c15s1 *
técnicas
, P417
3.4. Medición
de la Calidad de c4 c17 p90
Software
4.
Herramienta
s de software
de calidad
10-18 Guía SWEBOK® V3.0
LECTURAS
N. Leveson, Safeware: Sistema de seguridad e KE Wiegers, Peer Reviews en software: Una guía
Informática [20]. práctica [23].
Este libro describe la importancia de las Este libro ofrece explicaciones claras y concisas
prácticas de seguridad de software y cómo estas de los diferentes métodos de revisión por pares
prácticas se pueden incorporar en los proyectos que se distinguen por el nivel de formalidad y
de desarrollo de software. eficacia. orientación pragmática para la
aplicación de los métodos y cómo seleccionar
T. Gilb, Principios de software de gestión de qué métodos son apropiados para determinadas
ingeniería [21]. circunstancias se proporciona.
Este es uno de los primeros libros sobre técnicas NR Tague, La Caja de Herramientas de Calidad,
de desarrollo iterativo e incremental. El Método 2ª ed., [24].
Evo define objetivos cuantificados, frecuentes
iteraciones en caja tiempo-, las mediciones de Proporciona una pragmática de cómo hacerlo
progreso hacia las metas, y la adaptación de los explicación de un amplio conjunto de métodos,
planes en base a los resultados reales. herramientas y técnicas para la resolución de
proble- mas de mejora de calidad. Incluye las
T. Gilb y D. Graham, Software de Inspección siete herramientas básicas de control de calidad
[22]. y muchos otros.
Este libro presenta el muestreo y medición de IEEE Std. P730-2013 Proyecto de Norma para
cal estadísticamente para las revisiones y los procesos de software de garantía de
defectos. Presenta técnicas que producen calidad [5].
resultados cuantificados para reducir los
defectos, la mejora de la productividad, la pista- Este proyecto de norma expande los procesos
ing proyectos y la creación de documentación. SQA identificados en IEEE / ISO / IEC 12207 a
2008. P730 establece normas para iniciar,
planificar, controlar y ejecutar los procesos de
garantía de calidad del software de desarrollo de
software o proyecto de mantenimiento. Se
espera que la aprobación de este proyecto de
norma en 2014.
Calidad de Software 10-
19
Assurance-Parte 1: Conceptos y
Referencias Vocabulario, IEEE 2011.
[1] PB Crosby, la calidad es gratuito, McGraw-
Hill, 1979.
INGENIERÍA DE SOFTWARE LA
PRÁCTICA PROFESIONAL
11-1
11-2 Guía SWEBOK® V3.0
elementos que sientan las bases para la práctica 11.1. Las subáreas presentados en este KA son
profe- sional de la ingeniería de software. el profesionalismo, la dinámica de grupo y la
psicología, y habilidades de comunicación.
DISTRIBUCIÓN DE TEMAS PARA LA
PRÁCTICA PROFESIONAL DE 1. Profesionalismo
INGENIERÍA DE SOFTWARE
Un ingeniero de software muestra el
desglose de los temas de la Ingeniería de profesionalismo en particular mediante la
Software Profesional Práctica de KA se muestra adhesión a códigos de ética y conducta
en la figura profesional y las normas y
Ingeniería de Software Práctica Profesional 11-3
1.1.1. acreditación
especializarse en el tipo y la jurisdicción de cantes tura y vender una idea. Una patente
cualquier problema legal tificado iden-. consiste en un conjunto de derechos exclusivos
concedidos por una ernment gobier- soberano a un
1.7.1. normas individuo, grupo de individuos, o de la
organización durante un periodo limitado de
normas de ingeniería de software establecen tiempo. patentes
líneas directrices para las prácticas generalmente
aceptadas y el mini-requisitos mamá de
productos y servicios RESPETA por un
ingeniero de software. Apéndice B de esta Guía
proporciona orientación sobre ingeniería de
software estándares que se aplican a cada KA.
Los estándares son fuentes valiosas de los
requisitos y asistencia durante la conducción
cotidiana de las actividades de ingeniería de
software. La adhesión a las normas facilita la
disciplina mediante la enumeración de las
características mínimas de productos y
aplicaciones prácticas. Que la disciplina ayuda a
mitigar los supuestos subconscientes o exceso de
confianza en un diseño. Por estas razones, las
organizaciones que realizan actividades de
ingeniería de software a menudo incluyen la
conformidad con las normas, como parte de sus
polí- cias organizativas. Además, la adhesión a
las normas es un componente importante en la
defensa de la acción legal o de las acusaciones
de negligencia.
1.7.3. patentes
Todos los profesionales de software deben Proporcionar clara, completa y precisa docu-
estar al tanto de las restricciones legales a la mentación es la responsabilidad de cada
importación, exportación o reexportación de ingeniero de software. La idoneidad de la
mercancías, servicios y tecnología en las documentación es
jurisdicciones en las que trabajan. Las
consideraciones incluyen controles de
exportación y clasificación, transferencia de
bienes, adquisición de licencias
gubernamentales necesarias para el uso
exterior de hardware y software, servicios y
tecnología por país sancionado, empresa o
entidades individuales, y las restricciones de
importación y deberes. Los expertos en
comercio debe ser consultado para una guía
detallada cumplimiento.
1.8. Documentación
Ingeniería de Software Práctica Profesional 11-13
juzgado por diferentes criterios basados en las desempeño de otras funciones por varios grupos
necesidades de los diversos públicos interesados. de usuarios y personal de apoyo. Si el cliente
Una buena documentación cumple con las adquirirá la propiedad
normas y directrices aceptadas. En particular, los
ingenieros de software deben documentar
• hechos relevantes,
• los riesgos y las ventajas y desventajas
significativas, y
• advertencias de consecuencias indeseables o
peligrosos de uso o mal uso del software.
Un ingeniero de software debe realizar un calidad del software KA). Esto permite que todos
análisis de equilibrio de una manera ética de los miem- bros que persiguen un ciclo de mejora
manera -en particular por ser objetiva e continua y el crecimiento sin riesgo personal. En
imparcial la hora de seleccionar los criterios para general, los miembros de equipos cohesivos
la comparación de soluciones a los problemas demuestran respeto por los demás y su líder.
alternativos y en la asignación de pesos o
importancia a estos criterios. Cualquier conflicto
de intereses debe ser revelada en la delantera.
mediante la formación y estudio añadir Por lo tanto, es vital para mantener abierta la
habilidades y El conocimiento de la cartera del comunicación y pro- ductiva con las partes
ingeniero de software; la lectura, la creación de interesadas para la duración de la vida útil del
redes, y experimentando con nuevas producto de software.
herramientas, técnicas y métodos son válidos
todos los medios de desarrollo profesional. 2.5. Superación de la incertidumbre y la
ambigüedad
2.3. Tratar con el problema Complejidad [4 *, c24s4, c26s2] [9 *, c9s4]
[3 *, c3s2] [5 *,
c33] Al igual que con los ingenieros de otros campos,
los ingenieros de software a menudo deben
Muchos, si no la mayoría, blemas de ingeniería atender y resolver la incertidumbre y la
de software blemas son demasiado complejos y ambigüedad, mientras que la prestación de
difíciles de abordar en su conjunto o para ser servicios y el desarrollo de productos. El
abordado por los ingenieros de software ingeniero de software debe atacar y reducir o
individuales. Cuando surgen tales eliminar cualquier falta de claridad que es un
circunstancias, los medios habituales para obstáculo para la realización de trabajos.
adoptar es el trabajo en equipo y el problema de A menudo, la incertidumbre es simplemente
la descomposición (véase el problema técnicas un reflejo de la falta de conocimiento. En este
de resolución en los Fundamentos de caso, la investigación mediante el recurso a
Informática KA). fuentes formales tales como libros de texto y
equipos trabajar juntos para resolver los revistas profesionales, entrevistas con ERS
problemas más complejos y grandes mediante el stakehold-, o consulta con los compañeros y
intercambio de cargas y N ° de dibujo en el compañeros puede superarla.
conocimiento y la creatividad de cada uno. Cuando la incertidumbre o ambigüedad no
Cuando los ingenieros de software trabajan en pueden ser excesivamente sido fácil, los
equipos, puntos de vista dife- rentes y ingenieros de software u organizaciones pueden
habilidades de los ingenieros individuales se optar por considerar como un riesgo del
complementan entre sí y ayudar a construir una proyecto. En este caso, las estimaciones de
solución que sea de otro modo difícil de trabajo o de precios se ajustan para mitigar el
conseguir. Algunos ejemplos de trabajo en costo anticipado de hacer frente a ella (véase
equipo espe- CIFIC a la ingeniería de software Gestión de Riesgos en el KA Software
son la programación en parejas (ver Métodos Engineering Management).
ágiles en los modelos de ingeniería de software
y métodos KA) y la revisión de código (ver 2.6. Tratar con entornos multiculturales
revisiones y auditorías de la calidad del software [9 *, c10s7]
KA).
reconociendo que algunas reglas dependen de para ellos, lo que simplifica o explicarla de
las normas etal ciedades y que no todas las manera que puedan tomar la decisión final entre
sociedades derivan las mismas soluciones y soluciones de la competencia.
expectativas. La lectura y la comprensión de código fuente es
Esta tolerancia y comprensión ing también un componente de recopilación de
acompañante pueden ser facilitadas por el apoyo información y resolución de problemas. Al
de la dirección y gestión. comunicaciones más modificar, extender,
frecuentes, incluyendo las reuniones cara a cara,
puede ayudar a puerta mitiga las divisiones
geográficas y culturales, promover la cohesión,
y aumentar la productividad. Además, al ser
capaz de comunicarse con sus compañeros en su
lengua materna podría ser muy beneficioso.
3. Habilidades de comunicación
herramientas de colaboración para compartir fase, los ingenieros de software puede caminar a
información. Otras medidas, además, el uso de los clientes y compañeros de equipo a través de
almacenes de información electrónicos, los requisitos de software y llevar a cabo los
accesibles a todos los miembros del equipo, para requisitos formales reseñas (véanse los
las políticas organiza- cionales, normas, requisitos críticas en el software de los requisitos
procedimientos comunes de la ingeniería, y la KA). Durante y después del diseño de software,
información específica del proyecto, puede ser la construcción de software y mantenimiento de
más beneficioso. software, ingenieros de software llevan los
Algunos equipos de ingeniería de software se comentarios, walk-through de productos (véase
centran en la interacción cara a cara y promover comprobación y actuaciones en la calidad del
dicha interacción por el arreglo de oficinas. software KA), y la formación. Todo esto
Aunque las oficinas privadas mejoran la requiere la capacidad de presentar información
productividad individual, implantación común técnica a los grupos y solicitar ideas o
de los miembros del equipo en formas físicas o comentarios.
virtuales y proporcionar áreas de trabajo La capacidad del ingeniero de software para
comunal que es importante para los esfuerzos de transmitir conceptos de manera efectiva en una
colaboración. presentación, por lo tanto influye en la
aceptación del producto, gestión y atención al
3.4. Habilidades de presentación cliente; sino que también influye en la abil- dad
[3 *, c1s5] [4 *, c22] [9 *, c10s7-c10s8] de las partes interesadas a comprender y ayudar
en los esfuerzos de producto. Este conocimiento
Los ingenieros de software confían en sus tiene que ser archivados en forma de
habilidades de presentación durante los procesos diapositivas, el conocimiento contra escritura
del ciclo de vida del software. Por ejemplo, hasta, white papers técnicos, y cualquier otro
durante los requisitos de software material utilizado para la creación de
conocimiento.
11-14 Guía SWEBOK® V3.0
2011 [4 *]
yoAEE-CS / ACM
1999 [6 *]
McConnell 2004
moscard
ónt et al.
[1
2003
2006 [7
2009 [9
JustaLey de
točkey 2004
SommervilLe
2000
*] *]
[5 *]
[8 *]
Mugirre
Larva del
*]
[3
Voland
*]
1. Profesionalismo
1.1. Acreditación, c1s4.1,
certificación,y c1s5.1-
Licencias c1s5.4
1.2. Códigos de
c1s9
Ética y Conducta c8 c1s2 c33 *
c1s6-
Profesional
1.3. La naturaleza y
c1s1-
la función de las c1s2 c35s1
c1s2
Sociedades
Profesionales
1.4. La
naturaleza y la c5s3.2,
c32s6 c1s2
función de las c10s2.1
normas de
ingeniería de
1.5. Económico
software c10s8 c1s1.1 c1
Impacto de Software
1.6. Contratos de
c7
trabajo
c5s4
1.7. Asuntos C6, C11 c1s10
c5s3-
legales
1.8. Documentación c10s5.8 c1s5 c32
1.9. Análisis c1s2,
c9s5.10
compensació c10
2. nGrupo de
Dinámica y
Psicología
2.1. Dinámica de
c1s3.5,
trabajo en equipos / c1s6
c10
grupos
2.2. Individual
c1s6.5 c33
Cognición
2.3. 2.3 Tratar con
c3s2 c33
problema
Complejidad
2.4. Interactuando
c2s3.1
con
Las partes
interesadas
Ingeniería de Software Práctica Profesional 11-15
2011 [4 *]
yoAEE-CS / ACM
1999 [6 *]
McConnell 2004
moscard
ónt et al.
[1
2003
2006 [7
2009 [9
JustaLey de
točkey 2004
SommervilLe
2000
[3 *]
[5 *]
[8 *]
Mugirre
Larva del
*]
*]
Voland
*]
2.5. Superación
c24s4,
de la c9s4
c26s2
incertidumbre y
la ambigüedad
2.6. Tratar con
entornos c10s7
multiculturales
3. Habilidades de
Comunicación
3.1. Leer,
comprender y c33s3
resumir
3.2. Escritura c1s5
3.3. Equipoy el Grupo
c1s6.8 c22s3 c27s1 c10s4
Comunicación
3.4. Habilidades c10s7-
c1s5 c22
de presentación c10s8
11-16 Guía SWEBOK® V3.0
LECTURAS Referencias
CAPÍTULO 12
INTRODUCCIÓN
12-1
12-2 Guía SWEBOK® V3.0
El desglose de temas para el Software Inge- La contabilidad es parte de las finanzas. Permite a
niería Economía KA se muestra en la figura las personas
12.1. cuyo dinero está siendo utilizado para dirigir una
organización
1. Fundamentos de Ingeniería de
Software Economía
1.1. Financiar
[1 *, c2]
1.3. Controlador
[1 *, c15]
ejemplo. El dinero iba a venir a causa de igualmente bien, ¿por qué se elige el cuidado
llevar a cabo la propuesta. organización cuál? La respuesta es que por lo
La corriente de flujo de efectivo término se general hay una gran diferencia en los costes e
refiere al conjunto de instancias de flujo de ingresos de los diferentes
efectivo con el tiempo que son causados por la
realización de alguna propuesta dada. El flujo de
caja es, en efecto, el cuadro financiero completo
de esa propuesta. ¿Cuánto dinero se apaga?
¿Cuándo se apaga? ¿Cuánto dinero entra?
¿Cuándo se presenta? Simplemente, si la
corriente de flujo de efectivo de Propuesta A es
más deseable que la corriente de flujo de caja
para la Propuesta B, entonces todas las demás
cosas son iguales, la organización es ter BET de
la realización de la propuesta A de la Propuesta
B. Por lo tanto, el flujo de efectivo stream es un
insumo importante para las decisiones de
inversión. Un ejemplo de flujo de efectivo es
una cantidad específica de dinero que fluye
hacia dentro o fuera de la organización en un
momento específico, como consecuencia directa
de alguna actividad.
Un diagrama de flujo de caja es una imagen de
una corriente de flujo de efectivo. Se le da al
lector una visión general de la situación
financiera de la organización tema o proyecto.
La figura 12.2 muestra un ejemplo de un
diagrama de flujo de caja para una propuesta.
• valor actual
• valor futuro
• anual equivalente
• tasa interna de retorno
• (Descuento) periodo de recuperación.
La inflación se describen las tendencias a largo utilidad bruta de una corporación. Un análisis de
plazo de los precios. La inflación significa que decisión que no tiene en cuenta los impuestos
las mismas cosas cuestan más que antes. Si el puede conducir a una mala elección. Una
horizonte de planificación de una decisión de propuesta con una alta ganancia antes de
negocios es más de unos pocos años, o si la tasa impuestos no se parecerá casi tan rentable en
de inflación es más de un par de puntos términos posttax. Sin tener en cuenta los
porcentuales por año, puede causar cambios impuestos también puede conducir a unre-
notables en el valor de una propuesta. Por lo alistically altas expectativas sobre la rentabilidad
tanto, el valor del tiempo actual necesita ser podría ser un producto propuesto.
ajustado por inflación y las tasas también para
las fluctuaciones del tipo de cambio.
1.8. Depreciación
[1 *, c14]
1.9. Impuestos
[1 *, c16, c17]
1.11. Eficiencia
[2 *, c1]
1.12. Eficacia
[2 *, c1]
1.13. Productividad
[2 *, c23]
entregado. Entrada abarca todos los recursos desde la gestión de ellos individualmente.”2 Los
(por ejemplo, esfuerzo) pasaron a generar la programas se utilizan a menudo para identificar
salida. Productividad com- eficiencia y eficacia y gestionar las diferentes entregas a un solo
combina desde una perspectiva orientada de cliente o mercado en un horizonte de tiempo de
valor: la maximización de la productividad es varios años.
sobre la generación de mayor valor con menor
consumo de recursos. 2.4. portafolio
cotización específica del proveedor, embarque o parámetros utilizados para determinar si los
factura fecha, combinación de varios pedidos, programas, inversiones y adquisiciones están
ofertas de servicios, y muchos otros. Las logrando los resultados deseados. Se utiliza para
necesidades del consumidor se pueden convertir evaluar si realmente se logran los objetivos de
en la demanda sólo si el consumidor tiene la rendimiento; para controlar los presupuestos, los
voluntad y la capacidad para comprar el pro- recursos, el progreso y las decisiones; y para
ducto. Por lo tanto, el precio es muy importante mejorar el rendimiento.
en la comercialización. La fijación de precios se
realiza inicialmente durante la fase ción 2.13. Gestion del valor ganado
iniciativa del proyecto y es una parte de la toma
de decisiones “ir”.
[3 *, c8]
2.11. Costo y costeo
[1 *, Gestión del Valor Ganado (EVM) es un proyecto
c15] técnica de gestión para medir el progreso
Un coste es el valor del dinero que se ha de decisiones económicas.
utilizado para producir algo y, por lo tanto, no
está disponible para su uso más. En economía, 2.12. Medición del desempeño
un coste es una alter- nativa que se da como [3 *, C7, C8]
resultado de una decisión.
Un costo hundido es los gastos antes de un La medición del desempeño es el proceso
cierto tiempo, normalmente se utiliza para mediante el cual una organización establece y
decisiones abstractas de los gastos en el pasado, mide la
lo que puede causar obstáculos emocionales en
el futuro. Desde un punto de vista económico
tradicional, los costos hundidos no deben ser
considerados en la toma de decisiones. El costo
de oportunidad es el costo de una alternativa que
debe ser ido lucro con el fin de seguir otra
alternativa.
Cálculo del coste forma parte de las finanzas y
manage- ment producto. Es el proceso para
determinar el costo basado en los gastos (por
ejemplo, producción, ingeniería de software,
distribución, retrabajo) y sobre el costo objetivo
de ser competitivos y exitosos en un mercado. El
costo de destino puede estar por debajo del costo
estimado real. La planificación y el control de
estos costos (llamada de gestión de costes) es
importante y siempre deben ser incluidos en los
costos.
Un concepto importante en el costeo es el
coste total de propiedad (TCO). Esto es válido
especialmente para el software, ya que hay
muchos costos no tan obvias relacionadas con
las actividades SPLC después del desarrollo de
pro- ducto inicial. TCO para un producto de
software se define como el costo total de la
adquisición, activar y mantener ese producto en
funcionamiento. Estos costos se pueden agrupar
como los costes directos e indirectos. TCO es un
método de contabilidad que es crucial en la toma
12-16 Guía SWEBOK®
basado V3.0
en el valor creado. En un momento
dado, los resultados obtenidos hasta la fecha en
un proyecto se Comparado con el presupuesto
proyectado y el progreso calendario previsto
para esa fecha. El progreso se refiere recursos
consumidos ya-y ha logrado resultados en un
punto dado en el tiempo con los valores
planificados respectivos de la misma fecha.
Ayuda a identificar los posibles problemas de
rendimiento en una etapa temprana. Un
principio clave en EVM es el seguimiento de
las variaciones de costos y programas a través
de la comparación de horario programado
versus real y el presupuesto frente a los costos
reales. EVM da seguimiento mucho más
temprano vis bilidad a las desviaciones y por lo
tanto permite correcciones antes de lo clásico y
el costo de seguimiento horario que sólo se
basa en documentos y productos entregados.
3. Riesgo e Incertidumbre
Las decisiones bajo incertidumbre técnicas se 4.1. Con fines de lucro Análisis [1 *, c10]
utilizan cuando el tomador de decisiones no de Decisiones
puede asignar probabi-
vínculos con los diferentes resultados posibles Figura 12.5 se describe un procedimiento para la
porque la información necesaria no está identificación de la mejor alternativa de un
disponible (véase Gestión de Riesgos en el KA conjunto de alternativas sivos mutuamente
Software Engineering Management). Las exclusiones. Los criterios de decisión dependen
técnicas específicas incluyen de los objetivos de negocio y por lo general
incluyen retorno de la inversión (véase la
• Regla de Laplace sección 4.3, Retorno de la Inversión) o Retorno
• Regla Maximin sobre el capital empleado (ROCE) (ver sección
• Regla maximax 4.4, rendimiento del capital invertido).
• Regla Hurwicz Para fines de lucro técnicas de toma no se
• Regla arrepentimiento minimax. aplican a las organizaciones gubernamentales y
sin fines de lucro. En estos casos, las
organizaciones tienen diferentes objetivos, lo
que significa que se necesita un conjunto
diferente de las técnicas de toma, como el coste-
beneficio o el análisis coste-efectividad Ness.
12-14 Guía SWEBOK® V3.0
• escala adimensional
• de ponderación aditiva
• proceso analítico jerárquico.
• dominio
• satisficing
• lexicografía.
5. Consideraciones prácticas
resulta de la adición de características que tienen Un ecosistema es un entorno compuesto por todas
valor marginales bajos para los usuarios (ver las partes mutuamente dependientes, unidades de
Métodos ágiles en los modelos de ingeniería de negocio y empresas que trabajan en un área
software y métodos KA y Vida Software particular.
Modelos de Ciclo de la Ingeniería de Procesos
de Software KA). En ods met ágiles,
planificación detallada y las largas fases de
desarrollo se sustituyen por la planificación
incrementales y entrega frecuente de pequeños
incrementos de un producto erable deliv- que se
prueba y evaluadas por representantes de los
usuarios.
5.3. ecosistemas
Software Economía Ingeniería 12-19
En un ecosistema típico, hay productores y
consumidores, en los que los consumidores
agregan valor a los recursos consumidos.
Tenga en cuenta que un consumidor no es el
usuario final, sino una organización que utiliza
el producto para mejorarla. Un ecosistema de
software es, por ejemplo, un proveedor de una
aplicación trabajando con las empresas que
hacen la instalación y el puerto SUP- en
diferentes regiones. Ninguno de los dos puede
existir sin el otro. Los ecosistemas pueden ser
permanentes o temporales. la economía de
ingeniería de software proporciona los
mecanismos para evaluar alternativas en el
establecimiento o la ampliación de una
instancia ecosistema para, evaluar si trabajar
con un distribuidor espe- CIFIC o tiene la
distribución realizada por una empresa que
realiza el servicio en un área.
2011 [2 *]
2009 [3
JustaLey de
točkey 2005
SommervilLe
[1 *]
*]
1. Fundamentos de Ingeniería de
Software Economía
1.1. Financiar c2
1.2. Contabilidad c15
1.3. Controlador c15
1.4. Flujo de fondos c3
1.5. Proceso de toma de decisiones c2, c4
1.6. Valuación C5, C8
1.7. Inflación c13
1.8. Depreciación c14
1.9. Impuestos c16, c17
1.10. Valor temporal del dinero C5, C11
1.11. Eficiencia c1
1.12. Eficacia c1
1.13. Productividad c23
2. La vida de ciclo Economía
2.1. Producto c22 c6
2.2. Proyecto c22 c1
2.3. Programa
2.4. portafolio
2.5. Ciclo de vida del producto c2 c2
2.6. Ciclo de Vida del Proyecto c2 c2
2.7. propuestas c3
2.8. Decisiones de inversión c4
2.9. Planeando el horizonte c11
2.10. Precio y precios c13
2.11. Costo y costeo c15
2.12. Medición del desempeño C7,
2.13. Gestion del valor ganado C8
c8
2.14. Las decisiones de terminación c11, c12 C9
2.15. Las decisiones de reemplazo y jubilación c12 C9
Software Economía Ingeniería 12-21
2011 [2 *]
2009 [3
JustaLey de
točkey 2005
SommervilLe
[1 *]
*]
3. Riesgo e Incertidumbre
3.1. Metas, estimaciones, y Planes c6
3.2. Las técnicas de estimación c6
3.3. La incertidumbre abordar c6
3.4. priorización c6
3.5. Las decisiones en riesgo c24 C9
3.6. Las decisiones bajo incertidumbre c25 C9
4. Métodos de Análisis Económico
4.1. Con fines de lucro Análisis de Decisiones c10
4.2. Tasa de retorno mínima aceptable c10
4.3. Retorno de la Inversión c10
4.4. Rendimiento del capital invertido
4.5. Análisis coste-beneficio c18
4.6. Análisis coste-efectividad c18
4.7. Punto de equilibrio de analisis c19
4.8. Business Case c3
4.9. Evaluación Atributo múltiple c26
4.10. Análisis de optimización c20
5. Consideraciones prácticas
5.1. El “suficientemente bueno” Principio c21
5.2. Economía-Friction Free
5.3. ecosistemas
5.4. La deslocalización y la externalización
12-22 Guía SWEBOK® V3.0
FUNDAMENTOS DE
INFORMATICA
SIGLAS
13-1
13-2 Guía SWEBOK® V3.0
... Ingeniería de software se ocupa de la de los temas que de otra forma estarían cubiertos
aplicación de las computadoras, en un curso de informática no están cubiertos en
computación y software para propósitos este
prácticos, específica- mente el diseño, la
construcción y funciona- miento de los
sistemas de software eficientes y
económicos.
2. Abstracción
[3 *, s5.2-5.4]
2.2. La encapsulación
2.3. Jerarquía
3. Fundamentos de programación
Fundamentos de computación
estructurado
realizar una función deseada. Es una parte 13-9
indispensable en la construcción de software. programación, programador sigue a su / su
En general, programa- ción puede considerarse
como el proceso de diseñar, escribir, probar,
depurar y man- TaiNing el código fuente. Este
código fuente es escriben normalmente con un
lenguaje de programación.
El proceso de escribir código fuente a
menudo requiere experiencia en muchas áreas,
incluyendo sujetos diferentes conocimientos
del dominio de aplicación, estructuras de datos
apropiadas, algoritmos izadas especial-, varias
construcciones del lenguaje, buenas técnicas de
programación, e ingeniería de software.
requisitos específicos para la definición de Ables tipos de lenguaje es su estrecha asociación con las
variabilidad y constantes (en otras palabras, características específicas de un tipo de
declara- ción y tipos) y requisitos de formato arquitectura del ordenador Conjunto de
para las mismas instrucciones. instrucciones (ISA).
En general, un lenguaje de programación
compatible con construcciones tales como
variables, tipos de datos, con- stants, literales,
instrucciones de asignación, las sentencias de
control, procedimientos, funciones y
comentarios. La sintaxis y la semántica de cada
construcción deben estar claramente
especificado.
Existen dos herramientas comerciales y gratuitas perspectiva de ordenamiento cal física y logi-, una
en varios idiomas. Estas herramientas pueden ser estructura de datos es ya sea lineal o no lineal.
extremadamente útil para comprobar muy Otras perspectivas dan lugar a dife- rentes
grandes árboles de origen, donde no es práctico clasificaciones que incluyen homogénea vs.
hacer tutoriales de código. El programa de heterogénea, estático vs. dinámico, persistente vs.
pelusa UNIX es un ejemplo temprano. transitoria, externo vs. interna, primitivo vs.
agregado, recursiva vs. no recursiva; vs pasiva
6. Estructura de datos y representación activo; y estructuras con estado vs sin estado.
[5 *, s2.1-2.6]
7. Algoritmos y Complejidad
[5 *, s1.1-1.3, s3.3-3.6, s4.1-4.8, s5.1-5.7,
s6.1-6.3, s7.1-7.6, s11.1,
S12.1]
7.4. Estrategias de diseño algorítmico algoritmo toma para com- pleta su tarea; análisis
probabilístico, en el que se hace uso de las
El diseño de algoritmos sigue generalmente una probabilidades en el análisis del rendimiento
de las siguientes estrategias: la fuerza bruta, medio de un algoritmo; amor- análisis Tized, en el
divide y vencerás, programación dinámica, y la que uno utiliza los métodos de
selección codiciosos. La estrategia de la fuerza
bruta es en realidad una estrategia no. Se trata de
manera exhaustiva todos los medios posibles
para hacer frente a un problema. Si un problema
tiene una solu- ción, esta estrategia está
garantizada para encontrarlo; Sin embargo, el
gasto de tiempo puede ser demasiado alto. La
estrategia de divide y vencerás mejora en la
estrategia de la fuerza bruta dividiendo un gran
problema en problemas más pequeños y
homogéneos. Se resuelve el gran problema por
resolver de forma recursiva los problemas más
pequeños y peinado de las soluciones a los
problemas más pequeños para formar la solución
al gran problema. El supuesto subyacente de
divide y vencerás es que los problemas más
pequeños son más fáciles de resolver.
La estrategia de programación dinámica
mejora en la estrategia de divide y vencerás por
ING reconocibles que algunos de los sub-
problemas producidos por la división puede ser
el mismo y por lo tanto evita la solución de los
mismos problemas una y otra vez. Este ción de
elimina- subproblemas redundantes puede
mejorar dramáticamente la eficiencia.
La estrategia de selección codiciosos mejora
aún más en programación dinámica mediante el
reconocimiento de que no todos los sub-
problemas contribuyen a la solu- ción de la gran
problema. Al eliminar todas menos una sub-
problema, la estrategia de selección codiciosos
logra la más alta eficiencia entre todas las
estrategias de diseño rithm algo-. A veces, el uso
de la aleatorización puede mejorar en la
estrategia de selec- ción codiciosos al eliminar la
complejidad en la determinación de la elección
codicioso a través de monedas de ping flip o
aleatorización.
Figura 13.3. Los componentes básicos de un sistema informático basado en el modelo de von Neumann
canal). (Excepto durante la configuración inicial, imagen ejecutable para ejecutar el programa. La
la CPU principal no se altera durante una mayoría del software aplica- ción se vende en esta
operación de DMA I / O). forma.
Independientemente de los tipos de esquema Mientras tanto la compilación e interpretación
de E / S que se utilizan, las principales con- vert código de lenguaje de alto nivel en
cuestiones relacionadas con la E / S incluyen E / código máquina,
S de direccionamiento (que se ocupa de la
cuestión de cómo identificar el dispositivo de E /
S para un específico de E / S opera- ción) ,
sincronización (que se ocupa de la cuestión de
cómo hacer que la CPU y I / O dispositivo
funcione en armonía durante I / O), y la
detección y corrección de errores (que trata de la
ocurrencia de errores de transmisión).
• Análisis léxico
• Análisis de sintaxis o de análisis
• Análisis semántico
• Codigo de GENERACION
respondida por análisis de sintaxis. análisis su propio hombre-ager para la gestión de los
sintáctico determina si el código fuente de un recursos y actividades que tienen lugar en él. Que
programa es rect cor- y la convierte en una re- el gerente se llama un sistema de explota- ción
presentación (árbol de análisis sintáctico) más (OS).
estructurado para el análisis o la transformación
semántica.
El análisis semántico agrega la información
semántica al árbol de análisis sintáctico
construido durante el análisis sintáctico y
construye la tabla de símbolos. Se realiza
variabilidad comprobaciones semánticas OU que
incluyen la comprobación de tipos, objeto de
enlace (asociación de variables y funciones
referencias con sus definiciones), y la asignación
definitiva (que requieren todas las variables
locales a ser inicializado antes de su uso). Si se
encuentran errores, las sentencias de programa
semánticamente incorrectos son rechazados y
marcados como errores.
Una vez que el análisis semántico es
completa, la fase de generación de código
comienza y transforma el código intermedio
producido en las fases anteriores en el lenguaje
de máquina nativo de la computadora bajo
consideración. Esto implica recursos y
almacenamiento de decisiones-tales como
decidir qué variables para encajar en los
registros y la memoria y la selección y
programación de instrucciones de la máquina
apropiados, junto con sus modos de
direccionamiento asociados.
A menudo es posible combinar múltiples fases
en un solo pase el código en un compilador
imple- mentación. Algunos compiladores
también tienen una fase de preprocesado en el
comienzo o después del análisis léxico que hace
el trabajo de limpieza es necesario, tales como el
procesamiento de las instrucciones de programa
para el compilador (directivas). Algunos
compiladores proporcio- nar una fase de
optimización opcional al final de la compilación
completa para optimizar el código (como el
reordenamiento de la secuencia de instrucciones)
para la eficiencia y otros objetivos deseables
solicitados por los usuarios.
Seguridad y acuerdo de protección con la puede ser clasificado como uno de los siguientes.
protección de los recursos informáticos de uso
ilegal. • OS procesamiento por lotes: organiza y
procesos de trabajo en lotes. Ejemplos de
11.3. Las abstracciones del sistema operativo tales sistemas operativos incluyen FMS de
IBM, IBSYS, y Universidad de UMES de
El arsenal de sistemas operativos es la Michigan.
abstracción. Correspondiente a las cinco tareas
físicas, sistemas operativos utilizan cinco
abstracciones: proceso / hilo, memoria virtual,
siste- mas de archivos, de entrada / salida, y
dominios de protección. La abstracción general
OS es la máquina virtual.
Para cada área de tareas de sistema operativo,
no es tanto una realidad Physicians cal y una
abstracción conceptual. La realidad ical phys- se
refiere al recurso de hardware, en la gestión; la
abstracción conceptual se refiere a la interfaz del
sistema operativo presenta a los usuarios / pro-
gramas anteriores. Por ejemplo, en el modelo de
rosca del sistema operativo, la realidad física es
la CPU y la abstracción es varias CPU. De este
modo, el usuario no tiene que preocuparse
acerca de compartir la CPU con los demás
cuando trabajan en la abstracción proporcionada
por un sistema operativo. En la abstracción de la
memoria virtual de un sistema operativo, la
realidad física es la memoria RAM física o
ROM (lo que sea), la abstracción es el espacio
de memoria ITED unlim- múltiple. De este
modo, el usuario no tiene que preocuparse
acerca de compartir la memoria física con otros
o sobre el tamaño de la memoria física limitada.
Las abstracciones pueden ser virtual o
transparente; en este contexto virtual se aplica a
algo que parece estar allí, pero no es (como
memoria utilizable más allá física), mientras
transparente se aplica a algo que está ahí, pero
parece no estar allí (como ir a buscar contenido
de la memoria desde el disco o la memoria física
).
las relaciones entre los elementos de datos son base de datos relacional (RDBMS) implementa
importantes. Los factores considerados en el las distintas prestaciones del modelo relacional.
diseño de la base de datos incluyen Formance Un sistema de gestión de base de datos de objeto
per-, concurrencia, la integridad, y la (ODBMS) implementa las distintas prestaciones
recuperación de fallos de hardware. del modelo de objetos.
SELECT Component_No,
Cantidad de Component
DONDE Item_No = 100
tarjetas de interfaz (NIC), puentes, la capa de red IP, pro Viding de mejor esfuerzo, el
concentradores, conmutadores y routers. Todos transporte no fiable (UDP) vs. función de
estos componentes se denominan nodos en la transporte confiable (TCP). protocolos de capa
jerga de las redes. Cada componente per- forma física incluyen token ring, Ethernet, Fast Ethernet,
una función distintiva que es esencial para el Gigabit Ethernet, y Ethernet inalámbrico. Datos
embalaje, la conexión, la transmisión, catión
amplifi-, controlando, desembalaje, y la
interpretación de los datos. Por ejemplo, un
repetidor amplifica las señales, un interruptor
realiza muchos-a-muchos conexiones, un
concentrador realiza uno-a-muchas conexiones,
una tarjeta de interfaz está conectado al
ordenador y realiza el embalaje de datos y de
transmisión, un puente conecta uno red con otro,
y un router es un ordenador en sí y realiza el
análisis de datos y control de flujo para regular
los datos de la red. Las funciones realizadas por
diversos componentes de la red corresponden a
las funciones especificadas por uno o más
niveles de la interconexión de sistemas abiertos
(OSI) modelo de red de siete capas,
que se discute a continuación.
Capa de aplicación
Capa de
presentación
capa de sesión
Capa de transporte
Capa de red
Capa de enlace de
datos
Capa fisica
13.4. La Internet
13.6. Virtual Private Network (VPN) computación distribuida estudia las formas de
dividir un problema en muchas tareas y la
Una red privada virtual es una conexión virtual asignación de estas tareas a varios equipos
planificada de antemano entre los nodos de una implicados en el cálculo.
red LAN / WAN o Internet. Permite al
administrador de red para separar el tráfico de
red en grupos de usuarios que tienen una
afinidad común por los demás, como todos los
usuarios de la misma organización o grupo de
trabajo. Este tipo de circuito puede mejorar el
rendimiento y la seguridad entre los nodos y
permite el mantenimiento de los circuitos fácil-
IER para solucionar problemas.
Las diferentes formas de coordinación dan lugar 15. Los factores humanos
a diferencias ent modelos de computación. Los básicos de los usuarios [3 *, c8] [9 *,
els mo- más comunes en este sentido son la c5]
memoria compartida (paralelismos
lel) modelo y el paso de mensajes (distribuido) memoria y el consenso entre todos los equipos
modelo. son los más ficult rencias. Muchos paradigmas de
En un modelo de memoria compartida computación se han inventado para resolver estos
(paralelo), todas las com- putadoras tienen problemas y son los principales puntos de
acceso a una memoria central compartida donde discusión en la computación distribuida / paralela.
se utilizan cachés locales para acelerar la
capacidad de procesamiento. Estas cachés
utilizan un protocolo para asegurar los datos
localizada es fresco y hasta la fecha, típicamente
el protocolo MESI. El diseñador algoritmo elige
el programa para su ejecución por cada equipo.
El acceso a la memoria central puede ser
síncrono o asíncrono, y debe ser coordinada de
tal manera que se mantiene la coherencia.
modelos de acceso diferentes se han inventado
para tal fin.
En un modelo de paso de mensajes
(distribuido), todos los equipos que ejecutan
algunos programas que permitan alcanzar
colectivamente algún propósito. El sistema debe
funcionar correctamente, independientemente de
la estructura de la obra NET. Este modelo se
puede clasificar además en cliente-servidor (C /
S), el navegador-servidor (B / S), los modelos y
de n niveles. En el modelo C / S, el pro servicios
y las solicitudes de los clientes de servicios
desde el servidor Vides servidor. En el B / S
modelo, el servidor de servicios de Vides pro y
el cliente es el navegador. En el modelo de n
niveles, cada nivel (es decir, capa) proporciona
servicios a la capa inmediatamente por encima
de ella y solicitudes de servicios desde el nivel
inmediatamente por debajo de ella. De hecho, el
modelo de n niveles puede ser visto como una
cadena de modelos cliente-servidor. A menudo,
los niveles entre el nivel más inferior y el nivel
superior se llaman middleware, que es un objeto
independiente de estudio por derecho propio.
Si la parte que interactúa con el software no es Sin embargo, los mensajes relacionados con
humana sino otro software o equipo o sistema de errores de acceso de seguridad no deben
con- trol, entonces tenemos que considerar el proporcionar información adicional que ayude a
tipo de entrada / salida y el formato que el las personas no autorizadas minan.
software debe producir para garantizar el
intercambio de datos entre sistemas adecuada.
Hay muchas reglas de oro para los
desarrolladores a seguir para producir el bien de
entrada / salida para un soft- ware. Estas reglas
generales incluyen diálogo sencillo y natural,
hablando el lenguaje de los usuarios,
minimizando la carga de usuarios de la
memoria, la coherencia, la mínima sorpresa, la
conformidad con las normas (si lo acordado o
no: por ejemplo, los automóviles tienen una
interfaz Dard Están- de acelerador, el freno ,
dirección).
16.2. comentarios
2011 [6 *]
2007 [5 *]
McConnell 2004
*] 2002
Voland 2003
Nielsen
1993 [9
HoRowitz et al.
SommervilLe
[11 *]
[2 *]
[4 *]
[3 *]
Bishop
nortea
*]
1. Técnicas de S3.2
Resolución de ,
Problemas
1.1. Definicion S4.2
S3.2
de
La resolución
1.2. de
Formular el
problemas S3.2
problema real
1.3. Analizar el
S3.2
problema
1.4. Diseñar
una estrategia S4.2
de búsqueda de
soluciones
1.5. La resolución de
c5
problemas
Utilización de 5.4
2. programas
Abstracción
s5.2
2.1. Niveles de -
5.3
Abstracción s5.2
2.2. La -
S5.3
encapsulación
2.3. Jerarquía S5.2
3. Fundamentos
C6-19
de programación
3.1. El proceso
de programación C6-C19
2011 [6 *]
2007 [5 *]
McConnell 2004
*] 2002
Voland 2003
Nielsen
1993 [9
HoRowitz et al.
SommervilLe
[11 *]
[2 *]
[4 *]
[3 *]
Bishop
nortea
*]
4.3. Bajo nivel
s6.5-
de lenguaje de
6,7
programación
4.4. Alto Nivel
s6.5-
de
6,7
Programación
Lenguaje
4.5. frente a
declarativa s6.5-
lenguaje de 6,7
programación
5. imperativo
Herramientas de
c23
depuración y
Técnicas
5.1. Tipos de error s23.1
5.2. depuración
s23.2
técnicas:
5.3.
s23.5
Herramientas
6. de depuración
Estructura de 2.6
datos y s2.1-
representación
6.1. Estructura de 2.6
datos s2.1-
Visión de de
6.2. Tipos 2.6
conjunto
Estructuras de s2.1-
Datos
6.3. Las operaciones 2.6
en s2.1-
Estructuras de s1.1-
datos 1.3,
s3.3-
3.6,
s4.1-
4,8,
7. Algoritmos y s5.1-
Complejidad 5,7,
s6.1-
6.3,
s7.1-
7,6,
s11.1,
S12.1
13-44 Guía SWEBOK® V3.0
2011 [6 *]
2007 [5 *]
McConnell 2004
*] 2002
Voland 2003
Nielsen
1993 [9
HoRowitz et al.
SommervilLe
[11 *]
[2 *]
[4 *]
[3 *]
Bishop
nortea
*]
7.1. Visión
s1.1-1.2
general de
algoritmos
7.2. Atributos de
S1.3
Algoritmos
7.3. Análisis
S1.3
algorítmico
s3.3-
3.6,
s4.1-
4,8,
s5.1-
7.4. Estrategias 5,7,
de diseño s6.1-
algorítmico 6.3,
s7.1-
7,6,
s11.1,
S12.1
s3.3-
3.6,
s4.1-
4,8,
s5.1-
7.5. Estrategias de 5,7,
análisis s6.1-
algorítmico 6.3,
s7.1-
7,6,
s11.1,
S12.1
8. Concepto básico
c10
de un sistema de
8.1. Propiedades
s10.1
del sistema
emergente
8.2. Ingeniería de
s10.2
sistemas
8.3. Descripción de
una
Sistema informático
Fundamentos de computación
13-45
2011 [6 *]
2007 [5 *]
McConnell 2004
*] 2002
Voland 2003
Nielsen
1993 [9
HoRowitz et al.
SommervilLe
[11 *]
[2 *]
[4 *]
[3 *]
Bishop
nortea
*]
9. Organización
C1-4
del ordenador
9.1.
Organización s1.1-1.2
general del
ordenador
9.2. Sistemas c3
digitales
9.3. lógica digital c3
9.4. Expresión de
c2
datos del
ordenador
9.5. La Unidad
4.2
Central de
s4.1-
Procesamiento
(CPU)
9.6. Organización
S4.6
del Sistema de
memoria
9.7. Entraday salida (I
S4.5
/ O)
10. Fundamentos del s6.4 S8.4
compilador
10.1. Compilador
S8.4
Visión de
conjunto
10.2. Interpretación
S8.4
y compilación
10.3. El proceso de
s6.4 S8.4
compilación
11. Fundamentos
c3
de Sistemas
Operativos
11.1. Operativo
S3.2
general Sistemas
11.2. tareas de
S3.3
Sistema operativo
11.3. Operando
S3.2
sistema
Abstracciones
11.4. Sistemas
para realizar la S3.1
clasificación
13-46 Guía SWEBOK® V3.0
2011 [6 *]
2007 [5 *]
McConnell 2004
*] 2002
Voland 2003
Nielsen
1993 [9
HoRowitz et al.
SommervilLe
[11 *]
[2 *]
[4 *]
[3 *]
Bishop
nortea
*]
12. Conceptos
básicos de bases C9
de datos y
gestión de datosy
12.1. Entidad
S9.1
de esquema
12.2. Sistemas de
Gestión de Bases S9.1
de Datos
(DBMS)
12.3. Base de
S9.2
datos
Lenguaje dede
12.4. tareas
consulta S9.2
Los paquetes de
DBMS
12.5. Datos
s9.5
administración
12.6. La minería de s9.6
13.datos
Conexión de
red básica de c12
comunicación
13.1. Tipos de 12.3
Red s12.2-
13.2. Componentes
S12.6
de la Red Básica
13.3. Protocolos
s12.4-
de red y
12.5
Estándares
13.4. La Internet
13.5. Internet de
s12.8
las
Cosas
13.6. Red Privada
Virtual
14.
Computación C9
Paralela y
Distribuida
14.1.
Computación 9.4.3
paralela y s9.4.1-
distribuida
general
Fundamentos de computación
13-47
2011 [6 *]
2007 [5 *]
McConnell 2004
*] 2002
Voland 2003
Nielsen
1993 [9
HoRowitz et al.
SommervilLe
[11 *]
[2 *]
[4 *]
[3 *]
Bishop
nortea
*]
14.2. Las
diferencias entre 9.4.5
Computación s9.4.4-
Paralela y
Distribuida
14.3. Paralela y
9.4.5
Distribuida
s9.4.4-
Los modelos
informáticos
14.4. Problemas
principales en
Distributed
15.Computing
Los factores
c8 c5
humanos
básicos de los y
15.1. Entrada S5.1,
usuarios
salida S5.3
S5.2
15.2. Error de
,
mensajes
15.3. La s5.8
5.6
robustez del s5.5
16.software
Developer -
c31-32
básico Factores
Humanos
16.1. Estructura c31
16.2. comentarios c32
17. asegurar el
desarrollo y c29
mantenimiento de
software
17.1. DosAspectos de
s29.1
codificación segura
17.2.
Codificació s29.4
n de
Seguridad
17.3.
en Software s29.2
RequisitoSegurida
d17.4.
s29.3
Seguridad
diseño
17.5. Implementación
s29.5
Seguridad
13-48 Guía SWEBOK® V3.0
Referencias
[1] Grupo de Trabajo Conjunto sobre [7] ISO / IEC / IEEE 24765: 2010 Sistemas y de
Computación planes de estudio, IEEE Ingeniería de Software-Vocabulario, ISO /
Computer Society y la Association for IEC / IEEE 2010.
Computing Machinery, Ingeniería de
Software 2004: Directrices Curriculares [8 *] L. y J. nulo Lobur, Lo Esencial de la
para Pregrado Programas de Grado en Organización de Computadores y
Ingeniería de Software, 2004; http: // sites. Arquitectura, 2ª ed., Jones and Bartlett
computer.org/ccse/SE2004Volume.pdf. Publishers, 2006.
[3 *] S. McConnell, código completo, 2ª ed., [10] ISO 9241 a 420: 2011 ergonomía de la
Microsoft Press, 2004. interacción del sistema Human-, ISO, 2011.
matemáticos
14-1
14-2 Guía SWEBOK® V3.0
decir: X = Y ≡ ∀ p (p ∈ X ↔ p
∈ Y).
4. La ley de identidad:
X ∪ ∅ = XX ∩ U = X
5. Complementar Leyes:
X ∪ X'= UX ∩ X'= ∅
6. La ley Idempotent:
X ∪ X = XX ∩ X = X
7. La ley Bound:
X ∪ U = UX ∩ ∅ = ∅
8. La ley de absorción:
X ∪ (X ∩ Y) = XX ∩ (X ∪ Y) = X
9. La ley de De Morgan:
(X ∪ Y) '= X' ∩ Y '(X ∩ Y) '= X' ∪ Y'
A: {(3, -9), (5, 8), (7, -6), (3, 9), (6, 3)}.
B: {(5, 8), (7, 8), (3, 8), (6, 8)}.
leyes de identidad:
p ∧ t ≡ páginas ∨ F ≡ p
Fundamentos matemáticos 14-9
Ley doble negación:
¬ (¬ p) ≡ p
conmutativa:
p ∨ q ≡ q ∨ páginas ∧q≡q∧p
leyes asociativas:
(P ∨ q) ∨ r ≡ p ∨ (q
∨ r) (p ∧ q) ∧ r ≡ p
∧ (q ∧ r)
leyes distributivas:
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r)
p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
3. Técnicas de prueba
Fundamentos
Demostración por inducción. matemáticos 14-11
Demostración
Declaraciones utilizados en una prueba
incluyen axiomas y postulados que son por inducción se realiza en dos fases. En primer
esencialmente los supuestos subyacentes sobre lugar, la proposición se estable- cido para ser
estructuras matemáticas, las hipótesis del verdad para una base de caso-típicamente para la
teorema de ser probadas, y pre viamente
teoremas probadas.
Un teorema es una declaración que puede ser
mostrado para ser verdad.
Un lema es un teorema simple que se usa en
la prueba de otros teoremas.
Un corolario es una proposición que puede
ser estable- cido directamente de un teorema
que ha sido demostrado.
Una conjetura es una declaración, cuyo valor
de verdad es desconocida.
Cuando se encuentra una prueba de una
conjetura, la conjetura se convierte en un
teorema. Muchas veces las conjeturas se
muestran para ser falsa y, por lo tanto, no son
teoremas.
∴ n2 = (2k + 1) 2 = 4K2 + 4k + 1.
Ahora, es necesario demostrar que P (k) → P Por ejemplo, si hay 200 atletas que realizan
pruebas de velocidad y 30 atletas que participan
(k + 1). P (k + 1) = 1 + 3 + 5 + ... + (2k - 1) + en el evento de salto de longitud, entonces
¿Cuántas maneras hay para recoger dos atletas
(2k + 1) por lo que uno es un velocista y el otro es un
= P (k) + (2k + 1) saltador de longitud?
= K2 + (2k + 1) [usando IH] Usando la regla del producto, la respuesta
= K2 + 2k + 1 sería de 200 x 30 = 6000.
= (K + 1) 2 El principio de estados de inclusión-exclusión
que
si una tarea
1
t puede hacerse de
1
n maneras y una
segunda
2 2
Por lo tanto, se demuestra que si la T se puede hacer en maneras al mismo
proposición es verdadera tarea n tiempo
para n = k, entonces también es cierto para n = k con t, a continuación,Fundamentos matemáticos
para encontrar 14-13
el número
+ 1. total de
1
maneras las
El paso de base junto con el paso inductivo dos tareas se puede hacer, restar el número de
la prueba de que P (1) es verdadera y el maneras de hacer ambas 1
+ N.2
condicional tareas de n
declaración P (k) → P (k + 1) es verdadera para
todos positivos
K enteros. Por lo tanto, la proposición se • Si A y B no son disjuntos, | A ∪ B | = | A | +
prueba. | B | - | A ∩ B |.
4. Fundamentos de Conteo
[1 * En otras palabras, el principio de inclusión-
c6] exclusión tiene por objeto asegurar que los
objetos en la intersección de dos conjuntos no se
La regla de la suma indica que si una
1
tarea t se cuentan más de
puede hacer
Posa1 maneras y una segunda 2 se puede hacer una vez.
da tarea t de
14-14 Guía SWEBOK® V3.0
Probabilidades asociadas con aleatoria discreta Estos números de hecho apuntan a derivar el
variables tienen las siguientes propiedades: valor de edad promedios a partir de
experimentos repetidos. Esto se basa en el único
i. 0 ≤ P (x) ≤ 1 para todo x fenómeno más importante de la probabilidad, es
ii. ΣP (x) = 1 decir, el valor promedio de los experimentos
repetidos es probable que sea próximo al valor
Una distribución de probabilidad discreta esperado de un experimento. Por otra parte, el
puede repre- tantes como una variable aleatoria valor medio es más probable que sea más
discreta. próximo al valor esperado de cualquier un
experimento como el número de experimentos
aumenta.
x 1 2 3 4 5 6
7. Máquinas de estados finitos
P 1/6 1/6 1/6 1/6 1/6 1/6 [1 *, c13]
(x)
Figura 14.20. Una función de probabilidad discreta para una Un sistema informático puede ser abstraído como
herramienta de laminación un mapeo de de estado a estado impulsado por
insumos. En otras palabras, un sistema puede ser
La media μ de un modelo de distribución de considerado como una función T transición: S × I
probabilidad es la suma de los términos de → S × O, donde S es el conjunto de estados y I, O
productos para eventos individuales y su son las funciones de entrada y de salida. Si el
probabilidad de resultado. En otras palabras, por estado conjunto S es finito (no infinita), el sis-
los posibles resultados x, x, ..., x tem se denomina una máquina de estados finitos
12n
(FSM).
en un espacio de k
es la probabilidad de Alternativamente, una máquina de estado finito
muestra S si p OUT- (FSM) es una
x llegado,
k
la media de la probabilidad sería abstracción μmathematical compuesto por una
finito
= XP11
+ XP22
+ ... + XP.
nn
número de estados y las transiciones entre las
Por ejemplo, la media de la densi- dad de estados. Si el dominio S × I es razonablemente
probabilidad para la distribución en la figura pequeño, entonces se puede especificar T
14.20 sería explícitamente usando diagramas similares a un
gráfico de flujo para ilustrar el
1 * (1/6) + 2 * (1/6) + 3 * (1/6) + 4 * (1/6) + 5 caminológicafluye para diferentes entradas. Sin
* (1/6) + 6 * (1/6) embargo, esto es prác- tica sólo para máquinas
= 21 * (1/6) = 3,5 que tienen una capacidad muy pequeña
información.
Aquí, el espacio de muestra se refiere al Un FSM tiene una memoria finita interna, una
conjunto de todos característica de entrada que lee símbolos en una
posibles resultados. secuencia y de una en una, y una entidad de
El s2 varianza de un modelo de probabilidad salida.
discreta El funcionamiento de una MEF inicia desde un
comienzo
es: s2 = 1 – μ)2p + (X – μ)2p + ... + (x - estado, pasa a través de transiciones en función de
(x ag ag μ)2pag entrada
1 2 2 k
. k
Las desviaciones estándar es la raíz cuadrada de 2 * (1/6) +
la varianza. (3 - 3.5) 2 * (1/6) + (4 - 3.5) 2 * (1/6) + (5 -
Por ejemplo, para la distribución de 3.5) 2 * (1/6) + (6 - 3,5) 2 * (1/6)]
probabilidad en = (6,25 + 2,25 + 0,25 + 0,5 + 2,25 + 6,25) *
Figura 14.20, el σ2 variación sería (1/6)
= 17,5 * (1/6)
s2 = [Resultados (1 - 3.5) 2 * (1/6) + (2 - 3.5) = 2.90
14-18 Guía SWEBOK® V3.0 a diferentes estados, y puede terminar en
∴ = desviación estándar s cualquier estado válido. Sin embargo, sólo unos
pocos de todos los estados marcan un flujo
exitoso de la operación. Estos se llaman aceptar
estados.
La capacidad de información de una MEF es
C = log | P |. Por lo tanto, si representamos una
máquina que tiene una capacidad de información
de bits C como un FSM, entonces su gráfica de
transición de estado tendrá | S | = Nodos 2C.
Una máquina de estado finito se define
formalmente como M
= (S, I, O, f, g, s).
0
S es el conjunto de estado;
yo es el conjunto de símbolos de entrada;
O es el conjunto de símbolos de salida;
F es la función de transición de estado;
Fundamentos matemáticos 14-19
8. gramáticas
[1 *, c13]
Estado Entrada S 3 2 S S
1 2 2
actual 0 1 S 2 3 S S
2 2 0
S S S
0 2 1
(segundo)
S S S
1 2 2
S S S Figura 14.22. Representación tabular de una MEF
2 2 0
(un)
Salida Estado
Estado
Entrada Entrada
lenguaje
14-20 Guía L en lugar
SWEBOK® V3.0 desólo una lista sin
procesar de todos
de frases o ejemplos de esas frases legales
de la lengua.
Una gramática implica un algoritmo que
genere todas las sentencias legales de la
lengua. Hay diferentes tipos de gramáticas.
A-estructura de la frase o de tipo 0
gramática G = (V, T, S, P) es un 4-tupla en
los que:
1. Cada gramática regular es una gramática Por ejemplo, la expresión regular (ab) *
libre de contexto (CFG). coincide con el conjunto de cadenas: {e, ab,
2. Cada CFG es una gramática sensible al ABAB, ababab, ABABABAB, ...}.
contexto (CSG).
Fundamentos matemáticos 14-23
Por ejemplo, la expresión regular (aa) * 1N <x ≤ 2-n-1N. Los números reales que se
coincide con el conjunto de cadenas en una carta encuentran entre los huecos están representados
que tienen una longitud uniforme. por cualquiera de ING redonda (es decir, el
Por ejemplo, la expresión regular (aaa) * + representante más cercano exacta)
(aaaaa) * coincide con el conjunto de cadenas de
longitud igual a un múltiplo de 3 o 5.
error permisible tiene 2 dígitos significativos, que se pueden expresar como un cociente de dos
mientras que una medición de la misma longitud números enteros. El símbolo común para el
usando un calibrador y se registrará como 15,47 conjunto de todas las fibras No. de orden racional
mm con ± 0,01 mm error permisible mamá es Q.
maxi- tiene 3 dígitos significativos. Los números racionales pueden clasificarse en
tres tipos, en función de cómo actúan los
10. Teoría de los números decimales. los
[1 *, c4]
10.1. Divisibilidad
*]
1. conjuntos, relaciones, funciones c2
2. Lógica Básica c1
3. Técnicas de prueba c1
4. Recuento básico c6
5. Los gráficos y los árboles c10, c11
6. probabilidad discreta c7
7. máquinas de estados finitos c13
8. gramáticas c13
9. numérica precisión, exactitud y errores c2
10. Teoría de Números c4
11. Estructuras algebraicas
Fundamentos matemáticos 14-31
[1 *] K. Rosen, Matemática Discreta y sus El autor reconoce por suerte la contribución del
Aplicaciones, 7ª ed., McGraw-Hill, 2011. profesor Arun Kumar Chatterjee, Ex-Jefe del
Departamento de Matemáticas de la Universidad
[2 *] EW Cheney y DR Kincaid, Numéricos de Manipur, India, y el Prof. Devadata Sinha,
Matemáticas y Computación, 6 ª ed., Ex-Jefe del Departamento de Ciencias de la
Brooks / Cole, 2007. Computación y Engineer- ing, Universidad de
Calcuta, India, en la preparación de este capítulo
sobre Fundamentos matemáticos.
14-32 Guía SWEBOK® V3.0
FUNDAMENTOS DE
INGENIERÍA Capítulo 15
15-1
15-2 Guía SWEBOK® V3.0
resultados están siendo generalizadas pueden ser una variable aleatoria se llama un evento.
diferentes. Por ejemplo, cuando la población de Supongamos que X denota algún variable
estudio consta de sólo el pasado observaciones y aleatoria; entonces, por ejemplo, podemos definir
generalizaciones son necesarios para el futuro, la diferentes eventos tales como X ³ X <x x o y así
población estudiada y la población objetivo sucesivamente.
puede no ser la misma.
Muestra. Una muestra es un subconjunto de la
población. La cuestión más crucial para la
selección de una muestra es su representatividad,
incluyendo el tamaño. Las muestras deben
extraerse de una manera a fin de asegurar que
los sorteos son independientes, y las reglas de
dibujo de las muestras deben ser definidos pre-
de modo que la probabilidad de seleccionar una
unidad de muestreo ticular par- se conoce de
antemano. Este método de selección de las
muestras se llama muestreo probabilístico.
Variable aleatoria. En la terminología
estadística, el proceso de hacer las observaciones
o las mediciones en las unidades de muestreo
que se estudian se conoce como la realización
del experimento. Por ejemplo, si el experimento
es lanzar una moneda 10 veces y luego contar el
número de veces que la moneda cae en cabezas,
cada 10 lanzamientos de la moneda es una
unidad de muestreo y el número de cabezas de
una muestra dada es la observación o el
resultado para el experimento. El resultado de un
experimento se obtiene en términos de números
reales y define la variable aleatoria en estudio.
Por lo tanto, el atributo de los artículos que se
mide en el resultado del experimento representa
la variable aleatoria que se está estudiando; la
observación obtenido a partir de una unidad de
muestreo particular es una realización particular
de la variable aleatoria. En el ejemplo de la
sacudida de la moneda, la variable aleatoria es el
número de cabezas observados para cada
experimento. En estu- dios estadísticos, se hacen
intentos para entender características de la
población sobre la base de muestras.
El conjunto de posibles valores de una
variable aleatoria puede ser finito o infinito pero
numerable (por ejemplo, el conjunto de todos los
números enteros o el conjunto de todos los
números impares). En tal caso, la variable
aleatoria se llama una variable aleatoria Creta
dis-. En otros casos, la variable aleatoria bajo
consideración puede tomar valores en una escala
continua y que se llama una variable aleatoria
continua.
Evento. Un subconjunto de valores posibles de
Fundamentos
densidad y tiene que integrarse endeuningeniería 15-5
rango para
Distribución de una variable aleatoria. La
gama y el patrón de variación de una variable obtener la probabilidad de que los continuos
aleatoria está dada por su distribución. Cuando variabilidad aleatoria capaces mentiras entre
se conoce la distribución de una variable ciertos valores. Por lo tanto, si el pdf
aleatoria, es posible calcular la probabilidad de
cualquier evento. Algunos las distribuciones se
encuentran a ocurrir comúnmente y se utilizan
para modelar muchas variables aleatorias que
se producen en la práctica en el contexto de la
ingeniería. Algunas de las distribuciones que se
producen más comúnmente se dan a
continuación.
A medida que se toma la decisión sobre la entre las variables es perfecto, es decir,
base de las observaciones de la muestra, los
errores son posibles; los tipos de tales errores se
resumen en la tabla siguien- tes.
Decisión estadística
Natural
eza aceptar H rechazar H
0 0
Su error tipo I
0
DE
ciert (probabilidad =
AC
o
Su errorUE
tipo II a)
0
DE
falso (probabilidad
RD =
AC
b) O UE
En la prueba de hipótesis, nuestro RD objetivo es
maximizar la potencia de la prueba (el O valor de
1-b), mientras que fin de • asegurar que la
probabilidad de un error de tipo I (el valor de a)
se mantiene dentro de una de valor particular,
típicamente de 5 por ciento .
Es de notar que la construcción de una prueba
de hipótesis estadística incluye la identificación
(s) para estimar el parámetro (s) y que define
una región crítica de tal manera que si el valor
calculado de la estadística cae en la región
crítica, el hypoth nula - se rechaza ESIS.
3. Medición
[4 *, c3s1, c3s2] [5 *, c4s4] [6 *, c7s5]
[7 *, p442-447]
sistema empírico real. Métodos de medición que la altura de los individuos varían a través de
definen actividades que asignan un valor o un varios puntos de tiempo del día), cómo la
símbolo a un atributo de una entidad. variabilidad debida al cabello lo que se ocuparon
Los atributos deben entonces ser definidos en de, si la medición será con o sin zapatos, ¿qué
términos de las operaciones utilizadas para clase de precisión que se espera (corregir hasta
identificar y medir ellos- es decir, los métodos una pulgada, 1/2 pulgada, centímetro, etc.) -,
de medición. En este enfoque, se define un incluso
método de medición para ser una operación
especificada precisamente que produce un nú-
mero (llamado el resultado de la medición)
cuando medi- suring un atributo. De ello se
deduce que, para ser útil, el método de medición
tiene que estar bien definida. La arbitrariedad en
el método se reflejará en la ambigüedad en los
resultados de medición.
En algunos casos, particularmente en el
mundo de los atributos físicos que deseamos
medir son fáciles de entender; Sin embargo, en
un mundo artificial como la ingeniería de
software, la definición de los atributos puede no
ser tan simple. Por ejemplo, los atributos de
altura, peso, distancia, etc. son fácil y uniforme
comprendido formemente (aunque pueden no ser
muy fácil de medir en todas las circunstancias),
mientras que los atributos como el tamaño o la
complejidad del software requieren definiciones
claras.
Definiciones operacionales. La definición de
atri- buye, para empezar, es a menudo bastante
abstracto. Tales definiciones no facilitan
mediciones. Por ejemplo, podemos definir un
círculo como una línea que forma un bucle
cerrado de tal manera que la distancia entre
cualquier punto en esta línea y un punto interior
fijo llamado centro es constante. Podemos decir,
además, que la distancia fija desde el centro a
cualquier punto en el bucle cerrado da el radio
del círculo. Cabe señalar que aunque el concepto
se ha definido, se ha propuesto ningún medio de
la medición de la radio. La definición
operacional especifica los pasos exactos o el
método utilizado para llevar a cabo una medi-
ción específica. Esto también puede ser llamado
el método de medición; a veces un
procedimiento de medición puede ser necesaria
para ser aún más preciso.
La importancia de las definiciones
operacionales difícilmente puede ser exagerada.
Tomemos el caso de la aparentemente simple
medición de la talla de los individuos. A menos
que especifiquemos varios factores como el
momento en el que se medirá la altura (se sabe
esta simple medida dará lugar a una variación • Capability Maturity Fundamentos de ingeniería 15-
Model Integration
11
sustancial. Los ingenieros deben apreciar la (CMMI) niveles de madurez de software de
necesidad de definir medidas desde una desa- rrollo organizaciones
perspectiva operacional.
4. Diseño de ingeniería
[5 *, c1s2, c1s3, c1s4]
4.1. Diseño de ingeniería en la Fundamentos de ingeniería 15-
15
Educación en Ingeniería
a) definir el problema
b) recopilar información pertinente
c) generar múltiples soluciones
d) analizar y seleccionar una solución de
e) implementar la solución
problemas, en particular, los errores y las salidas ser de- sarrollados inicialmente para probar la
en falso puede ser identificado. Este paso puede solución de diseño propuesto bajo ciertas
implicar también la descomposición del condiciones. Comentarios como resultado de la
problema en subproblemas más pequeños y más prueba de un prototipo puede ser utilizado ya sea
fáciles de resolver. para
En la recogida de información pertinente, se
debe tener cuidado para identificar cómo un
producto puede ser usado como un mal uso.
También es importante entender el valor
percibido del producto / servicio que se ofrece.
Incluida en la información pertinente es una lista
de restricciones que deben ser satisfechas por la
solución o que pueden limitar el conjunto de
soluciones factibles.
5.1. Modelado
un problema. También pueden ayudar a los este tipo incluyen entidades, actividades y
ingenieros Deben conocerse lo que saben y lo eventos, recursos, el estado del sistema, un reloj
que no saben sobre el problema en cuestión. de simulación, y un generador de números
Hay tres tipos de modelos: icónicas, la lógica aleatorios. De salida es generada por la
ana- y simbólica. Un modelo icónico es un simulación y debe ser analizada.
equivalente aliado visu- pero incompleta
representación, por ejemplo de 2 dimensiones o
3 dimensiones, mapas, globos, o modelos
construidos a escala de las estructuras tales
como puentes o carreteras. Un modelo icónico
en realidad se asemeja al modelo de artefacto.
Por el contrario, un modelo analógico es una
representación funcionalmente equivalente pero
incompleta. Es decir, el modelo se comporta
como el artefacto físico a pesar de que no puede
parecerse físicamente. Ejemplos de modelos
analógicos incluyen un avión en miniatura para
las pruebas de túnel de viento o una simulación
por ordenador de un proceso de fabricación.
Finalmente, un modelo simbólico es un mayor
nivel de abstracción, donde el modelo se
representa usando símbolos tales como
ecuaciones. El modelo captura los aspectos
relevantes del proceso o sistema en forma
simbólica. Los símbolos pueden ser utilizados
para aumentar la comprensión del ingeniero del
sistema final. Un ejemplo es una ecuación tal
como F = ma. Tales modelos matemáticos se
pueden utilizar para describir y predecir las
propiedades o comportamiento del sistema final
o producto.
5.2. Simulación
5.3. prototipado
2011 [12 *]
McConnell 2004
2006 [13
Voland 2003
2009 [6
JustaLey de
Kan 2002
točkey 2004
SommervilLe
[11 *]
[10 *]
[5 *]
[7 *]
Mugirre
[4 *]
*]
*]
*]
*]
1. Métodos
empíricos y
c1
técnicas
experimentales
1.1.
experimento
diseñado
1.2.
De observación
Estudiar
1.3.
Estudio
retrospectivo
2. Análisis c9s1,
c10s3
estadístico C2S1
c3s6,
c3s9,
2.1. Concepto de
c4s6,
unidad de
c6s2,
análisis (unidades
c7s1,
de muestreo),
c7s3,
Muestra,y
c8s1,
Población
c9s1
2.2. Conceptos
c11s2,
de correlacióny
c11s8
regresión
c3s1,
3. Medición c4s4 c7s5
c3s2
3.1. Niveles
P442
(Scales) de c3s2 c7s5
-447
Medición
3.2. Medidas
directos y
derivados
15-18 Guía SWEBOK® V3.0
2011 [12 *]
McConnell 2004
2006 [13
Voland 2003
2009 [6
JustaLey de
Kan 2002
točkey 2004
SommervilLe
[11 *]
[10 *]
[5 *]
[7 *]
Mugirre
[4 *]
*]
*]
*]
*]
3.3. Fiabilidad c3s4,
y Validez c3s5
3.4. Fiabilidad
c3s5
evaluar
c1s2,
4. Diseño de
c1s3,
Ingeniería
c1s4
4.1. Diseño
de la
Educación en
Ingeniería
4.2. El c1s4,
diseño como C2S c5s1
un problema 1,
actividad
4.3. Pasosde
a c3s3
resolución
seguir en
c4
Diseño de
Ingeniería
5. Modelado,
c2
creación de c6 c13s3
S3.1
prototipos y
simulación
5.1. Modelado
5.2. Simulación
5.3. prototipado
S3.2
6. Normas c1s2
c9
c5, c9s3,
Análisis s3.4.
c3s7, c9s4,
Causa Raíz 7. 5 c13
c9s8 c9s5
7.1. Las técnicas
para la
c5 c3
realización de
análisis de causa
raíz
Fundamentos de ingeniería 15-19
LECTURAS
A. Abran, Software Metrics y software de W.G.Vincenti, lo que los ingenieros saber y
metrología. [14] cómo lo saben. [15]
Este libro ofrece muy buena información sobre Este libro ofrece una introducción interesante
el uso correcto de la medida de términos, para bases de ingeniería a través de una serie de
método de medición y los resultados de estudios de casos que muestran muchos de los
medición. Proporciona material de soporte fuerte conceptos fundacionales que se utiliza en
para toda la sección sobre la medición. aplicaciones de ingeniería del mundo real.
15-20 Guía SWEBOK® V3.0
Referencias
[1] ISO / IEC / IEEE 24765: 2010 Sistemas y [9] Comisión de Acreditación ABET Ingeniería,
de Ingeniería de Software-Vocabulario, “Criterios para la Acreditación de Programas
ISO / IEC / IEEE 2010. de Ingeniería, 2012-2013”
ABET, 2011; www.abet.org/uploadedFiles/
[2 *] DC Montgomery y GC Runger, Acreditación / Accreditation_Process /
Estadística Aplicada y Probabilidad para Accreditation_Documents / Corriente / eac-
Ingenieros, 4ª ed., Wiley, 2007. criterios-2012-2013.pdf.
APÉNDICE A
A-1
UN-2 Guía SWEBOK®
V3.0
temas dentro de cada KA, y la Lista consolidada conocimiento, que son también una parte
rencia Ref-. integral de todo el conocimiento
Una Junta de Control de Cambios (CCB) ha
estado en vigor durante el desarrollo de esta
versión de Han-dle todas las solicitudes de
cambio a esta línea de base procedentes de los
editores KA, que se produce durante el proceso
de revisión, o de otra manera. Las solicitudes de
cambio deben ser aprobadas tanto por los
Editores Guía SWEBOK y por el CCB antes de
su implementación. Este CCB está compuesta
por miembros de las iniciativas enumeradas
arriba y actuando bajo la autoridad del Software
y Sistemas Comité de Ingeniería de la IEEE
Computer Society Profesional activi- ata Junta.
»Referencias recomendados. El
conjunto de referencias
recomendadas (a nivel de
número de sección) se conoce
colectivamente como la lista
de referencia consolidado.
Otras lecturas ».
»Referencias adicionales citadas
en el KA descripción (por
ejemplo, la fuente de un
material cita o referencia en
apoyo de una razón de ser de
UN-4 Guía SWEBOK®
V3.0
»Material de referencia
recomendados deben ser
identificados para cada tema.
Cada elemento de referencia
completar cuatro Apéndice
añosA A-5de
material de referencia citado es
suficiente para experiencia laboral.
los objetivos de la Guía SWEBOK).
»Cada referencia al material de h) material de referencia adicional puede ser
referencia recomendada debe incluido por el Editor KA en una lista
“Otras lecturas”:
ser tan preciso como sea
posible mediante la
identificación de cuáles
capítulo o sección específica
es relevante.
»Una matriz de material de
referencia (a la
nivel de número de sección) frente a
los temas debe ser proporcionada.
»Una cantidad razonable de
recomendada
material de referencia debe ser
identificado para cada KA. Las
siguientes pautas deben ser utilizados
en la determinación de cuánto es
razonable:
i. Si el material de referencia
recomendada fueron escritas de
manera coheren- que siguió a la
propuesta de reparto de temas y
en un estilo uniforme (por
ejemplo, en un nuevo libro
basado en la descripción
propuesta KA), un promedio
Tar conseguir a través de todos
KAs para el número de páginas
sería 750. sin embargo, este
objetivo no puede ser posible
cuando se selecciona el
material de referencia existente
debido a las diferencias de
estilo y la superposición y la
redundancia entre los
materiales de referencia
seleccionados.
ii. En otras palabras, el objetivo
para el número de páginas para
la colección completa de las
referencias recomendadas de la
Guía SWEBOK está en el
rango de 10.000 a 15.000
páginas.
iii. Otra forma de ver esto es que la
cantidad de material de
referencia recomendada sería
razonable si consistiera en el
material de estudio en este KA
para un examen de licencia de
ingeniería de software que
pasaría un graduado después de
UN-6 Guía SWEBOK®
V3.0
estructura común
el subconjunto de la Dirección de
Proyectos del conocimiento
generalmente reconocido como buenas
prácticas. “Generalmente reconocido”
significa el conocimiento y las prácticas
descritas son aplicables a la mayoría de
los proyectos, la mayor parte del tiempo,
y no hay consenso sobre su valor y
utilidad. “La buena práctica” significa
que hay acuerdo general en que la
aplicación de estas habilidades,
herramientas y técnicas puede mejorar
las posibilidades de éxito en una amplia
gama de proyectos. “La buena práctica”
no significa que el conocimiento
descrito siempre deben ser aplicadas de
manera uniforme a todos los proyectos;
la nización y / o gestión de proyectos
orga- equipo es responsable de
determinar lo que es apropiado para
cualquier proyecto dado. [1]
Avanzada e Investigación
prácticas innovadoras
probados y utilizados
solamente por algunas
organizaciones y conceptos
todavía siendo desarrolladas
y probadas en organizaciones
de investigación
La figura A.1. Categorías de Conocimiento
LONGITUD DE KA DESCRIPCIÓN
DOCUMENTOS RELACIONADOS
IMPORTANTE
Referencias
[1] Instituto de Gestión de Proyectos, una guía [5] Grupo de Trabajo Conjunto sobre
para la Dirección de Proyectos del Computación planes de estudio, IEEE
Conocimiento (PMBOK (R) Guía), 5ª ed., Computer Society y la Association for
Project Management Institute, 2013. Computing Machinery, Ingeniería de
Software 2004: Directrices Curriculares
[2] Integrado de Software e Ingeniería de para Pregrado Programas de Grado en
Sistemas Curriculum (ISSEC) Proyecto, Ingeniería de Software, 2004; http: // sites.
graduado de Ingeniería de Software 2009 computer.org/ccse/SE2004Volume.pdf.
(GSwE2009): Lineamientos Curriculares
para programas de postgrado en [6] ISO / IEC / IEEE 24765: 2010 Sistemas y de
Ingeniería de Software, Stevens Institute Ingeniería de Software-Vocabulario, ISO /
of Technology, 2009; www.gswe2009.org. IEC / IEEE 2010.
[3] IEEE Std. 12207-2008 (también conocido [7] Diccionario Colegiado de Merriam-Webster,
como ISO / IEC ed 11., 2003.
12207: 2008) estándar para los sistemas y
procesos de ciclo de vida del software [8] IEEE Computer Society, “Certificación y
Ingeniería de Software, IEEE 2008. Capacitación para Profesionales de
software”, 2013;
[4 *] JW Moore, La Hoja de Ruta de Ingeniería www.computer.org/certification.
de Software: Una guía basada en
estándares, Wiley-IEEE Computer Society
Press, 2006.
UN-12 Guía SWEBOK®
V3.0
APÉNDICE B
Algunos podrían decir que el suministro de bases de datos . Como cualquier base de
normas niería de software niería supera con datos, estos contienen a veces errores,
creces la demanda. Rara vez se escucha una sobre todo para los títulos. Así que este
conferencia sobre el tema sin sufrir alguna artículo menudo parafraseará la
broma aparentemente obligatoria que hay
demasiados de ellos. Sin embargo, la existencia
de normas tiene una muy grande (posiblemente
infinita) de espacio comercial de alternativas y
reduce ese espacio para un conjunto más
pequeño de opciones, una gran ventaja para los
usuarios. Sin embargo, todavía puede ser difícil
elegir entre docenas de alternativas, por lo que
una orientación complementaria, como este
apéndice, puede ser útil. Una lista resumida de
las normas citadas en este apéndice aparece al
final.
A reducir el tedio en la lectura, algunas
simplificaciones y compendios se hacen en este
apéndice:
B-1
SEGUNDO-2 Guía
SWEBOK® V3.0
IEEE-SA publica tres tipos de “normas”: para cualquiera de las categorías del IEEE. En la
norma ISO / IEC, se trata de un “informe
• Normas, con una preponderancia del verbo técnico” -definido como un documento
"deberá" inherentemente inadecuado para ser un estándar.
• Métodos recomendados, con una La Guía SWEBOK IEEE 2004 fue adoptado por
preponderancia del verbo “debería” la ISO / IEC con- cabo el cambio.
• Guías, con una preponderancia de la palabra Presumiblemente, la norma ISO / IEC adoptará
“podrá”. Ver- sión 3 de la Guía SWEBOK.
normas de origen activos para cada definición de Se define la construcción de un buen requisito,
manera que proporciona atributos y características de los
el uso de la expresión puede ser analizada requisitos, y discute la aplicación iterativa y
más. recursiva de los procesos de requisitos pasantes
a cabo el ciclo de vida. ISO / IEC / IEEE 29148:
2011 proporciona orientación adicional en la
El vocabulario es descriptiva, en lugar de aplicación de los procesos de requisitos de
prescriptivo; que recoge todas las definiciones ingeniería y gestión de las actividades de los
de todas las normas pertinentes, así como requisitos relacionados en la norma ISO / IEC
algunas otras fuentes, en lugar de elegir entre las 12207: 2008 e ISO / IEC 15288: 2008.
definiciones que compiten entre sí. Los elementos de información aplicables a la
El contenido de la norma 24765 es de libre ingeniería de requisitos y su contenido están
acceso en línea en www.computer.org/sevocab. definidos. El contenido de la norma ISO / IEC /
Dos estándares, 12207 y 15288, proporcionan un IEEE 29148: 2011 puede ser añadido al conjunto
conjunto completo de procesos de todo el ciclo existente de los procesos del ciclo de vida
de vida de un sistema o de un producto de relacionada REQUISITOS definidos por la
software. Los dos Standards están alineadas para norma ISO / IEC 12207: 2008 o ISO / IEC
su uso simultáneo en un solo proyecto o en una 15288: 2008, o puede ser utilizado de forma
sola organización. Se mencionan aquí porque se independiente.
utilizan a menudo como un marco para explicar o
localizar el papel de
otras normas en el ciclo de vida. Una norma ISO / IEC multiparte proporciona
prin- cipios y métodos para el software
“apresto”, basada en
sus requisitos. El tamaño funcional es a menudo
utilizar-
IEEE Std. 12207-2008 (también conocido como ful en el denominador de las mediciones de cali-
ISO / IEC 12207: 2008) dad y la productividad en el desarrollo de
Estándar para los sistemas y el software software. También puede desempeñar un papel
Ingeniería- Software Procesos del ciclo de vida en la contratación de los acuerdos de nivel de
Consulte Software Ingeniería de servicio.
Procesos KA
Estándar para los sistemas y el software ISO / IEC 14143 [seis partes] Información Tech-
Ingeniería- vida del sistema los procesos de ciclo gía-funcional de software de medición-Medida del
Consulte Software Ingeniería de tamaño
Procesos KA
ISO / IEC 14143 describe FSM (medida del
tamaño funcional). Los conceptosde la medición
REQUISITOS DE SOFTWARE de tamaño funcional (FSM) están diseñados para
superar las limitaciones de los métodos
La norma principal para la ingeniería de anteriores de dimensionamiento software
requisitos de software y sistemas es una nueva desplazando el foco lejos de la medición de
que sustituye varios estándares IEEE existentes. cómo el software se implementa para medir el
Se pro- porciona una visión amplia de la tamaño en términos de las funciones requeridas
ingeniería de requisitos a través de todo el ciclo por el usuario.
de vida.
Ingeniería de Requisitos
/ IEC / IEEE 29148 ISO: 2011 Sistemas y de
Ingeniería de Software-Life Cycle procesos de
ISO / IEC / IEEE 29148: 2011 contiene
disposiciones para los procesos y los productos Apéndice B B-7
FSM es a menudo conocido como “punto de
relacionados con la inge- niería de requisitos la función de cuenta.” Las cuatro normas que
para los sistemas y productos de software y figuran a continuación son métodos alternativas
servicios a lo largo del ciclo de vida. para poder punto de la función de cuenta, todo
cumplir con los requisitos de la norma ISO / IEC
14143. El método dominante, en términos de
cuota de mercado, es el método IFPUG, que se
describe en la norma ISO / IEC 20926. Otros
métodos están destinados variaciones para
mejorar la validez de la cuenta en diversas
circunstancias. Por ejemplo, ISO / IEC 19761-
cósmico es
SEGUNDO-8 Guía
SWEBOK® V3.0
grupos de interés. Esta norma está destinada norma es aplicable a la documentación del
para su uso en situaciones de cálculo en la que usuario para los sistemas de hardware
una descripción explícita de diseño de software incluyendo también.
es estar preparado. Estas situaciones incluyen
actividades tradicionales de construcción de
software (cuando el diseño conduce a código) y CONSTRUCCIÓN DEL SOFTWARE
situaciones de ingeniería inversa (cuando una
descripción del diseño se recupera de una El término “construcción de software” se refiere
implementación existente). Esta norma se puede a la creación detallada de software de trabajo,
aplicar a, cien- cien- comercial, militar o el significativa a través de una combinación de
software que se ejecuta en los ordenadores codificación, verificación, la unidad de pruebas,
digitales. Aplicabilidad no está limitado por el las pruebas de integración, y la depuración.
tamaño, la complejidad o criticidad del software. Hay pocas normas sobre los detalles de la
Esta norma puede ser aplicado a la descripción codificación de soft- ware. Se ha encontrado a
de alto nivel y diseños detallados. Este Dard través de (en su mayoría mala) experiencia de
Están- no prescribe metodologías específicas que las convenciones de codificación no son
para el diseño, gestión de la configuración, o la apropiados para la estandarización, ya que, en la
garantía de cali- dad. Esta norma no requiere el mayoría de los casos, el beneficio real viene de
uso de cualquier lenguaje de diseño particulares, la consistencia de la aplicación de una
pero esta- lishes requisitos en la selección de convención arbitraria en lugar de la propia
lenguajes de diseño para su uso en un SDD. Esta convención. Así, a pesar de las convenciones de
norma se puede aplicar a la preparación de los codificación son una buena idea, en general se
agentes de valores capturados como documentos deja a la organización o el proyecto para
en papel, bases de datos automatizadas, desarrollar un estándar tales.
herramientas de desarrollo de software, u otros Sin embargo, el tema de la codificación segura
medios de comunicación. ha atraído la atención en los últimos años debido
a que algunos lenguajes de codificación son
inseguros en la cara de ataque. Un informe
Por convención, este apéndice trata usuario técnico preparado por la norma ISO / IEC JTC 1
docu- mentación como parte de un sistema de / SC 22 (lenguajes de programación) describe
software. Por lo tanto, los diversos aspectos de nerabilities vul- en lenguajes de programación y
usuario Documentación- su diseño, su prueba, y cómo se puede evitar.
así sucesivamente-se asignan
a diferentes KAs. Los próximos Norma se ocupe deel
Codificación no es la única manera de crear IEEE Std. 1008-1987 estándar para el software de
un producto de software. A menudo código (así pruebas unitarias
como los requisitos y diseño) se vuelve a utilizar
en proyectos anteriores o Engineers neered para El objetivo principal es especificar un método
su reutilización en proyectos futuros. IEEE Std. estándar para la unidad de pruebas de software
1517 se menciona aquí, ya que proporciona un que puede ser utilizado como base para el
marco común para la ampliación de los procesos software de sonido Engineer- ing práctica. Un
del ciclo de vida del sistema y software de IEEE segundo objetivo es describir los conceptos de
Std. 12207: 2008 para incluir la práctica ingeniería de software y los supuestos de prueba
sistemática de la reutilización. en la que el enfoque estándar es
Apéndice B B-13
basado. Un tercer objetivo es proporcionar
dirección
IEEE Std. 1517-2010 estándar para la tecnología y la información de recursos para ayudar con la
de la información del sistema y del software-Vida puesta en imple- y el uso del enfoque de la
Procesos de reutilización de procesos de ciclo unidad de pruebas estándar.
Consulte Software Ingeniería de
Procesos KA
SEGUNDO-14 Guía
SWEBOK® V3.0
software y documentación del usuario, IEEE Std. 14764-2006 (también conocido como ISO
incluyendo proyec- gestores ect, expertos en / IEC 14764: 2006)
usabilidad y desarrolladores de información Estándar de Ciclo de Vida del Software Ingeniería
adicionales a los probadores y colaboradores. de Software-Procesos-Mantenimiento
ISO / IEC 14764: 2006 proporciona el marco en la ISO / IEC / IEEE Std. 24765 y los
dentro del cual se pueden ejecutar los planes de requisitos de elemento de información de IEEE
mantenimiento de software genéricas y Std. 15939.
específicas, evaluados y adaptados al ámbito
mantenimiento y la magnitud de los productos
de software dadas. Proporciona el marco, la ISO / IEC JTC 1 / SC 7 aún no ha
terminología precisa, y procesos para permitir la determinado qué medidas se deben tomar con
aplicación coherente de gía tecnolo- respecto a la nueva norma IEEE Std. 828. Hay
(herramientas, técnicas y métodos) para cuestiones relativas a la medida de la
mantenimiento de software. compatibilidad con la norma ISO / IEC / IEEE
No se refiere a la operación del software y las 12207 y otras normas en la suite SC 7. Cabe
funciones operativas, por ejemplo, copia de señalar, sin embargo, que SC 7 no tiene un
seguridad, recuperación y administración del estándar de competencia.
sistema, que normalmente se lleva a cabo por
aquellos que operan el software. GESTIÓN DE INGENIERÍA DE
ISO / IEC 14764: 2006 está dirigido SOFTWARE
principalmente a los encargados del
mantenimiento de software y, además, para los La mayoría de los lectores interpretar la
responsables del desarrollo y Ance assur- expresión “gestión de la ingeniería de software”
calidad. También puede ser utilizado por los en el sentido de la gestión de un proyecto que se
adquirentes y usuarios de sistemas que contienen refiere el software. Hay al menos dos posibles
software, que pueden proporcionar insumos para extensiones a este eralization ge-, sin embargo.
el plan de mantenimiento. Algunas de las actividades de software se
gestionan de acuerdo con un acuerdo de nivel de
servicio (SLA). SLA no cumplen con los
Software Configuration Management criterios de “pro- yecto” de acuerdo con algunas
definiciones. También, se ha convertido en un
Thereisonestandardfor acuerdo general de que algunos gestión de
configuración software debe ocurrir en la organización a un
administración. nivel por encima del proyecto, por lo que todos
los proyectos se pueden beneficiar de una
inversión común. Un ejemplo comúnmente
citado es la provisión de pro- software
cesos y herramientas de la organización.
IEEE Std. 828-2012 estándar para la configuración gestión de proyectos de software puede ser
Gestión de Sistemas e Ingeniería de Software considerado como una especialización de
“gestión de proyectos” - a menudo considerado
Esta norma establece las exigencias mínimas como una disciplina distinta. Guía del Instituto
para los procedimientos de gestión de la de Gestión de Proyectos para la Dirección de
configuración (CM) en los sistemas e ingeniería Proyectos (Guía del PMBOK®) es a menudo
de software. La aplicación de esta norma se considerado como la fuente autorizada para este
aplica a cualquier forma, clase o tipo de software conocimiento. De vez en cuando, IEEE adopta la
o sistema. Esta revisión de la norma amplía la versión más reciente de la Guía PMBOK ®
versión anterior para explicar CM, incluyendo la como un estándar IEEE.
identificación y adquisición
los elementos de configuración, el control de cambios, informe-
ing el estado de los elementos de configuración, que CM actividades se van a hacer, cuando están
así como el software construye y liberar la a suceder en el ciclo de vida, y qué planificación y
ingeniería. Su predece- predefinido sólo el se requieren recursos. También se describen las
contenido de un plan de gestión de áreas de contenido para un plan de CM. Los
configuración de software. Esta norma aborda lo puertos SUP- estándar ISO / IEC / IEEE 12207:
2008 e ISO / IEC / IEEE 15288: 2008 y se adhiere
a la terminología Apéndice
IEEE Std. 1490-2011 Guía-Aprobación B B-17
del Project
Management Institute (PMI ®) estándar, Una
Guía para la Gestión de Proyectos El conocimiento
(Guía del PMBOK®) -Cuarto Edición
ción y / o el equipo de gestión de proyectos es IEEE Std. 16085-2006 (también conocido como ISO
respon- sable para determinar lo que es / IEC 16085: 2006)
apropiado para cualquier proyecto dado. La Guía Estándar para los sistemas y el software
del PMBOK® también proporciona y promueve Ingeniería- vida del software de Procesos-Riesgos
un vocabulario común dentro de la profesión de ciclo de gestión
gestión de proyectos para la discusión, la
escritura y la aplicación de conceptos de gestión ISO / IEC 16085: 2006 define un proceso para la
de proyectos. Tal vocabulario estándar es un gestión del riesgo en el ciclo de vida. Se puede
elemento esencial de una disciplina profesional. añadir al conjunto existente de los procesos del
El Project Management Institute (PMI) ciclo de vida del software del sistema y
considera que esta norma como referencia definidos por la norma ISO / IEC 15288 y ISO /
fundamental la gestión de proyectos para sus IEC 12207, o puede ser utilizado
programas y certificaciones de desarrollo independientemente.
profesional. ISO / IEC 16085: 2006 puede ser aplicado
igualmente a
sistemas y software.
Las revisiones de la norma ISO / IEC / IEEE El propósito de la gestión de riesgos es iden-
2008 12207 y 15288 proporcionan los procesos potenciales problemas de gestión y técnicas
de gestión de proyectos de software y sistemas y tificar antes de que ocurran de manera que se
relacionarlos con los procesos a nivel de pueden tomar medidas que reducen o eliminan la
organización, así como los procesos gías Nical. probabilidad y / o el impacto de estos problemas
El desarrollaron conjuntamente norma 16326, en que puedan producirse. Es una herramienta de
sustitución de dos normas más antiguas, amplía cal criti- para determinar continuamente la viabi-
estas disposiciones con orientación para su lidad de los planes de proyecto, para mejorar la
aplicación. búsqueda e identificación de problemas
potenciales que pueden afectar a las actividades
del ciclo de vida y la calidad y rendimiento de
los productos, y para mejorar la gestión activa de
proyectos .
discusión y asesoramiento sobre la aplicación de ware y blandas como cubiertos por la norma ISO /
un conjunto de procesos pro- yecto que son IEC 12207: 2008 (IEEE Std 12207-2008.) e ISO /
comunes tanto para el ciclo de vida del sistema IEC
15288: 2008 (IEEE Std 15.288-2008.), IEEE Std. 15939-2008 La adopción del Apéndice
estándar B B-19
Respectivamente. La discusión y consejos están ISO / IEC 15939: 2007 Sistemas y Procesos
destinados a ayudar en la preparación del ingeniería de software-Medición
contenido normativo de los planes de gestión de
proyectos. ISO / IEC / IEEE 16326: 2009 es el ISO / IEC 15939 define un proceso de medición
resultado de la armonización de la norma ISO / aplicables a sistema y ingeniería de software y
IEC TR 16326: 1999 e IEEE Std. 1058-1998. disciplinas de gestión. El proceso se describe a
través de un modelo que define las activi- dades
del proceso de medición que se requieren para
especificar adecuadamente lo que se requiere
informa- ción de medición, cómo se pueden
aplicar a las medidas y análi- sis resultados, y
cómo determinar
Apéndice B B-11
si los resultados del análisis son válidos. El para producir o gestionar la documentación, y se
proceso de medición es flexible, tailorable, y aplica tanto a la documentación impresa y la
adaptable a las necesidades de diferentes documentación en pantalla. Gran parte de su
usuarios. orientación es aplicable a la documentación del
ISO / IEC 15939: 2007 identifica un proceso usuario para los sistemas que incluyen utensilios
que es compatible con la definición de un de hardware así como software.
conjunto adecuado de medidas que aborden las
necesidades de información específica. En él se
identifican las actividades y tareas que son A veces, el software o los componentes del
necesarias para éxito- totalmente identificar, sistema se adquieren en lugar de desarrollarse.
definir, seleccionar, aplicar y mejorar la
medición dentro de un proyecto global o la
estructura de medición zational orga-. También
proporciona
definiciones de los términos de medición comúnmente usado
dentro de las industrias de sistemas y IEEE Std. 1062-1998 Práctica Recomendada para
software. la adquisición de software
software documentación del usuario. Estos mejora de las prácticas. Por ejemplo, se podría
requisitos son esenciales para la especificación pro- poner una práctica mejorada para el
de documentos del usuario y declaración de software de análisis de los requisitos. Un
trabajo. Incluye requisitos para salidas de tratamiento ingenuo podría relacionar la
documentos primarios del proceso de descripción a una etapa temprana del modelo del
adquisición y suministro: la solicitud de ciclo de vida. Un enfoque superior es para
propuesta y la propuesta de productos y describir la práctica en el contexto de un proceso
servicios de documentación del usuario. que puede ser aplicado en cualquier etapa del
También se analiza el uso de un plan de gestión ciclo de vida. El proceso de análisis de
de la documentación y la de un plan de requisitos, por ejemplo, es preciso proceder a la
documento a medida que surjan en los procesos etapa de desarrollo, para el mantenimiento, y
de adquisición y suministro. ISO / IEC / IEEE con frecuencia para el retiro, por lo que una
26512: 2011 es independiente de las mejora de la práctica se describe en términos del
herramientas de software que pueden ser proceso de análisis de requisitos se puede aplicar
utilizados para producir la documentación y se a cualquiera de estas etapas.
aplica tanto a la documentación impresa y la Las dos normas principales son la norma ISO /
documentación en pantalla. Gran parte de su IEC / IEEE 12207, los procesos de ciclo de vida
orientación es aplicable a la documentación del del software, e ISO / IEC / IEEE 15288, la vida
usuario para los sistemas que incluyen hardware, del sistema los procesos de ciclo. Las dos
así como el software. normas tienen historias distintas, pero ambos
fueron revisados en 2008 para alinear sus pro-
cesos, lo que permite su uso interoperable a
Se mencionan las siguientes dos normas aquí, través de un amplio espectro de proyectos que
porque proporcionan información utilizada en la van desde un componente de software autónomo
toma de decisiones ción manage-. a un sistema con contenido de software ligible
neg. Ambos están siendo revisados
de nuevo con la intención de que contiene una
idéntico
IEEE Std. 1028-2008 estándar para las revisiones lista de procesos, pero con disposiciones
de software y auditorías especializadas para las respectivas disciplinas.
Ver la calidad del
software KA
IEEE Std. 12207-2008 (también conocido como ISO
IEEE Std. 1061-1998 Estándar de Calidad de / IEC 12207: 2008)
Software Metodología Métrica Estándar para los sistemas y el software
Ver la calidad del Ingeniería- Software Procesos del ciclo de vida
software KA
ISO / IEC 12207: 2008 establece un marco
común para los procesos del ciclo de vida del
La siguiente norma se menciona, ya que software, con la terminología bien definida que
incluye el papel del gerente en el desarrollo de puede ser referenciado por la industria del
documentación de usuario en un proyecto ágil. software.
ISO / IEC 12207: 2008 se aplica a la adquisi-
ción de los sistemas y productos de software y
ser-
ISO / IEC / IEEE 26515: 2012 Sistemas y de SOFTWARE INGENIERÍA DE PROCESOS
Ingeniería de Software-El desarrollo de
documentación del usuario en un entorno ágil procesos de software e ingeniería de sistemas son
Ver Modelos de Ingeniería de fundamentales para la normalización de esas dos
Software y disciplinas, no sólo porque muchos están intere-
métodos KA sadas en la mejora de procesos, sino también
porque los procesos son eficaces para la
descripción de
SEGUNDO-14
vicios y conGuíael suministro, desarrollo,
SWEBOK® V3.0
operación, mantenimiento y eliminación de
productos de software y la parte de software de
un sistema, ya sea interna o externamente a
cabo a una organiza- ción. se incluyen aquellos
aspectos de la definición del sistema necesario
para proporcionar el contexto para los
productos y servicios de software.
ISO / IEC 12207: 2008 proporciona también
un procedimiento que puede ser empleado para
definir, controlar y mejorar los procesos del
ciclo de vida del software.
Los procesos, actividades y tareas de la
norma ISO / IEC 12207: 2008, ya sea solo o en
combinación con la norma ISO / IEC 15288-
también puede ser aplicado durante la
adquisición de un sistema que contiene el
software.
Apéndice B B-15
aplicar ese elemento del sistema. IEEE Std. 24748,2-2012 Guía de implantación de
ISO / IEC 15288: 2008 e ISO / IEC 12207: la norma ISO / IEC TR 24748-2: 2011 Sistemas y
2008 Software Inge- niería-Life Management-Parte 2
están armonizadas para el uso simultáneo en Ciclo: Guía para la aplicación de la norma ISO /
un solo proyecto o en una sola organización. IEC 15288 (Procesos del ciclo de vida del sistema)
ISO / IEC / IEEE 15289: 2011 proporciona los IEEE Std. 24.748,3-2012 Guía de implantación de
requisitos para la identificación y planificación la norma ISO / IEC TR 24748-3: 2011 Sistemas y
de la específica Software
Apéndice B B-17
Las normas 12207 y 15288 proporcionan Un marco común para la ampliación de los
cesos pro que cubren el ciclo de vida, pero que procesos del ciclo de vida del sistema y software
no proporcionan un modelo estándar de ciclo de de IEEE Std. 12207: 2008 para incluir se
vida (cascada, la entrega incrementales, proporciona la práctica sistemática de la
prototipo impulsado, etc). La selección de un reutilización. Los procesos, actividades y tareas
modelo de ciclo de vida apropiado para un que deben aplicarse durante cada proceso de
proyecto es una de las principales ciclo de vida para permitir a un sistema y / o
preocupaciones de la norma ISO / IEC 24748-1. producto para ser construido a partir de los
activos reutilizables se especifican.
Los procesos, actividades y tareas a
habilitar
IEEE Std. 24.748,1-2011 Guía de implantación de la identificación, construcción, mantenimiento y
la norma ISO / IEC TR 24748-1: 2010 niería-Life gestión de los bienes suministrados también se
Cycle Management-Parte Sistemas y Software especifican.
Inge- 1: Guía para la Gestión del Ciclo de Vida
ISO / IEC TR 24748-1 proporciona información IEEE Std. 1220 ha sido ampliamente aplicado
sobre los conceptos de ciclo de vida y las como un proceso de ingeniería de sistemas y fue
descripciones de las poses PUR y los resultados adoptado por la norma ISO / IEC 26702. con el
de las etapas del ciclo de vida representativos. número Desafortunadamente, la norma no es
También ilustra el uso de un modelo de ciclo de totalmente compatible con la norma ISO / IEC /
vida para los sistemas en el contexto de la norma IEEE 15288 y está siendo revisada para resolver
ISO / IEC 15288 y proporciona una ilustración ese problema. El resultado será publicado como
correspondiente de la utilización de un modelo ISO / IEC / IEEE 24748-4.
de ciclo de vida para el software en el contexto
de la norma ISO / IEC 12207. ISO / IEC TR
24748- 1
además proporciona una discusión detallada y
asesoramiento sobre la adaptación de un modelo versiones anteriores y actuales de ISO / IEC
de ciclo de vida para su uso en un proyecto 12207 y ISO / IEC 15288, así como consejos
específico y entorno de la organización. Se sobre la transición de antes de las versiones
proporciona orientación adicional sobre el ciclo actuales y sobre el uso de sus guías de aplicación.
de vida modelo de uso de los ámbitos, La dis- cusión y asesoramiento están destinadas a
disciplinas y especialidades. ISO / IEC TR proporcionar un modelo de referen- cia para los
24748-1 da una comparación detallada entre las modelos de ciclo de vida, facilitar el uso de la
SEGUNDO-18 Guía
versión actualizada de la norma ISO / IEC IEEE Std. 1220-2005 (también conocido como ISO /
SWEBOK® V3.0 IEC 26702: 2007)
15288 e ISO / IEC 12207, y proporcionar un
marco para el desarrollo de Estándar para la aplicación y gestión del proceso
de Ingeniería de Sistemas
que el producto está correctamente diseñado A VSE podría obtener una ISO / IEC 29110
para que sea asequible para producir, poseer, certifica- ción. El conjunto de informes técnicos
operar, mantener y eventualmente gastar sin está disponible sin costo alguno en el sitio web
riesgos indebidos para la salud o el medio de la ISO. Muchos ISO 29110 documentos están
ambiente. disponibles en Inglés, Español, tugueses Por-,
japonés y francés.
IEEE Std. 24774-2012 Guía de implantación de la ISO / IEC TR 29110-5-1-2: 2011 es aplicable a
norma ISO / IEC TR 24474: 2010 Sistemas y entidades muy pequeñas (MPE). Un VSE se
ingeniería de software-Life Cycle Management- define como una empresa, organización,
Directrices para Pro- ceso Descripción departamento, o pro- yecto que tiene hasta 25
personas. Un conjunto de normas y guías se ha
Un número cada vez mayor de, y las normas desarrollado de acuerdo con un conjunto de
internacionales, nacionales industria de procesos características y necesidades MPE. Las guías se
mode- los describa. Estos modelos son basan en subconjuntos de estándares apropiados
desarrollados para una serie de propósitos, ele- mentos, conocidos como perfiles VSE. El
incluyendo la implementación de procesos y propósito de un perfil VSE es definir un
evaluación. Los términos y las descripciones subconjunto de las normas internacionales ISO /
utilizadas en tales modelos varían en formato, IEC pertinentes al contexto las empresas muy
contenido y nivel de prescripción. ISO / IEC TR pequeñas.
24774: 2010 PRESION ents directrices para los ISO / IEC TR 29110-5-1-2: 2011 proporciona
elementos utilizados más fre- cuentemente en la la guía de gestión e ingeniería para el perfil VSE
descripción de un proceso: el título, PUR pose, base aplicable a empresas muy pequeñas que no
resultados, actividades, tareas y elemento de desarrollan software crítico. El grupo de perfil
información. Mientras que el propósito primario genérico no implica ningún dominio de
de ISO / IEC TR 24774: 2010 es fomentar la aplicación específica.
coherencia en modelos de referencia proceso
Dard Standards, las directrices que proporciona
se pueden aplicar a cualquier modelo de proceso El siguiente estándar puede ser visto como una
desarrollado para cualquier propósito. alternativa a 12207 para proyectos individuales.
La norma de 1074, explica cómo definir los
procesos para su uso en un proyecto
Una muy pequeña entidad (VSE) es una determinado. Las normas 12207 y 15288, sin
empresa, una organización, un departamento o embargo, se centran en la definición de procesos
un proyecto que tiene hasta 25 personas. La serie para la adopción de la organización y el uso
29110 ISO / IEC “pro” archivos grandes, tales repetido en muchos proyectos. La corriente 1074
como las normas ISO / IEC 12207 para el es la actualización de una norma que fue un
software y la norma ISO / IEC 15288 para precursor de 12207.
sistemas, en otras más pequeñas para las MPE.
ISO 29110 es aplicable a
VSE que no desarrollan sistemas críticos o criti-
software de cal. Perfiles proporcionan una hoja ISO / IEC 29110 serie de normas e informes
de ruta que permite una puesta en marcha a técnicos son el blanco de la audiencia tales como
crecer un paso a la vez usando las guías de las microempresas, los clientes o los auditores.
gestión y de ingeniería ISO 29110. ISO / IEC 29110 no pretende excluir el uso de
SEGUNDO-20 Guíaciclos
diferentes de vida se acerca, como la IEEE Std. 1074-2006 estándar para desarrollar un
SWEBOK® V3.0
cascada, iterativo e incremental, evolutivo, o proceso del ciclo de vida del software del proyecto
ágil.
Esta norma proporciona un proceso para la
creación de un proceso del ciclo de vida del
proyecto de software (SPLCP). Está dirigida
principalmente a los del arquitecto proceso para
un proyecto de software determinado.
Apéndice B B-21
Todas las normas descritas hasta ahora en esta • es aplicable en todos los dominios de
sec- ción proporcionar una base para la aplicación
definición de procesos. Algunos usuarios están y tamaños de organización; y
interesados en la evaluación y la mejora de sus • mayprovideanobjectivebenchmark entre las
procesos después de la implementación. La serie organizaciones.
15504 prevé la evaluación del proceso; que
actualmente es de ser revisado y pasa a ser El conjunto mínimo de requisitos definidos en
330xx. la norma ISO / IEC 15504-2: 2003 asegura que la
evaluación
resultados son objetiva, imparcial, consistente,
repetibilidad
ISO / IEC 15504 [diez partes] Evaluación capaz, y representante de los procesos
Información Tech- gía-Proceso evaluados. Resultados de las evaluaciones de
proceso conformes pueden compararse cuando
ISO / IEC 15504-2: 2003 define los requisitos se consideran los alcances de las evaluaciones a
para realizar la evaluación de proceso como base ser similares; para obtener orientación sobre este
para su uso en la mejora de procesos y la tema, consulte la norma ISO / IEC 15504-4.
determinación de la capacidad.
evaluación de proceso se basa en un modelo
sional de dos dimen- que contiene una Se mencionan varias otras normas aquí porque
dimensión de proceso y una dimensión de están escritos como elaboraciones de los
capacidad. La dimensión proceso es procesos de 12207 o 15288. Están asignados a
proporcionado por un modelo de referencia de otras KAs debido a que cada uno se ocupa de
proceso externo (tal como 12.207 o 15.288), que temas descritos en los otros KAs.
define un conjunto de procesos que se
caracteriza por los estados de proceso
propósito y el proceso resultados. loscapacidad
dimensión consiste en un marco de medición capacidad;
que comprende seis niveles de capacidad del • tiene en cuenta el contexto en el que la
proceso y sus atributos de proceso asociados. proceso evaluado se implementa;
La salida de evaluación consta de un conjunto • produce una calificación de proceso;
de puntuaciones de atributos proceso para cada • aborda la capacidad del proceso para lograr
proceso evaluado, denominado el perfil de su propósito;
proceso, y también puede incluir el nivel de
capacidad alcanzado por ese proceso.
ISO / IEC 15504-2: 2003 define el marco
medi- ción de la capacidad del proceso y los
requisitos para
• facilita la autoevaluación;
• proporciona una base para uso en el proceso
de mejora ment y determinación de la
SEGUNDO-22 Guía estándar para la configuración
IEEE Std. 828-2012
SWEBOK® V3.0
Gestión de Sistemas e Ingeniería de Software
Consulte Gestión de la Configuración de
Software KA
ISO / IEC / IEEE 16326: 2009 Sistemas y Cesión ejemplo. Ni tampoco S2ESC SC 7 tiene un
de Software Ingeniería de Procesos-Life-Cycle estándar para el desarrollo ágil, pero no existe un
Gestión de Proyectos estándar para el desarrollo de documentación de
Consulte Software Engineering usuario en un proyecto ágil.
Management KA
comprensión, el análisis de apoyo, proporcionan Las siguientes dos normas proporcionan dos
la lógica de los cambios potenciales, especificar versiones de
necesidades, y el diseño de apoyo a nivel de el lenguaje UML.
sistema y activi- integración
corbatas. IDEF0 se puede usar para modelar una ampliavariedad
de sistemas, compuestos por personas, ISO / IEC 19501: 2005 Información Tecnología
máquinas, mate- riales, las computadoras y la distribuido abierto Modeling Language (UML)
información de todas las variedades, y Versión 1.4.2 Procesamiento-Unificado
estructuradas por las relaciones entre ellos, tanto
automatizados y no automatizados. Para los ISO / IEC 19501 describe el Modelo- Unificado
nuevos siste- mas, IDEF0 puede ser utilizado ing Language (UML), un lenguaje gráfico para
por primera vez para definir los requisitos y visualizar, especificar, construir y documentando
especificar las funciones a realizar por el sistema los artefactos de un sis- tema intensivos en
futuro. Como base de esta arquitectura, IDEF0 software. El UML ofrece una forma estándar
continuación, se puede utilizar para diseñar una para escribir planos de un sistema, incluyendo
aplicación que cumple con estos requisitos y cosas conceptuales tales como procesos de
realiza estas funciones. Para siste- mas negocio y funciones del sistema, así como las
existentes, IDEF0 se puede utilizar para analizar cosas concretas, tales como instrucciones de
las funciones que el sistema funciona y para lenguaje de programación, esquemas de bases de
grabar los medios por los cuales estos se datos y componentes de software capaces Reus-.
realizan.
ISO / IEC 19505: 2012 [dos partes] Grupo de
IEEE Std. 1320,2-1998 estándar para Modelado Gestión de la Información Tech- nology-Objeto
Conceptual Idioma-sintaxis y la semántica de Unificado Modelo- ing Language (UML del OMG)
IDEF1X97 (IDEFobject)
ISO / IEC 19505 define el Unified Modeling
IDEF1X 97 consta de dos lenguajes de Language (UML), revisión 2. El objetivo de
modelado conceptual. El lenguaje de estilo clave UML es proporcionar arquitectos de sistemas,
soporta el modelado de datos / información y es ingenieros de software y desarrolladores de
a la baja COMPATIBLES con el estándar del software con herramientas para el análisis,
gobierno de Estados Unidos 1993, FIPS PUB diseño e implementación de sistemas basados en
184. El lenguaje de estilo identidad se basa en el software, así como para modelado de negocios y
modelo de objetos con las reglas y restricciones procesos similares.
declarativas. IDEF1X 97 estilo identidad incluye
construcciones para los componentes distintos
pero relacionados de abstracción objeto: Dos estándares más construyen sobre la base
interfaz, solicitudes y realización; utiliza de UML para proporcionar capacidades de
gráficos para indicar la interfaz; y define un modelado adicionales:
lenguaje de reglas y la restricción declarativa,
directamente ejecutable para solicitudes y
realiza- ciones. IDEF1X 97 soportes de
modelado conceptual
aplicación por bases de datos relacionales, extendido
proyectos que involucran sistemas de software Dentro de los sistemas e ingeniería de software,
existentes asegurando la interoperabilidad y el ingeniería com- putadora asistido por software
intercambio de datos entre las herramientas (CASE) representan una parte importante de las
proporcionadas por diferentes proveedores. tecnolo- gías de apoyo utilizados para desarrollar
y mantener sistemas de tecnología de informa-
ISO / IEC 19507: 2012 Tecnología de Información ción. Su selección debe llevarse a cabo con una
Object Management Group Object Constraint cuidadosa consideración de tanto los requisitos
LANGUAGE (OCL) técnicos y de gestión.
ISO / IEC 14102: 2008 define tanto un
ISO / IEC 19507: 2012 define el objeto Con- conjunto de cesos pro y un conjunto estructurado
Idioma straint (OCL), versión 2.3.1. OCL de herramienta del caso de carac- terísticas para
versión 2.3.1 es la versión de OCL que está su uso en la evaluación técnica y la selección
alineado con UML 2.3 y 2.0 MOF. final de una herramienta CASE. De ello se sigue
el modelo de evaluación de productos de
software se define en la norma ISO / IEC 14598-
Algunas organizaciones invierten en entornos 5: 1998.
de software niería niería (SEE) para ayudar en la ISO / IEC 14102: 2008 adopta el modelo
construcción de software. Un SEE, per se, no es general de las características de calidad de
un sustituto de los procesos de sonido. Sin producto de software y subcaracterísticas
embargo, un VER adecuada debe ser compatible definidas en la norma ISO / IEC 9126- 1: 2001 y
con los procesos que han sido elegidos por la se extiende estos cuando el producto de software
organización. es una herramienta CASE; que proporciona
carac- terísticas de productos únicos para
herramientas CASE.
Dentro de un entorno de ingeniería de para la aplicación de la norma ISO 9001: 2000 para
software, es importante para las diversas Programas informáticos
herramientas para interoperar. Las siguientes
normas proporcionan un esquema para la ISO / IEC 90003 proporciona una guía para
interconexión. organiza- ciones en la aplicación de la norma
ISO 9001: 2000 para la
adquisición, suministro, desarrollo, operación, y
IEEE Std. 1.175,1-2002 Guía para la caja de
herramienta Inter-
conexiones de Clasificación y Descripción
Aunque el alcance del modelo de calidad del Evaluación del formato (cuadrados) Industria -
producto está destinado a ser software y sistemas Common (CIF) de la Usabilidad
informáticos, muchas de las características
también son Evant rel a los sistemas y servicios Una familia de estándares internacionales,
más amplios. designados con la industria de formatos comunes
ISO / IEC 25012 contiene un modelo para (CIF), documenta la especificación y evaluación
cali- datos de la usabilidad de los sistemas interactivos.
dad que es complementaria a este modelo. Proporciona una visión general general del
El alcance de los modelos excluye marco CIF y contenidos, defini- ciones, y la
propiedades puramente funcionales, pero incluye relación de mentos el marco ele-. Los usuarios
idoneidad funcional. previstos del marco se identifican, así como las
El ámbito de aplicación de los modelos de situaciones en las que el marco se puede aplicar.
calidad incluye el apoyo a la especificación y Los supuestos y las limitaciones del marco
evaluación de software y de software intensivo también se enumeran. El contenido de marco
Systematic informáticos TEMS desde diferentes incluye lo siguiente:
perspectivas por aquellos que están asociados
con su adquisición, requisitos, desarrollo, uso, • terminología coherente y clasificación de
evaluación, apoyo, manteni- miento, la calidad especificación, evaluación y presentación de
aseguramiento y control y auditoría. Los informes;
modelos pueden ser, por ejemplo, ser usado para • una definición del tipo y alcance de los
operadores desa-, adquirentes, garantía de formatos y la estructura de alto nivel que se
calidad y personal de control, y los evaluadores utilizará para documentar la información
independientes, en particular los responsables de requerida y los resultados de la evaluación.
especificar y evaluar la calidad del producto de
software. Las actividades durante el desarrollo La familia de normas CIF es aplicable a los
de pro- ducto que pueden beneficiarse de la productos de software y hardware utilizados para
utilización de los modelos de calidad incluyen la pre- tareas definidas. Los elementos de
información están destinadas a ser utilizado
• la identificación de los requisitos de como parte de la documentación de nivel de
software y del sistema; sistema resultante de los procesos de desarrollo
• la validación de la amplitud de una tales como los que en la norma ISO 9241 a 210
definición de requisitos; y ISO / IEC JTC 1 / SC estándares 7 de proceso.
• la identificación de software y sistema de La familia CIF centra en documentar aquellos
diseño elementos necesarios para el diseño y desarrollo
objetivos; de sistemas utilizables, en lugar de prescribir un
• la identificación de software y sistema de proceso específico. Está destinado a ser utilizado
prueba en conjunción con las normas internacionales
objetivos; existentes, INCLUYENDO ISO 9241, ISO
• la identificación de los criterios de control 20282, ISO / IEC 9126, y
de calidad como parte de la serie cuadrada (ISO / IEC 25000 a ISO / IEC
seguro de calidad; 25099).
• la identificación de los criterios de La familia de normas CIF no prescribe
aceptación para un producto de software y / cualquier tipo de método, ciclo de vida o
o el sistema informático de software proceso.
intensivo;
• el establecimiento de medidas de calidad
tics carac- en apoyo de estas actividades.
para denotar una medida definida por una Un enfoque para el logro de la calidad del
ecuación matemática. El desacuerdo sobre el uso software es llevar a cabo un amplio programa de
de estas palabras significa que las normas sobre verificación y validación. IEEE Std. 1012 es
la materia son inherentemente no alineado. Unos probablemente estándar más ampliamente
pocos se verá más adelante, pero las palabras aplicada del mundo en esta sub-Ject. Una
como los mencionados más arriba pueden tener revisión se publicó recientemente.
diferentes significados en diferentes estándares.
serie 250xx ISO / IEC descrito anteriormente. IEEE Std. 1028-2008 estándar para las revisiones
Su terminología difiere de la serie ISO / IEC, de software y auditorías
pero es sustancialmente más compacto.
Cinco tipos de revisiones de software y
auditorías,
junto con los procedimientos necesarios para la
ejecu-
IEEE Std. 1061-1998 Estándar de Calidad de se define una metodología para establecer los
Software Metodología Métrica requisitos de calidad y definición, ejecución,
análisis y validación de las métricas de calidad de
SEGUNDO-36
procesoGuía
y de producto de software. La ción de cada tipo, se definen en esta norma. Esta
SWEBOK® V3.0
metodología abarca todo el ciclo de vida del norma se refiere únicamente a las revisiones y
software. auditorías; procedimientos para la determinación
de la sidad nece- de una revisión o auditoría no
están definidos, y la disposición de los
resultados de la revisión o auditoría no se
especifica. Tipos incluidos son revisiones de la
dirección, revisiones técnicas, inspecciones,
walk-through, y auditorías.
Apéndice B B-37
En muchos casos, una base de datos de utilizar de cada parte y el uso combinado de
software de anoma- reside se utiliza para apoyar múltiples partes. La cobertura de la garantía para
las actividades de verificación y validación. La un servicio que es operado y administrado de
siguiente norma sugiere cómo deben clasificarse forma continua no está cubierto en la norma ISO
anomalías. / IEC 15026.
IEEE Std. 1044-2009 norma para la clasificación La segunda parte de la norma describe la
de estructura de un “caso de aseguramiento”, que
Las anomalías de software pretende ser un argumento estructurado que la
propiedad crítica se ha logrado. Es una
Esta norma proporciona un enfoque uniforme generalización de diversos constructos
para la clasificación de las anomalías de específicos de dominio como “casos de
software, independientemente del momento en seguridad”.
que se originan o cuando se encuen-
cados dentro del proyecto, producto o sistema de vida
ciclo. Los datos de clasificación pueden ser IEEE Std. 15026,2-2.011 adopción del estándar
utilizados para una varie- dad de propósitos, ISO / IEC 15026-2: 2011 Sistemas y ingeniería de
incluyendo causal defecto análi- sis, gestión de software-Systems y Software Assurance-Parte 2:
proyectos, y la mejora de procesos de software Aseguramiento de la caja
(por ejemplo, para reducir la probabilidad de
inserción de defectos y / o aumentar la ISO / IEC 15026-2: 2011 es adoptada por esta
probabilidad de detección de defectos Dard Están-. ISO / IEC 15026-2: 2011 especifica
temprano). los requisitos mínimos para la estructura y
contenido de un caso de garantía para mejorar la
coherencia y la comparabilidad de los casos de
En algunos sistemas, una propiedad particular aseguramiento y para faci- comunicaciones tate
del software es tan importante que requiere un interesados, las decisiones de ingeniería y otros
tratamiento especial más allá de la usos de los casos de aseguramiento. Un caso de
proporcionada por un programa de verificación aseguramiento incluye un reclamo de primer
y validación convencional. El término nivel para una propiedad de un sistema o
emergente para este tipo de tratamiento es “siste- producto (o un conjunto de reclamaciones), la
mas de garantía de software.” Los ejemplos argumentación sistemática con respecto a esta
incluyen la seguridad, la privacidad, de alta reclamación, y la evidencia y supuestos
seguridad, y ultrareliability. La norma 15026 explícitos que subyacen a esta argumentación.
está en desarrollo para hacer frente a tales Discutiendo a través de múltiples niveles de las
situaciones. La primera parte del estándar de reivindicaciones subordinadas, esta
cuatro partes ofrece la terminología y los argumentación estructurado conecta la
conceptos utilizados en las partes restantes. Fue reclamación de nivel superior para las pruebas y
escrito antes de las otras partes y ahora está supuestos. casos de Aseguramiento
siendo revisada para el acuerdo com- pleta con generalmente se desarrollaron para apoyar las
los otros. reivindicaciones en áreas tales como la
seguridad, la fiabilidad, maintain-
capacidad, factores humanos, operatividad y
seguridad,
IEEE Std. ción 15026,1-2.011 Trial-Uso estándar ISO / IEC TR 15026-1: 2010, que define los
adopción de la norma ISO / IEC TR 15026-1: 2010 términos y esta- lishes un conjunto amplio y
Sistemas y de Software Ingeniería de Software- organizado de los conceptos y sus relaciones para
Systems y aseguramiento de la-Parte 1: Conceptos el software y los sistemas de seguridad,
y Vocabulario estableciendo así una base para la comprensión
común de los conceptos y cen- tral principios de
Este estándar de prueba de uso adopta la norma la norma ISO / IEC 15026 a través de sus comu-
SEGUNDO-38 Guía
nidades de usuarios.Proporciona información a Aunque estos casos de garantía son a menudo
SWEBOK® V3.0
los usuarios de las partes subsecuentes de la llamados por los nombres más específicos, por
norma ISO / IEC 15026, incluyendo la ejemplo, el caso de seguridad o la fiabilidad de
dichas y mantenibilidad caso (R & M). ISO /
IEC 15026-2: 2011 no impone requisitos sobre
la calidad de los contenidos de un caso de
garantía y no requiere el uso de una terminología
particular o de representación gráfica. Así
mismo, no impone requisitos sobre los medios
de implementación física de los datos, incluidos
los requisitos para la redundancia o la
colocación.
para demostrar la consecución del nivel de ISO / IEC 15026-4: 2012 Sistemas y Software Inge-
integridad. Se coloca requisitos sobre y niería-Sistemas y de Software Assurance-Parte 4:
recomienda ods met para la definición y el uso Control de calidad en el ciclo de vida
de los niveles de integridad y de sus requisitos
de nivel de integridad, incluyendo la asignación Esta parte de la norma ISO / IEC 15026
de niveles de integridad a los sistemas, proporciona orientación y recomendaciones para
productos de artículos blandos, sus elementos, y la realización de pro- cesos seleccionados,
dependencias exter- nos pertinentes. actividades y tareas para los sistemas y
ISO / IEC 15026-3: 2011 es aplicable a los productos de software que requieren las
siste- mas de software y está diseñada para uso reclamaciones de garantía de las propiedades
por: seleccionadas de una atención especial, llamadas
propiedades críticas. Esta parte de la norma ISO
• definidores de los niveles de integridad, / IEC 15026 especifica una lista erty
tales como organizaciones de la industria y independiente prop- de procesos, actividades y
profesionales, organizaciones de estándares tareas para lograr la reclamación y mostrar el
y agencias gubernamentales; logro de la reclamación. Esta parte de la norma
• usuarios de los niveles de integridad como ISO / IEC 15026 establece los procesos,
desarrolladores y mantenedores, actividades, tareas, orientación y
proveedores y compradores, usuarios y recomendaciones en el contexto de un modelo
asesores de sistemas o software, y para el de ciclo de vida definido y un conjunto de
puerto SUP- administrativa y técnica de procesos de ciclo de vida para el sistema y / o
sistemas y / o productos de software. gestión del ciclo de vida del software.
requisitos de nivel. Además, no se pre- escriba la IEEE Std. 1228-1994 estándar para los planes de
forma en que el uso nivel de integridad se inte- seguridad del software
rallado con el conjunto del sistema o software
inge- niería procesos del ciclo de vida. Se establecen los requisitos mínimos aceptables
ISO / IEC 15026-3: 2011 se puede utilizar para el contenido de un plan de seguridad de
solo o con otras partes de la norma ISO / IEC software. Esta norma se aplica al plan de
15026. Se puede utilizar con una variedad de seguridad de software utilizado para el
análisis de riesgos y desarrollo enfoques desarrollo, adquisición, mantenimiento y retirada
técnicos y especializados. ISO / IEC de software crítico.
Apéndice B B-41
ods. tratamientos recientes, incluyendo la norma ISO / IEC 24773: 2008 Ingeniería de Software-certi-
ISO / IEC 29119, proyecto están difuminando ficación de Profesionales de Ingeniería de Software
esta distinción, aunque, por lo que aquí se
mencionan las normas de ensayo. ISO / IEC 24773: 2008 establece un marco para
comparación de los esquemas de certificación
software
IEEE Std. 829-2008 estándar para el software y profesionales de la ingeniería. Un esquema de
Sys tem Documentación de la comprobación certificación es un conjunto de requisitos de
Consulte Software certificación para profesionales de la ingeniería
Testing KA de software. ISO / IEC 24773: 2008 especifica
los artículos que se requiere un esquema para
IEEE Std. 1008-1987 estándar para el software de contener e indica lo que debe ser definida para
pruebas unitarias cada elemento.
Consulte Software ISO / IEC 24773: 2008 facilitará la Porta-
Testing KA bilidad de ingeniería de software tifications cier-
profesionales entre los diferentes países o
IEEE Std. 26513-2010 La adopción del estándar organiza- ciones. En la actualidad, diferentes
ISO / IEC 26513: 2009 Sistemas y ingeniería de países y organizaciones han adoptado diferentes
software-Requisitos para Probadores y revisores enfoques sobre el tema, que se implementan por
de Documentación medio de reglamentos y estatutos. La intención
Consulte Software de la norma ISO / IEC 24773: 2008 es estar
Testing KA abierto a éstos individual y específico se acerca
al proporcionar un marco para expresarlos en un
/ / IEEE 29119 [cuatro partes] (Borrador) esquema común que puede conducir a la
Software ISO IEC y Sistemas de Pruebas de comprensión.
Ingeniería de Software
Consulte Software
Testing KA
MATEMÁTICO CIMIENTOS
ISO / IEC TR 19759: 2005 Software Engineer-
ing-Guía de los Fundamentos de Ingeniería de No hay normas se asignan a este KA.
Software
Apéndice B B-43
ANEXO C CONSOLIDADO
C-1
Guía de C-2 SWEBOK® V3.0
[15 *] IEEE / ACM Fuerza de Tarea Conjunta [26 *] J. Nielsen, Ingeniería de usabilidad, 1st
de CS Software Ética de ingeniería y ed., Morgan Kaufmann, 1993.
prácticas profesionales, “Software
Ingeniería Código de Ética y Práctica [27 *] L. y J. nulo Lobur, Lo Esencial de la
Profesional (Versión 5.2),” 1999; Organización de Computadores y
www.acm.org/serving/se/code.htm. Arquitectura, 2ª ed., Jones and Bartlett
Publishers, 2006.
[16 *] IEEE Std. 828-2012, Norma para
Sistemas de Gestión de la Configuración de [28 *] M. Página-Jones, Fundamentos del
Software e Ingeniería, IEEE 2012. Diseño orientado a objetos en UML, 1st ed.,
Addison-Wesley, 1999.
[17 *] IEEE Std. 1028-2008, software
comentarios y auditorías, IEEE 2008. [29 *] K. Rosen, Matemática Discreta y sus
Aplicaciones, 7ª ed., McGraw-Hill, 2011.
[18 *] ISO / IEC 14764 IEEE Std. 14764-2006,
Software del ciclo de vida del software de [30 *] A. Silberschatz, PB Galvin, y G.
ingeniería y procesos de mantenimiento, Gagne, Operating System Concepts,
IEEE 2006. octava ed., Wiley, 2008.
[22 *] SJ Mellor y MJ Balcer, ejecutable UML:. [34 *] G. Voland, Ingeniería de Diseño, segundo
Una Fundación para el Model-Driven ed., Prentice Hall, 2003.
Architecture, 1st ed, Addison-Wesley,
2002. [35 *] KE Wiegers, requisitos de software,
segundo
[23 *] DC Montgomery y GC Runger, ed., Microsoft Press, 2003.
Estadística Aplicada y Probabilidad
para Ingenieros, 4ª ed., Wiley, 2007. [36 *] JM Wing, “Introducción de un
especificador de métodos formales,”
[24 *] JW Moore, La Hoja de Ruta de Ingeniería Computer, vol. 23, no. 9, 1990, pp. 8, 10-23.
de Software:. Una guía basada en
estándares, 1st ed, Wiley-IEEE Computer
Society Press, 2006.