Vous êtes sur la page 1sur 15

08/02/2017

Fundamentos de
Ingeniera de Software

Unidad I.- Fundamentos de


la Ingeniera de Software

Unidad I.- Fundamentos de Ingeniera de Software


Competencia especfica: Identifica y comprende el entorno de aplicacin
de la Ingeniera de Software.
1.1 Conceptos bsicos
1.2 Historia de la Ingeniera de software
1.3 Importancia de la Ingeniera de Software
1.4 Fases de la Ingeniera de software
1.5 Modelos de proceso de desarrollo de software
1.6 Importancia de las herramientas CASE en la Ingeniera de Software

Criterios de evaluacin para esta unidad


Evaluacin escrita 50%
Exposicin de modelos 30%
Tareas 10%
Asistencia y Participacin 10%

1
08/02/2017

1.1 Conceptos Bsicos

Tarea 1
Investigar definiciones de Ingeniera de Software y escribir en su
cuaderno cuando menos dos de las que consideren ms importantes.

Conceptos Bsicos

Qu es la ingeniera?...
o Es la ciencia de la produccin, la cual, junto con la
reproduccin, es la ms fundamental de las actividades
humanas (Auyang, 2004)
o La profesin en la que el conocimiento de las ciencias
naturales y matemticas obtenido con el estudio, la
experiencia y la prctica, se aplica con juicio para
desarrollar formas de utilizar, de modo econmico, los
materiales y fuerzas de la naturaleza para beneficio de
la humanidad

2
08/02/2017

Conceptos Bsicos

La ingeniera como actividad humana es la


aplicacin del conocimiento y los mtodos cientficos
al diseo y la produccin de productos complejos.
La Ingeniera se ha pensado mucho como una iniciativa
humana desde antes del surgimiento del software y,
cuando surge la Ingeniera del Software, se exige el
mismo grado de disciplina en quienes la practican, al
igual que en otras ingenieras como la Elctrica,
Mecnica, Civil, etc.

Conceptos Bsicos

Qu es el software?...
o Son Instrucciones de computadora que cuando se ejecutan
cumplen una funcin y tienen un comportamiento deseados.

o Son Estructuras de Datos que facilitan a los programadores la


adecuada manipulacin de la informacin, y documentos que
describen la operacin y el uso de los programas.

o Es el conjunto completo de programas, procedimientos y


documentacin relacionada que se asocia con un sistema, y
especialmente con un sistema de computadora. En un sentido
especfico, software son los programas de computadora.

3
08/02/2017

Conceptos Bsicos

Que es la Ingeniera de Software?...


La Ingeniera de Software es una disciplina de la Ingeniera
que concierne a todos los aspectos de la produccin de
software.
El proceso que se sigue con la IS consta de un conjunto
de etapas parcialmente ordenadas con la intencin de
lograr la obtencin de un producto del Software de
calidad.

Software confiable y eficiente

Conceptos Bsicos

Que es la Ingeniera de Software?


Definicin propuesta por Fritz Bauer que sirvi como base para el anlisis
de la IS:
La ingeniera de software es el establecimiento y uso de principios
fundamentales de la ingeniera con objeto de desarrollar en forma
econmica software que sea de confiable y que trabaje con eficiencia en
mquinas reales.

Definicin del IEEE:


La Ingeniera del Software es la aplicacin de un enfoque sistemtico,
disciplinado y cuantificable en el desarrollo, la operacin y el mantenimiento del
software.
IEEE: Acrnimo de Institute of Electric and Electronics Engineers, Inc., Instituto de Ingenieros
Elctricos y Electrnicos. Se trata de una asociacin sin nimo de lucro radicada en Estados Unidos,
aunque de mbito internacional. Como una entidad separada, dentro del propio IEEE, se encuentra
la Computer Society, dedicada especficamente a todo lo relativo al desarrollo de los ordenadores
o computadoras.

4
08/02/2017

Conceptos Bsicos

Caractersticas distintivas de la Ingeniera de Software:


