Vous êtes sur la page 1sur 20

INGENIERÍA DE SOFTWARE

SEMANA 1
Introducción a la
Ingeniería de Software

Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni 1
ESTE
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 1
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 1
ÍNDICE

INTRODUCCIÓN A LA INGENIERÍA DE SOFTWARE .............................................................................. 4


OBJETIVOS ESPECÍFICOS ...................................................................................................................... 4
INTRODUCCIÓN ................................................................................................................................... 4
1. INGENIERÍA DE SOFTWARE ......................................................................................................... 5
1.1. DEFINICIÓN.......................................................................................................................... 5
1.2. PRINCIPIOS .......................................................................................................................... 7
1.3. IMPORTANCIA ..................................................................................................................... 7
2. MODELOS Y HERRAMIENTAS ...................................................................................................... 7
2.1. MODELO EN CASCADA ........................................................................................................ 9
2.2. MODELO EVOLUTIVO ........................................................................................................ 10
2.3. MODELO ESPECIAL ............................................................................................................ 11
2.4. EL PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE ............................................... 12
2.5. MODELO DE PROCESO DE SOFTWARE IEEE ...................................................................... 13
2.6. HERRAMIENTAS CASE........................................................................................................ 14
3. CARACTERÍSTICAS SISTEMÁTICAS DEL PROCESO DE SOFTWARE.............................................. 16
4. ETAPAS EN EL CICLO DE VIDA DEL SOFTWARE .......................................................................... 16
4.1. ANÁLISIS ............................................................................................................................ 17
4.2. DISEÑO .............................................................................................................................. 17
4.3. DESARROLLO ..................................................................................................................... 17
4.4. PRUEBAS............................................................................................................................ 17
4.5. IMPLANTACIÓN Y MANTENIMIENTO ................................................................................ 17
COMENTARIO FINAL.......................................................................................................................... 18
REFERENCIAS ..................................................................................................................................... 19

3
ESTE DOCUMENTO CONTIENE LA SEMANA 1
INTRODUCCIÓN A LA INGENIERÍA DE SOFTWARE

OBJETIVOS ESPECÍFICOS

 Analizar las características y propósitos de la Ingeniería de Software, valorando su


importancia en el diseño de sistemas.
 Comprender el uso de diferentes modelos de construcción de un software.
 Comprender el carácter sistémico del proceso de desarrollo de software.
 Comprender el ciclo de vida de construcción de un software.

INTRODUCCIÓN

El presente curso desarrolla una visión global de lo que es la ingeniería de software hoy en día,
entendiendo que un software es una herramienta que permite facilitar y agilizar procesos de
manejo de la información de una organización, con el fin de apoyar su crecimiento y relación con
su medio ambiente. En este contexto, la asignatura se enfoca en desarrollar en los estudiantes el
dominio de las herramientas básicas que les permitan comprender el proceso general de creación
de un software, es decir, la ingeniería de software, así como también propiciar la comprensión de
los criterios y lineamientos para que este logre cumplir en eficiencia y eficacia, desarrollándolo en
un plazo determinado, con el presupuesto previsto y con la funcionalidad solicitada.

Comprender estos conocimientos hoy es muy importante ya que las soluciones que se pueden
desarrollar favorecen procesos de crecimiento en empresas así como en universidades o personas,
en áreas tan diversas como las económicas, financieras, técnicas y/o educativas. Las empresas, en
general, no solo buscan programadores que simplemente ejecuten, no importando si lo ejecutado
tiene o no sentido, las compañías buscan profesionales con la capacidad de analizar, entender y
finalmente confeccionar una solución bajo el contexto particular de la empresa.

