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
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
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)
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)?
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
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
Crecimiento espectacular de los costes del software. Incumplimiento de los plazos de entrega. Muchas dudas sobre la calidad del software construido.
Los costes que representa el Software son a menudo mayores que el hardware El mantenimiento resulta ms caro que el desarrollo:
La Ingeniera del Software tiene que ver con el desarrollo de forma que sea econmicamente viable
El software se deteriora
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.
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.
Mejorar la calidad del software Acortar los tiempos de desarrollo Aumentar la productividad Necesidad:
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.
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
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
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
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 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.
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.
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 usabilidad
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
Conjunto de procedimientos, tcnicas, herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevo software.
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.
Estimacin del coste del proyecto Planificacin y calendarizacin del proyecto Gestin de la configuracin del software Calidad 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
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
Diseo e implementacin
Tcnicas de diseo
Diagramas de flujo de datos (DFDs) Diagramas Entidad-Relacin Diagramas de estructura Modelos orientados a objetos
Se fijan los recursos disponibles, se divide el trabajo y se crea un calendario de trabajo. 1. Introduccin.
3. Anlisis de riesgos.
Dependencias entre actividades, tiempo estimado requerido y asignacin de personal Cundo y qu tipo de informe debe producirse