Está en la página 1de 3

UNIDAD 1.

FUNDAMENTOS DE INGENIERIA DEL SOFTWARE


Concepto de Ingeniera

Es la profesin en la que el conocimiento de las ciencias naturales y matemticas obtenidos con


el estudio, la prctica y la experiencia se aplica con juicio para desarrollar formas de utilizar de
modo econmico, los materiales y fuerzas de la naturaleza para beneficio de la humanidad

Concepto de Software

Es el producto del desarrollo que realizan los ingenieros de software resultado de requerimientos
de informacin.

Concepto de Ingeniera del Software:

La ingeniera del software es el proceso formal de desarrollo de software en el que las


necesidades del usuario se traducen en requerimientos, estos se transforman en diseo que se
implementa en cdigo que se prueba, documenta y se certifica para su uso operativo.
Segn la definicin del IEEE la ingeniera del software se define como
(1) la aplicacin de un mtodo sistemtico, disciplinado y cuantificable al desarrollo, operacin y
mantenimiento de software, esto es, la aplicacin de la ingeniera al software.
(2) el estudio de los mtodos de (1).
La Ingeniera de Software incluye:
Personas (quin lo hace)
Proceso (la manera en que se hace)
Proyecto (la realizacin)
Producto (la aplicacin de artefactos)
El proceso requiere una metodologa con 5 etapas:
1.

2.
3.

4.

5.

Anlisis de requerimientos: Se extraen los requisitos del producto de software. En esta


etapa la habilidad y experiencia en la ingeniera del software es crtica para reconocer
requisitos incompletos, ambiguos o contradictorios. Usualmente el cliente/usuario tiene una
visin incompleta/inexacta de lo que necesita y es necesario ayudarle para obtener la visin
completa de los requerimientos. El contenido de comunicacin en esta etapa es muy intenso
ya que el objetivo es eliminar la ambigedad en la medida de lo posible.
Especificacin: Es la tarea de describir detalladamente el software a ser escrito, de una
forma rigurosa. Se describe el comportamiento esperado del software y su interaccin con
los usuarios y/o otros sistemas.
Diseo y arquitectura: Determinar como funcionar de forma general sin entrar en
detalles incorporando consideraciones de la implementacin tecnolgica, como el hardware,
la red, etc. Consiste en el diseo de los componentes del sistema que dan respuesta a las
funcionalidades descritas en la segunda etapa tambin conocidas como las entidades de
negocio. Generalmente se realiza en base a diagramas que permitan describir las
interacciones entre las entidades y su secuenciado.
Programacin: Se traduce el diseo a cdigo. Es la parte ms obvia del trabajo de
ingeniera de software y la primera en que se obtienen resultados tangibles. No
necesariamente es la etapa ms larga ni la ms compleja aunque una especificacin o
diseo incompletos/ambiguos pueden exigir que, tareas propias de las etapas anteriores se
tengan que realizarse en esta.
Prueba: Consiste en comprobar que el software responda/realice correctamente las tareas
indicadas en la especificacin. Es una buena praxis realizar pruebas a distintos niveles (por
ejemplo primero a nivel unitario y despus de forma integrada de cada componente) y por
equipos diferenciados del de desarrollo (pruebas cruzadas entre los programadores o
realizadas por un rea de test independiente).

6.

Documentacin: Realizacin del manual de usuario, y posiblemente un manual tcnico


con el propsito de mantenimiento futuro y ampliaciones al sistema. Las tareas de esta etapa
se inician ya en el primera fase pero slo finalizan una vez terminadas las pruebas.
7.
Mantenimiento: En esta etapa se realizan un mantenimiento correctivo (resolver errores)
y un mantenimiento evolutivo (mejorar la funcionalidades y/o dar respuesta a nuevos
requisitos).
http://proyectosguerrilla.com/blog/2013/02/las-cinco-etapas-en-la-ingenieria-del-software/
http://unudad1conceptos.blogspot.mx/

1.5 DEFINICIN DE LA HISTORIA DE LAS HERRAMIENTAS CASE.


Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan
asistencia.
a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de
Vida de desarrollo de un Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo
de un Software son: Investigacin Preliminar, Anlisis, Diseo, Implementacin e Instalacin.
CASE: Conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de
vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases.
La realizacin de un nuevo software requiere que las tareas sean organizadas y completadas en
forma correcta y eficiente. Las Herramientas CASE fueron desarrolladas para automatizar esos
procesos y facilitar las tareas de coordinacin de los eventos que necesitan ser mejorados en el
ciclo de desarrollo de software.
La mejor razn para la creacin de estas herramientas fue el incremento en la velocidad de
desarrollo de los sistemas. Por esto, las compaas pudieron desarrollar sistemas sin encarar el
problema de tener cambios en las necesidades del negocio, antes de finalizar el proceso de
desarrollo.
Tambin permite a las compaas competir ms efectivamente usando estos sistemas
desarrollados nuevamente para compararlos con sus necesidades de negocio actuales. En un
mercado altamente competitivo, esto puede hacer la diferencia entre el xito y el fracaso. Las
herramientas CASE tambin permiten a los analistas tener ms tiempo para el anlisis y diseo y
minimizar el tiempo para codificar y probar.
La introduccin de CASE integradas est comenzando a tener un impacto significativo en los
negocios y sistemas de informacin de las organizaciones.
Con un CASE integrado, las organizaciones pueden desarrollar rpidamente sistemas de mejor
calidad para soportar procesos crticos del negocio y asistir en el desarrollo y promocin
intensiva de la informacin de productos y servicios. Estas herramientas pueden proveer muchos
beneficios en todas las etapas del proceso de desarrollo de software, algunas de ellas son:

Verificar el uso de todos los elementos en el sistema diseado.

Automatizar el dibujo de diagramas.

Ayudar en la documentacin del sistema.

Ayudar en la creacin de relaciones en la Base de Datos.

Generar estructuras de cdigo.


La principal ventaja de la utilizacin de una herramienta CASE, es la mejora de la calidad de los
desarrollos realizados y, en segundo trmino, el aumento de la productividad. Para conseguir
estos dos objetivos es conveniente contar con una organizacin y una metodologa de trabajo,
adems de la propia herramienta.
1.6 CLASIFICACION DE LAS HERRAMIENTAS CASE.
No existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil incluirlas en
una clase determinada. Podran clasificarse atendiendo a:

Las plataformas que soportan.


Las fases del ciclo de vida del desarrollo de sistemas que cubren.

La arquitectura de las aplicaciones que producen.


Su funcionalidad.

Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se pueden agrupar
de la forma siguiente:
1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): Abarcan todas las
fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE workbench.
2. Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) front-end, orientadas a
la automatizacin y soporte de las actividades desarrolladas durante las primeras fases del
desarrollo: anlisis y diseo.
3. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) back-end, dirigidas a las
ltimas fases del desarrollo: construccin e implantacin.
4. Juegos de herramientas o Tools-Case, son el tipo ms simple de herramientas CASE.
Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontraran las
herramientas de reingeniera, orientadas a la fase de mantenimiento.