Por lo anterior, en este curso se desarrollará un enfoque teórico-práctico, donde los procesos de
análisis necesarios de aplicar desde la perspectiva de la construcción de sistemas y del desarrollo
de software permitan sentar las bases de este proceso, comprendiendo que el ciclo de vida del
software está formada por cuatro etapas principales: concepción, elaboración, construcción y
transición, así como de la realización de las pruebas necesarias para confirmar su correcto
funcionamiento y la implementación final de un sistema. A su vez, se trabajará en procesos
generales de análisis y creación de software, así como en aquellos destinados a la creación de
software a la medida basados en el análisis de requerimientos específicos, para comprender a
cabalidad las actuales tendencias en la ingeniería de software. Alguien que pueda desarrollar un
software “a la medida” dentro de lo que son los procesos globales de estandarización de procesos
y la personalización de una solución es lo que marcará el éxito o fracaso de un software.

4
ESTE DOCUMENTO CONTIENE LA SEMANA 1
1. INGENIERÍA DE SOFTWARE

1.1. DEFINICIÓN
La ingeniería de software es una disciplina de la ingeniería que interpreta una por una las
particularidades de la elaboración del software, comenzando por la elaboración del sistema hasta
el mantenimiento posterior, es decir, interpreta las formas prácticas para desarrollar y entregar un
software de mucha utilidad (Sommerville, 2012).

Universalmente en la ingeniería de software son fundamentales y aplicables a todos los tipos de


desarrollo de sistemas seguir el patrón de procesos de administración de software, confiabilidad,
seguridad de software, ingeniería de requerimientos y reutilización de software.

La ingenería del software está dirigida a poseer una responsabilidad organizacional con la calidad;
en otras palabras, no se puede integrar la ingenería del sofware en una organización que no está
enfocada en conseguir calidad.

De acuerdo a Pressman (2005), los componentes que forman parte de la ingeniería del software
son:

Capas de la Ingeniería del Software


Roger S. Pressman (2005) p12 .

 Procesos: establecen una estructura de trabajo al conjunto de áreas claves de proceso, las
cuales se deben determinar para la entrega objetiva de la tecnología del sofware.
La capa de proceso establece el proceso que será utilizado para la construcción del
sofware, tareas y actividades que el jefe de proyecto tendrá que administrar.
Por consiguiente, las partes claves del proceso conformarán los cimientos del control de
gestión de proyectos del software y determinán el contexto en el cual serán aplicados los
métodos técnicos, obtenidos los productos de trabajo y establecido el hito; así se afirma la
calidad y el cambio se realiza óptimamente.

5
ESTE DOCUMENTO CONTIENE LA SEMANA 1
El proceso de la ingenería del software es el vínculo que mantiene unidas las capas de
tecnología, las cuales permiten un desarrollo oportuno y racional del la ingenería del
software.
Cualquier recurso, inclusive herramientas utilizadas para construir el software, encajan en
el proceso. La capa de proceso es el fundamento de la ingenería del software y da soporte
a las capas de métodos y herramientas.
Los enfoques de la contrucción de software poseen un proceso, aunque en varios casos
son invisibles y caóticos. La ingenería del software que podemos llamar óptima hará que el
proceso de software aumente su visibilidad, que sea predicible y por supuesto más útil
para aquellos que construyen software.

 Métodos: la capa de métodos se enfoca en las actividades técnicas que se deberán llevar a
cabo para realizar las tareas de ingeniería. Los métodos cubren una gran gama de tareas,
las cuales abarcan: análisis de requisitos, construcción de programas, mantenimiento y
diseño pruebas. Los métodos de la ingeniería del software se sustentan en un grupo de
principios básicos que administran las áreas de la tecnología e incorporan actividades de
modelado y otras técnicas descriptivas.
La construcción del software compromete una amplia colección de actividades técnicas. La
capa de métodos tiene determinados los métodos para llevar a cabo esas actividades de
manera óptima. Esta se enfoca en cómo se realizarán las actividades técnicas. Las
personas implicadas usan los métodos para realizar actividades de ingeniería fundamental
que son necesarias para construir el software.
Para la mayoría de las actividades de proceso la capa de métodos posee el conjunto de
métodos técnicos óptimos para utilizar, lo cual abarca un conjunto de reglas, modos de
representaciones gráficas basados en textos y guías para evaluar la calidad de la
información representada.

 Herramientas: la capa de herramientas es la que brinda soporte a las capas de método y


