Vous êtes sur la page 1sur 15

Universidad Nacional de Trujillo

Facultad de Ciencias Fsicas y Matemticas

Escuela Profesional de Informtica

Unidad 1:
Introduccin a la Ingeniera de Software
Sesin Terica 1:
U1-T1-1. Presentacin del Silabo
U1-T1-2. La Ingeniera de Software: Definicin
U1-T1-3. Principios de la Ingeniera de Software

Ing. Christian Araujo Gonzlez.

Introduccin

Que ideas sugiere este grafico?

Ing. Christian Araujo Gonzlez.

Desarrollo Temtico

U1-T1-1. Presentacin del Silabo

SILABO
METODOLOGIA E INGENIERIA DE SOFTWARE 1
Curso de Fundamentos 5to. Ciclo 4 Crditos

Ing. Christian Araujo Gonzlez.

U1-T1-2. La Ingeniera de Software : Definicin

Desarrollo Temtico

Qu es Ingeniera?
Es una profesin basada en el uso de los conocimientos
cientficos para transformar ideas en accin. De cada orientacin
depende la especialidad que con ms intensidad se ensee. Pero dado
que la ingeniera trabaja con el mundo real, las reas de la fsica y la
qumica son comunes a todas las carreras, conjuntamente con la
matemtica que sirve para modelar los fenmenos que se estudian.
A diferencia de las ciencias puras cuyo objetivo es el conocimiento por
el conocimiento en s mismo, la ingeniera se basa en la aplicacin
del conocimiento cientfico en la solucin de problemas reales.
En muchos aspectos se puede asociar la ingeniera a un arte. Porque
requiere de capacidad creativa y de imaginacin para concebir
cosas que an no existen. Luego aplica los conocimientos
cientficos de manera sistemtica para transformar esa idea en una
realidad. Emplea la ciencia como un medio, pero est ntimamente
ligada con la experimentacin, y la gestin. Su objetivo final es lograr
resultados con el mejor uso de los recursos.

Ing. Christian Araujo Gonzlez.

U1-T1-2. La Ingeniera de Software : Definicin

Desarrollo Temtico

Qu es el Software?
Muchas personas asocian el trmino software con programas de
computadora. El software no son slo programas, sino todos los
documentos asociados y la configuracin de datos que se necesitan
para hacer que estos programas operen de manera correcta.
Los ingenieros de software se concentran en el desarrollo de productos
de software, es decir, software que se vende a un cliente. Existen dos
tipos de productos software:
- Productos genricos (software empaquetado)
- Productos personalizados (software a medida)

Ing. Christian Araujo Gonzlez.

U1-T1-2. La Ingeniera de Software : Definicin

Qu es la Ingeniera de Software?

Desarrollo Temtico

La ingeniera de software tiene que ver con las teoras, mtodos y


herramientas para el desarrollo profesional de software.
La ingeniera de software es el resultado de llevar la tradicional disciplina de
las ingenieras al mundo de la construccin de sistemas software.
Definiciones:
. La ingeniera de software es el estudio de los principios y metodologas
para el desarrollo y mantenimiento de sistemas software.
. Es una disciplina que comprende todos los aspectos de la produccin de
software desde las etapas iniciales de la especificacin del sistema, hasta el
mantenimiento de ste despus de que se utiliza.
. La aplicacin prctica del conocimiento cientfico y matemtico en el
diseo y construccin de programas para computadoras y la documentacin
asociada requerida para desarrollarlos, operarlos y mantenerlos.(Boehn)
. Es el conjunto de tres elementos claves (mtodos, herramientas y
procedimientos) que facilitan al gestor controlar el proceso de desarrollo de
software y suministrar a los que la practican las bases para construir
software de alta calidad de una
formaAraujo
productiva.
(Pressman)
Ing. Christian
Gonzlez.
6

U1-T1-2. La Ingeniera de Software : Definicin

Qu son los mtodos en Ingeniera de Software?

Desarrollo Temtico

Enfoque estructurado y sistemtico para el desarrollo de software cuyo


