Está en la página 1de 16

1.1 CONCEPTOS BASICOS.

a) 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

b) Software: Es el conjunto de todos los programas que existen dentro de una


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

c) La Ingeniera de Software: Es una disciplina de la Ingeniera que


comprende todos los aspectos de la produccin del software desde las
etapas inciales de la especificacin del sistema hasta el mantenimiento de
ste despus de que se libera.
La Ingeniera de Software incluye:

Personas (quin lo hace)

Proceso (la manera en que se hace)

Proyecto (la realizacin)

Producto (la aplicacin de artefactos)

1.2 EL PAPEL EVOLUTIVO DEL SOFTWARE.


El trmino fue introducido a fines del 60 y comienzo del 70, tras la crisis del
software que se caracteriz por:
Imprecisin en la planificacin del proyecto y estimacin de los costos.
Baja calidad del Software.
Dificultad

de

mantenimiento

estructurado, etc.

de

programas

con

un

diseo

poco

En las dcadas de 1980 y 1990 dos tendencias dominaron la ingeniera de


software:
El florecimiento explosivo de aplicaciones, incluyendo las de Internet.
El Nacimiento de nuevas herramientas y paradigmas (formas de
pensamiento, como la orientacin a objetos).
Mitos del Software
Mitos: Son las creencias acerca del software y los procesos empleados para
realizarlo.
Mitos de la Administracin
Mitos del Cliente
Mitos del Desarrollador

1.3 ETAPAS DEL DESARROLLO DEL SOFTWARE.


1. Investigacin preliminar: Parte de una solicitud de requerimiento de un
sistema de informacin, tiene tres partes:
a) Aclaracin de la Solicitud.
b) Estudio de Factibilidad: Tcnica, Econmica, Operacional
c) Aprobacin de la Solicitud.

2. Anlisis de requerimientos:
Comprender todas las facetas importantes de la parte de la empresa bajo
estudio:
a) Qu es lo que hace?
b) Cmo se hace?
c) Con qu frecuencia se presenta?
d) Volumen de transacciones o decisiones
e) Grado de eficiencia de las tareas
f) Existe algn problema?
g) Qu tan serio y causa que lo origina?

3. Diseo del sistema:


Plasma en un modelo los detalles que establecen la forma en la que
el sistema cumplir con los requerimientos identificados durante la
fase de anlisis
4. Desarrollo de Software:
Se puede instalar software comprado (software genrico) o escribir
programas diseados a

la medida del solicitante (software

personalizado).
La eleccin depende del costo, tiempo y disponibilidad de
programadores.
5. Pruebas:
En esta fase, el sistema se emplea de manera experimental para
asegurarse que el software no tenga fallas, es decir, que funcione de
acuerdo a las especificaciones del usuario y en la forma en que los
usuarios esperan que lo haga.
6. Implementacin:
Es el proceso de: Verificar e Instalar nuevo equipo, capacitar a
usuarios,

instalar

la

aplicacin

dejar

montada

toda

la

infraestructura para su aplicacin.


Atributos importantes que debe tener el software profesional.

Funcionalidad y desempeo.

Sustentable

Confiable

Utilizable

Capas de la Ingeniera de Software.


a) Herramientas:
Proporcionan el soporte automatizado o semiautomatizado para el
proceso y los mtodos.

b) Software de alta calidad:


El ISO ha adoptado un ciclo de planear-hacer-revisar-actuar que se
aplica a los elementos de gestin de calidad de un proyecto de
software.
c) Mtodos:
Proporcionan el cmo tcnico para construir software.
Se basan en un conjunto de principios bsicos que gobiernan cada
rea de la tecnologa.
Incluye actividades de modelado y otras tcnicas descriptivas.
d) Proceso:
Es el elemento que mantiene juntos los estratos de la tecnologa y
permite el desarrollo racional y a tiempo del software.
Forma la base para el control de gestin de proyectos, se establecen
los fundamentos, se asegura la calidad y el cambio se maneja de
manera apropiada.
e) Enfoque de Calidad:
Es la base que soporta la Ingeniera de Software.
f) Planear:
Establece los objetivos, actividades y tareas del proceso necesario
para conseguir un software de alta calidad y la satisfaccin del
cliente.
g) Hacer:
Implementa el proceso del software.
h) Revisar:
Monitorea y mide el proceso para asegurarse de que todos los
requisitos establecidos para la gestin de calidad hayan sido
cumplidos.
i) Actuar:
Inicia las actividades de mejoramiento del proceso de software el
cual tiene una continuidad de trabajo para mejorar el proceso.

