Вы находитесь на странице: 1из 8

Qu es la ingeniera software?

Ingeniera de software el rea de la ingeniera que ofrece mtodos y tcnicas para desarrollar y
mantener software.
Esta ingeniera trata con reas muy diversas de la informtica y de las ciencias de la computacin,
tales como construccin de compiladores, sistemas operativos, o desarrollos Intranet/Internet,
abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de
informacin y aplicables a infinidad de reas: negocios, investigacin cientfica, medicina,
produccin, logstica, banca, control de trfico, meteorologa, derecho, Internet, Intranet, etc.
Una definicin precisa an no ha sido contemplada en los diccionarios, sin embargo se pueden
citar las enunciadas por algunos de los ms prestigiosos autores:
- Es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin y
mantenimiento del software; es decir, la aplicacin de la ingeniera al software (IEEE, 1993).
La creacin del software es un proceso intrnsecamente creativo y la ingeniera del software trata
de sistematizar este proceso con el fin de acotar el riesgo del fracaso en la consecucin del
objetivo creativo por medio de diversas tcnicas que se han demostrado adecuadas en base a la
experiencia previa.
La IS se puede considerar como la ingeniera aplicada al software, esto es, por medios
sistematizados y con herramientas preestablecidas, la aplicacin de ellos de la forma ms eficiente
para la obtencin de resultados ptimos; objetivos que siempre busca la ingeniera. No es slo de
la resolucin de problemas, sino ms bien teniendo en cuenta las diferentes soluciones, elegir la
ms apropiada.
Concepto de sistema, conjunto de cosas que ordenadamente relacionadas entre s contribuyen
a un determinado objeto. De forma recursiva, las partes de un sistema pueden ser consideradas
como nuevos sistemas (subsistemas).
Los sistemas informticos son un conjunto de elementos que interactan entre s, para apoyar
a las actividades de un negocio u organizacin. Entre ellos podemos distinguir dos tipos de
subsistemas:
Sistemas Hardware, son los elementos materiales, los que se pueden tocar.
Sistemas Software, los programas que gobiernan el funcionamiento del computador.
El objetivo de los sistemas informticos es el tratamiento de la informacin: almacenamiento,
elaboracin y presentacin de datos. De esta forma se automatizan determinadas acciones.
Caractersticas del software (lo contrario para el hardware):
No se desgasta ni envejece, y por este motivo no requiere reparaciones ocasionales
Su duplicacin es poco costosa, lo caro es el desarrollo
Puede ser modificado fcilmente, tanto que es necesario un control de versiones

La Ingeniera del Software comprende las tcnicas y procedimientos ingenieriles para el


desarrollo del software.
La IS no se plantea solo una actividad de programacin, previamente son necesarias las fases de
anlisis y diseo y posteriormente la integracin y la verificacin, incluso el manteniendo cuando el
producto ya est en explotacin. (CICLO DE VIDA).
Inicialmente la tarea de desarrollo era realizada individualmente por hbiles creativos, de forma
poco disciplinada. El trabajo en equipo supone la divisin y organizacin del trabajo utilizando
metodologas de desarrollo de software.
Qu es una metodologa?
Es el conjunto de conocimientos que detalla y examina los mtodos de investigacin de las
diferentes disciplinas cientficas indicando sus limitaciones y recursos. Cada ciencia tiene su objeto
particular de estudio, su propio mtodo de investigacin y su lenguaje especializado.
La metodologa tiene diversos alcances:
Objetos de estudio. Debe estar bien definido, Qu objeto se va estudiar?
Teoras. Se utilizan para desarrollar tu investigacin.
Procedimientos lgicos en la investigacin.
Secuencia racional de pasos.
Economa.
1. Objeto de estudio. Produccin, distribucin, consumo y desarrollo.
2. Teora. Motivacin institucional.
3. Etapas de mtodo cientfico. Eleccin y delimitacin del tema etc.
Administracin
1. Objeto de estudio. La eficiencia de los factores de produccin en las organizaciones.
2. Teora. Liderazgo (autoritario, aptico, manipulador y centrado) y motivacin (salarios,
incentivos).
3. Etapas de mtodo cientfico. Eleccin y delimitacin del tema etc.
Mtodo. Son los procedimientos que siguen para revisar de manera sistemtica. El mtodo es un
medio para conocer la realidad describiendo (analizado y sintetizado) y prediciendo los fenmenos
de manera objetiva.
Una metodologa de desarrollo de software
Se refiere al entorno que se usa para estructurar, planificar y controlar el proceso de sistemas de
informacin.
Consiste en:
Mltiples herramientas, modelos y mtodos para asistir en el proceso de desarrollo de software.
Suele estar documentada y alguna clase de documentacin formal.
Suele estar promovida por algn tipo de organizacin ya sea esta pblica o privada que es la
que se encarga de promover esta metodologa.
Qu es un modelo?
Algo definido o establecido a seguir.

