Anda di halaman 1dari 46

Introduccin a la Ingeniera de Software

Ing. Fernando A. Galindo Tunqui

Objetivos del curso


omprender los elementos caractersticos de la C ingeniera del software. Conocer de forma detallada los mtodos y herramientas de especificacin de requisitos. Ser capaz de elaborar la especificacin completa de un sistema utilizando las herramientas, mtodos y procedimientos mostrados en el curso

Ingeniera del Software I

Introduccin a la Ingeniera del Software

Producto y Proceso Aspectos de Gestin

Elicitacin, anlisis y especificacin de Requisitos


Modelado de actividades y casos de uso Modelado esttico (diagramas de clases) Modelado dinmico (diagramas de secuencia)

1. Introduccin
Ingeniera del Software I

Objetivos

Presentar la disciplina de ingeniera del software y explicar su importancia Preguntas ms frecuentes (FAQs) sobre la ingeniera del software, proceso software, UML y aspectos ticos de la profesin

Desarrollo del tema

1.1. El software y la Ingeniera del software 1.2. Sistema de Informacin 1.3. Mtodo y Proceso 1.4.Disciplinas de gestin de proyectos 1.5. Aspectos profesionales y ticos de la Ingeniera del Software 1.6. Lenguaje Unificado de Modelado (UML)

FAQs: Preguntas frecuentes sobre Ingeniera del Software

Qu es el Software? Cul es la importancia y coste del Software? Qu es la Ingeniera del Software? Cul es la diferencia entre Ingeniera del Software e Ingeniera de Sistemas? Qu es un sistema y un sistema de informacin? Qu es un proceso software y un mtodo de desarrollo? Cmo se gestiona el proceso? Qu es CASE (Computer-Aided Software Engineering)? Cules son las responsabilidades de un Ingeniero Software? Qu es el Lenguaje Unificado de Modelado (UML)?

1.1. El software y la Ingeniera del software

Qu es el Software?

Hace referencia a los programas y toda la informacin asociada y materiales necesarios para soportar su instalacin, operacin, reparacin y mejora. Para construir un nuevo elemento software se necesita:

Detallar las especificaciones Disear la solucin Codificar el algoritmo Probar el programa Documentar Mantener

Es lo que se conoce como el ciclo de vida del software

Importancia del Software


Las economas de todos las pases son cada vez ms y ms dependientes del software Importancia del Software

Cada vez ms y ms sistemas estn controlados por software El gasto en desarrollo de software est aumentando su porcentaje en el PIB de todos las pases

Crisis del Software

Crecimiento espectacular de los costes del software. Incumplimiento de los plazos de entrega. Muchas dudas sobre la calidad del software construido.

Costes del Software


Los costes que representa el Software son a menudo mayores que el hardware El mantenimiento resulta ms caro que el desarrollo:

En sistemas de vida larga puede ser varias veces ms caro

La Ingeniera del Software tiene que ver con el desarrollo de forma que sea econmicamente viable

Costes de los cambios

El software se deteriora

Qu es la Ingeniera del software?

Disciplina que se ocupa del desarrollo del software. Se enfrenta al software como un producto de ingeniera que requiere: planificacin, anlisis, diseo, implementacin, pruebas y mantenimiento. Trata de las teoras, mtodos y herramientas que los profesionales del desarrollo del software deben utilizar.

Ingeniera del software

No slo comprende los procesos tcnicos del desarrollo. Tambin, los principios ms relevantes de direccin y control de este proceso. Tambin, el desarrollo de nuevas teoras, mtodos y herramientas de apoyo a la produccin del software.

Objetivos de la Ingeniera del software

Mejorar la calidad del software Acortar los tiempos de desarrollo Aumentar la productividad Necesidad:

Incrementar la reutilizacin del software

Ingeniera del software

Los ingenieros de software deben: Adoptar un enfoque sistemtico y organizado en su trabajo y utilizar las herramientas y tcnicas ms apropiadas dependiendo

del problema a resolver, las restricciones del desarrollo y los recursos disponibles.

Cul es la diferencia entre Ingeniera del Software y las Ciencias de la Computacin?


Las Ciencias de la Computacin tienen que ver con teoras y fundamentos La Ingeniera del Software tiene que ver con los aspectos prcticos del desarrollo del software

Cul es la diferencia entre Ingeniera del Software e Ingeniera de Sistemas?

La Ingeniera de Sistemas tiene que ver con todos los aspectos del desarrollo de sistemas basados en computadoras: 20 hardware, software e Ingeniera de procesos. Ingeniera del Software es una parte de este proceso

Disciplinas integradas en la Ingeniera del Software

Software Engineering Body of Knowledge (SWEBOK)

Requisitos del software Diseo del software Construccin del software Prueba del Software. Prueba del Software Mantenimiento del software Gestin de la configuracin del software Gestin de la Ingeniera del Software Proceso de Ingeniera del Software Herramientas y mtodos de la Ingeniera del Software Calidad del software

1.2. Sistemas de Informacin

Qu es un sistema?

Un conjunto de elementos (hombres, mquinas, mtodos, reglas) en interaccin, que transforman (mediante un proceso) unos elementos (entradas) en otros(salidas). Los sistemas no son entidades independientes, existen en un entorno:

El entorno afecta al funcionamiento y rendimiento del sistema. El sistema puede estar diseado para hacer cambios en el entorno.

Sistema y subsistemas

Subsistemas:

