Está en la página 1de 8

Ingeniería en Software

Definiciones

Software: son programas de cómputo y documentación asociada. Los productos de software


se desarrollan para un cliente en particular o para un mercado en general.

Atributos del buen software: el buen software debe entregar al usuario la funcionalidad y el
desempeño requeridos, debe ser sustentable, confiable y utilizable.

Ingeniería de software: disciplina de la ingeniería que se interesa por todos los aspectos de la
producción de software con el fin de producir software de calidad desarrollado sobre las
agendas y costes previstos y satisfaciendo los requisitos. Desarrolla sistemas de información.
Consiste en el establecimiento y uso de principios de ingeniería para obtener software
económico que trabaje de forma eficiente en máquinas reales

Actividades principales de la ingeniería de software: especificación, análisis, desarrollo,


validación y evolución del software.

Diferencia entre ingeniería de software y ciencias de la computación: las ciencias de la


computación se enfocan en teoría y fundamentos; mientras la ingeniería de software se enfoca
en el sentido práctico del desarrollo y en la distribución de software.

Diferencia entre ingeniería de software e ingeniería de sistemas: la ingeniería de sistemas se


interesa por todos los aspectos del desarrollo de sistemas basados en computadoras, incluidos
hardware, software e ingeniería de procesos. La ingeniería de software es parte de este
proceso más general.

Principales retos que enfrenta la ingeniería de software: diversidad creciente, demandas por
tiempos de distribución limitados y desarrollo de software confiable.

Costos de la ingeniería de software: aprox. 60% de los costos del software son de desarrollo, y
40% de prueba.

Mejores métodos y técnicas de la ingeniería de software: ingeniería de requerimientos;


diseño de prototipos; especificación completa; desarrollo evolutivo; plan de pruebas, etc.

Ciclos de vida

Esfuerzos realizados para identificar las causas del problema y definir pautas estándar para
la producción y mantenimiento del software:
 Identificación de los factores clave que determinan la calidad del software.
 Identificación de los procesos necesarios para producir y mantener software.
 Acotación, estructuración y desarrollo de la base de conocimiento necesaria para la
producción y mantenimiento de software.
El resultado ha sido la necesidad de profesionalizar el desarrollo, mantenimiento y operación
de los sistemas de software, introduciendo métodos y formas de trabajo sistemático,
disciplinado y cuantificable.
SWEBOK (Software Engineering Body of Knowledge): proyecto que publicó una definición
consensuada del cuerpo de conocimiento aceptado en la ingeniería del software. Este cuerpo
de conocimiento identificado por el proyecto SWEBOK se ha configurado como el estudio más
relevante y como la referencia de más autoridad en toda la comunidad informática para la
acotación y descripción de los conocimientos que configuran la Ingeniería del software.
Dio el primer paso necesario para constituir a la Ingeniería del Software como profesión: la
delimitación del cuerpo de conocimiento que comprende la profesión.
El proyecto parte de la suposición de que es necesario establecer cuál es el cuerpo de
conocimiento que deben conocer los ingenieros del software, y en su desarrollo ha agrupado
este conocimiento en 10 áreas: Requisitos, diseño, construcción, pruebas, mantenimiento,
gestión de la configuración, gestión, procesos, herramientas y métodos y calidad.

ISO 12207: establece un marco común para el ciclo de vida del software para:
 Adquisición, suministro, desarrollo, operación y mantenimiento del software.
 Gestionar, controlar y mejorar el marco.
 Como base de referencia para el trabajo e intercambio entre organizaciones de
software.
Define el QUÉ, no el CÓMO. Dice cuáles son los procesos, actividades y tareas implicados en el
desarrollo, mantenimiento y operación de los sistemas de software, asentando un marco
estándar de referencia internacional, pero no se ocupa ni prescribe técnicas específicas.

Ciclo de vida del software: periodo de tiempo que comienza a concebir la idea de un nuevo
sistema de software, y termina cuando este se retira y deja de funcionar.
El marco del ciclo de vida del software cubre desde la conceptuación de las ideas iniciales del
producto (definición de requisitos) hasta el fin de su uso (retirada).
Etapas de un proyecto:
Requerimientos: lo que se quiere hacer.
Alcance: todo lo que se va a hacer y lo que no, estableciendo prioridades.
Análisis: de qué manera se va a hacer.
Diseño: diseño de pantallas.
Codificación: implementación del lenguaje de programación.
Pruebas: testing
Implementación: se instala en el cliente, consiste en el uso, el mantenimiento, la ampliación,
etc.
Procesos primarios del ciclo de vida del software: 12207 define los siguientes procesos
primarios en el ciclo de vida del software:
ADQUISICIÓN: Proceso global que sigue el adquiriente para obtener el producto.
SUMINISTRO: Proceso global que sigue el suministrador para proporcionar el producto.
DESARROLLO: Proceso empleado por el suministrador para el diseño, construcción y pruebas
del producto.
OPERACIÓN: Proceso seguido por el operador en el “día a día” para el uso del producto.
MANTENIMIENTO: Proceso empleado para mantener el producto, incluyendo tanto los
cambios en el propio producto como en su entorno de operación.

