#LyX 2.3 created this file. For more info see http://www.lyx.org/ \lyxformat 544 \begin_document \begin_header \save_transient_properties true \origin unavailable \textclass book \use_default_options true \begin_modules algorithm2e \end_modules \maintain_unincluded_children false \language spanish \language_package default \inputencoding auto \fontencoding global \font_roman "default" "default" \font_sans "default" "default" \font_typewriter "default" "default" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 100 \font_tt_scale 100 100 \use_microtype false \use_dash_ligatures true \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \paperfontsize default \spacing single \use_hyperref false \papersize default \use_geometry false \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 \use_package esint 1 \use_package mathdots 1 \use_package mathtools 1 \use_package mhchem 1 \use_package stackrel 1 \use_package stmaryrd 1 \use_package undertilde 1 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date false \justification true \use_refstyle 1 \use_minted 0 \index Index \shortcut idx \color #008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default \is_math_indent 0 \math_numbering_side default \quotes_style french \dynamic_quotes 0 \papercolumns 1 \papersides 1 \paperpagestyle default \tracking_changes false \output_changes false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \end_header \begin_body \begin_layout Standard \begin_inset Note Comment status open \begin_layout Plain Layout La \series bold ingeniería \series default es la aplicación del conocimiento y el método científicos al diseño y la creación de productos complejos. La \series bold ingeniería de software \series default busca satisfacer el deseo de las organizaciones de construir productos y servicios de software de alta calidad cada vez más complejos y dedicando menos tiempo y dinero, mediante la construcción, adquisición e integración de componentes. \end_layout \end_inset \end_layout \begin_layout Standard Según el Vocabulario de la Ingeniería del Software y de Sistemas, ISO/IEC/IEEE 24765:2017, la \series bold ingeniería de software \series default es \begin_inset Quotes cld \end_inset la aplicación sistemática de conocimiento científico y tecnológico, métodos y experiencia al diseño, implementación, pruebas y documentación del software \begin_inset Quotes crd \end_inset . Es \series bold sistemática \series default , con planes y procedimientos metódicos; \series bold disciplinada \series default , sujeta a control respecto a ciertos estándares, y \series bold cuantificable \series default , con realización y resultados medibles. \end_layout \begin_layout Section Dimensiones \end_layout \begin_layout Standard El SEI clasifica el conocimiento en ingeniería de software en 4 dimensiones mediante 2 visiones: \end_layout \begin_layout Enumerate \series bold Visión proceso \series default , propuesta para estructurar su corpus de conocimiento en base a dos dimensiones : \end_layout \begin_deeper \begin_layout Enumerate \series bold Actividad \series default , que clasifica las actividades realizadas en ingeniería de software: \end_layout \begin_deeper \begin_layout Enumerate \series bold Desarrollo: \series default Actividades que producen artefactos, como análisis de requisitos, especificació n, diseño, implementación y pruebas. \end_layout \begin_layout Enumerate \series bold Control: \series default Actividades que moderan el desarrollo, como evolución del software (control de versiones, cambios, gestión de configuraciones, etc.) y calidad del software (aseguramiento, control y prueba, etc.). \end_layout \begin_layout Enumerate \series bold Gestión: \series default Actividades que implican a ejecutivos, administrativos y supervisores, incluyendo las actividades técnicas de soporte a su trabajo, como planificación de proyectos, estimación de costes, asignación de recursos, constitución de equipos o asuntos legales y de contratación. \end_layout \begin_layout Enumerate \series bold Operaciones: \series default Actividades relacionadas con el uso del software en la organización, como la formación, la planificación de la puesta en marcha, la puesta en marcha, la transición al nuevo sistema, la operación del software y la gestión de su retirada. \end_layout \end_deeper \begin_layout Enumerate \series bold Aspecto \series default , con los aspectos similares de cada actividad: \end_layout \begin_deeper \begin_layout Enumerate \series bold Abstracciones: \series default Principios fundamentales como ocultación de información o principios de diseño, y modelos formales como de proceso de desarrollo (en cascada, prototipa do, etc.), de computación secuencial y concurrente (máquinas de estado finito, redes de Petri, etc.) o de estimación de costes (COCOMO, etc.) \end_layout \begin_layout Enumerate \series bold Representación: \series default Notaciones como tablas de decisión, DFD o PERT, y lenguajes como Ada. \end_layout \begin_layout Enumerate \series bold Métodos: \series default Métodos formales como pruebas de corrección para la verificación o especificaci ones ejecutables; intuitivos como AE, AOO o DOO, y prácticas comunes como la programación estructurada para la implementación). \end_layout \begin_layout Enumerate \series bold Herramientas: \series default Integradas o de software individual, como correo electrónico, procesador de textos, CASE o compiladores. \end_layout \begin_layout Enumerate \series bold Evaluación: \series default Métricas, análisis y evaluación de los productos y el proceso software y del impacto en las organizaciones, para mejorar futuros desarrollos. \end_layout \begin_layout Enumerate \series bold Comunicación: \series default Oral y escrita en forma de documentación o formación. \end_layout \end_deeper \end_deeper \begin_layout Enumerate \series bold Visión producto \series default , que amplía la presentación unidimensional basada en el ciclo de vida típico de análisis de requisitos, especificación, diseño, implementación, prueba y mantenimiento con dos dimensiones: \end_layout \begin_deeper \begin_layout Enumerate \series bold Clase de sistema software \series default , con características específicas de un software concreto, por ejemplo el software concurrente, para el que existen distintos lenguajes y notaciones de diseño y especificación. Los grupos resultantes de la clasificación no tienen por qué ser disjuntos. \end_layout \begin_deeper \begin_layout Standard Según el dominio distinguimos sistemas de comunicación, de aviación, sistemas operativos, bases de datos, etc. Según el tipo de relación con el entorno distinguimos sistemas por lotes, reactivos, interactivos, de tiempo real, embebidos, etc. \end_layout \end_deeper \begin_layout Enumerate \series bold Requisitos del sistema \series default , con las propiedades que debería tener el sistema a construir. Se suele restringir a aspectos funcionales, pero la consecución de los no funcionales depende de muchas de las actividades realizadas en el proceso. \end_layout \end_deeper \begin_layout Section Informes \lang english CHAOS \end_layout \begin_layout Standard Son informes de pago de \emph on \lang english Standish Group \emph default \lang spanish , liberados cuando tienen cierta antigüedad, sobre el desarrollo de la ingenierí a de software, y clasifican los proyectos en: \end_layout \begin_layout Itemize \series bold Éxitos: \series default Se entregan a tiempo dentro de su presupuesto y con las funciones requeridas. \end_layout \begin_layout Itemize \series bold Deficientes: \series default Se entregan tarde, sobrepasando el coste o sin todas las funciones requeridas. \end_layout \begin_layout Itemize \series bold Fracasos: \series default Se cancelan antes de terminar o se entregan pero nunca se usan. \end_layout \begin_layout Standard Según el informe de 2020, el \begin_inset Formula $\unit[31]{\%}$ \end_inset de los proyectos son éxitos, el \begin_inset Formula $\unit[50]{\%}$ \end_inset son deficientes y el \begin_inset Formula $\unit[19]{\%}$ \end_inset son fracasos. \end_layout \begin_layout Standard \begin_inset Note Comment status open \begin_layout Plain Layout Según el de 2012, el \begin_inset Formula $\unit[18]{\%}$ \end_inset de los proyectos son cancelados antes de terminar de desarrollarse o no son usados, y el \begin_inset Formula $\unit[43]{\%}$ \end_inset son \begin_inset Quotes cld \end_inset comprometidos \begin_inset Quotes crd \end_inset , sobrepasando el coste o el plazo o no satisfaciendo las necesidades de los clientes. Las cancelaciones y compromisos aumentan con el tamaño del proyecto. \end_layout \begin_layout Plain Layout Según , creadora de los informes \lang english CHAOS \lang spanish , en 1995, las empresas y agencias del gobierno en Estados Unidos gastaron 81000 millones de dólares en proyectos de software fallidos. \end_layout \begin_layout Plain Layout Una \series bold revisión de requisitos \series default es una reunión en la que se presentan los requisitos de un elemento de hardware, software o sistema a algunas partes interesadas para obtener información o aprobación. Forma parte de la \series bold validación de requisitos \series default . \end_layout \begin_layout Plain Layout El análisis de requisitos permite alcanzar un acuerdo entre clientes, productore s de software y usuarios sobre lo que hay que producir; proporciona la base para el diseño; sirve de soporte para la verificación y validación de los productos, y orienta a potenciales clientes sobre la definición de los productos, creando a veces catálogos de requisitos alternativos para elegir. \end_layout \end_inset \end_layout \begin_layout Section Procesos software \end_layout \begin_layout Standard Un \series bold artefacto \series default es algo tangible creado con un propósito práctico. Una \series bold actividad \series default es una actuación de un agente con ciertos objetivos. \end_layout \begin_layout Standard Un \series bold proceso software \series default es un conjunto coherente de estructuras organizativas, políticas, prácticas, tecnologías, artefactos y transformaciones usados para concebir, desarrollar, implantar y mantener software y productos asociados, como planes de proyecto, documentos de requisitos, documentos de análisis o diseño, codificación, casos de prueba, manuales de usuario, etc. Está formado por: \end_layout \begin_layout Enumerate Un \series bold proceso de desarrollo \series default , con las actividades necesarias para crear un sistema software que satisfaga ciertas necesidades de los usuarios. \end_layout \begin_layout Enumerate Una \series bold gestión del proyecto \series default para planificar y controlar las actividades de desarrollo. \end_layout \begin_layout Enumerate Un \series bold control de configuración \series default , que gestiona los cambios para mantener los objetivos de calidad, costo e integridad de los productos. \end_layout \begin_layout Standard \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout Las 4 actividades básicas en ingeniería de software son especificación, desarrollo, validación y evolución. \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Standard El \series bold ciclo de vida \series default de un producto o proyecto software es su evolución desde su concepción hasta que deja de usarse, y puede describirse según las actividades que se realizan en él. \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout Estas son actividades técnicas, colaborativas y de gestión que forman parte de las 4 actividades básicas, que suelen entrelazarse debido a que el software se modifica continuamente a lo largo de su ciclo de vida en respuesta a los requisitos cambiantes y las necesidades del cliente. El \series bold modelo de ciclo de vida del software \series default es la especificación de las fases o el curso general de este ciclo de vida. \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Standard El \series bold ciclo de desarrollo \series default de un producto software es la parte de su ciclo de vida desde el análisis hasta la entrega. \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout La tecnología puede ser muy útil con los procesos apropiados, pero no siempre se usa de forma muy efectiva, y aunque las personas tengan buena experiencia y formación, un buen proceso puede ayudar a trabajar mejor, más rápido y con menos esfuerzo. Por ello un enfoque en el proceso, introduciendo y usando tecnologías que permitan satisfacer mejor los objetivos y trabajando de forma más inteligente y consistente, se puede obtener la infraestructura y estabilidad necesarias para trabajar en un mundo cambiante de forma productiva. \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Section Estrategias de desarrollo de software \end_layout \begin_layout Standard Un \series bold método \series default es la especificación de una secuencia de acciones orientadas a un cierto propósito, y determina el orden y la forma de llevar a cabo unas actividades. Una \series bold metodología \series default es un conjunto coherente de métodos relacionados por principios comunes. Algunas metodologías: \end_layout \begin_layout Enumerate \series bold En cascada: \series default se hacen las fases en orden secuencial. Útil cuando los requisitos son fijos y el trabajo avanza de forma lineal, al contrario que en la actualidad. \end_layout \begin_layout Enumerate \series bold Iterativo \series default e \series bold incremental: \series default con iteraciones en las que se hacen todas las fases para lo siguiente a implementar. \end_layout \begin_layout Enumerate \series bold MDD \series default ( \series bold \emph on \lang english Model-Driven Development \series default \emph default \lang spanish ): La principal salida del proceso son los modelos, no los programas. Un \series bold PSM \series default ( \series bold \emph on \lang english Platform-Specific Model \series default \emph default \lang spanish ) describe una solución desde la perspectiva de una plataforma concreta. También hay \series bold CIMs \series default ( \emph on \lang english Computing-Independent Models \emph default \lang spanish ) y \series bold PIMs \series default ( \emph on \lang english Platform-Independent Models \emph default \lang spanish ). \end_layout \begin_layout Standard Según una encuesta de Ambler, las metodologías más exitosas son \emph on \lang english lean \emph default \lang spanish , iterativa y ágil. \end_layout \begin_layout Standard \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout La estrategia más adaptativa, y la menos prescriptiva, es hacer lo que sea. De las usadas, de la más adaptativa a la más prescriptiva, están Kanban ( \emph on \lang english lean \emph default \lang spanish , 3 reglas), Scrum (ágil, 9 reglas), XP (ágil, 13 reglas) y RUP (más de 120 reglas). \end_layout \begin_layout Plain Layout Los métodos ágiles, iterativos y \emph on lean \emph default tienen más posibilidades de éxito y menos de fallo que los ad-hoc, al contrario de lo que ocurre a los tradicionales en cascada. \end_layout \begin_layout Plain Layout \series bold DevOps \series default se apoya en los principios \emph on lean \emph default y ágil para proporcionar ingeniería de software continua. \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Section Modelos de mejora \end_layout \begin_layout Standard Un \series bold modelo de proceso \series default es una colección estructurada de prácticas que describen características de procesos que han probado por experiencia ser efectivas. Los procesos usados dependen del dominio de aplicación, la estructura y tamaño de la organización, etc., y generalmente se dividen en tradicionales y ágiles. \end_layout \begin_layout Standard \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout Una \series bold línea base \series default es una especificación o producto revisado formalmente que se ha acordado como base para el desarrollo posterior y que requiere un procedimiento formal para cambiarlo. \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Standard Un \series bold modelo de mejora de procesos \series default o \series bold modelo de madurez y capacidad \series default sirve para estudiar los procesos usados en una organización y basarse en esto para mejorarlos, pasando de procesos ad-hoc inmaduros a procesos disciplin ados y maduros con mejor calidad y eficacia, mejorando la productividad y la calidad, alargando el ciclo de vida y logrando planificaciones y presupues tos más precisos y previsibles. \end_layout \begin_layout Standard Algunos modelos de mejora son: \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout \series bold \lang english Bootstrap \series default \lang spanish . \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Itemize \series bold CMM \series default ( \emph on \lang english Capability Maturity Model \emph default \lang spanish ), de CMU ( \emph on \lang english Carnegie-Mellon University \emph default \lang spanish ) y SEI ( \emph on \lang english Software Engineering Institute \emph default \lang spanish ), un marco de evaluación y guía en la mejora de proceso de desarrollo de software, suplantado por \series bold CMMi \series default . \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout \series bold COBIT \series default , de auditoría, de ISACA. \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Itemize \series bold ISO 9000 \series default , un sistema de gestión de calidad. \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout \series bold ISO/IEC 20000 \series default ( \emph on \lang english Information technology—Service management \emph default \lang spanish ), de gestión de servicios TI. \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Itemize \series bold PSP \series default ( \emph on \lang english Personal Software Process \emph default \lang spanish ). \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Itemize \series bold \lang english Six Sigma \series default \lang spanish . \end_layout \begin_layout Itemize \series bold TickIt \series default . \end_layout \begin_layout Itemize \series bold Trillium \series default , de \lang english Bell Canada \lang spanish . \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Itemize \series bold TSP \series default ( \emph on \lang english Team Software Process \emph default \lang spanish ). \end_layout \begin_layout Section Estandarización \end_layout \begin_layout Standard Un \series bold estándar oficial \series default es un requisito técnico aprobado por un organismo de estandarización, como puede ser \series bold ACM \series default ( \emph on \lang english Association for Computer Machinery \emph default \lang spanish ), \series bold IEEE \series default ( \emph on \lang english Institute of Electrical and Electronic Engineers \emph default \lang spanish ), \series bold ISO \series default ( \emph on \lang english International Standardization Organization \emph default \lang spanish ) o \series bold IEC \series default ( \emph on \lang english International Electrotechnical Commission \emph default \lang spanish ). \end_layout \begin_layout Standard Un \series bold estándar \emph on de facto \series default \emph default es una convención no aprobada por un organismo de estandarización pero ampliamente usada, como \SpecialChar LaTeX o el formato de Microsoft Word 2003. \end_layout \begin_layout Standard Una \series bold guía \series default es un conjunto de criterios bien definidos y documentados que encaminan una actividad, siendo más flexible que un estándar. \end_layout \begin_layout Standard Una organización de software puede adoptar modelos de mejora de procesos estándar para obtener certificados de calidad y mejorar su imagen pública, por exigencias de calidad de los clientes y el estado y como resultado de la cultura impuesta por las propuestas de evaluación y mejora en la industria. \end_layout \begin_layout Standard \series bold ISO/IEC 33000 \series default es una familia de normas de evaluación de procesos en ingeniería en general, que suplanta al estándar \series bold ISO/IEC TR 15504 \series default en el que se basaba el modelo de mejora \series bold \lang english SPICE \series default \lang spanish ( \emph on \lang english Software Process Improvement and Capability dEtermination \emph default \lang spanish ). No indica los modelos concretos a usar para evaluar la madurez en el desarrollo de software. \end_layout \begin_layout Standard \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout ISO/IEC 15504, al estar disponible a través de los organismos nacionales de normalización, contar con el apoyo de la comunidad internacional y ser apoyada por iniciativas internacionales para su adopción en PYMES, realizó más de 4000 evaluaciones, especialmente en los sectores automotriz, espacial y médico, con modelos específicos para el dominio como \lang english Automotive SPICE \lang spanish y \lang english SPICE 4 SPACE \lang spanish . ISO/IEC 15504 requería pagar para acceder, aunque \lang english Automotive SPICE \lang spanish se podía descargar directamente. \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Standard La versión 2.0 de \series bold MMIS \series default (Modelo de Madurez de Ingeniería de Software), de AENOR, es compatible con la primera y amplía el alcance basándose en el estándar ISO/IEC/IEEE 12207:2017 \emph on \lang english ``Systems and software engineering—Software life cycle processes \begin_inset Quotes qrd \end_inset \emph default \lang spanish para adaptar ISO/IEC 33000 a los procesos de software. \end_layout \begin_layout Standard \begin_inset Note Comment status open \begin_layout Plain Layout \begin_inset Note Greyedout status open \begin_layout Plain Layout Define 5 \series bold niveles de madurez organizacional \series default de NM 1 a NM 5, en los que cada uno requiere cumplir el anterior e implementar, entre otras cosas: \end_layout \begin_layout Enumerate \begin_inset Argument item:1 status open \begin_layout Plain Layout NM 1. \end_layout \end_inset Proceso de Planificación del Proyecto. \end_layout \begin_layout Enumerate \begin_inset Argument item:1 status open \begin_layout Plain Layout NM 2. \end_layout \end_inset Proceso de Evaluación y Control del Proyecto y Proceso de Definición de Necesidades y Requisitos de \emph on \lang english stakeholders \emph default \lang spanish . \end_layout \begin_layout Enumerate \begin_inset Argument item:1 status open \begin_layout Plain Layout NM 3. \end_layout \end_inset Proceso de Gestión de Riesgos, Proceso de Verificación del Software, Proceso de Validación del Software y Proceso de Definición de Requisitos Sistema/Softwa re. \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Standard \series bold ITMark \series default es una certificación orientada a PYMES del grupo TECNALIA del ESI, con presencia en más de 16 países en Europa y América latina, que combina modelos y estándares de calidad y mejora de procesos como CMMi, ISO 20000, \series bold ISO 27000 \series default de seguridad y \series bold EFQM \series default ( \emph on \lang english European Foundation for Quality Management \emph default \lang spanish ). \end_layout \end_body \end_document