3
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 la construcció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 y reduciendo costos operativos. Proporcionar información que sirva de apoyo al proceso de toma de decisiones 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 de computadoras. 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 Procesos SW 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 TI Comunicación, organización, resolución de conflictos, rasgos personales y “conflicto de intereses”. Ingeniería del Software

ISO_01

  • Upload
    agtagt

  • View
    2

  • Download
    0

Embed Size (px)

DESCRIPTION

Ingenieria de Software Cap01

Citation preview

Page 1: ISO_01

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

Page 2: ISO_01

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

Page 3: ISO_01

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