Procesos de soporte del ciclo de vida del software:


DOCUMENTACIÓN: Actividades empleadas para registrar información específica empleada por
otros procesos.
GESTIÓN DE LA CONFIGURACIÓN: Actividades empleadas para mantener un registro de los
productos generados en la ejecución de los procesos.
ASEGURAMIENTO DE LA CALIDAD: Actividades empleadas para garantizar de forma objetiva
que el producto y los procesos asociados son conformes a los requisitos documentados y a las
planificaciones.
VERIFICACIÓN: Actividades empleadas para verificar el producto.
VALIDACIÓN: Actividades empleadas para validar el producto.
REUNIONES DE REVISIÓN: Reuniones empleadas por las dos partes para evaluar el estado del
producto y de las actividades.
AUDITORÍAS: Actividades para determinar que el proyecto cumple con los requisitos, planes y
contratos.
RESOLUCIÓN DE PROBLEMAS: Actividades para analizar y resolver problemas relativas al
proyecto, sea cual sea su fuente y naturaleza.

Procesos organizacionales: el estándar 12207 identifica los procesos que deben realizarse en
el contexto de la organización que va a ejecutar el proyecto.
GESTIÓN: Describe las actividades de gestión de la organización, incluyendo también la gestión
de proyectos.
INFRAESTRUCTURA: Actividades necesarias para que puedan realizarse otros procesos del ciclo
de vida. Incluye entre otros el capital y el personal.
MEJORA: Actividades realizadas para mejorar la capacidad del resto de procesos.
FORMACIÓN

Procesos: Actividades y tareas implicadas en el desarrollo operación y mantenimiento de un


sistema de software.
La aplicación de los procesos, tanto en el desarrollo como en el posterior mantenimiento y
operación del software, se dibuja a través de unos “patrones fijos” que configuran el esquema
de mapa de situación, relación y continuidad entre los diferentes procesos, actividades y
tareas.

Modelos de ciclo de desarrollo:


 Lineal o secuencial: refleja un desarrollo marcado por la sucesión escalonada de las
etapas que lo componen: requisitos, diseño, codificación, pruebas e integración. Es
necesario terminar por completo cada etapa para pasar a la siguiente. Este modelo
resulta muy rígido porque cada fase requiere como elemento de entrada el resultado
completo de la anterior.
 Desarrollo en cascada (o variante secuencial): definió flujos de retorno sobre el
modelo secuencial, acuñando así el modelo en cascada. El modelo en cascada refleja la
necesidad impuesta por la realidad de retornar con frecuencia desde una fase hacia las
anteriores con la información generada al avanzar el desarrollo.
 Desarrollo en espiral: presenta un desarrollo evolutivo, en contraste a la linealidad de
los anteriores. También introduce como elemento distintivo la actividad de “análisis de
riego” para guiar la evolución del proceso de desarrollo. El ciclo de iteración de este
modelo es un espiral, que al representarse sobre ejes cartesianos muestra en cada
cuadrante una clase particular de actividad: Planificación, Análisis de riesgo, Ingeniería
y Evaluación, que se suceden de forma consecutiva a lo largo del ciclo de vida del
desarrollo. En cada ciclo de la espiral se realiza una parte del desarrollo total, a través
de los cuatro tipos de actividades.

Una vez desarrollada la primera versión, el ciclo de vida del sistema discurre en cada
momento según uno de los siguientes patrones:
 Desarrollo incremental del sistema: mitiga la rigidez del modelo en cascada,
descomponiendo el desarrollo de un sistema en partes; para cada una de las
cuales se aplica un ciclo de desarrollo.
 Desarrollo evolutivo del sistema: está compuesto por varios ciclos de desarrollo.
Cada uno de ellos produce un sistema completo con el que se operará en el
entorno de operación. La información acumulada en el desarrollo de cada sistema,
y durante su fase de operación sirve para mejorar o ampliar los requisitos y el
diseño del siguiente.