Para qu sirve?
Se crean y se siguen para ofrecer calidad total al cliente referente a un producto, bien o un
servicio.
Calidad Son un conjunto de procedimientos que cumplen con la finalidad de cubrir las
necesidades del cliente, en este caso se puede tener un ndice de error casi imperceptible ya sea
de un producto, bien o servicio.
El significado de calidad de esta palabra puede adquirir mltiples interpretaciones, ya que todo
depender del nivel de satisfaccin o conformidad del cliente. Sin embargo, la calidad es el
resultado de un esfuerzo arduo, se trabaja de forma eficaz para poder satisfacer el deseo del
consumidor. Dependiendo de la forma en que un producto o servicio sea aceptado o rechazado
por los clientes, podremos decir si ste es bueno o malo.
Calidad total es tener cero errores y cubrir ms all de las expectativas del cliente.
Modelo de desarrollo es una representacin abstracta de un proceso de software.
CICLO DE VIDA DEL SOFTWARE
Es la forma mediante la cual se describen los diferentes pasos que se deben seguir para el
desarrollo de un software, partiendo desde una necesidad hasta llegar a la puesta en marcha de
una solucin y su apropiado mantenimiento. El ciclo de vida para un software comienza cuando se
tiene la necesidad de resolver un problema, y termina cuando el programa que se desarroll para
cumplir con los requerimientos, deja de ser utilizado.
Existen varias versiones del ciclo de vida del software entre las cuales se destacan: el ciclo de vida
clsico o en cascada, el modelo en espiral, el desarrollo de prototipos, el modelo por incrementos
y el modelo extremo [6].
ETAPAS DEL CICLO DE VIDA DEL SOFTWARE
El ciclo de vida clsico del software siendo uno de los ms utilizados tal como lo plantean
diferentes autores, est conformado en su versin ampliada por siete etapas que se pueden
representar mediante un modelo en cascada as:

- INGENIERA DE SISTEMAS: En esta etapa el analista luego de un minucioso y detallado


estudio de los sistemas de una organizacin, detecta un problema o una necesidad que para su
solucin y/o satisfaccin es necesario realizar un desarrollo de software.
- ANLISIS: En esta etapa se debe entender y comprender de forma detallada cual es la
problemtica a resolver, verificando el entorno en el cual se encuentra dicho problema, de tal
manera que se obtenga la informacin necesaria y suficiente para afrontar su respectiva solucin.
Esta etapa es conocida como la del QU se va a solucionar.
- DISEO: Una vez que se tiene la suficiente informacin del problema a solucionar, es
importante determinar la estrategia que se va a utilizar para resolver el problema. Esta etapa es
conocida bajo el CMO se va a solucionar.
- IMPLEMENTACIN: partiendo del anlisis y diseo de la solucin, en esta etapa se procede a
desarrollar el correspondiente programa que solucione el problema mediante el uso de una
herramienta computacional determinada.
- PRUEBAS: Los errores humanos dentro de la programacin de los computadores son muchos y
aumentan considerablemente con la complejidad del problema. Cuando se termina de escribir un
programa de computador, es necesario realizar las debidas pruebas que garanticen el correcto
funcionamiento de dicho programa bajo el mayor nmero de situaciones posibles a las que se
pueda enfrentar.
- DOCUMENTACIN: Es la gua o comunicacin escrita en sus diferentes formas, ya sea en
enunciados, procedimientos, dibujos o diagramas que se hace sobre el desarrollo de un programa.
La importancia de la documentacin radica en que a menudo un programa escrito por una
persona, es modificado por otra. Por ello la documentacin sirve para ayudar a comprender o usar
un programa o para facilitar futuras modificaciones (mantenimiento).

