Está en la página 1de 8

22/11/2018 Unidad 1:Fundamentos De Ingenieria De Software: @FUNDAMENTOS DE INGENIERIA DE SOFTWARE

Más Crear blog Acceder

Unidad 1:Fundamentos De Ingenieria De Software

MARTES, 19 DE FEBRERO DE 2013 ARCHIVO DEL BLOG


▼ 2013 (2)
@FUNDAMENTOS DE INGENIERIA DE SOFTWARE ► marzo (1)
▼ febrero (1)
@FUNDAMENTOS DE INGENIERIA
DE SOFTWARE

DATOS
UNIDAD 1: FUNDAMENTOS DE INGENIERÍA DE PERSONALES
SOFTWARE.

1.1 Conceptos Básicos


juana
Hernandez
La ingeniería de software es una disciplina formada por un conjunto de métodos,
Hernandez
herramientas y técnicas que se utilizan en el desarrollo de los programas
informáticos (software). Ver todo mi perfil

Esta disciplina trasciende la actividad de programación, que es la actividad


principal a la hora de crear un software. El ingeniero de software se encarga de
toda la gestión del proyecto para que éste se pueda desarrollar en un plazo
determinado y con el presupuesto previsto.

La ingeniería de software, por lo tanto, incluye el análisis previo de la situación,


el diseño del proyecto, el desarrollo del software, las pruebas necesarias para
confirmar su correcto funcionamiento y la implementación del sistema.

Los Ingenieros de Software deben:

· Adoptar un enfoque sistemático para llevar a cabo su trabajo.

· Utilizar las herramientas y técnicas 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 día, el software tiene un papel dual. Es producto y canal de distribución


de este. Como producto, ofrece la potencia de cómputo presentada como
http://ithuejutlajhh.blogspot.com/2013/02/fundamentos-de-ingenieria-de-software.html 1/8
22/11/2018 Unidad 1:Fundamentos De Ingenieria De Software: @FUNDAMENTOS DE INGENIERIA DE SOFTWARE
hardware de una computadora o, de manera más global por una red de
computadoras accesible mediante hardware local y de acceso físico. 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 información; realiza la
producción, el manejo, la adquisición, la modificación, el despliegue o la
transmisión de la información que puede ser tan simple como un solo bit o tan
compleja como una presentación multimedia. En su papel de vehículo para la
entrega de un producto, el software actúa como la base para el control de la
computadora (Sistemas Operativos), la comunicación de información (redes), y la
relación y el control de otros programas (utilerías de software y ambientes).

PRIMERA ERA

(1950 – 1965)

· Se trabajaba con la idea de “Codificar y Corregir”.

· No existía un planteamiento previo.

· No existía documentación de ningún tipo.

· Existencia de pocos métodos formales y pocos creyentes en ellos.

· Desarrollo a base de prueba y error.

SEGUNDO ERA

(1965 – 1972)

· Se busca simplificar código.

· Aparición de Multiprogramación y Sistemas Multiusuarios.

· Sistemas de Tiempo Real apoyan la toma de decisiones.

· Aparición de Software como producto. (Casas de Software).

· Se buscan procedimientos para el desarrollo del Software.

TERCERA ERA

(1972 – 1985)

· Nuevo Concepto: Sistemas Distribuidos.

http://ithuejutlajhh.blogspot.com/2013/02/fundamentos-de-ingenieria-de-software.html 2/8
22/11/2018 Unidad 1:Fundamentos De Ingenieria De Software: @FUNDAMENTOS DE INGENIERIA DE SOFTWARE

· Complejidad en los Sistemas de Información.

· 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 Información, Tecnologías Orientadas a Objetos.

· Aparecen: Redes Neuronales, Sistemas Expertos y SW de Inteligencia


Artificial.

· La información como valor preponderante dentro de las Organizaciones.

QUINTA ERA

(2000 hasta hoy en día)

Utiliza algunos requisitos de las eras anteriores solo que aumenta la


omnipresencia de la web, la reutilización de información y componentes de
software

· Codificar: Transformar mediante las reglas de un código la formulación de


un mensaje.

· Hardware: Componente físico de la computadora. Por ejemplo: el monitor,


la impresora o el disco rígido. El hardware por sí mismo no hace que una
máquina funcione.

· Multiprogramación: Se denomina multiprogramación a la técnica que