proceso enfocándose en el significado de la automatización de algunas de las actividades
manuales. Las herramientas se pueden utilizar para automatizar las siguientes actividades:
 Actividades de gestión de proyectos.
 Métodos técnicos usados en la ingeniería de software.
 Soporte de sistemas general.
 Marcos de trabajo para otras herramientas.
La automatización provee un apoyo para eliminar lo tedioso del trabajo, disminuye las
probabilidades de errores y facilita la óptima práctica de la ingeniería de software.
Al utilizar herramientas la documentación se transforma en una parte integral del trabajo
realizado. Es por eso que la documentación no se realiza como actividad adicional. Las
herramientas pueden ser utilizadas para realizar actividades de gestión de proyecto y para
actividades técnicas.

6
ESTE DOCUMENTO CONTIENE LA SEMANA 1
1.2. PRINCIPIOS
El concepto “ingeniería de software” se propuso en 1969 en una conferencia de la Organización
del Tratado del Atlántico Norte (OTAN) realizada para plantear las dificultadades que presentaba
el desarrollo del software; en esos tiempos existían grandes sistemas de software que estaban
quedando absoletos, tenían un alto costo, no eran confiables y su distribución era muy lenta, no
cumpliendo con las exigencias que demandaban los usuarios (óp. cit.).

Posteriormente se fueron optimizando y desarrollando nuevas técnicas, métodos de ingeniería de


software, perfeccionando herramientas y notaciones estándar, tales como la programación
estructurada, el encubrimiento de información y el desarrollo orientado a objetos.

El software ha permitido la exploración del espacio y la creación de la World Wide Web, el sistema
de información más significativo en la historia de la humanidad.

1.3. IMPORTANCIA
La ingeniería de software se caracteriza porque con ella se puede analizar, diseñar, programar y
aplicar un software de manera correcta y organizada, cumpliendo con todos los requerimientos
del cliente. Es de suma importancia:

 Desarrollar sistemas o productos de software, procurando soluciones prácticas a los


problemas.
 Utilizar enfoques ad hoc para desarrollar los softwares.
 Reducir los tiempos de entrega y de desarrollo de software de alta calidad.

La importancia que tiene la ingeniería de software es:

 Cada día se ha visto que con mayor constancia las personas y la sociedad se apoyan en los
avanzados sistemas de software. Esto hace que se requiera producir rápida y
económicamente sistemas confiables.
 A veces resulta más económico por largos periodos utilizar técnicas y métodos de
ingeniería de software para los sistemas de software que solo crear los programas como
un proyecto de programación personal.

2. MODELOS Y HERRAMIENTAS

7
ESTE DOCUMENTO CONTIENE LA SEMANA 1
La ingeniería del software se sustenta en los modelos que determinan las diferentes etapas y
estados por los que pasa el producto software desde sus inicios, desarrollo, puesta en marcha y
posterior mantenimiento. Estos modelos son conocidos como “modelos de ciclo de vida del
software”.

Los modelos de ciclo de vida del software muestran las etapas del ciclo de software, el orden en
que deben ejecutarse y los criterios de transición entre etapas.

Modelo del ciclo de vida del software (Laboratorio Nacional de Calidad del Software de Inteco,
2009):

Describe las fases


principales de
desarrollo de
software.

Provee un espacio
de trabajo para la
Define las fases
definición de un
primarias que se
proceso detallado
espera se ejecuten
de desarrollo de
software.

Ayuda a
administrar el
progreso del
desarrollo.

8
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Las principales diferencias entre distintos modelos de ciclo de vida están en:

El alcance del ciclo