La documentacin se compone de tres partes:


a. Documentacin Interna: Son los comentarios o mensajes que se aaden al cdigo fuente
para hacer ms claro el entendimiento de los procesos que lo conforman, incluyendo las
precondiciones y las pos condiciones de cada funcin.
b. Documentacin Externa: Se define en un documento escrito con los siguientes puntos:
Descripcin del Problema
Datos del Autor
Algoritmo (diagrama de flujo o Pseudocdigo)
Diccionario de Datos
Cdigo Fuente (programa)
c. Manual de Usuario: Describe paso a paso la manera cmo funciona el programa, con el fin de
que el usuario lo pueda manejar para que obtenga el resultado deseado.

Objetivos de la ingeniera de Software


En la construccin y desarrollo de proyectos se aplican mtodos y tcnicas para resolver los
problemas, la informtica aporta herramientas y procedimientos sobre los que se apoya la
ingeniera de software.

Mejorar la calidad de los productos de software


Aumentar la productividad y trabajo de los ingenieros del software.
Facilitar el control del proceso de desarrollo de software.
Suministrar a los desarrolladores las bases para construir software de alta calidad en una
forma eficiente.
Definir una disciplina que garantice la produccin y el mantenimiento de los productos
software desarrollados en el plazo fijado y dentro del costo estimado.

Principios de la ingeniera del software


Entre los principios ms destacados de la ingeniera del software, podemos sealar los siguientes:
Haz de la calidad la razn de trabajar.
Una buena gestin es ms importante que
una buena tecnologa.
Las personas y el tiempo no son
intercambiables.
Seleccionar el modelo de ciclo de vida
adecuado.
Entregar productos al usuario lo ms pronto
posible.
Determinar y acotar el problema antes de
escribir los requisitos.
Realizar un diseo.
Minimizar la distancia intelectual.
Documentar.
Las tcnicas son anteriores a las
herramientas.
Primero hazlo correcto, luego hazlo rpido
Probar, probar y probar.
Introducir las mejoras y modificaciones con
cuidado.

Asuncin de responsabilidades.
La entropa del software es creciente.
La gente es la clave del xito.
Nunca dejes que tu jefe o cliente te convenza
para hacer un mal trabajo.
La gente necesita sentir que su trabajo es
apreciado.
La educacin continua es responsabilidad de
cada miembro del equipo.
El compromiso del cliente es el factor ms
crtico en la calidad del software.
Tu mayor desafo es compartir la visin del
producto final con el cliente.
La mejora continua de tu proceso de
desarrollo de software es posible y esencial.
Tener procedimientos escritos de desarrollo
de software puede ayudar a crear una cultura
compartida de buenas prcticas.

Capas
El enfoque de ingeniera del software cuenta con un compromiso organizacional con la calidad
porque no es posible incorporar la ingeniera del software en una organizacin que no est
centrada en conseguir calidad.
La ingeniera del software es una tecnologa multicapa. Se puede ver como un conjunto de
componentes estratificados, que reposan sobre ese enfoque de calidad.

Capas de la ingeniera del software