Factores de Calidad y Productividad: Calidad del software es el cumplimiento


de los requisitos de funcionalidad y desempeo explcitamente establecidos, de
los

estndares

de

desarrollo,

explcitamente

documentados

de

las

caractersticas implcitas que se esperan de todo software desarrollado


profesionalmente.
tica en la Ingeniera de Software:

Confidencialidad

Competencia

Derecho de propiedad intelectual

Evitar el mal uso de computadoras

1.4 CLASIFICACION DE LA TECNOLOGIA EN EL DESARROLLO DEL


SOFTWARE (TECNOLOGIA ESTRUCTURADA Y ORIENTADA A OBJETOS).
Tecnologa estructurada.
Programacin Estructurada es una tcnica en la cual la estructura de un
programa, esto es, la interpelacin de sus partes realiza tan claramente cmo es
posible mediante el uso de tres estructuras lgicas de control:

Secuencia: Sucesin simple de dos o ms operaciones.

Seleccin: bifurcacin condicional de una o ms operaciones.

Interaccin: Repeticin de una operacin mientras se cumple una


condicin.

Estos tres tipos de estructuras lgicas de control pueden ser combinados para
producir programas que manejen cualquier tarea de procesamiento de
informacin.
Un programa estructurado esta compuesto de segmentos, los cuales puedan estar
constituidos por unas pocas instrucciones o por una pagina o ms de codificacin.

Cada segmento tiene solamente una entrada y una salida, estos segmentos,
asumiendo que no poseen lazos infinitos y no tienen instrucciones que jamas se
ejecuten, se denominan programas propios. Cuando varios programas propios se
combinan utilizando las tres estructuras bsicas de control mencionadas
anteriormente, el resultado es tambin un programa propio.
La programacin Estructurada esta basada en el Teorema de la Estructura, el cual
establece que cualquier programa propio (un programa con una entrada y una
salida exclusivamente) es equivalente a un programa que contiene solamente las
estructuras lgicas mencionadas anteriormente.
Una caracterstica importante en un programa estructurado es que puede ser ledo
en secuencia, desde el comienzo hasta el final sin perder la continuidad de la
tarea que cumple el programa, lo contrario de lo que ocurre con otros estilos de
programacin. Esto es importante debido a que, es mucho ms fcil comprender
completamente el trabajo que realiza una funcin determinada, si todas las
instrucciones que influyen en
su accin estn fsicamente contiguas y encerradas por un bloque. La facilidad de
lectura, de comienzo a fin, es una consecuencia de utilizar solamente tres
estructuras de control y de eliminar la instruccin de desvo de flujo de control,
excepto en circunstancias muy especiales tales como la simulacin de una
estructura lgica de control en un lenguaje de programacin que no la posea.

VENTAJAS POTENCIALES
Un programa escrito de acuerdo a estos principios no solamente tendr una
estructura, sino tambin una excelente presentacin.
Un programa escrito de esta forma tiende a ser mucho ms fcil de comprender
que programas escritos en otros estilos.
La facilidad de comprensin del contenido de un programa puede facilitar el
chequeo de la codificacin y reducir el tiempo de prueba y depuracin de

programas. Esto ultimo es cierto parcialmente, debido a que la programacin


estructurada concentra los errores en uno de los factores ms generador de fallas
en programacin: la lgica.
Un programa que es fcil para leer y el cual esta compuesto de segmentos bien
definidos tiende a ser simple, rpido y menos expuesto a mantenimiento. Estos
beneficios derivan en parte del hecho que, aunque el programa tenga una
extensin significativa, en documentacin tiende siempre a estar al da, esto no
suele suceder con los mtodos convencionales de programacin.
La programacin estructurada ofrece estos beneficios, pero no se la debe
considerar como una panacea ya que el desarrollo de programas es,
principalmente, una tarea de dedicacin, esfuerzo y creatividad.

Tecnologa Orientada a Objetos.


Lenguajes de Programacin Orientado a Objetos
En 1985, E. Stroustrup extendi el lenguaje de programacin C a C++, es decir C
con conceptos de clases y objetos, tambin por esas fechas se creo desde sus
bases el lenguaje EIFFEL.
En 1995 apareci el ms reciente lenguaje OO, Java desarrollado por SUN, que
hereda conceptos de C++.
El lenguaje de desarrollo ms extendido para aplicaciones Web, el PHP 5, trae
todas las caractersticas necesarias para desarrollar software orientado a objetos.
Adems de otros lenguajes que fueron evolucionando, como el Pascal a Delphi.
Finalmente tambin otros lenguajes script como el ActionScript que si bien no es
totalmente orientado a objetos pero s posee las caractersticas.
La programacin orientada a objetos es una de las formas ms populares de
programar y viene teniendo gran acogida en el desarrollo de proyectos de software