dependiendo de hasta
dónde llegue el proyecto
correspondiente. Un Las características de las
proyecto puede comprender etapas en que dividen el La estructura y la sucesión
un simple estudio de
ciclo. Esto puede de las etapas, si hay
viabilidad del desarrollo de
depender del propio tema realimentación entre ellas,
un producto o su desarrollo
completo o, en el extremo,
al que se refiere el y si tenemos libertad de
toda la historia del producto proyecto o de la repetirlas.
con su desarrollo, organización.
fabricación y modificaciones
posteriores hasta su retirada
del mercado.

2.1. MODELO EN CASCADA

Según Sommerville (óp. cit.), el modelo en cascada (waterfall) es el modelo más básico de todos;
se caracteriza porque ordena cuidadosamente las etapas del proceso para el desarrollo del
software, de manera que el inicio de cada etapa debe esperar a la finalización de la etapa anterior,
cumpliendo paso a paso las etapas de especificación, desarrollo, validación y evolución de un
proceso.

Fases del modelo en cascada:

 Análisis y definición de requerimientos


 Diseño del sistema y del software
 Implementación y prueba de unidad
 Integración y prueba de sistema
 Operación y mantenimiento

El problema de este modelo está en la dificultad de hacer cambios entre etapas.

9
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Modelo de desarrollo en cascada.
Ian Sommerville (2012)

2.2. MODELO EVOLUTIVO


El modelo evolutivo se caracteriza por ser interactivo y por la manera en que proporciona a los
ingenieros de software progresos en sus versiones más sofisticadas y cada vez más perfeccionadas
de software.

Este modelo va entrelazando las actividades de especificación, desarrollo y validación en vez de


separarse y se va perfeccionando de acuerdo a las solicitudes de los clientes, de manera de
satisfacer sus necesidades.

Algunas características del modelo evolutivo son:

 Gestiona bien la naturaleza evolutiva del software.


 Es iterativo, construye versiones de software cada vez más completas.

La aplicabilidad del modelo evolutivo:

 Sistemas interactivos pequeños o medianos.


 Partes de sistemas grandes.

10
ESTE DOCUMENTO CONTIENE LA SEMANA 1
 Sistemas de corta vida.

Problemas que presenta el modelo evolutivo:

 Poca visibilidad en el proceso.


 Los sistemas están pobremente especificados.
 Se requieren habilidades especiales.
 Alto riesgo debido a la necesidad de tecnología avanzada.

Modelo de Desarrollo Evolutivo.


Ian Sommerville (2012)

2.3. MODELO ESPECIAL


El modelo especial (método codificar y corregir) es un tipo de modelo de poca utilidad pero aun así
bastante común. Al hacer uso del modelo codificar y corregir comienza una idea general de lo que
se necesita construir. Podrá no tener una especificación formal, por lo que se utilizará alguna
combinación de diseño, depuración, código y métodos de prueba no formales, los cuales
funcionarán hasta el momento de entrega del producto listo.

El modelo a codificar y corregir posee dos ventajas:

11
ESTE DOCUMENTO CONTIENE LA SEMANA 1
 No implica gestión alguna, por lo que no se ocupa mucho tiempo en la planificación,
documentación, control de calidad, entre otras actividades que no sean netamente
codificación pura. Por lo antes mencionado es que se ven con mayor rapidez los progresos.

 Se necesita poca experiencia, es decir, todo individuo que ha escrito en algún programa de
computadora tendrá conocimiento del modelo codificar y corregir. Cualquiera puede
utilizarlo.

Este modelo se vuelve peligroso de usar en proyectos grandes; en otras palabras, es un modelo
para proyectos pequeños.

No requiere gestiones, pero no posee medios de calidad para evaluación del progreso ni
identificación de riesgos. En este modelo si al llevar tres cuartas partes de la codificación se
descubre que el diseño tiene errores, la única solución que habrá será desechar el trabajo
completo y volver a comenzar desde cero.