propsito es facilitar la produccin de software de alta calidad de una
forma costeable (Ejm: anlisis estructurado-De Marco-, OMTRambaugh-, UML, etc).
Incluye modelos (grficos) del sistema, notaciones, reglas, consejos de
diseo y guas en el proceso.
Descripciones de modelos:
- descripciones de los modelos grficos que se desean crear.
Reglas:
- restricciones que se deben aplicar a los modelos del sistema.
Recomendaciones:
- consejos para la prctica del buen diseo.
Gua en el proceso:
- que secuencia de actividades seguir.

Ing. Christian Araujo Gonzlez.

U1-T1-2. La Ingeniera de Software : Definicin

Desarrollo Temtico

Cules son los grandes retos a los que se enfrenta la


Ingeniera de software?
Hacer frente a los sistemas heredados (legacy systems), hacer frente a
la creciente diversidad y hacer frente a las demandas de entrega con
tiempos cada vez ms reducidos.
Los sistemas heredados, sistemas antiguos pero valiosos, deben ser
mantenidos y actualizados.
Heterogeneidad, consiste en que los sistemas son distribuidos e
incluyen una mezcla de diferentes hardware y software
(interoperatividad).
Plazos de entrega, actualmente hay una creciente presin para que los
sistemas software sean entregados con rapidez.

Ing. Christian Araujo Gonzlez.

U1-T1-3. Principios de la Ingeniera de Software

Desarrollo Temtico

Estos principios tienen que ver con el tanto con el proceso de ingeniera de
software, como con el producto final.
En realidad se tratan de afirmaciones abstractas que describen
propiedades deseables de los procesos y productos software. Pero, para
aplicar principios, el ingeniero de software debera estar equipado con
mtodos y tcnicas especficas que ayuden a incorporar las propiedades
deseadas en los procesos y productos.
Los mtodos son guas generales que gobiernas la ejecucin de alguna
actividad; son aproximaciones rigurosas, sistemticas y disciplinadas.

Las tcnicas son algo ms mecnicas que los mtodos, a menudo tienen
una aplicabilidad ms restringida.
A veces, los mtodos y tcnicas son encapsulados en conjunto para dar
vida a una metodologa.
El propsito de una metodologa es promover una aproximacin en la
solucin de problemas, preseleccionando los mtodos y tcnicas a usar.
Las herramientas, a su vez, son desarrolladas para apoyar la aplicacin de
tcnicas, mtodos y metodologas.
Ing. Christian Araujo Gonzlez.

U1-T1-3. Principios de la Ingeniera de Software

Desarrollo Temtico

De aqu es que se puede afirmar que la eleccin de principios y tcnicas


est determinada por las metas de calidad del software.
Los principios:
1. Rigor y formalidad
2. Separacin de intereses
3. Modularidad
4. Abstraccin
5. Anticipacin al cambio
6. Generalidad
7. Incrementalidad

Ing. Christian Araujo Gonzlez.

10

U1-T1-3. Principios de la Ingeniera de Software

Desarrollo Temtico

Rigor y Formalidad
El desarrollo de software es una actividad creativa. Por otra parte el Rigor es
un complemento necesario a la creatividad en toda actividad de ingeniera: es
slo a travs de la aproximacin rigurosa que podremos producir productos
mas confiables, controlar sus costos y aumentar nuestras aspiraciones
respecto de su confiabilidad.
El rigor no necesita restringir la creatividad. En lugar de eso, mejora la
creatividad mejorando la confianza del ingeniero en los resultados creativos,
una vez que ellos son crticamente analizados a la luz de una planificacin
rigurosa.
El grado mas alto de rigurosidad es lo que llamamos Formalidad. As, la
formalidad es un requerimiento ms restrictivo que el rigor, requiere que el
proceso de software sea dirigido y evaluado por intermedio de leyes
matemticas.
El ingeniero debe ser capaz de entender el nivel de rigurosidad y formalidad
que debe alcanzarse, dependiendo de la dificultad conceptual de la tarea y de
su criticidad. Incluso estos niveles pueden variar entre partes de un mismo
sistema.
La ventaja de la formalidad sobre el rigor es que la formalidad puede llegar a
ser la base para la mecanizacin o automatizacin del proceso.
Ing. Christian Araujo Gonzlez.