Sistemtico.- Se considera que algo es sistemtico cuando
sigue un sistema. Es decir, una actividad es sistemtica
cuando es metdica en cuanto al procedimiento o el plan.
Disciplinada.- Se considera que una actividad es disciplinada si
est sujeta a control con respecto a ciertos estndares
(normas y patrones).
Cuantificable.- Se considera que una actividad es cuantificable
si tanto su realizacin como sus resultados pueden medirse.

Conceptos Bsicos

La Ingeniera de Software trata fundamentalmente


con actividades llevadas a cabo por personas que
producen, usan o modifican artefactos.
Estas actividades no son espontaneas, responden a
planes parcial o totalmente descritos, es decir, son
sistemticas y disciplinadas. Por ello utiliza
elementos importantes como proceso, mtodos,
especificaciones y modelos, entre otros.

5
08/02/2017

Conceptos Bsicos

La Ingeniera se desarrolla en la forma de actividades de


ingeniera..
Actividad.- Es algo que tiene lugar en el tiempo y en el espacio
y en el cual un agente acta con unos objetivos determinados.

Las actividades en la IS abarcan cualquier accin con un


propsito claro dentro de esta ingeniera, como actividades de
gestin, produccin, comunicacin y documentacin.

En s, una actividad en IS es una unidad o paso bsico de un


proceso.

El trmino actividad se usar para referirse a aquello que se


hace en la IS.

Conceptos Bsicos

Muchas de las actividades de la IS estn orientadas a obtener un


producto concreto, tales como una especificacin, un documento
o cdigo fuente. El trmino artefacto se utiliza con frecuencia en la
IS para denotar los elementos de informacin que se usan o se
producen en la Ingeniera del Software.

Un artefacto es algo tangible creado con un propsito prctico.

Son artefactos de la IS todos aquellos elementos creados en


actividades propias de la disciplina, tales como el cdigo, los
documentos o los diagramas, entre otros.

La realidad de la IS se materializa en trminos de actividades, de sus


participantes y de los artefactos que producen, transforman o utilizan.

6
08/02/2017

Conceptos Bsicos
Las actividades y artefactos que se crean en la IS estn sujetos a una serie
de prescripciones (normas) que dictan cmo deben hacerse. El trmino
mtodo es uno de los ms utilizados para referirse a ellas.
Los mtodos imponen estructura a la actividad de IS con el objetivo de
hacerla ms sistemtica y finalmente ms exitosa. Son procedimientos que
definen las tareas o acciones a realizar durante el desarrollo de un
producto.
Los mtodos abarcan un amplio espectro de tareas como: comunicacin,
anlisis de requisitos, modelado del diseo, construccin del programa,
realizacin de pruebas, soporte, etc., las cuales lleva a cabo a travs de la
utilizacin de diversas tcnicas.
Un mtodo, en sentido general, es la especificacin de una secuencia de
acciones orientadas a un propsito determinado. En la IS, los mtodos
determinan el orden y la forma de llevar a cabo las actividades.
Proporcionan la experiencia tcnica para elaborar el software.

Conceptos Bsicos

Una especificacin es una descripcin detallada y precisa de


algo existente (o que existir) o de una cierta situacin,
presente o futura.

Las especificaciones, como elemento de informacin, son una


parte fundamental de toda disciplina de ingeniera.

Para elaborar las especificaciones se emplean lenguajes o


notaciones de diferente tipo. En muchas ocasiones, se utiliza
el lenguaje natural, pero tambin se emplean diagramas e
conos para facilitar la comunicacin (lenguajes visuales).

7
08/02/2017

Conceptos Bsicos
Proceso
Un trmino relacionado con el desarrollo de software que
tambin se usa con frecuencia es el de proceso.
El glosario IEEE de trminos de Ingeniera de Software describe
proceso como una secuencia de pasos llevados a cabo para un
propsito especfico, por ejemplo, el proceso de desarrollo de
software.
Un proceso por lo tanto no es otra cosa que una secuencia de
actividades que comparten un propsito.
Un proceso define quin est haciendo qu, cundo
y cmo lograr cierta meta
Jacobson, Booch y Rumbaugh