En cambio, otros modelos nos permiten detectar errores mucho antes, lo que por supuesto hace
más fácil solucionar el problema y no perder el trabajo completo.

2.4. EL PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE


El Proceso Unificado de Desarrollo de Software (cuya abreviatura es RUP) se destaca por ser un
proceso de software genérico que puede ser usado para una variada gama de sistemas de
software, distintas áreas de aplicación, distintos tipos de organizaciones, diferentes niveles de
competencia y distintos tamaños de proyectos.

Otorga una estructura organizada al momento de asignar tareas y responsabilidades al interior de


una organización de desarrollo. El objetivo es afirmar que la producción del software de alta
calidad complazca las necesidades de los usuarios finales, todo esto dentro de un calendario y
presupuesto predecible.

El Proceso Unificado hace uso del Lenguaje de Modelado Unificado (UML) en la organización de los
planes del sistema. El lenguaje de modelado unificado es una parte fundamental del proceso
unificado, es más, ambos fueron desarrollados a la par.

Cabe mencionar los aspectos característicos del Proceso Unificado, los que se pueden agrupar en 3
conceptos claves: está dirigido por casos de uso (use case driven), está centrado en la arquitectura
(architecture-centric), y es iterativo e incremental.

La figura muestra en la columna de la izquierda los flujos de trabajo.

12
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Las curvas son una aproximación de hasta dónde se llevan a cabo los flujos de trabajo en cada
fase.

The Unified Modeling Language User Guide.


Booch, Jacobson & Rumbaugh (1998, p. 39).

2.5. MODELO DE PROCESO DE SOFTWARE IEEE


El modelo de proceso de software IEEE (Institute of Electrical and Electronic Engineers) es un
estándar para la generación del proceso de desarrollo del software y su mantenimiento.

Más que un modelo de proceso en sí mismo, este estándar provee un proceso para crear un
Software Life Cycle Process (SLCP), proceso del ciclo de vida del software con el que el arquitecto
de procesos puede guiar su trabajo para un proyecto de software dado.

Esta metodología se inicia con la selección de un modelo de ciclo de vida de software (SLCM,
Software Life Cycle Model) apropiado para usarse en el proyecto. Continúa con la creación de un
ciclo de vida del software (SLC, Software Life Cycle), utilizando un conjunto de actividades dadas
que se proveen en el mismo estándar. La metodología finaliza con el detallado del SLC con los
Elementos del Proceso Organizacional (OPA, Organizational Process Assets) para crear el SLCP.

El estándar define, entre otros, una serie de conceptos, siendo los más relevantes:

13
ESTE DOCUMENTO CONTIENE LA SEMANA 1
 Software Life Cycle (SLC) – Ciclo de vida del software: la secuencia de actividades
específicas al proyecto que se crean mediante la referencia de las actividades en el
estándar con el modelo del ciclo de vida del software (SLCM) seleccionado.

 Software Life Cycle Model (SLCM) – Modelo del ciclo de vida del software: el marco de
trabajo seleccionado por cada organización que lo usa, en el que se referencian las
actividades del estándar para producir el ciclo de vida del software (SLC).
 Software Life Cycle Process (SLCP) – Proceso del ciclo de vida del software: la descripción
del proceso específico al proyecto que está basado en el ciclo de vida del software (SLC) y
los recursos del proceso organizacional.

La implementación del estándar consta de los siguientes pasos:

 Seleccionar un SLCM. Inicialmente, el arquitecto del proceso debe identificar el SLCM al


que las actividades tienen que referenciarse. Este paso comprende ubicar, evaluar,
seleccionar y adquirir un SLCM. Es posible que una organización tenga varios SLCM, sin
embargo solo un modelo se selecciona para un proyecto.

 Crear un SLC. Las actividades que se mencionan en el estándar deben referenciarse dentro