desde los ltimos aos. Esta acogida se debe a sus grandes capacidades y
ventajas frente a las antiguas formas de programar.

Hoy en da la tecnologa orientada a objetos ya no se aplica solamente a los


lenguajes de programacin, adems se viene aplicando en el anlisis y diseo con
mucho xito, al igual que en las bases de datos. Es que para hacer una buena
programacin orientada a objetos hay que desarrollar todo el sistema aplicando
esta tecnologa, de ah la importancia del anlisis y el diseo orientado a objetos.
Ventajas:

Fomenta la reutilizacin y extensin del cdigo.

Permite crear sistemas ms complejos.

Relacionar el sistema al mundo real.

Facilita la creacin de programas visuales.

Construccin de prototipos

Agiliza el desarrollo de software

Facilita el trabajo en equipo

Facilita el mantenimiento del software

Lo interesante de la POO es que proporciona conceptos y herramientas con las


cuales se modela y representa el mundo real tan fielmente como sea posible.
El modelo Orientado a Objetos
Objetos
Clases
Herencia
Envo de mensajes

1.5 DEFINICION E HISTORIA DE LAS HERRAMIENTAS CASE.

Las herramientas CASE (Computer Aided Software Engineering, Ingeniera de


Software Asistida por Ordenador) son diversas aplicaciones informticas
destinadas a aumentar la productividad en el desarrollo de software reduciendo el
coste de las mismas en trminos de tiempo y de dinero. Estas herramientas nos
pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software
en tareas como el proceso de realizar un diseo del proyecto, clculo de costes,
implementacin de parte del cdigo automticamente con el diseo dado,
compilacin automtica, documentacin o deteccin de errores entre otras.
Es un sistema de software que intenta proporcionar ayuda automatizada a las
actividades del proceso de software. Los sistemas CASE a menudo se utilizan
como apoyo al mtodo. La primera herramienta CASE como hoy la conocemos fue
Exceleratoren 1984 , era para PC . Actualmente la oferta de herramientas CASE
es muy amplia y tenemos por ejemplo el EASYCASE o WINPROJECT .

Ingeniera de Software Asistida por Ordenador


Ya en los aos 70 un proyecto llamado ISDOS [dise] un lenguaje y por lo tanto
un producto que analizaba la relacin existente entre los requisitos de un problema
y las necesidades que stos generaban, el lenguaje en cuestin se denominaba
PSL (Problem Statement Language) y la aplicacin que ayudaba a buscar las
necesidades de los diseadores PSA (Problem Statement Analyzer).
Aunque sos son los inicios de las herramientas informticas que ayudan a crear
nuevos proyectos informticos, la primera herramienta CASE fue Excelerator que
sali a la luz en el ao 1984 y trabajaba bajo una plataforma PC.
Las herramientas CASE alcanzaron su techo a principios de los aos 90. En la
poca en la que IBMhaba conseguido una alianza con la empresa de software
AD/Cycle para trabajar con susmainframes, estos dos gigantes trabajaban con
herramientas CASE que abarcaban todo el ciclo de vida del software. Pero poco a
poco los mainframes han ido siendo menos utilizados y actualmente el mercado

de las Big CASE ha muerto completamente abriendo el mercado de diversas


herramientas ms especficas para cada fase del ciclo de vida del software.

1.6 CLASIFICACION DE LAS HERRAMIENTAS CASE.


Aunque no es fcil y no existe una forma nica de clasificarlas, las herramientas
CASE se pueden clasificar teniendo en cuenta los siguientes parmetros:
1. Las plataformas que soportan.
2. Las fases del ciclo de vida del desarrollo de sistemas que cubren.
3. La arquitectura de las aplicaciones que producen.
4. Su funcionalidad.

La clasificacin basada en las fases del ciclo de desarrollo cubre:


Upper CASE (U-CASE), herramientas que ayudan en las fases de
planificacin, anlisis de requisitos y estrategia del desarrollo, usando, entre
otros diagramas UML.
Middle CASE (M-CASE), herramientas para automatizar tareas en el
anlisis y diseo de la aplicacin.
Lower CASE (L-CASE), herramientas que semi-automatizan la generacin
de

cdigo,

la depuracin

crean
de

programas
programas y

de deteccin
pruebas.

de

errores,

Adems

soportan

automatizan

la

