Vous êtes sur la page 1sur 8

UNIDAD 1: FUNDAMENTOS

INGENIERA DE SOFTWARE.

DE

1.1 Conceptos Bsicos


La ingeniera de software es una disciplina formada por un conjunto de mtodos,
herramientas y tcnicas que se utilizan en el desarrollo de los programas
informticos (software).
Esta disciplina trasciende la actividad de programacin, que es la actividad
principal a la hora de crear un software. El ingeniero de software se encarga de
toda la gestin del proyecto para que ste se pueda desarrollar en un plazo
determinado y con el presupuesto previsto.
La ingeniera de software, por lo tanto, incluye el anlisis previo de la situacin, el
diseo del proyecto, el desarrollo del software, las pruebas necesarias para
confirmar su correcto funcionamiento y la implementacin del sistema.
Los Ingenieros de Software deben:

Adoptar un enfoque sistemtico para llevar a cabo su trabajo.

Utilizar las herramientas y tcnicas apropiadas para resolver el problema


planteado, de acuerdo a las restricciones de desarrollo y a los recursos
disponibles.

1.2 EL PAPEL EVOLUTIVO DEL SOFTWARE

Hoy en da, el software tiene un papel dual. Es producto y canal de distribucin de


este. Como producto, ofrece la potencia de cmputo presentada como hardware
de una computadora o, de manera ms global por una red de computadoras
accesible mediante hardware local y de acceso fsico. Sin importar el lugar en que
resida el software, ya sea en un celular o dentro de una computadora central, ste
es un transformador de informacin; realiza la produccin, el manejo, la
adquisicin, la modificacin, el despliegue o la transmisin de la informacin que
puede ser tan simple como un solo bit o tan compleja como una presentacin
multimedia. En su papel de vehculo para la entrega de un producto, el software
acta como la base para el control de la computadora (Sistemas Operativos), la
comunicacin de informacin (redes), y la relacin y el control de otros programas
(utileras de software y ambientes).

PRIMERA ERA
(1950 1965)

Se trabajaba con la idea de Codificar y Corregir.

No exista un planteamiento previo.

No exista documentacin de ningn tipo.

Existencia de pocos mtodos formales y pocos creyentes en ellos.

Desarrollo a base de prueba y error.

SEGUNDO ERA
(1965 1972)

Se busca simplificar cdigo.

Aparicin de Multiprogramacin y Sistemas Multiusuarios.

Sistemas de Tiempo Real apoyan la toma de decisiones.

Aparicin de Software como producto. (Casas de Software).

Se buscan procedimientos para el desarrollo del Software.


TERCERA ERA
(1972 1985)

Nuevo Concepto: Sistemas Distribuidos.

Complejidad en los Sistemas de Informacin.

Aparecen: Redes de rea local y global, y Comunicadores Digitales.

Amplio Uso de Microprocesadores.


CUARTA ERA
(1985 - 1995 )

Impacto Colectivo de Software.

Aparecen: Redes de Informacin, Tecnologas Orientadas a Objetos.

Aparecen: Redes Neuronales, Sistemas Expertos y SW de Inteligencia Artificial.

La informacin como valor preponderante dentro de las Organizaciones.


QUINTA ERA
(2000 hasta hoy en da)

Utiliza algunos requisitos de las eras anteriores solo que aumenta la


omnipresencia de la web, la reutilizacin de informacin y componentes de
software

Codificar: Transformar mediante las reglas de un cdigo la formulacin de un


mensaje.

Hardware: Componente fsico de la computadora. Por ejemplo: el monitor, la


impresora o el disco rgido. El hardware por s mismo no hace que una mquina
funcione.

Multiprogramacin: Se denomina multiprogramacin a la tcnica que permite que


dos o ms procesos ocupen la misma unidad de memoria principal y que sean
ejecutados al "mismo tiempo.

1.3 ETAPAS DE DESARROLLO DEL SOFTWARE


Etapa de anlisis: Es el proceso de investigar un problema que se quiere
resolver. Definir claramente el Problema que se desea resolver o el sistema que se
desea crear. Identificar los componentes principales que integrarn el producto.
Etapa de Diseo: Es el proceso de utilizar la informacin recolectada en la etapa
de anlisis al diseo del producto. La principal tarea de la etapa de diseo es
desarrollar un modelo o las especificaciones para el producto o Componentes del
Sistema.
Etapa de Desarrollo: Consiste en utilizar los modelos creados durante la etapa
de diseo para crear los componentes del sistema.
Etapa de Pruebas o Verificacin Prueba : Consiste en asegurar que los
componentes individuales que integran al sistema o producto, cumplen con los
requerimientos de la especificacin creada durante la etapa de diseo. Se
recomienda aplicar las etapas: Anlisis Diseo Desarrollo Prueba A cada uno
de los ejercicios de este curso.
Etapa de Implementacin o Entrega Implantacin: Consiste en poner a
disposicin del cliente el producto.
Etapa de Mantenimiento: Consiste en corregir problemas del producto y reliberar el producto como una nueva versin o revisin (producto mejorado).