Sistema fsico: Transforma un flujo fsico de entradas en un flujo fsico de salidas.

nivel operativo de la organizacin.

Sistema de gestin: controla el sistema fsico, decidiendo el comportamiento del mismo en funcin de los objetivos marcados.

Sistema y subsistemas

Qu es un sistema de informacin?

Sistema de Informacin: Est encargado de almacenar y tratar informaciones sobre el sistema fsico para ponerlas a disposicin del sistema de gestin recibir decisiones sobre su propio control interaccionar con el sistema fsico.

Qu es un sistema de informacin?

Una empresa tpica cuenta con un SI compuesto por los siguientes subsistemas:

Subsistema de Recursos Humanos: Se ocupa tanto de la gestin del personal como de la nmina. Subsistema de Gestin Contable: Tanto para el control interno de la empresa como para hacer frente a las obligaciones legales. Subsistema de Gestin Comercial: Para el control de los clientes y de las ventas. Subsistema de Control de las Existencias: Del almacn y del inventario de bienes.

Qu es un sistema de informacin automatizado?


Si todas las transformaciones significativas son efectuadas por mquinas Las tareas fundamentales de un SIA son:

Memorizacin del modelo y de la base de informacin. Tratamiento automtico (control, actualizacin, bsquedas, clculos). Captura de la informacin Salida de la informacin.

Propiedades emergentes

La compleja relacin entre los subsistemas de un sistema significa que ste es ms complejo que la suma de sus partes.

Las propiedades emergentes son consecuencia de las relaciones entre los componentes. Slo pueden asegurarse y observarse cundo el sistema se considera como un todo.

Ejemplos de prop. emergentes

El peso total del sistema

Se puede calcular a partir de las propiedades de los componentes individuales. Depende de la fiabilidad de los componentes y su interrelacin. Esta propiedad compleja no depende slo del hardware y del software sino que tambin depende de los operadores y del entorno en que se utilice.

La fiabilidad del sistema

La usabilidad

1.3. Mtodo y Proceso

Qu es un mtodo?

Resulta necesario establecer un enfoque sistemtico y disciplinado para llevar a cabo un desarrollo software.

Definiciones:

Una metodologa de ingeniera del software es un proceso para producir software de forma organizada, empleando una coleccin de tcnicas y convenciones de notacin predefinidas

(James Rumbaugh et al.)

Conjunto de procedimientos, tcnicas, herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevo software.

(Mario Piattini et al.)

Componentes de un mtodo
Herramientas
Tcnicas
Together Rose UML

Proceso
Proceso: Define el marco de trabajo y permite un desarrollo racional de la IS
Tcnicas: Indican cmo construir tcnicamente el software. Incluyen tcnicas de modelado Herramientas: Proporcionan el soporte automtico o semiautomtico para el proceso y para las tcnicas

UP

Qu es un proceso software?

Un conjunto estructurado de actividades y resultados asociados que conducen a la creacin de un producto de software:

Especificacin de requisitos: Definir la funcionalidad y las restricciones en sus operaciones. Diseo e implementacin: Producir software que cumple la especificacin Validacin: Asegurar que hace lo que el cliente desea. Mantenimiento (o Evolucin): Seguir cumpliendo los cambios en las necesidades del usuario.

Actividades complementarias de gestin

Organizar, planificar y programar los proyectos de software:


Estimacin del coste del proyecto Planificacin y calendarizacin del proyecto Gestin de la configuracin del software Calidad del software ....

Especificacin de requisitos del software

Etapa en que se establece qu servicios se requieren del sistema y cules son las restricciones de operacin y desarrollo del mismo. Se obtiene un documento de requisitos, con la especificacin del sistema. Fases de la Ingeniera de Requisitos:

Estudio de viabilidad Elicitacin y anlisis de requisitos Especificacin de requisitos: los del usuario y los del sistema Validacin de requisitos

Especificacin del software

Diseo e implementacin

Etapa en la que se convierte la especificacin del sistema en un sistema ejecutable Diseo del software

Describir la estructura del software los datos las interfaces entre componentes,

Implementacin

Transformar la estructura anterior en un programa ejecutable

Las actividades de estas etapas estn muy relacionadas y pueden interpolarse.

Diseo e implementacin

Tcnicas de diseo

Formas sistemticas de disear el sistema Generalmente se documenta con modelos grficos:


Diagramas de flujo de datos (DFDs) Diagramas Entidad-Relacin Diagramas de estructura Modelos orientados a objetos

Estructura de un plan de proyecto


Se fijan los recursos disponibles, se divide el trabajo y se crea un calendario de trabajo. 1. Introduccin.

Objetivos del proyecto y restricciones econmicas y temporales

2. Organizacin del proyecto.

Organizacin del equipo, personas involucradas y sus tareas


Posibles riesgos con su probabilidad y estrategias de reduccin de riesgos propuestas

3. Anlisis de riesgos.

Estructura de un plan de proyecto


4. Requisitos de recursos de hardware y de software.

Precios de lo que hay que comprar y fechas de entrega


Divisin del proyecto en actividades, marca hitos y productos a entregar

5. Divisin del trabajo.

6. Calendario del proyecto.

Dependencias entre actividades, tiempo estimado requerido y asignacin de personal Cundo y qu tipo de informe debe producirse

7. Mecanismos de supervisin e informe.

Gracias por su Atencin


Ing. Fernando A. Galindo Tunqui

Anda mungkin juga menyukai