11

U1-T1-3. Principios de la Ingeniera de Software

Desarrollo Temtico

Separacin de Intereses

Este nos permite involucrarnos con diferentes aspectos individuales de un


problema, de forma que podamos concentrarnos en ellos separadamente.
La nica manera de administrar la complejidad de un proyecto es separar los
diferentes aspectos.
Hay varias formas de separar los inters: por tiempo, en trminos de
calidades, por vistas.
Este principio es la base para la divisin del trabajo en un problema complejo
en asignaciones especificas de trabajo.
Modularidad
Un sistema complejo puede ser dividido en partes ms simples, llamadas
mdulos.
Un sistema que est compuesto por mdulos se llama Modular.
El beneficio de este es que permite que la separacin de contextos se pueda
aplicar en dos fases: cuando se relaciona con los detalles de cada mdulo
aisladamente (e ignorando detalles de otros mdulos - cohesin), y cuando se
relaciona con las caractersticas globales de todos los mdulos y sus
relaciones con la finalidad de integrarlos en un sistema coherente
(acoplamiento). Si las dos fases son ejecutadas en el orden mencionado,
decimos que el diseo se llama bottom-up; el caso inverso caracteriza al
diseo top-down.
Ing. Christian Araujo Gonzlez.
12

U1-T1-3. Principios de la Ingeniera de Software

Abstraccin

Desarrollo Temtico

Es un proceso mediante el cual identificamos los aspectos importantes de un


fenmeno e ignoramos sus detalles. Lo que debemos considerar importante o
detalle depende del propsito de la abstraccin.
Es una herramienta poderosa utilizada por ingenieros de todas las disciplinas
para manejar la complejidad.
Anticipacin al Cambio
El software cambia constantemente.
Los cambios se deben tanto a la necesidad de reparar el softwareeliminando errores que no fueron detectados antes como a la necesidad se
apoyar la evolucin de la aplicacin a medida que aparecen requerimientos
nuevos o cambian los requerimientos antiguos (mantenibilidad).
En muchos casos, se desarrolla una aplicacin de software mientras sus
requerimientos estn todava por entenderse.
Requiere que estn disponibles las herramientas para administrar las
diferentes versiones y revisiones del software de una manera controlada.

Ing. Christian Araujo Gonzlez.

13

U1-T1-3. Principios de la Ingeniera de Software

Desarrollo Temtico

Generalidad
Cada vez que se pide a uno resolver un problema, se debe tratar de enfocar
en el descubrimiento de un problema ms general que puede estar oculto
detrs del problema propuesto.
De forma ms general, la solucin a un problema generalizado tiene ms
potencial para poder ser reutilizada.
La generalidad es un principio fundamental si lo que se desea es desarrollar
herramientas o paquetes software para uso amplio por parte del mercado.

Incrementalidad
Caracteriza a un proceso que ocurre paso-a-paso, en incrementos.
La meta buscada es alcanzada por aproximaciones sucesivas a ella, cada
aproximacin es alcanzada por un incremento en la aproximacin anterior.
Si se aplica al software, significa que la aplicacin es produccida como
resultado de un proceso evolutivo.
la motivacin para la incrementalidad es que en la mayora de los casos
prcticos no hay forma de tener todos los requerimientos corregidos antes del
desarrollo de la aplicacin.
Ing. Christian Araujo Gonzlez.

14

Responder
1. Porque es importante un silabo en la formacin profesional.

Evaluacin del Aprendizaje

2. Elabore una definicin grafica de la ingeniera de software


3. Explique porque la heterogeneidad es un reto para la Ingeniera de
Software (I.S).
4. Ejemplifique como la aplicacin de los principios de la I.S. han
permitido el desarrollo del software como producto de la I.S.

Ing. Christian Araujo Gonzlez.

15

Vous aimerez peut-être aussi