Conceptos Bsicos
Proceso del software
Aunado al concepto de proceso en la IS se encuentra el concepto de
Proceso del Software.
El proceso de software se define como un marco de trabajo para las
actividades, acciones y tareas que se requieren en la construccin de
software de alta calidad.
El proceso de Software consiste en un conjunto coherente de polticas,
estructuras organizativas, tecnologas, procedimientos y artefactos que se
necesitan para concebir, desarrollar, implantar y mantener un producto
software.
El proceso de software incluye especificaciones sobre que actividades
deben realizarse y en que orden, y establece el contexto en el cual se
aplican los mtodos tcnicos durante el desarrollo del software.
La utilizacin de un proceso en el desarrollo del software nos permite
tener mejor facilidad de seguimiento, mantenimiento y consistencia en
los proyectos de software.

8
08/02/2017

Conceptos Bsicos
Proceso y Ciclo de vida del software
Para desarrollar el software se requiere resolver ciertas fases de su proceso,
las cuales se conocen en su conjunto como ciclo de vida del desarrollo de
software.
Ciclo de vida del Software
El ciclo de vida del software es un concepto muy utilizado cuando se habla del
desarrollo de este. La definicin ms comn es la siguiente:
El ciclo de vida del software es la evolucin del mismo desde el momento de
su concepcin hasta el momento en que el producto deja de usarse, y puede
describirse en funcin de las actividades que se realizan dentro de l.
A lo largo de la historia han surgido diferentes modelos generales del ciclo de
vida del software, con una complejidad creciente en el desarrollo de las
secuencias de actividades que pueden realizarse al elaborar software.
El proceso del software se realiza pues a travs de modelos. Los modelos de la
Ingeniera de Software o Modelos de proceso de desarrollo de software son
definiciones de alto nivel de las fases por las que transcurren los proyectos de
software durante su desarrollo, es decir, durante su ciclo de vida.

Conceptos Bsicos

En resumen:
La disciplina de la Ingeniera del Software puede verse como
un conjunto de actividades de propsito especfico que dan
como resultado ciertos artefactos. Estas actividades no se
desarrollan de manera casual sino que siguen mtodos que
prescriben qu formas de hacer las cosas sern ms
efectivas segn las circunstancias, y se describen en
especificaciones detalladas y precisas.

Para el desarrollo de software, la Ingeniera de Software


sigue un proceso el cual lo realiza a travs de modelos; los
modelos definen las fases del desarrollo de software, que en
su conjunto se conocen como el ciclo de vida del software.

9
08/02/2017

Registrarse en la plataforma Moodle


www.m.itculiacan.edu.mx
Buscar curso de Ana Mara Bayliss Carrillo
Seleccionar el curso de Fundamentos de Ingeniera de Software
Clave: FIS-S98
Tarea 2
Investigar sobre la historia de la Ingeniera de Software y elaborar una sntesis sobre
lo que considere ms importante sobre este tema.
Elaborar el trabajo con las siguientes caractersticas:
Texto Arial tamao 12
Interlineado de 1.5
Texto justificado
Extensin mxima de 2 cuartillas

Incluir en el trabajo portada y referencias consultadas.


Adjuntar el archivo de esta actividad en formato PDF, con la siguiente denominacin:
Tarea 2-Nombre del estudiante (iniciando con los apellidos).

Fecha lmite de entrega: lunes 6 de febrero de 2017 a las 10:55 pm

Conceptos Bsicos

Tarea 5
Glosario de conceptos bsicos de la Ingeniera de Software

Conceptos vistos hasta ahora.


Actividad
Artefacto La tarea 5 debe hacerse en su cuaderno (a
mano) y escanearse para subirse en la
Mtodo plataforma Moodle (debe aparecer su nombre
en la hoja donde se encuentra escrita la
Especificacin tarea).
Faltan ms conceptos.
Proceso del Software
Ciclo de vida del Software

10
08/02/2017

1.2 Historia de la Ingeniera


de Software

El papel evolutivo del Software


En la actualidad, el software de computadora es la tecnologa
individual ms importante en el mbito mundial..
El software distribuye el producto ms importante de
nuestro tiempo:
Informacin
Proporciona una va para las redes de informacin alrededor
del mundo (internet) y proporciona los medios para adquirir
informacin en todas sus formas y en todos los mbitos en
los que las personas nos podemos involucrar.
Las personas dejan sus trabajos, su seguridad y hasta sus
vidas en manos del software de computadoras.