del SLCM.

 Colocar las actividades en una secuencia ejecutable.

 Desarrollar y justificar una lista de actividades que no se usarán.

 Verificar el mapeo.

 Establecer el SLCP. Los pasos anteriores constituyen el SLC. Como paso siguiente, las OPA
disponibles deben aplicarse a las actividades del SLC, y las restricciones o colisiones deben
resolverse.

2.6. HERRAMIENTAS CASE

Las herramientas CASE (Computer-Aided Software Engineering) son programas utilizados para dar
soporte a las actividades de los procesos de la ingeniería de software. Estas herramientas incluyen
editores de diseño, diccionarios de datos, compiladores, depuradores (debuggers), herramientas
de construcción de sistema, etc.

Las herramientas CASE son la aplicación científica de un conjunto de herramientas y métodos a un


sistema de software que resulta en productos de software de alta calidad, libres de defectos y
mantenimientos. También se refiere a los métodos para el desarrollo de sistemas de información
junto con herramientas automatizadas que pueden usarse en el proceso de desarrollo de
software.

14
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Cuando las herramientas de software se aplican a la propia tarea de desarrollar software, se habla
entonces de herramientas CASE. Una herramienta CASE es una herramienta de software que se
utiliza en una o más fases del desarrollo de un producto de software para apoyo de alguna tarea
específica de ingeniería de software.

La necesidad de utilizar herramientas en la ingeniería de software no se discute actualmente, ya


que se asume como indispensable. Sin embargo, las herramientas CASE son relativamente
recientes, pues las primeras aparecieron en la década de 1980. Hoy en día, las herramientas CASE
son una tecnología madura y ampliamente utilizada.

Se caracterizan las herramientas CASE por la diversidad de aplicaciones informáticas, las cuales
están destinadas a aumentar la productividad en el desarrollo de software, reduciendo los costes
de las mismas en términos de tiempo y de dinero, y mejorando la calidad y productividad en el
desarrollo de sistemas de información.

Beneficios del empleo de herramientas CASE en el desarrollo de software:

15
ESTE DOCUMENTO CONTIENE LA SEMANA 1
3. CARACTERÍSTICAS SISTEMÁTICAS DEL PROCESO DE
SOFTWARE

Un proceso de software corresponde a un serie de actividades que van conectadas unas a otras y
que llevan a la producción de un producto de software (Sommerville, 2012).

En la actualidad hay una gran variedad de procesos de software, pero todos deben incluir estas
cuatro actividades que son esenciales para la ingeniería de software:

 Especificación del software: corresponde a determinar la funcionalidad del software junto


con las restricciones de sus operaciones.
 Diseño e implementación del software: se preocupa del desarrollo del software,
cumpliendo con las especificaciones requeridas.
 Validación del software: su función es fijarse que el software cumpla con los
requerimientos del cliente.
 Evolución del software: debe tener el software y la capacidad de poder transformarse y
adaptarse para cumplir con los requerimientos cambiantes del cliente.

4. ETAPAS EN EL CICLO DE VIDA DEL SOFTWARE

Según Sommerville (óp. cit.), el ciclo de vida del software es el procedimiento que va detallando
paso a paso los movimientos que corresponde seguir para su desarrollo, partiendo desde la
necesidad de resolver un problema y terminando cuando el programa se desarrolló y cumplió con
los requerimientos solicitados.

Entre las funciones que sebe poseer un ciclo de vida, se pueden destacar:

 Determinar el orden de las etapas del proceso de software.


 Establecer los criterios de transición para pasar de una etapa a la siguiente.
 Definir las entradas y salidas de cada etapa.
 Describir los estados por los que pasa el producto.
 Describir las actividades a realizar para transformar el producto.
 Definir un esquema que sirva como base para planificar, organizar, coordinar y desarrollar.

El ciclo de vida de un proyecto está conformado por etapas continuas compuestas por tareas que
pueden ser planificadas.

Basándonos en el modelo del ciclo de la vida, la continuación de etapas puede extenderse


mediante bucles de realimentación, de forma tal que lo que es idealmente considerado la misma