documentacin completa de la aplicacin. Aqu pueden incluirse las


herramientas de Desarrollo rpido de aplicaciones.

Existen otros nombres que se le dan a este tipo de herramientas, y que no es


una clasificacin excluyente entre s, ni con la anterior:
Integrated CASE (I-CASE), herramientas que engloban todo el proceso de
desarrollo software, desde anlisis hasta implementacin.

MetaCASE, herramientas que permiten la definicin de nuestra propia


tcnica de modelado, los elementos permitidos del meta modelo generado
se guardan en un repositorio y pueden ser usados por otros analistas, es
decir, es como si definiramos nuestro propio UML, con nuestros
elementos, restricciones y relaciones posibles.
CAST (Computer-Aided Software Testing), herramientas de soporte a la
prueba de software.
IPSE (Integrated Programming Support Environment), herramientas que
soportan todo el ciclo de vida, incluyen componentes para la gestin de
proyectos y gestin de laconfiguracin.

Por funcionalidad podramos diferenciar algunas como:


Herramientas de generacin semiautomtica de cdigo.
Editores UML.
Herramientas de Refactorizacin de cdigo.
Herramientas de mantenimiento como los sistemas de control de versiones.

PLANIFICACION

ETAPA

QU HACE?

RASGOS

OBJETIVO DE LA

GENERALES.

ETAPA.

mbito del proyecto

En esta etapa se establece

Se deben eliminar los

Estudio de viabilidad

el

aspectos poco importantes

Anlisis de riesgos

problema,

Estimacin

ms

problema.

Planificacin temporal

posible. Es la parte ms

Si el problema no est

Asignacin de recurso

crtica de la solucin. Amerita

completamente definido se

un estudio cuidadoso. Se

deben

deben identificar las teoras,

informacin

fundamentos y/o principios

adicional.

aclarndolo

matemticos, fsicos o de

lo

para el planteamiento del

allegar

la

cualquier

ndole

que

permitan
fundamentar
satisfactoriamente el
problema.

Elicitacin
requerimientos:

Requerimientos

de

En esta etapa se debe

Identificar qu informacin

entender y comprender de

se

forma detallada cual es la

proporciona (datos del

problemtica a resolver,

problema).

funcionales y no verificando el entorno en el


funcionales

Modelado

Modelado

ANALISIS

Identificar qu resultados

cual se encuentra dicho

deben calcularse y/o

problema, de tal manera que

desplegarse.

se obtenga la informacin

Determinar la forma y las

de necesaria y suficiente para

unidades en qu se deben

datos

afrontar su respectiva

desplegar los resultados.

Modelado de

solucin.

Acotar las teoras,

procesos

fundamentos y/o principios


necesarios haciendo los
supuestos

simplificaciones
necesarias.
Identificar los tipos y
estructuras de datos
necesarios para los datos
del
problema y para los
resultados, identificar las
funciones u operaciones
necesarias para cubrir los
requerimientos
problema.

del

DISEO

Estudio de alternativas y
Diseo.
arquitectnico
Diseo de la base de
datos
Diseo de las aplicaciones

En esta etapa consiste

Es la parte ms difcil del

bsicamente en desarrollar

proceso de solucin del

una lista de pasos llamados

problema

algoritmo o receta de la

Debe verificarse que es

solucin, verificando que el

correcto el algoritmo antes

problema se resuelve como

de continuar Se auxilia de

se desea. Una vez que se

tcnicas de diseo como

tiene

pseudocdigo y diagramas

la

suficiente

informacin

de flujo.

del problema a solucionar, es

importante determinar la
estrategia que se va a utilizar
para resolver el problema

IMPLEMENTACION

Adquisicin de
componentes.
Creacin de integracin
de los recursos
necesarios para
que el sistema
Funcione.

Esta etapa consiste en

Se

requiere

implementar o escribir el

conocimiento

algoritmo como un programa

de

de computadora en un

programacin (gramtica,

lenguaje de programacin,

sintaxis y semntica), se

convirtiendo cada paso del

recomienda leer el manual

algoritmo en instrucciones en

del programador o su

el lenguaje de programacin.

equivalente

un

el

lenguaje

de

utilizarlo

como
consulta. Un editor de texto
para

escribir

el

cdigo

fuente como
un archivo de tipo texto
plano
Un intrprete que procese
el
cdigo fuente y lo ejecute
Un

debuggers

que

nos

ayude a depurar los errores


y a corregir el cdigo fuente
hasta lograr un programa

ejecutable sin errores

Pruebas de unidad.

PRUEBAS

Pruebas de integracin