11
08/02/2017

El papel evolutivo del Software


El Software se ha convertido en el elemento clave
de la evolucin de los sistemas y productos basados
en computadoras.
El software se dirige a un amplio espectro de
tecnologas y reas de aplicacin.
Durante un largo tiempo, el software ha
evolucionado desde ser una herramienta para la
solucin de problemas especializados y el anlisis de
informacin, hasta convertirse en una industria por
s mismo.

El papel evolutivo del Software


El cambio significativo que el software ha experimentado en un
periodo mayor de 50 aos y que han propiciado el surgimiento de
sistemas ms elaborados y complejos es debido principalmente a:
Las mejoras sustanciales en el desempeo del hardware,
Los cambios profundos en las arquitecturas de cmputo,
Los enormes incrementos en las capacidades de memoria y
almacenamiento, y
La amplia variedad de opciones de salida y de entrada, entre otras.

Este cambio en las dcadas de 1980 y 1990 fue debido a:


El crecimiento explosivo de aplicaciones, incluidas las asociadas con
internet.
El florecimiento de nuevas herramientas y paradigmas (formas de
pensamiento, como la orientacin a objetos).

12
08/02/2017

Historia de la Ingeniera de Software


En los comienzos de la informtica, los procesos que se seguan
para el desarrollo del software eran ad hoc, es decir, de acuerdo a
la forma personal y particular de actuar de cada programador, y
de acuerdo a lo que les solicitaban. No haba normas escritas, lo
que acarreaba serios problemas. Por ejemplo:
El software se haca difcil de mantener. Si el desarrollador abandonaba
el proyecto, no haba un plan ni documentacin relacionada con este.
Era difcil establecer medidas de calidad. Como cada desarrollador
actuaba de forma diferente no se podan comparar sus resultados.
No se podan reutilizar experiencias pasadas. La ausencia de notaciones
y tcnicas comunes dificultaba la comunicacin entre desarrolladores,
lo que conduca a documentacin o diseos incompatibles entre s.
Sin embargo, se pueden listar varias causas ms que provocaron
problemas en el software y contribuyeron a la famosa Crisis del
Software:

Crisis del Software

La crisis del software englob a una serie de


sucesos que se venan observando a lo largo de
ms de 50 aos en los proyectos de desarrollo
de software.

13
08/02/2017

Crisis del Software


Problemas del software:
Imprecisin en la planificacin y en la estimacin del proyecto.
Los proyectos no terminaban en el plazo acordado

Los proyectos no se ajustaban al presupuesto inicial

Crisis del Software


Problemas del software:
Cmo mantener el volumen creciente de software existente.
Software sujeto a errores y a continuos cambios.

Barrera de mantenimiento

14
08/02/2017

Crisis del Software


Problemas del software:
Cmo afrontar la incesante demanda de software.
Cmo desarrollar Software.
Baja productividad
Calidad cuestionable.
Mal funcionamiento
Insatisfaccin de clientes
Software que no cumpla con las especificaciones.
Especificacin de requisitos.
Comunicacin del equipo.
Responsables no cualificados.
Desconocimiento de nuevas tendencias.
Resistencia al cambio.
Costos ocultos y consecuencias por fallas del software.
Una amplia mitologa alrededor del software.
Pregunta para examen:
Menciona algunos sucesos importantes que provocaron la crisis del software

Referencias Bibliogrficas
Ingeniera de software un enfoque prctico
Pressman, editorial Mc Graw Hill

Ingeniera del Software Un enfoque desde la gua SWEBOK


Snchez/Sicilia/Rodrguez, Editorial Alfaomega

Ingeniera de Software OO con UML, Java e Internet


Weitzenfeld, editorial Cengage

Ingeniera de Software
Braude, editorial Alfaomega

Anlisis y diseo de sistemas


Kendall & Kendall, editorial Prentice Hall

Anlisis y Diseo de Sistemas


Senn J.A., editorial McGraw Hill

15