Vous êtes sur la page 1sur 9

Centro Universitario UAEM Valle de México

Unidad de Aprendizaje

8-8-2019 Tópicos de
Ingeniería de
Software

Integrantes:
Garcia Herrera Jean Carlos
Mata González Brandon Alexis
Mendoza Andrade Brayan Alexis
Posadas Delgado Alexis
Roldan Reyes Jorge Miguel
Sánchez Vargas Samuel Eliezer
Tabla de contenido
1. Definición de ingeniería de software. ............................................................................................. 2
2. Cuáles son las capas de la ingeniería de software .......................................................................... 3
3. Herramientas CASE de la ingeniería de software............................................................................ 5 1

Bibliografía .......................................................................................................................................... 8

INGENIERÍA DE SOFTWARE | F-73


Tópicos de Ingeniería de software

1. Definición de ingeniería de software.

La ingeniería de software está formada por un proceso, un conjunto de métodos


(prácticas) y un arreglo de herramientas que permite a los profesionales elaborar 2
software confiable de cómputo de alta calidad complejos basados en computadoras
de manera eficiente.
Otra definición, Es la aplicación de un enfoque sistemático, disciplinado y
cuantificable al desarrollo, operación y mantenimiento de software; es decir, la
aplicación de la ingeniería al software
Ingeniería del Software es la aplicación práctica del conocimiento científico en el
diseño y construcción de programas de computadora y la documentación asociada
requerida para desarrollar, operar y mantenerlos. Se conoce también como
desarrollo de software o producción de software
La ingeniería del software es una disciplina de la ingeniería que comprende todos
los aspectos de la producción de software desde las etapas iniciales de la
especificación del sistema, hasta el mantenimiento de éste después de que se
utiliza.

INGENIERÍA DE SOFTWARE | F-73


2. Cuáles son las capas de la ingeniería de software

La ingeniería de software es una tecnología con varias capas.

El fundamento en el que se apoya la ingeniería de software es el compromiso con


la calidad.
El fundamento para la ingeniería de software es la capa proceso. El proceso de
ingeniería de software permite el desarrollo racional y oportuno del software de
cómputo. El proceso define una estructura que debe establecerse para la obtención
eficaz de tecnología de ingeniería de software. El proceso de software forma la base
para el control de la administración de proyectos de software, y establece el contexto
en el que se aplican métodos técnicos, se generan productos del trabajo (modelos,
documentos, datos, reportes, formatos, etc.), se establecen puntos de referencia,
se asegura la calidad y se administra el cambio de manera apropiada.
Los métodos de la ingeniería de software proporcionan la experiencia técnica para
elaborar software. Incluyen un conjunto amplio de tareas, como comunicación,
análisis de los requerimientos, modelación del diseño, construcción del programa,
pruebas y apoyo. Los métodos de la ingeniería de software se basan en un conjunto
de principios fundamentales que gobiernan cada área de la tecnología e incluyen
actividades de modelación y otras técnicas descriptivas.
Las herramientas de la ingeniería de software proporcionan un apoyo automatizado
o semiautomatizado para el proceso y los métodos. Cuando se integran las
herramientas de modo que la información creada por una pueda ser utilizada por
otra, queda establecido un sistema llamado ingeniería de software asistido por
computadora que apoya el desarrollo de software.
La estructura del proceso establece el fundamento para el proceso completo de la
ingeniería de software por medio de la identificación de un número pequeño de
actividades estructurales que sean aplicables a todos los proyectos de software, sin
importar su tamaño o complejidad. Además, la estructura del proceso incluye un
conjunto de actividades sombrilla que son aplicables a través de todo el proceso del

INGENIERÍA DE SOFTWARE | F-73


software. Una estructura de proceso general para la ingeniería de software consta
de cinco actividades:

Comunicación Planeación Modelado Construcción Despliegue

4
Estas cinco actividades estructurales genéricas se usan durante el desarrollo de
programas pequeños y sencillos, en la creación de aplicaciones web grandes y en
la ingeniería de sistemas enormes y complejos basados en computadoras.
Las actividades estructurales del proceso de ingeniería de software son
complementadas por cierto número de actividades sombrilla. En general, las
actividades sombrilla se aplican a lo largo de un proyecto de software y ayudan al
equipo que lo lleva a cabo a administrar y controlar el avance, la calidad, el cambio
y el riesgo. Es común que las actividades sombrilla sean las siguientes:

Seguimiento y Admón. de la Admón. de la


Control Configuración Reutilización

Admón. del Preparación y


Medición
Riesgo Producción

Aseguramiento Revisiones
de Calidad Técnicas

INGENIERÍA DE SOFTWARE | F-73


3. Herramientas CASE de la ingeniería de software

CASE (Ingeniería del Software Asistida por Computadora) comprende un amplio


