u1- semana 1 - clase teorica - 01
DESCRIPTION
calse de softwareTRANSCRIPT
-
Ing. Christian Araujo Gonzlez.
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. 2
Intr
od
ucc
in
Que ideas sugiere este grafico?
-
Ing. Christian Araujo Gonzlez. 3
U1-T1-1. Presentacin del Silabo
SILABO
METODOLOGIA E INGENIERIA DE SOFTWARE 1
Curso de Fundamentos 5to. Ciclo 4 Crditos Des
arro
llo T
emt
ico
-
Ing. Christian Araujo Gonzlez.
4
Des
arro
llo T
emt
ico
U1-T1-2. La Ingeniera de Software : Definicin
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. 5
Des
arro
llo T
emt
ico
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)
U1-T1-2. La Ingeniera de Software : Definicin
-
Ing. Christian Araujo Gonzlez. 6
U1-T1-2. La Ingeniera de Software : Definicin D
esar
rollo
Tem
tic
o
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 forma productiva. (Pressman)
Qu es la Ingeniera de Software?
-
Ing. Christian Araujo Gonzlez. 7
Qu son los mtodos en Ingeniera de Software?
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-, OMT-
Rambaugh-, 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.
U1-T1-2. La Ingeniera de Software : Definicin D
esar
rollo
Tem
tic
o
-
Ing. Christian Araujo Gonzlez. 8
U1-T1-2. La Ingeniera de Software : Definicin D
esar
rollo
Tem
tic
o
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. 9
U1-T1-3. Principios de la Ingeniera de Software D
esar
rollo
Tem
tic
o
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. 10
U1-T1-3. Principios de la Ingeniera de Software D
esar
rollo
Tem
tic
o
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. 11
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.
U1-T1-3. Principios de la Ingeniera de Software D
esar
rollo
Tem
tic
o
-
Ing. Christian Araujo Gonzlez. 12
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.
U1-T1-3. Principios de la Ingeniera de Software D
esar
rollo
Tem
tic
o
-
Ing. Christian Araujo Gonzlez. 13
Abstraccin
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 software- eliminando 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.
U1-T1-3. Principios de la Ingeniera de Software D
esar
rollo
Tem
tic
o
-
Ing. Christian Araujo Gonzlez. 14
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.
U1-T1-3. Principios de la Ingeniera de Software D
esar
rollo
Tem
tic
o
-
Ing. Christian Araujo Gonzlez. 15
Eval
uac
in
de
l Ap
ren
diz
aje
Responder
1. Porque es importante un silabo en la formacin profesional.
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.