ACTIVIDADES DE APRENDIZAJE:
1)
Realiza una síntesis sobre la definición,
las características, los elementos y las capas
que conforman a la ingeniería:
Definición:
Es una
disciplina de la ingeniería cuya meta es le
desarrollo costearle de sistemas de software confiable
que funcionan de modo eficiente y comprende todos los
aspectos de la producción del software.
Características:
- La ingeniería del
software es un enfoque pragmático para
el desarrollo del mantenimiento del software.
- El software es abstracto y
tangible.
Elementos:
- Los productos y /o
algoritmos para la computadora que al ejecutarse proporciona
las características, las funciones y el grado
de desempeño.
- Las estructuras de datos que
permiten que los programas manipulen la información de
manera adecuada.
- Los documentos que describen
la operación y el uso de los programas.
Capas de
la ingeniería del software
2) Describir la
importancia de usar normas para el aseguramiento de la calidad
durante el proceso de software.
Ante todo se debe conocer:
Aseguramiento de la calidad: "Conjunto de acciones planificadas y sistemáticas necesarias para
proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre
calidad".
Aseguramiento de la calidad de software: Conjunto de actividades planificadas y
sistemáticas necesarias para aportar la confianza en que el producto (software)
satisfará los requisitos dados de calidad. El aseguramiento de calidad del
software se diseña para cada aplicación antes de comenzar a desarrollarla. Hay
quienes prefieren decir garantía de calidad en vez de aseguramiento. La
garantía, puede confundir con garantía de productos, mientras que el aseguramiento pretende dar
confianza en que el producto tiene calidad.
El aseguramiento de calidad del software está
presente en:
- Métodos
y herramientas de análisis,
diseño, programación y prueba.
- Inspecciones
técnicas formales en todos los pasos del proceso de desarrollo del
software.
- Estrategias
de prueba multisecular.
- Control
de la documentación del software
y de los cambios realizados.
- Procedimientos
para ajustarse a los estándares (y dejar claro cuando se está fuera de
ellos).
- Mecanismos
de medida (métricas).
- Registro
de auditorias y
realización de informes.
Las actividades para el aseguramiento de calidad
del software se detallan en:
- Métricas de software para el
control del proyecto.
- Verificación y validación
del software a lo largo del ciclo de vida (Incluye las pruebas y los procesos de revisión e
inspección).
- La gestión de la
configuración del software.
Algunos métodos del aseguramiento:
- Revisiones técnicas y de
gestión (su objetivo es la evaluación).
- Inspección (su objetivo es
la verificación).Estamos construyendo el producto correcto.
- Pruebas (su objetivo es la
validación).Estamos construyendo el producto correctamente.
- Auditorias (su objetivo es la confirmación del cumplimiento)
3) ¿cuál
es la diferencia entre la ingeniería del software y
la ingeniera en sistemas?¿que son
las ciencias de computación?¿que abarca dentro del software
de la ingeniería del software dentro de las ciencias
de la computación? Describe las conclusiones a las que se llegaron.
Diferencia
entre la ingeniería del software y ingeniería en sistemas:
¿Que son
las ciencias de computación?
Las ciencias
de la computación o ciencias computacionales son aquellas que
abarcan las bases teóricas de la información y la computación, así como su aplicación
en sistemas computacionales. El cuerpo de
conocimiento de las ciencias de la computación es frecuentemente descrito como
el estudio sistemático de los procesos algorítmicos que describen y transforman
información: su teoría, análisis, diseño, eficiencia, implementación y
aplicación.
Es el
estudio sistemático de la factibilidad, estructura, expresión y mecanización de
procedimientos metódicos (o algoritmos)
que subyacen en la adquisición, representación, procesamiento, almacenamiento, comunicación y acceso a
la información si dicha información está
codificada en forma de bits en una memoria de computadora o especificada en una
estructura de genes y proteínas en una célula biológica.
Existen
diversos campos o disciplinas dentro de las ciencias de la computación o
ciencias computacionales; algunos resaltan los resultados específicos del
cómputo (como los gráficos por computadora), mientras que
otros (como la teoría de la complejidad computacional) se relacionan
con propiedades de los algoritmos usados al realizar cómputo y otros se enfocan
en los problemas que requieren la implementación de sistemas computacionales.
Por ejemplo, los estudios de la teoría de lenguajes de programación describen
un cómputo, mientras que la programación
de computadoras aplica lenguajes de programación específicos
para desarrollar una solución a un problema computacional específico. Un científico de la computación se
especializa en teoría de la computación y en el
diseño e implementación de sistemas de computacionales
¿Que
abarca dentro del software de la ingeniería del software dentro
de las ciencias de la computación?
Ingeniería
de software es el estudio del diseño, implantación y modificación de
software con la finalidad de asegurarse de que es de alta calidad,
asequible, fácil de mantener, y rápido de construir. Es un enfoque sistemático
para el diseño de software, que implica la aplicación de prácticas de
ingeniería de software. Los ingenieros de software comercian con la organización
y análisis de software; no solo lidian con la creación o fabricación de un
nuevo software, sino también con su mantenimiento y disposición interna. Se
prevé que estén entre las ocupaciones de más rápido crecimiento entre 2008 y
2018. Debido a la novedad de este subcampo, la educación formal en Ingeniería
de software generalmente es parte de los planes de estudio de ciencias de la
computación, la gran mayoría de ingenieros de software tienen un grado
académico en ciencias de la computación sin tener relación con la
ingeniería. La relación entre las ciencias de la computación y la ingeniería de software es un tema muy
discutido, por disputas sobre lo que realmente significa el
término ingeniería de software y sobre cómo se define a las ciencias de la
computación. Algunas personas creen que la ingeniería de software sería un
subconjunto de las ciencias de la computación. Otras, tomando en cuenta la
relación entre otras disciplinas científicas y de la ingeniería, creen que el
principal objetivo de las ciencias de la computación sería estudiar las
propiedades del cómputo en general, mientras que el objetivo de la ingeniería
de software sería diseñar cómputos específicos para lograr objetivos prácticos,
con lo que se convertiría en disciplinas diferentes. Este punto de vista es el
que sostiene, por ejemplo, Parnas (1998). Incluso hay otros que sostienen que
no podría existir una ingeniería de software.
4)
Realiza una investigación sobre el modelo de capacidad de madurez.
El Modelo
de Madurez de Capacidades o CMM (Capability Maturity
Model), es un modelo de evaluación de los procesos de una organización. Fue
desarrollado inicialmente para los procesos relativos al desarrollo e
implementación de software por la Universidad Carnegie-Mellon para el
SEI (Software Engineering Institute).
Definidas
en un procedimiento documentado
Provistas
(la organización) de los medios y formación necesarios
Ejecutadas
de un modo sistemático, universal y uniforme (institucionalizadas).
- Medidas
- Verificadas
A su vez
estas Áreas de Proceso se agrupan en cinco "niveles de madurez", de
modo que una organización que tenga institucionalizadas todas las prácticas
incluidas en un nivel y sus inferiores, se considera que ha alcanzado ese nivel
de madurez.
Los
niveles son:
Inicial. Las organizaciones en este
nivel no disponen de un ambiente estable para el desarrollo y mantenimiento de
software. Aunque se utilicen técnicas correctas de ingeniería, los esfuerzos se
ven minados por falta de planificación. El éxito de los proyectos se basa la
mayoría de las veces en el esfuerzo personal, aunque a menudo se producen
fracasos y casi siempre retrasos y sobrecostes. El resultado de los proyectos
es impredecible.
Repetible. En
este nivel las organizaciones disponen de unas prácticas institucionalizadas de
gestión de proyectos, existen unas métricas básicas y un razonable seguimiento
de la calidad. La relación con subcontratistas y clientes está gestionada
sistemáticamente.
Definido. Además
de una buena gestión de proyectos, a este nivel las organizaciones disponen de
correctos procedimientos de coordinación entre grupos, formación del personal,
técnicas de ingeniería más detallada y un nivel más avanzado de métricas en los
procesos. Se implementan técnicas de revisión por pares (peer reviews).
Gestionado. Se
caracteriza porque las organizaciones disponen de un conjunto de métricas
significativas de calidad y productividad, que se usan de modo sistemático para
la toma de decisiones y la gestión de riesgos. El software resultante es de
alta calidad
Optimizado. La organización completa
está volcada en la mejora continua de los procesos. Se hace uso intensivo de
las métricas y se gestiona el proceso de innovación.
Así es
como el modelo CMM establece una medida del progreso, conforme al avance en
niveles de madurez. Cada nivel a su vez cuenta con un número de áreas de
proceso que deben lograrse. El alcanzar estas áreas o estadios se detecta
mediante la satisfacción o insatisfacción de varias metas claras y
cuantificables. Con la excepción del primer nivel, cada uno de los restantes
Niveles de Madurez está compuesto por un cierto número de Áreas Claves de
Proceso, conocidas a través de la documentación del CMM por su sigla inglesa:
KPA.
Cada KPA
identifica un conjunto de actividades y prácticas interrelacionadas, las cuales
cuando son realizadas en forma colectiva permiten alcanzar las metas
fundamentales del proceso. Las kpas pueden clasificarse en 3 tipos de proceso:
Gestión, Organizacional e Ingeniería.
Las
prácticas que deben ser realizadas por cada Área Clave de Proceso están
organizadas en 5 Características Comunes, las cuales constituyen propiedades
que indican si la implementación y la institucionalización de un proceso clave
es efectivo, repetible y duradero.
Estas 5
características son:
Compromiso
de la realización
La
capacidad de realización
Las
actividades realizadas
Las
mediciones y el análisis
La
verificación de la implementación.
Las
organizaciones que utilizan CMM para mejorar sus procesos disponen de una guía
útil para orientar sus esfuerzos. Además, el SEI proporciona formación a
evaluadores certificados (Lead Assesors) capacitados para evaluar y certificar
el nivel CMM en el que se encuentra una organización. Esta certificación es
requerida por el
Departamento
de Defensa de los Estados Unidos, pero también es utilizada por multitud de
organizaciones de todo el mundo para valorar a sus subcontratistas de software.
Se
considera típico que una organización dedique unos 18 meses para progresar un
nivel, aunque algunas consiguen mejorarlo. En cualquier caso requiere un amplio
esfuerzo y un compromiso intenso de la dirección.
Como
consecuencia, muchas organizaciones que realizan funciones de factoría de
software o, en general, outsourcing de procesos de software, adoptan el modelo
CMM y se certifican en alguno de sus niveles. Esto explica que uno de los
países en el que más organizaciones certificadas existan sea India, donde han florecido
las factorías de software que trabajan para clientes estadounidenses y
europeos.
6)
Realiza una investigación sobre el estándar ISO 9001:2000
para el desarrollo del software.
El ISO/IEC 15504, también conocido como Software Process
Improvement Capability Determinación, abreviado SPICE, en español,
«Determinación de la Capacidad de Mejora del Proceso de Software» es un modelo
para la mejora, evaluación de los procesos de desarrollo, mantenimiento de
sistemas de información y productos de software.
En 1991, dado el número creciente dre). Por tanto, el proyecto SPICE fue
creado bajo los auspicios del Comité Internacional de estándares de Ingeniería
de Software y Sistemas a través de su Grupo de Trabajo sobre Evaluación de
proceso (WG10).
En 1992, el informe del grupo de estudio dijo que: “...la comunidad
internacional debería poner recursos para desarrollar un estándar para la
evaluación de procesos software, incorporando lo mejor de los métodos de
evaluación de procesos existentes.”
ISO decidió entonces se hiciera el desarrollo por pasos de un estándar
para la evaluación de procesos. Los pasos fueron los siguientes:
- Publicación inicial como Informe Técnico ‘Technical Report’ (“borrador de estándar”) para que después de su uso real pasase a
- Revisión y publicación como estándar internacional IS ISO/IEC 15504 – Tecnologías de la Información – Evaluación de Procesos (‘ISO/IEC 15504 – Information Technology – Process Assessment’).
- Las siglas SPICE significan: Software Process Improvement and Capability Determination, es decir, Determinación de la capacidad y mejora de los procesos de software.
El proyecto SPICE tenía tres objetivos principales:
- Desarrollar un borrador de trabajo para un estándar de evaluación de procesos de software.
- Llevar a cabo los ensayos de la industria de la norma emergente.
- Promover la transferencia de tecnología de la evaluación de procesos de software a la industria del software a nivel mundial.
Características
- Establece un marco y los requisitos para cualquier fase de evaluación de procesos y proporciona requisitos para los modelos de evaluación de estos.
- Proporciona también requisitos para cualquier modelo de evaluación de organizaciones.
- Proporciona guías para la definición de las competencias de un evaluador de procesos.
- Actualmente tiene 10 partes: de la 1 a la 7 completas y de la 8 a la 10 en fase de desarrollo.
- Comprende: evaluación de procesos, mejora de procesos, determinación de capacidad.
- Proporciona, en su parte 5, un Modelo de evaluación de procesos para las fases de ciclo de vida del software definidos en el estándar ISO/IEC 12207 que define los procesos del ciclo de vida del desarrollo, mantenimiento y operación de los sistemas de software.
- Proporciona, en su parte 6, un Modelo de evaluación de procesos para las etapas de ciclo de vida del sistema, definidos en el estándar ISO/IEC 15288 que define los procesos del ciclo de vida del desarrollo, mantenimiento y operación de sistemas.
- Proporcionará, en su parte 8, un Modelo de evaluación de procesos para los procesos de servicios TIC que serán definidos en el estándar ISO/IEC 20000-4 que definirá los procesos contenidos en la norma ISO/IEC 20000-
- Equivalencia y compatibilidad con CMMI. ISO forma parte del panel elaborador del modelo CMMI y SEI mantiene la compatibilidad y equivalencia de ésta última con 15504.Sin embargo CMMI-DEV aún no es un modelo conforme con esta norma (según lo requiere la norma ISO 15504 para todo modelo de evaluación de procesos).
Características
- Tiene una arquitectura basada en dos dimensiones: de proceso y de capacidad de proceso.
- Define que todo modelo de evaluación de procesos debe definir: - la dimensión de procesos: el modelo de procesos de referencia (dimensión de las abscisas)
- la dimensión de la capacidad: niveles de capacidad y atributos de los procesos.
- Los niveles de capacidad para todo modelo de evaluación de procesos pueden tener desde el 0 y al menos hasta el nivel 1 de los siguientes niveles de capacidad estándar
- Nivel 0: Incompleto
- Nivel 1: Realizado
- Nivel 2: Gestionado
- Nivel 3: Establecido
- Nivel 4: Predecible
- Nivel 5: En optimizacion
Para cada nivel existen unos atributos de procesos estándar que ayudan a
evaluar los niveles de capacidad.
6)
Realiza una investigación sobre el estándar ISO 9001:2000
para el desarrollo del software.
La ISO /
IEC 29110 es un conjunto de normas e informes técnicos
que se ha desarrollado para entidades muy pequeñas (VSE – Very Small Entities).
Una VSE se define como una entidad (empresas, organizaciones,
departamentos o proyectos)
que tiene menos de 25 personas. La mayoría de las pymede software pertenecen
a la categoría VSE. La industria reconoce
el valor de
las PYME en la contribución de productos y servicios.
Las pequeñas empresas también pueden crear y / o mantener el software que se
utiliza en sistemas más
grandes, por lo tanto, el reconocimiento de éstas comoproveedores de
software de alta calidad es
necesario.
Antecedentes.
La ISO
29110 tuvo su origen y desarrollo en México a
manos de un pequeño grupo de
personas que invertían su tiempo libre
en la búsqueda de un estándar que funcionara en el entorno de desarrollo de
software en México. Ésta es la historia de Hanna
Oktaba, la Asociación Mexicana para la
Calidad
en Ingeniería de
Software
Cada vez
más, la industria del software representa una actividad económica de suma
importancia en la mayoría de los países del mundo. En Europarepresenta
el 8% del PIB y
el 6% de los puestos de trabajo;
en España esta
importancia está creciendo más aún, por la actual tendencia que se está
experimentando hacia modelos de
negocio basados en fábricas de software y nearshoring. A nivel mundial, esta
industria está formada por micros, pequeñas y medianas empresas desarrolladoras
de software –pymes–
que suponen cerca del 90% de los negocios formales
y que generan entre el 40% y el 50% del empleo total.
Estudios muestran que la mejora de procesos de
software (SPI) es una actividad que las pequeñas empresas desean implementar
para incrementar la calidad y capacidad de sus procesos y, en consecuencia, la
calidad de sus productos y servicios.
Este
mismo estudio evidencia que, para mejorar sus procesos, las pequeñas empresas
están utilizando estándares de procesos de organizaciones como el Software
Engineering Institute (SEI) y la International Organization for Standardization
(ISO), entre los que destacan CMMI-DEV,
ISO 12207, ISO 15504 e ISO 9001.
Sin embargo, diversos estudios apuntan a que la aplicación de estos estándares
en las pymes es difícil, ya que supone para ellas una gran inversiónen dinero,
tiempo y recursos,
dado que estos modelos están orientados a las grandes organizaciones.
Además,
las recomendaciones de estos modelos son complejas de aplicar y el retorno de
la inversión se da a largo plazo. Asimismo, en las pequeñas empresas la
aplicación de estos modelos se agrava aún más, ya que existe un problema
"cultural" importante cuando se quiere "importar" y
adoptar, sin más, modelos creados para otro tipo de organizaciones; si el proceso no
"casa" con la cultura de la
organización, será rechazado por el "cuerpo" organizativo,
como sucede en los trasplantes de órganos. Un problema parecido se expuso
en la
investigación, en la que se destacaron la importancia de las
diferencias culturales en el éxito de
la mejora de procesos de software entre las empresas de EEUU y Europa.Además,
las empresas pequeñas necesitan, para la construcción de
sus productos, prácticas eficientes de ingeniería del software adaptadas a su
tamaño y tipo de negocio.
En este
sentido, y para apoyar a las pequeñas empresas en sus esfuerzos de mejora de
procesos, ISO ha constituido el grupo de trabajo SC7-WG24, cuyoobjetivo es
que sus estándares de procesos de software (o adaptaciones de estos) se puedan
aplicar a pequeñas empresas desarrolladoras de software. Este grupo estableció
un marco común para describir perfiles evaluables del ciclo de vida de software
para su uso en Very Small Enterprises (VSE, unaorganización de
menos de 25 empleados). Estos perfiles se publicaron en el año 2010 con el
nombre ISO/IEC 29110.
El
grupo de trabajo WG 24.
ISO nació
en 1947 para facilitar la coordinación internacional
de las normas técnicas en
los diferentes campos de la industria. Pueden ser miembros de ISO todos
aquellos países del mundo que lo deseen, representados a través de su organismo
nacional de normalización,
por ejemplo: ANSI (American National Standards Institute) por EEUU o AENOR
(Asociación
Española de Normalización y Certificación) por España. Los trabajos de
elaboración de normas están encomendados a los Comités Técnicos (TC), que
suelen subdividirse en Subcomités (SC) y estos, a su vez, en Grupos de
Trabajo (WG) para desarrollar temas específicos.
En
algunas áreas, ISO colabora con otras organizaciones; así, en el campo de las
tecnologías de la información,
forma, junto con la International Electrotechnical Commission (IEC) el Joint
Technical Committee 1 (JTC1), que se divide en varios subcomités, entre ellos,
el SC7 de Ingeniería del Software y Sistemas, que posee diferentes grupos de
trabajo (WG), como el WG 24. El grupo WG 24 nació en la sesión plenaria del SC7
en Finlandia en el año 2005 con el propósito de gestionar y desarrollar el trabajo para
alcanzar los siguientes objetivos:
- Hacer los estándares de ingeniería de software actuales más accesibles a las pequeñas empresas.
- Proporcionar documentación que requiera un mínimo esfuerzo de adaptación.
- Proveer documentación armonizada integrando estándares disponibles, tales como estándares de proceso, evaluación, calidad y modelado, y también productos de trabajo, entregables y herramientas.
- Tener en cuenta, si es preciso, las nociones de niveles de madurez y capacidad presentadas en ISO/IEC 15504 y CMMI.
A partir
de los trabajos del grupo WG 24, orientados a satisfacer estos objetivos, se ha
desarrollado un conjunto de informes técnicos preliminares que son la base
sobre la cual se estructura el
estándar ISO/IEC 29110.
La Norma
Técnica Peruana (2011), enfatiza que la NTP describe la arquitectura de
los procesos del ciclo de vida del
software, pero no especifica los detalles de cómo implementar o llevar a cabo
las actividades y tareas incluidas en los procesos.
Entonces
surge la necesidad de usar un modelo que
pueda guiar a las instituciones del Sistema Nacional
de Informática el
cumplimiento de la Norma Técnica Peruana en sus proyectos de desarrollo de
Software.
Sistemas
MIG es la primera empresa es América
latina de tecnologías de la información especializada en
atender necesidades de las agencias de viaje y Operadoras mayoristas de turismo.
Empresa magia
digital recibió oficialmente su Certificado de Conformidad de la
certificación sobre Ingeniería de
Software, Modelos de procesos y evaluación para desarrollo y mantenimiento de
software, tienen la certificación de calidad en sus desarrollos y procesos.
Ahora en pinera en desarrollo de sistemas de la información.
Aportes
Innovación: Con la Certificación de
esta Norma la empresa llega
a innovar con la Calidad, Investigación y
Desarrollo de sus procesos en su software. Así mismo son reconocidas por
servicios y tener acceso al mercado con
mayor facilidad.
Tecnológico: Ayuda a las empresas a
tener software de calidad y servicios informáticos, es especialmente formado
para los programas de
mejora de los procesos de software.
Social: cuando una empresa es
certificada con la iso 29110 da seguridad que
sus servicios son de calidad y sus productos siguen un estándar.
Espiritual: Pues Mucho nos regocijamos
cuando vinieron los hermanos y dieron testimonio de tu verdad y como andar en
la verdad.