Administración de proyectos
Proyecto: surge de una idea o necesidad y es una planificación que consiste en un conjunto de
actividades que se encuentran interrelacionadas y coordinadas. La razón de un proyecto es
alcanzar las metas específicas dentro de los límites que imponen un presupuesto, calidades
establecidas previamente y un lapso de tiempo previamente definido.
Un proyecto implica un grado de incertidumbre. Antes de iniciar un proyecto se debe elaborar
un plan en función de ciertos supuestos y estimaciones.

Administración de proyectos: es la planeación, organización, coordinación, dirección y control


de los recursos para lograr el objetivo del proyecto. El proceso de administración de proyectos
consiste en planear el trabajo y luego trabajar el plan.
Debe centrarse en establecer un plan inicial realista que proporcione un plan de acción para
completar el alcance a tiempo, en los plazos fijados y dentro del presupuesto, siempre
teniendo como finalidad la satisfacción del cliente.
El objetivo del proyecto establece lo que se va a realizar. El proceso de planeación determina:
- Que se necesita hacer (alcance, entregables) - Como se hará (actividades, secuencia) - Quien
lo hará (recursos, responsabilidad) - Cuanto tiempo tomará hacerlo (duraciones, programa) y -
Cuanto dinero costará (presupuesto).

Administrador o Director de Proyectos o PM: persona encargada de coordinar el proyecto


para alcanzar el resultado esperado.

Causas comunes de Fracasos:


El alcance del proyecto cambia sin control. (Las metodologías agiles son una causa de esto ya
que su lema es “sean bienvenidos los cambios” a partir de una constante comunicación con el
cliente)
Alcance no definido adecuadamente.
Cambios de prioridad constantes o falta de prioridades.
Estimaciones incorrectas o sin fundamentos (para cualquier proyecto debe considerarse un
margen de error).
Riesgos no evaluados correctamente.
La metodología aplicada no es la correcta.
La comunicación es escasa.
No se realizan suficientes pruebas.
La teoría del Project Management no es aplicada correctamente.

Certificaciones del PMI


El Profesional en dirección de proyectos (PMP)®
El Técnico certificado en dirección de proyectos (CAPM) ®
El Profesional en dirección de programas (PgMP) ®.
El Profesional en dirección de tiempos del PMI (PMI-SP) ®
El Profesional en dirección de riesgos del PMI (PMI-RMP) ®
Practicante certificado por PMI en enfoques ágiles (PMI-ACP) SM

Normas y/o estándares internacionales:


PMP (Project Management Professional)
CAPM-PMI (Certified Associate in PM)
PMI-ACP (Agile Certified Practitioner)
PRINCE2 (Project IN Controlled Environments)
ISO 21.500 (Gestión de Proyectos)
AgilePM de APMG International
IPMA (International Project Management Association)

Éxitos en los Proyectos: un proyecto bien sucedido es aquel que ha sido desarrollado dentro
de las expectativas de tiempo, coste y calidad.
Es imprescindible contar con:
 Buena planificación.
 La información correcta, completa y actualizada para poder planificar, ejecutar y
controlar un proyecto de forma adecuada.
 La comunicación eficaz, exacta y distribuida a las personas correctas en el tiempo
apropiado.
 El compromiso de las personas involucradas para hacer las cosas bien, evitando
conflictos y trabajando en sinergia.

PMBOK: la Guía del PMBOK® contiene el estándar, reconocido a nivel global, y la guía para la
profesión de la dirección de proyectos. Por estándar se entiende un documento formal que
describe normas, métodos, procesos y prácticas establecidos.
La aceptación de la dirección de proyectos como profesión indica que la aplicación de
conocimientos, procesos, habilidades, herramientas y técnicas puede tener un impacto
considerable en el éxito de un proyecto. La Guía del PMBOK® identifica ese subconjunto de
fundamentos para la dirección de proyectos generalmente reconocido como buenas prácticas
para la gestión de proyectos.

Dirección de Proyectos: aplicación de conocimientos, habilidades, herramientas y técnicas a


las actividades del proyecto para cumplir con los requisitos del mismo. Se logra mediante la
aplicación e integración adecuadas de los 47 procesos de la dirección de proyectos, agrupados
de manera lógica, categorizados en 5 Grupos de Procesos y 10 Áreas de Conocimiento. En la
actualidad, los preceptos básicos de la administración de proyectos están representados por el
triángulo del proyecto.

Fases de un Proyecto: los proyectos implican incertidumbre, por eso, para acotar el problema
a resolver, los proyectos suelen dividirse en fases y cada fase se caracteriza por producir un
entregable. Sobre las fases se encuentran los 5 procesos encargados de la dirección del
proyecto.

5 grupos de procesos:
10 áreas de conocimiento:

Áreas y grupos:

También podría gustarte