Estos componentes que forman parte de la ingeniera del software son:
Procesos: un marco de trabajo que ayuda al jefe de proyecto a controlar la gestin del proyecto
y las actividades de ingeniera.
Mtodos: las actividades tcnicas requeridas para la creacin de productos de trabajo.
Herramientas: la ayuda automatizada para los procesos y mtodos.
El proceso define un marco de trabajo para un conjunto de reas clave de proceso que se
deben establecer para la entrega efectiva de la tecnologa de la ingeniera del software.
La capa de proceso define el proceso que se usar para construir el software y las actividades
y tareas que un jefe de proyecto tiene que gestionar. Por lo tanto, las reas claves del proceso
forman la base del control de gestin de proyectos del software y establecen el contexto en el
que se aplican los mtodos tcnicos, se obtienen productos de trabajo (modelos, documentos,
datos, informes, formularios, etc.), se establecen hitos, se asegura la calidad y el cambio se
gestiona adecuadamente. El proceso de la ingeniera del software es la unin que mantiene
juntas las capas de tecnologas y que permite un desarrollo racional y oportuno de la ingeniera
del software.
La capa de proceso abarca las siguientes
cuestiones:
El marco de trabajo de proceso comn (CPF)
Actividades y tareas de la ingeniera de
software
Puntos de control de calidad
Definiciones de productos de trabajo

Gestin de proyectos
Aseguramiento de la calidad del software
Gestin de la configuracin del software
Monitorizacin de proyectos
Medidas y mtrica

El modelo CMM
A partir de noviembre de 1986 el SEI, a requerimiento del Gobierno Federal de los Estados Unidos de
Amrica, desarroll una primera definicin de un modelo de madurez de procesos en el desarrollo de
software, que se public en septiembre de 1987. Este trabajo evolucion al modelo CMM o SW-CMM
(CMM for Software), cuya ltima versin (v1.1) se public en febrero de 1993.

Este modelo establece un conjunto de prcticas o procesos clave agrupados en reas Clave de
Proceso (KPA - Key Process Area). Para cada rea de proceso define un conjunto de buenas prcticas
que habrn de ser:

A su vez estas reas de Proceso se agrupan en cinco "niveles de madurez", de modo que una
organizacin que tenga institucionalizadas todas las prcticas incluidas en un nivel y sus inferiores, se
considera que ha alcanzado ese nivel de madurez.
Los niveles son:
1 - Inicial. Las organizaciones en este nivel no disponen de un ambiente estable para el desarrollo y
mantenimiento de software. Aunque se utilicen tcnicas correctas de ingeniera, los esfuerzos se ven
minados por falta de planificacin. El xito de los proyectos se basa la mayora 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.
2 - Repetible. En este nivel las organizaciones disponen de unas prcticas institucionalizadas de
gestin de proyectos, existen unas mtricas bsicas y un razonable seguimiento de la calidad. La
relacin con subcontratistas y clientes est gestionada sistemticamente.
3 - Definido. Adems de una buena gestin de proyectos, a este nivel las organizaciones disponen de
correctos procedimientos de coordinacin entre grupos, formacin del personal, tcnicas de
ingeniera ms detallada y un nivel ms avanzado de mtricas en los procesos. Se implementan
tcnicas de revisin por pares (peer reviews).
4 - Gestionado. Se caracteriza porque las organizaciones disponen de un conjunto de mtricas
significativas de calidad y productividad, que se usan de modo sistemtico para la toma de decisiones
y la gestin de riesgos. El software resultante es de alta calidad.
5 - Optimizado. La organizacin completa est volcada en la mejora continua de los procesos. Se
hace uso intensivo de las mtricas y se gestiona el proceso de innovacin.
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 nmero de reas de proceso que deben lograrse. El

alcanzar estas reas o estadios se detecta mediante la satisfaccin o insatisfaccin de varias metas
claras y cuantificables. Con la excepcin del primer nivel, cada uno de los restantes Niveles de
Madurez est compuesto por un cierto nmero de reas Claves de P