16
ESTE DOCUMENTO CONTIENE LA SEMANA 1
etapa puede ser utilizada en más de una ocasión a lo largo de un proyecto, obteniendo en las
pasadas de ejecución contribuciones a los resultados intermedios que se van produciendo.

4.1. ANÁLISIS
En esta etapa se requiere comprender de forma específica la problemática a solucionar,
constatando el contexto en el que se encuentra el problema en cuestión. La idea es la obtención
de la información necesaria que es requerida para hacer frente a la respectiva solución. Esta etapa
es distinguida como la del qué se va a solucionar.

4.2. DISEÑO
Tan pronto como se ha recolectado la información necesaria acerca del problema a reparar, será
relevante establecer la estrategia que se implementará para la resolución del problema en
cuestión. A esta etapa se le distingue como la del cómo se va a solucionar.

4.3. DESARROLLO
Comenzando el análisis y diseño de la solución, se procede con el desarrollo del programa que
resuelva el problema por medio del uso de una herramienta computacional establecida.

4.4. PRUEBAS
Al momento de realizar la programación de computadores tienden a existir algunos errores
humanos, los cuales suelen aumentar considerablemente dependiendo de la complejidad del
problema. Al finalizar la escritura de un programa computacional, se deben llevar a cabo pruebas
que aseguren el óptimo funcionamiendo de dicho programa, considerando el mayor número de
variables a las que se pueda enfrentar.

4.5. IMPLANTACIÓN Y MANTENIMIENTO


Cuando un programa es instalado y puesto en marcha con el fin de llevar a cabo la solución de un
problema previamente establecido o satisfacer una necesidad determinada, se requiere la
conservación de una estructura de actualización, comprovación y validación que le otorgue al
programa utilidad y por supuesto el mantenerse actualizado dependiendo de los requerimientos
establecidos en su vida útil. Un mantenimiento óptimo se realiza con una completa
documentación del mismo.

17
ESTE DOCUMENTO CONTIENE LA SEMANA 1
COMENTARIO FINAL
Esta semana ha sido una introducción al mundo de la ingeniería de software, donde se han
trabajado algunos de los elementos, conceptos y herramientas claves que permiten identificar las
características y propósitos que presenta la ingeniería de software para el diseño de sistemas.

Del mismo modo, se revisaron las etapas en el ciclo de vida del software y el carácter sistémico del
proceso de desarrollo que conlleva la construcción de un software. Estos conocimientos son
necesarios y relevantes para el alumno, debido a que serán claves para la óptima comprensión del
curso y la aplicación cotidiana en su vida profesional.

La importancia de esta semana radica en que a partir de ahora el alumno podrá tener una
completa noción de lo que abarca la ingeniería de software y de lo que este curso aportará en su
formación académica.

18
ESTE DOCUMENTO CONTIENE LA SEMANA 1
REFERENCIAS

Sommerville, I. (2012). Ingeniería de Software. 9° edición. México: Editorial Pearson.

Pressman, R. (2005). Ingeniería del Software. 6° edición. México: Editorial MacGraw-Hill


Interamericana.

Whitten, J. & Bentley, L. (2008). Análisis de Sistemas. 7° edición. México: Editorial MacGraw-Hill
Interamericana.

Laboratorio Nacional de Calidad del Software de Inteco (2009). Ingeniería del software:
metodologías y ciclos de vida. Consultado el 25 de mayo de: https://goo.gl/Ql8hAv

Booch, G.; Jacobson, I. & Rumbaugh, J. (1998). The Unified Modeling Language User Guid.
Addison-Wesley Pub. Co. Inc.

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2015). Introducción a la Ingeniería de Software. Ingeniería de Software. Semana 1.

19
ESTE DOCUMENTO CONTIENE LA SEMANA 1
20
ESTE DOCUMENTO CONTIENE LA SEMANA 1

Vous aimerez peut-être aussi