Etapa final EOL (End-of-Life) El fin del ciclo del producto consiste en realizar
todas las tareas necesarias para asegurar que los clientes y los empleados estn
conscientes de que el producto ya no ser vendido ni soportado.

1.4 CLASIFICACIN DE LA TECNOLOGA EN EL DESARROLLO DE


SOFTWARE
(TECNOLOGA ESTRUCTURADA Y ORIENTADO A OBJETOS).
Tecnologas de desarrollo estructurado
Las tecnologas de desarrollo estructurado son las ms convencionales de las
empleadas hoy da. Han surgido de la evolucin de las ideas de programacin
estructurada (hace ms de veinticinco aos) hacia las fases iniciales del ciclo de
vida. En su formulacin actual, las notaciones empleadas en las primeras fases
del ciclo de vida (especificacin de requisitos de usuario y sistema) suelen estar
constituidas por lenguajes grficos que permiten: identificar el sistema y el
entorno; representar el flujo de informacin entre los elementos; y, describir los
datos y las actividades del sistema.
La idea base de esta tecnologa es que es posible estructurar el modelo de un
sistema de software en base a funciones que procesan informacin que reciben de
otras funciones (o del exterior) y dirigen la informacin procesada a otros mdulos
funcionales (o al exterior). El enfoque seguido, por tanto, es el de pensar en las
funciones del sistema necesarias (extradas de los requisitos del sistema) y luego
en los datos que requieren.
Orientado a Objetos
Los mtodos de descomposicin orientada a objetos constituyenla tendencia ms
influyente observada en la ingeniera de sistemas de software en los ltimos aos.
Con ellos nos referimos a un conjunto de mtodos (an en fase de desarrollo o
evolucin) que permiten al analista y diseador concebir su sistema identificando
clases de objetos, operaciones permitidas y relaciones entre ellos como base para
la estructura del sistema a disear.
En ellas, un objeto es un conjunto de datos y funciones de manipulacin de los
mismos encapsulados en una unidad que es posible tratar como un todo (crear,
copiar, destruir, etc.). Un objeto posee unas operaciones visibles a otros objetos
aunque stos no conocen cmo estn implementadas. El diseador reconoce
inicialmente clases de objetos de las que se derivan los objetos concretos que
utilizar en el diseo.
Un objeto puede construirse jerrquicamente empleando, a su vez, a otros objetos
ms simples. Una clase implica una generalizacin del concepto de objeto
(identificando similitudes entre objetos similares) y constituye la base a partir de
las cuales se construye el sistema.

Existen varias tecnologas orientadas a objetos que, aunque similares en su


potencia expresiva, ofrecen algunas diferencias que las hacen ms adecuadas
para algn tipo concreto de sistemas.
Podemos mencionar como una de las ms representativas a OMT.
OMT est soportada por muchas herramientas CASE comerciales.
Corresponde a una notacin grfica que permite representar las clases de objetos,
sus relaciones y la creacin de ejemplares de los mismos. Aunque bsicamente
empleada para la fase de anlisis de requisitos del sistema puede tambin
emplearse para las primeras fases del diseo.

1.5
DEFINICIN
DE
HERRAMIENTAS CASE.

LA

HISTORIA

DE

LAS

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) ofrontend, 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) obackend, 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.

JUANA HERNANDEZ HERNANDEZ


COMPUTACIONALES.

Citas

SEM:IV

GRUPO:B

ING.SITEMAS

Bibliograficas:

http://alvaroblogdetrabajo.blogspot.mx/2011/03/el-papel-evolutivo-del-software.html

http://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5103/Libro.pdf
http://www.slideshare.net/itlac/etapas-de-desarrollo-software
http://es.scribd.com/doc/102179675/conceptos-basicos-de-ingenieria-de-software
http://alvaroblogdetrabajo.blogspot.mx/2011/03/el-papel-evolutivo-del-software.html

Vous aimerez peut-être aussi