permite que dos o más procesos ocupen la misma unidad de memoria
principal y que sean ejecutados al "mismo tiempo“.

1.3 ETAPAS DE DESARROLLO DEL SOFTWARE

Etapa de análisis: 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 integrarán el
producto.

Etapa de Diseño: Es el proceso de utilizar la información recolectada en la etapa


de análisis al diseño del producto. La principal tarea de la etapa de diseño 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 diseño para crear los componentes del sistema.

http://ithuejutlajhh.blogspot.com/2013/02/fundamentos-de-ingenieria-de-software.html 3/8
22/11/2018 Unidad 1:Fundamentos De Ingenieria De Software: @FUNDAMENTOS DE INGENIERIA DE SOFTWARE
Etapa de Pruebas o Verificación Prueba : Consiste en asegurar que los
componentes individuales que integran al sistema o producto, cumplen con los
requerimientos de la especificación creada durante la etapa de diseño. Se
recomienda aplicar las etapas: • Análisis • Diseño • Desarrollo • Prueba A cada
uno de los ejercicios de este curso.
Etapa de Implementación o Entrega Implantación: Consiste en poner a
disposición del cliente el producto.

Etapa de Mantenimiento: Consiste en corregir problemas del producto y re-


liberar el producto como una nueva versión o revisión (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 están
conscientes de que el producto ya no será vendido ni soportado.

1.4 CLASIFICACIÓN DE LA TECNOLOGÍA EN EL DESARROLLO DE


SOFTWARE
(TECNOLOGÍA ESTRUCTURADA Y ORIENTADO A OBJETOS).
Tecnologías de desarrollo estructurado

Las tecnologías de desarrollo estructurado son las más convencionales de las


empleadas hoy día. Han surgido de la evolución de las ideas de programación
estructurada (hace más de veinticinco años) hacia las fases iniciales del ciclo de
vida. En su formulación actual, las notaciones empleadas en las primeras fases
del ciclo de vida (especificación de requisitos de usuario y sistema) suelen estar
constituidas por lenguajes gráficos que permiten: identificar el sistema y el
entorno; representar el flujo de información entre los elementos; y, describir los
datos y las actividades del sistema.
La idea base de esta tecnología es que es posible estructurar el modelo de un
sistema de software en base a funciones que procesan información que reciben
de otras funciones (o del exterior) y dirigen la información procesada a otros
módulos funcionales (o al exterior). El enfoque seguido, por tanto, es el de
pensar en las funciones del sistema necesarias (extraídas de los requisitos del
sistema) y luego en los datos que requieren.
Orientado a Objetos

Los métodos de descomposición orientada a objetos constituyenla tendencia


más influyente observada en la ingeniería de sistemas de software en los últimos
años. Con ellos nos referimos a un conjunto de métodos (aún en fase de
desarrollo o evolución) que permiten al analista y diseñador concebir su sistema
identificando clases de objetos, operaciones permitidas y relaciones entre ellos
como base para la estructura del sistema a diseñar.

En ellas, un objeto es un conjunto de datos y funciones de manipulación 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 cómo están implementadas. El diseñador reconoce
inicialmente clases de objetos de las que se derivan los objetos concretos que
utilizará en el diseño.

Un objeto puede construirse jerárquicamente empleando, a su vez, a otros


objetos más simples. Una clase implica una generalización del concepto de
objeto (identificando similitudes entre objetos similares) y constituye la base a
partir de las cuales se construye el sistema.

Existen varias tecnologías orientadas a objetos que, aunque similares en su


potencia expresiva, ofrecen algunas diferencias que las hacen más adecuadas
para algún tipo concreto de sistemas.

Podemos mencionar como una de las más representativas a OMT.

OMT está soportada por muchas herramientas CASE comerciales.

http://ithuejutlajhh.blogspot.com/2013/02/fundamentos-de-ingenieria-de-software.html 4/8
22/11/2018 Unidad 1:Fundamentos De Ingenieria De Software: @FUNDAMENTOS DE INGENIERIA DE SOFTWARE
Corresponde a una notación gráfica que permite representar las clases de
objetos, sus relaciones y la creación de ejemplares de los mismos. Aunque
básicamente empleada para la fase de análisis de requisitos del sistema puede
también emplearse para las primeras fases del diseño.

1.5 DEFINICIÓN 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: Investigación Preliminar,
Análisis, Diseño, Implementación e Instalación.

CASE: Conjunto de métodos, utilidades y técnicas que facilitan la automatización


del ciclo de vida del desarrollo de sistemas de información, completamente o en
alguna de sus fases.
La realización 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
coordinación de los eventos que necesitan ser mejorados en el ciclo de
desarrollo de software.
La mejor razón para la creación de estas herramientas fue el incremento en la
velocidad de desarrollo de los sistemas. Por esto, las compañías pudieron
desarrollar sistemas sin encarar el problema de tener cambios en las
necesidades del negocio, antes de finalizar el proceso de desarrollo.
También permite a las compañías competir más 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 también permiten a
los analistas tener más tiempo para el análisis y diseño y minimizar el tiempo
para codificar y probar.
La introducción de CASE integradas está comenzando a tener un impacto
significativo en los negocios y sistemas de información de las organizaciones.
Con un CASE integrado, las organizaciones pueden desarrollar rápidamente
sistemas de mejor calidad para soportar procesos críticos del negocio y asistir en
el desarrollo y promoción intensiva de la información 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 diseñado.


· Automatizar el dibujo de diagramas.
· Ayudar en la documentación del sistema.
· Ayudar en la creación de relaciones en la Base de Datos.
· Generar estructuras de código.

La principal ventaja de la utilización de una herramienta CASE, es la mejora de


la calidad de los desarrollos realizados y, en segundo término, el aumento de la
productividad. Para conseguir estos dos objetivos es conveniente contar con una
organización y una metodología de trabajo, además de la propia herramienta.

1.6 CLASIFICACION DE LAS HERRAMIENTAS CASE.


No existe una única clasificación de herramientas CASE y, en ocasiones, es
difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a:

· Las plataformas que soportan.

http://ithuejutlajhh.blogspot.com/2013/02/fundamentos-de-ingenieria-de-software.html 5/8
22/11/2018 Unidad 1:Fundamentos De Ingenieria De Software: @FUNDAMENTOS DE INGENIERIA DE SOFTWARE
· 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 función 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 también CASE workbench.
2. Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) ofront-
end, orientadas a la automatización y soporte de las actividades desarrolladas
durante las primeras fases del desarrollo: análisis y diseño.

3. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) oback-


end, dirigidas a las últimas fases del desarrollo: construcción e implantación.

4. Juegos de herramientas o Tools-Case, son el tipo más simple de


herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro
de este grupo se encontrarían las herramientas de reingeniería, orientadas
a la fase de mantenimiento.

JUANA HERNANDEZ HERNANDEZ SEM:IV GRUPO:B


ING.SITEMAS COMPUTACIONALES.

Citas 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

http://ithuejutlajhh.blogspot.com/2013/02/fundamentos-de-ingenieria-de-software.html 6/8
22/11/2018 Unidad 1:Fundamentos De Ingenieria De Software: @FUNDAMENTOS DE INGENIERIA DE SOFTWARE

Publicado por juana Hernandez Hernandez en 16:07

3 comentarios:

Esdras Amiud Carpio 19 de febrero de 2013, 21:34


Este comentario ha sido eliminado por el autor.
Responder

fredy lopez aquino 27 de agosto de 2014, 14:14


muchas gracias por la informacion espero que me sieve de algo XD
Responder

Elly 22 de diciembre de 2017, 16:41


Es sumamente importante saber implementar una metodologias del desarrollo de
software antes de empezar cualquier proyecto, ya que sin ello, es muy probable que
cualquier proyecto fracase
Responder

Introduce tu comentario...

Comentar como: Jhon Avendaño Cerrar sesión

Publicar Vista previa Avisarme

Entrada más reciente Página principal

Suscribirse a: Enviar comentarios (Atom)

Tema Picture Window. Con la tecnología de Blogger.

http://ithuejutlajhh.blogspot.com/2013/02/fundamentos-de-ingenieria-de-software.html 7/8
22/11/2018 Unidad 1:Fundamentos De Ingenieria De Software: @FUNDAMENTOS DE INGENIERIA DE SOFTWARE

http://ithuejutlajhh.blogspot.com/2013/02/fundamentos-de-ingenieria-de-software.html 8/8

También podría gustarte