Upload
agtagt
View
2
Download
0
Embed Size (px)
DESCRIPTION
Ingenieria de Software Cap01
Citation preview
1
Fundamentos de Ingeniería
del Software
Ingeniería del Software
Ing. Jesús B. Olavarria Paz
1
Introducción
• El desarrollo de los sistemas de información se basan en ciclo de
vida del desarrollo del software.
• La disciplina encargada de proveer los medios necesarios para laconstrucción de un software es la Ingeniería de Software.
• Por ende el desarrollo de los sistemas de información están basado
en procesos de desarrollo de software que la ingeniería de software
propone.
• Para ello existen dos enfoques paradigmáticos:
– Estructurado y Orientado a Objetos.
Ingeniería del Software
Finalidad de un Sistema de Información
Los Sistemas de Información deben cumplir objetivos básicos:
• La automatización de procesos operativos, acelerando procesos yreduciendo costos operativos.
• Proporcionar información que sirva de apoyo al proceso de toma dedecisiones y gestión de recursos.
• Lograr ventajas competitivas a través de su implantación y uso.
La información reduce nuestra incertidumbre (sobre algún aspecto de la realidad) y, por tanto, nos permite tomar
mejores decisiones.
Ingeniería del Software
La Ingeniería del Software (IS)
• La IS es una disciplina que integra métodos, metodología,
herramientas y procedimientos para el desarrollo del software decomputadoras.
• Se han propuesto varios paradigmas, entre ellos podemos
mencionar: estructurado, orientado a objetos, sala limpia,
cliente/servidor, reutilización del software, reingeniería del software,software asistido por computadoras, etc.
• El software se ha convertido en el elemento clave de la evolución
de los sistemas y productos informáticos.
Ingeniería del Software
Esquema de la Ingeniería del Software (IS)
Personas
Actividades
ProcesosSW
Roles
Herramientas
Artefactos
Notación
RUP ISO PMI RAD CMM
No existe un proceso de software universal. Las características de cada proyecto(equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable
Ingeniería del Software
Las 4 P de la Gestión de Proyectos
• Persona:
– La ingeniería del Software es un trabajo con humanos
ejecutivos, clientes, usuarios finales, profesionales de TIComunicación, organización, resolución de conflictos, rasgos
personales y “conflicto de intereses”.
Ingeniería del Software
2
Las 4 P de la Gestión de Proyectos
• Producto:
– Soluciones elegantes para problemas equivocados.
– Determinación del alcance del sistema, descomposición
funcionalidad básica.
– El usuario requiere plazos y cronograma
– “Estudio Preliminar”
Ingeniería del Software
Las 4 P de la Gestión de Proyectos
• Proceso:
– El proceso de software debe ser configurado y adecuado a la
situación.
Comunicación
Planeación
Modelado
Construcción
Despliegue
Generacion de codigo (auto, manual), pruebas
Determinar las tareas, responsables, plazos, riesgos, recursosy entregas.
Empleo de técnicas que ayudan al entendimiento entre clientesy técnicos
Entrega del producto del software a los clientes
Ingeniería del Software
Las 4 P de la Gestión de Proyectos
• Proyecto:
– WW HH [BOE96 Boehn, B. “Anchoring the software processIEEE Software, v13 n4 1996”]
– Preguntas que conducen a una definición de las características claves delproyecto y proporcionan excelentes lineamientos para la planificación.
– Why: el propósito del proyecto justifica el gasto en personal, tiempo ydinero.
– What: las tareas requeridas para desarrollar el proyecto
– When: planificación del proyecto: tareas y productos
– Who: Establecer la responsabilidad a los tiempos del equipo
– Where: las responsabilidades también están fuera del equipo de software:usuarios y clientes.
– How: ademas del requerimiento (que) es necesario definir el como sedesarrolla.
– How Much: cuantos recursos de cada tipo seran consumidos durante elproyecto.
Ingeniería del Software
Paradigma Orientado a Objetos
• Superficialmente OO significa la organización del software como
una colección de Objetos discretos que incorpora tanto la estructurade datos como su comportamiento.
• Para cada Entidad del dominio, hay un objeto que representa ese
concepto en el .
• Finalmente, OO modela mirando en alguna parte la realidad o
dominio que es de interés, y busca las abstracciones claves y lasrelaciones entre esas abstracciones claves.
Ingeniería del Software
En resumen la Orientación a Objetos
Orientado a Objetos
abstracción de la realidad
en función
y que mediante
Permite manejar la complejidad
Métodos/operaciones/servicios
Conceptos
Objetos
Clases
Estructuras jerárquicas
Abstracción
Encapsulamiento
Herencia
Polimorfismo
Mensaje
Identidad
Asociación
Ingeniería del Software
Situación actual en la TOO
Tecnologíaorientada a
objetosReutilizar el
código
Mas calidad
Mas productividad
Menos costo
Nuevosmétodos de
programación
Nuevosmétodos de
análisis
Nuevosmétodos de
diseño
Ingeniería del Software
3
Desarrollo de la TOO
• Con el universo de métodos, se ha formado un cosmo dinámico con
el mundo de objeto en el que un método evoluciona en una estrellanítida u otra cesa para ser destacado y llega a ser un gigante rojo
antes de desaparecer enteramente.
• De aquí en adelante, una organización debería primera comprender
completamente que significa para pensar desde el punto de vista deobjetos.
Ingeniería del Software
Método, Metodología y proceso en el desarrollo de software
• Un método es la aplicación particular de una metodología de desarrollo
de software pero que no abarca el ciclo de vida de desarrollo de
software ni cuenta con herramientas tecnológica de soporte.
• Una metodología es un marco general basado en un paradigma que
sirve de base para el desarrollo de software y que abarca el ciclo devida.
• Un proceso de desarrollo de software esta basado en una metodología,
abarca todo el ciclo de vida y provee herramientas tecnológica desoporte.
Ingeniería del Software
El Modelado
• El modelado es una técnica de ingeniería probada y bien aceptada.
• El modelado no es solo parte de la industria de la construcción.
• Un modelo es una abstracción del sistema, especificando el sistema
desde un cierto punto de vista y en un determinado nivel deabstracción.
• Un modelo es una simplificación de la realidad.
Ingeniería del Software
Modelado visualIngeniería del Software
Arquitectura del software
• La visualización, especificación, construcción y documentación de
un sistema con gran cantidad de software requiere que el sistemasea visto desde varias perspectivas.
• La arquitectura de un sistema es quizás el artefacto mas importante
que puede emplearse para manejar estos diferentes puntos de vista
y controlar el desarrollo iterativo e incremental.
Ingeniería del Software
Modelado de la arquitectura de un sistema software
Vista de Usuario
Vista de Implementación
Diagrama de Componentes
Vista de Ambiente
Diagrama de Despliegue
Diagrama de Casos de Usos
Vista de Comportamiento
Diagrama de Estado
Diagrama de Secuencia
Diagrama de Colaboración
Vista Estructural
Diagrama de Clase
Diagrama de Objeto
Ingeniería del Software