abanico de diferentes tipos de programas que se utilizan para ayudar a las
actividades del proceso del software, como el análisis de requerimientos, el
modelado de sistemas, la depuración y las pruebas. En la actualidad, todos los 5
métodos vienen con tecnología CASE asociada, como los editores para las
notaciones utilizadas en el método, módulos de análisis que verifican el modelo del
sistema según las reglas del método y generadores de informes que ayudan a crear
la documentación del sistema. Las herramientas CASE también incluyen un
generador de código que automáticamente genera código fuente a partir del modelo
del sistema y de algunas guías de procesos para los ingenieros de software.
Las herramientas CASE son sistemas de software que está n diseñado s para
ayudar a las actividades rutinarias del proceso del software, como editar diagramas
de diseño , verificar la consistencia de estos y mantener un banco de pruebas de
los programas ejecutados.
Las herramientas CASE se pueden utilizar para generar un programa esqueleto a
partir de un diseño. Esto incluye código para definir e implementar las interfaces, y
en muchos casos el desarrollador sólo necesita agregar detalles del funcionamiento
de cada componente del programa.
La tecnología CASE proporciona ayuda al proceso del software automatizando
algunas de sus actividades, así como proporcionando información acerca del
software en desarrollo. Algunos ejemplos de las actividades que se pueden
automatizar utilizando CASE son:
1. El desarrollo de modelos gráficos del sistema como parte de la especificación de
requerimientos o del diseño de software.
2. La comprensión del diseño utilizando un diccionario de datos que tiene
información sobre las entidades y relaciones del diseño.
3. La generación de interfaces de usuario a partir de la descripción gráfica de la
interfaz que es elaborada de forma interactiva por el usuario.
4. La depuración de programas por medio de la provisión de la información
proporcionada por los programas en ejecución.
5. La conversión automática de programas de una versión anterior de un lenguaje
de programación, como COBOL, a una versión más reciente.

INGENIERÍA DE SOFTWARE | F-73


La tecnología CASE está disponible para la mayoría de las actividades rutinarias en
el proceso del software
Las mejoras por la utilización de CASE están limitadas por dos factores:
1. Esencialmente, la ingeniería del software es una actividad de diseño que se basa
en la creatividad. Los sistemas CASE automatizan las actividades rutinarias, pero
los intentos de utilizar la inteligencia artificial para proporcionar ayuda al diseño no 6
han tenido éxito.
2. En la mayoría de las organizaciones, la ingeniería del software es una actividad
de equipo, y los ingenieros invierten mucho tiempo interactuando con los otros
miembros del equipo, La tecnología CASE no proporciona mucha ayuda para esto.

Clasificar las herramientas CASE, cada una de las cuales nos proporciona una
perspectiva distinta de estas herramientas:
1. Una perspectiva funcional en la que las herramientas CASE se clasifican de
acuerdo con su función específica.
2. Una perspectiva de proceso en la que las herramientas se clasifican de acuerdo
con las actividades del proceso que ayudan.
3. Una perspectiva de integración en la que las herramientas CASE se clasifican de
acuerdo con la forma en que están organizadas en unidades integradas que
proporcionan ayuda a una o más actividades del proceso.

Otra dimensión de clasificación posible es la amplia ayuda que ofrece la tecnología


CASE para el proceso del software. Fuggetta (Fuggetta, 1993) propone que los
sistemas CASE se deben clasificar en tres categorías:
1. Las herramientas ayudan a las tareas individuales del proceso como la
verificación de la consistencia de un diseño, la compilación de un programa y la
comparación de los resultados de las pruebas. Las herramientas pueden ser de
propósito general, independiente (por ejemplo, un procesador de texto) o agrupado
en bancos de trabajo.
2. Los bancos de trabajo ayudan a las fases o actividades del proceso como la
especificación, el diseño, etcétera. Normalmente consisten en un conjunto de
herramientas con algún grado mayor o menor de integración.
3. Los entornos ayudan a todos los procesos del software, o al menos a una parte
sustancial de éstos. Normalmente incluyen varios bancos de trabajo integrados.
La gestión de requerimientos necesita ayuda automatizada; las herramientas
CASE para esto deben elegirse durante la fase de planificación.

INGENIERÍA DE SOFTWARE | F-73


Clasificación de herramientas case:

• 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.
• Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-
end: Orientadas a la automatización y soporte de las actividades 7
desarrolladas durante las primeras fases del desarrollo: análisis y diseño.
• Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-
end: Dirigidas a las últimas fases del desarrollo: construcción e implantación.
• 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.

INGENIERÍA DE SOFTWARE | F-73


Bibliografía 8

Caceres, A. M. (21 de 07 de 2006). Herramientas case. Obtenido de


http://rcruz0423.galeon.com/docs/case.pdf

Roger S. Pressman, P. (2010). Ingeniería del Software. México, D. F.: McGRAW-HILL


INTERAMERICANA EDITORES, S.A. DE C.V.

SOMMERVILLE, I. (2005). Ingeniería del Software. Madrid: PEARSON EDUCACIÓN. S.A.

INGENIERÍA DE SOFTWARE | F-73

Vous aimerez peut-être aussi