En esta etapa comprueba

Se deben probar cada una

que el software realice

de

correctamente las tareas

las funciones primero por

Pruebas alfa

indicadas

Pruebas beta

especificacin.

conjunto.

Test de aceptacin

Se considera una buena

Se

prctica el que las pruebas

programa

sean efectuadas por alguien

completo con distintos

distinto al desarrollador que

conjuntos de datos de

la program, idealmente un

prueba.

rea

En

de

en

pruebas;

la

sin

separado y luego en

debe

caso

probar

de

que

el

haya

perjuicio

errores

de lo anterior el programador

repetir el paso 4 y 5 hasta

debe hacer sus propias

la

pruebas.

satisfaccin de los
requerimientos.

Mantenimiento adaptativo En esta etapa se realiza la


Mantenimiento correctivo

USO Y
MANTENIMIENTO

Mantenimiento perfectivo

Correctivo:

corrige

los

solucin del problema

errores

previamente planteado o

de la fase de construccin

satisface una determinada

Adaptivo: adapta nuevas

necesidad, es importante

caractersticas cambios en

mantener una estructura de

la

actualizacin, verificacin y

normativa

validacin que permitan a

Perfectivo: aade nuevas

dicho programa ser til y

caractersticas al software

mantenerse actualizado

Preventivo: realiza cambios

segn las necesidades o

en el software para facilitar

requerimientos planteados

el

durante su vida til. Para

mantenimiento de futuras

realizar un adecuado

funcionalidades

mantenimiento, es necesario
contar con una buena
documentacin del mismo.

Utilizacin e implementacin de las herramientas CASE.


Actualmente hay en el mercado varias herramientas CASE para la mayor parte de
los procesos del ciclo de vida del software, las cuales se presentan con las
metodologas de ingeniera de software ms conocidas. Se realiz una
investigacin para obtener una muestra representativa de los tipos de
herramientas que estn disponibles. De las herramientas que se encontraron,
fueron escogidas las que contienen las funciones asociadas al Anlisis
Estructurado y, en algunos casos, al diseo. La razn para incluir herramientas
que tambin cuenten con la fase de diseo, ya sea estructurado u orientado a
objetos, es debido a que el proyecto que se realiza se propone como la primera
parte de un ambiente integrado, por lo que es conveniente compararlo tambin
con herramientas que incluyan otras etapas del desarrollo del software.
La muestra de herramientas encontradas, as como sus caractersticas generales,
incluyendo metodologa(s) implementadas y precios.
Sin lugar a dudas las herramientas CASE han venido a revolucionar la forma de
automatizar los aspectos clave en el desarrollo de los sistemas de informacin,
debido a la gran plataforma de seguridad que ofrecen a los sistemas que las usan
y es que stas, brindan toda una gama de componentes que incluyen todas o la
mayora de los requisitos necesarios para el desarrollo de los sistemas, han sido
creadas con una gran exactitud en torno a las necesidades de los desarrolladores
de sistemas para la automatizacin de procesos incluyendo el anlisis, diseo e
implantacin.
Debido a la gran demanda que tienen las CASE su exigencia en cuanto a su uso
ha ido aumentando, por lo que toda CASE debe entre otras cosas:

Proporcionar topologas de aplicacin flexibles

Proporcionar aplicaciones porttiles

Brindar un Control de versin

Crear cdigo compilado en el servidor

Dar un Soporte multiusuario

Ofrecer Seguridad

Cuentan con una credibilidad y exactitud que tienen un reconocimiento universal,


siendo usadas por cualquier desarrollador y / o programador que busca un
resultado ptimo y eficiente, pero sobre todo que busca esa minuciosidad
necesaria de los procesos y entre los procesos.

BIBLIOGRAFA.

Anlisis y Diseo de Sistemas de Informacin, Senn, Editorial Mc Graw Hill


Ingeniera del Software, Pressman, Editorial Mc Graw Hill
Ingeniera de Software, Somerville, Editorial Pearson
Anlisis Y Diseo De Sistemas, 3. Edicin, Kendall & Kendall, Pginas
15.16.17.18
http://www.slideshare.net/IngenierosD/definicin-e-historia-de-las-herramientascase
http://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5103/Libro.pdf
http://www.ecured.cu/index.php/Herramienta_CASE#Clasificaci.C3.B3n
http://unudad1conceptos.blogspot.mx/
http://ceds.nauta.es/Catal/Products/caselist2.htm
http://www3.uji.es/~mmarques/f47/apun/node75.html
http://www.iscmolina.com/Herramientas%20CASE.html

También podría gustarte