Tema Introducción IS

75 %
25 %
Information about Tema Introducción IS
Education

Published on March 6, 2009

Author: jcgmoreno

Source: slideshare.net

Description

Introducción a la Ingeniería de Software y a los ciclos de vida y procesos de desarrollo de Software

Análisis de Requisitos Curso 2006-07 Juan Carlos González Moreno

Curso 2006-07 Juan Carlos González Moreno

Programa Introducción Casos prácticos Programación eXtrema El proceso unificado de desarrollo Especificación con UML Extensiones de UML

Introducción La disciplina. Modelos de Ciclo de Vida. Proceso de desarrollo. Metodologías de desarrollo. Cliente y usuario.

La disciplina.

Modelos de Ciclo de Vida.

Proceso de desarrollo.

Metodologías de desarrollo.

Cliente y usuario.

La disciplina 1950-196?: Procesos por lotes Distribución limitada Software a medida 1960-197?: Sistemas multiusuario y en tiempo real Creación de bases de datos Producción de software a gran escala 1970-198?: Sistemas distribuidos Máquinas con inteligencia empotrada Hardware de bajo coste Impacto en el consumidor

1950-196?:

Procesos por lotes

Distribución limitada

Software a medida

1960-197?:

Sistemas multiusuario y en tiempo real

Creación de bases de datos

Producción de software a gran escala

1970-198?:

Sistemas distribuidos

Máquinas con inteligencia empotrada

Hardware de bajo coste

Impacto en el consumidor

La disciplina 1980-199?: Sistemas expertos Máquinas "inteligentes" Arquitecturas paralelas Sistemas multimedia 1990-20??: Aplicaciones Cliente-Servidor Productos "inteligentes" Nuevos procesadores (cobre, orgánicos, ...) Sistemas remotos

1980-199?:

Sistemas expertos

Máquinas "inteligentes"

Arquitecturas paralelas

Sistemas multimedia

1990-20??:

Aplicaciones Cliente-Servidor

Productos "inteligentes"

Nuevos procesadores (cobre, orgánicos, ...)

Sistemas remotos

Software El software se define en base a 3 vistas: El conjunto de instrucciones que cuando se ejecutan proporcionan la función y el comportamiento deseado. El conjunto de estructuras de datos que facilitan a los programas representar y manipular adecuadamente la información. El conjunto de documentos que describen el manejo y funcionamiento de los programas.

El software se define en base a 3 vistas:

El conjunto de instrucciones que cuando se ejecutan proporcionan la función y el comportamiento deseado.

El conjunto de estructuras de datos que facilitan a los programas representar y manipular adecuadamente la información.

El conjunto de documentos que describen el manejo y funcionamiento de los programas.

Productos software Productos genéricos.- En este grupo se engloban los sistemas autónomos que se producen por parte de una organización de desarrollo y se venden en un mercado abierto a cualquier usuario que pueda comprarlo. Productos a medida (a demanda).- En este caso se trata de sistemas que son encargados por clientes particulares, donde el software es desarrollado especial y específicamente para dicho cliente.

Productos genéricos.- En este grupo se engloban los sistemas autónomos que se producen por parte de una organización de desarrollo y se venden en un mercado abierto a cualquier usuario que pueda comprarlo.

Productos a medida (a demanda).- En este caso se trata de sistemas que son encargados por clientes particulares, donde el software es desarrollado especial y específicamente para dicho cliente.

Carácterísticas del software El software es un elemento lógico . El software es desarrollado y no fabricado . El software no se deteriora , en el sentido de que no acumula polvo, o golpes. Acumula cambios en su código que en la mayor parte de los casos incorporan errores. Para el software no existen piezas de repuesto para las partes que funcionan mal. La mayoría del software se realiza a la medida , frente a la construcción de hardware que se realiza combinando componentes ya existentes.

El software es un elemento lógico .

El software es desarrollado y no fabricado .

El software no se deteriora , en el sentido de que no acumula polvo, o golpes. Acumula cambios en su código que en la mayor parte de los casos incorporan errores.

Para el software no existen piezas de repuesto para las partes que funcionan mal.

La mayoría del software se realiza a la medida , frente a la construcción de hardware que se realiza combinando componentes ya existentes.

Tipos de Software Software de Sistemas.- Es una colección de programas que sirven a otros programas. Sistemas de tiempo real.- Es el software de sucesos del mundo real (sistemas interactivos). Sistemas de gestión.- Es el software dedicado a la informática comercial. Software de ingeniería y científico .- Es el software del cálculo numérico.

Software de Sistemas.- Es una colección de programas que sirven a otros programas.

Sistemas de tiempo real.- Es el software de sucesos del mundo real (sistemas interactivos).

Sistemas de gestión.- Es el software dedicado a la informática comercial.

Software de ingeniería y científico .- Es el software del cálculo numérico.

Tipos de Software Software empotrado.- Es el software de productos “inteligentes”. Software de Ordenadores Personales.- Son programas orientados al público en general. Software de Inteligencia Artificial.- Lo constituyen gran cantidad de algoritmos no numéricos para resolver problemas que no se adaptan a soluciones de cálculo o análisis directo (reconocimiento de patrones, ...) Software multimedia.- Es el conjunto de aplicaciones que integran de manera interactiva programas, sonido e imágenes.

Software empotrado.- Es el software de productos “inteligentes”.

Software de Ordenadores Personales.- Son programas orientados al público en general.

Software de Inteligencia Artificial.- Lo constituyen gran cantidad de algoritmos no numéricos para resolver problemas que no se adaptan a soluciones de cálculo o análisis directo (reconocimiento de patrones, ...)

Software multimedia.- Es el conjunto de aplicaciones que integran de manera interactiva programas, sonido e imágenes.

Crisis de Software Cuando nos referimos a la crisis de software, nos estamos refiriendo a un conjunto de problemas que surgen en torno al desarrollo de software: Funcionamiento inadecuado Problemas de desarrollo de software. Problemas de mantenimiento Satisfacción de la demanda creciente

Cuando nos referimos a la crisis de software, nos estamos refiriendo a un conjunto de problemas que surgen en torno al desarrollo de software:

Funcionamiento inadecuado

Problemas de desarrollo de software.

Problemas de mantenimiento

Satisfacción de la demanda creciente

Problemas en el Desarrollo de Sw La sofisticación del hardware ha dejado atrás la capacidad de crear software, a la medida de la máquina, explorando todo el potencial de ésta. Esto se debe en gran medida a la cada vez más limitada vida de un ordenador . Es imposible dejar de crear aplicaciones para ciertos equipos, debido a su demanda. La existencia de aplicaciones concebidas en base a un mal diseño o a la utilización de recursos inadecuados, suponen un difícil y costoso mantenimiento del producto.

La sofisticación del hardware ha dejado atrás la capacidad de crear software, a la medida de la máquina, explorando todo el potencial de ésta. Esto se debe en gran medida a la cada vez más limitada vida de un ordenador .

Es imposible dejar de crear aplicaciones para ciertos equipos, debido a su demanda.

La existencia de aplicaciones concebidas en base a un mal diseño o a la utilización de recursos inadecuados, suponen un difícil y costoso mantenimiento del producto.

Problemas en el Desarrollo de Sw Falta de datos históricos para comprobar estimaciones y resultados. La insatisfacción del cliente, la mala comunicación del cliente con la empresa y entre los empleados. La imprecisión con que se tratan algunos puntos esenciales del producto final. La falta de mecanismos para medir la calidad del software producido. La ausencia de mantenimiento.

Falta de datos históricos para comprobar estimaciones y resultados.

La insatisfacción del cliente, la mala comunicación del cliente con la empresa y entre los empleados.

La imprecisión con que se tratan algunos puntos esenciales del producto final.

La falta de mecanismos para medir la calidad del software producido.

La ausencia de mantenimiento.

Causas de la Crisis El mantenimiento del software supone la modificación del diseño de la aplicación frente a la sustitución de una pieza en el caso del hardware. Existen problemas de comunicación " hombre-máquina ", que se presentan en dos frentes diferentes: " realizador-máquina " y " usuario-máquina ".

El mantenimiento del software supone la modificación del diseño de la aplicación frente a la sustitución de una pieza en el caso del hardware.

Existen problemas de comunicación " hombre-máquina ", que se presentan en dos frentes diferentes: " realizador-máquina " y " usuario-máquina ".

Causas de la Crisis Es frecuente que los gestores y administradores de las empresas de software, sean gestores reconvertidos de otras áreas , que no comprenden bien los problemas y las necesidades que se van a presentar durante el desarrollo de una aplicación software. La numerosa presencia en puestos claves de lo que los americanos denominan " programadores " frente a la utilización de los denominados " ingenieros ".

Es frecuente que los gestores y administradores de las empresas de software, sean gestores reconvertidos de otras áreas , que no comprenden bien los problemas y las necesidades que se van a presentar durante el desarrollo de una aplicación software.

La numerosa presencia en puestos claves de lo que los americanos denominan " programadores " frente a la utilización de los denominados " ingenieros ".

Ingeniería de Software La Ingeniería de Software es la disciplina tecnológica que trata de la producción y mantenimiento sistemático de productos software que se desarrollan y mantienen a lo largo del tiempo y con un coste estimado.

La Ingeniería de Software es la disciplina tecnológica que trata de la producción y mantenimiento sistemático de productos software que se desarrollan y mantienen a lo largo del tiempo y con un coste estimado.

Proyectos Software Proyectos triviales.- 500 sentencias. Proyectos pequeños.- 25-50 subprogramas. Proyectos medianos.- 2 y 5 personas durante 2 años, y desarrollando entre 10000 y 50000 líneas de código divididas entorno a 250-1000 subprogramas. Proyectos grandes.- 20 programadores entre 2 y 3 años. Elaborando entre 50000 y 100000 líneas. Proyectos muy grandes.- El sistema OS/360 de IBM . Proyectos extremadamente grandes.- El programa espacial denominado " Guerra de las Galaxias ".

Proyectos triviales.- 500 sentencias.

Proyectos pequeños.- 25-50 subprogramas.

Proyectos medianos.- 2 y 5 personas durante 2 años, y desarrollando entre 10000 y 50000 líneas de código divididas entorno a 250-1000 subprogramas.

Proyectos grandes.- 20 programadores entre 2 y 3 años. Elaborando entre 50000 y 100000 líneas.

Proyectos muy grandes.- El sistema OS/360 de IBM .

Proyectos extremadamente grandes.- El programa espacial denominado " Guerra de las Galaxias ".

Factores de calidad La capacidad individual. La comunicación entre los miembros del equipo. La complejidad del producto. Utilización de una notación adecuada . Empleo de métodos sistemáticos . Conocer el tiempo disponible. Existencia de facilidades y recursos externos.

La capacidad individual.

La comunicación entre los miembros del equipo.

La complejidad del producto.

Utilización de una notación adecuada .

Empleo de métodos sistemáticos .

Conocer el tiempo disponible.

Existencia de facilidades y recursos externos.

Modelos de ciclo de vida ¿Qué es un modelo de ciclo de vida? Un modelo de ciclo de vida software es cualquier caracterización descriptiva o prescriptiva de evolución software.

¿Qué es un modelo de ciclo de vida? Un modelo de ciclo de vida software es cualquier caracterización descriptiva o prescriptiva de evolución software.

Modelos de ciclo de vida ¿Cómo pueden utilizarse los modelos? En la gestión de los temas relativos al proyecto software. Como prescripciones que indican la documentación que debe ser entregada a los clientes. Como una base para determinar que herramientas de ingeniería de software y que metodologías son más adecuadas. Como marco de trabajo para la localización y el consumo de recursos durante el proceso de desarrollo. Para comparar los resultados obtenidos. Como guía en la productividad, coste y calidad del software construido.

¿Cómo pueden utilizarse los modelos?

En la gestión de los temas relativos al proyecto software.

Como prescripciones que indican la documentación que debe ser entregada a los clientes.

Como una base para determinar que herramientas de ingeniería de software y que metodologías son más adecuadas.

Como marco de trabajo para la localización y el consumo de recursos durante el proceso de desarrollo.

Para comparar los resultados obtenidos.

Como guía en la productividad, coste y calidad del software construido.

Modelos de ciclo de vida Actividades en el desarrollo de software: Adopción o iniciación del Sistema. Análisis de requisitos y especificación. Especificación funcional o prototipado. Partición y selección (Comprar/Construir/Reusar). Especificación de la configuración arquitectónica. Especificación de diseño detallado. Otras: Implementación y depuración. Integración y prueba de software. Revisión de documentaciones y entregables del sistema. Aprendizaje y uso. Mantenimiento de software.

Actividades en el desarrollo de software:

Adopción o iniciación del Sistema.

Análisis de requisitos y especificación.

Especificación funcional o prototipado.

Partición y selección (Comprar/Construir/Reusar).

Especificación de la configuración arquitectónica.

Especificación de diseño detallado.

Otras: Implementación y depuración. Integración y prueba de software. Revisión de documentaciones y entregables del sistema. Aprendizaje y uso. Mantenimiento de software.

Proceso de desarrollo Un modelo de proceso de desarrollo de software representa a menudo una malla de las secuencias de actividades, objetos, transformaciones y sucesos que constituyen las estrategias que permiten la evolución del software . Tales modelos pueden ser utilizados para un desarrollo más preciso y formal de las descripciones de las actividades del ciclo de vida.

Un modelo de proceso de desarrollo de software representa a menudo una malla de las secuencias de actividades, objetos, transformaciones y sucesos que constituyen las estrategias que permiten la evolución del software .

Tales modelos pueden ser utilizados para un desarrollo más preciso y formal de las descripciones de las actividades del ciclo de vida.

Proceso de desarrollo Clasificación: Los modelos evolucionistas centran su atención en la dirección del cambio en términos del progreso que se produce sobre una serie de estados que conducen (eventualmente) a un estado final. Los modelos evolutivos por otra parte centran su atención en los mecanismos y procesos que cambian el sistema.

Clasificación:

Los modelos evolucionistas centran su atención en la dirección del cambio en términos del progreso que se produce sobre una serie de estados que conducen (eventualmente) a un estado final.

Los modelos evolutivos por otra parte centran su atención en los mecanismos y procesos que cambian el sistema.

Modelos tradicionales Modelo en cascada Refinamiento progresivo y mejoras iterativas Versiones incrementales

Modelo en cascada

Refinamiento progresivo y mejoras iterativas

Versiones incrementales

Modelos alternativos Orientados al producto Prototipado Reutilización de componentes Evolución del programa Orientados al proceso de producción Programas de exploración Transformaciones formales Modelo en espiral (no operativo) Orientados al escenario de producción

Orientados al producto

Prototipado

Reutilización de componentes

Evolución del programa

Orientados al proceso de producción

Programas de exploración

Transformaciones formales

Modelo en espiral (no operativo)

Orientados al escenario de producción

Metodologías Las metodologías de análisis y diseño de software son procedimientos, técnicas y procesos utilizados para dirigir las actividades de cada etapa del ciclo de vida según un proceso de desarrollo particular.

Las metodologías de análisis y diseño de software son procedimientos, técnicas y procesos utilizados para dirigir las actividades de cada etapa del ciclo de vida según un proceso de desarrollo particular.

Metodologías Dependiendo del elemento lógico de modelización que se elija como base en el desarrollo podemos clasificar las metodologías como sigue: Orientadas al proceso. Orientadas a los datos. Orientadas a objetos. Semánticas. No metodológicas.

Dependiendo del elemento lógico de modelización que se elija como base en el desarrollo podemos clasificar las metodologías como sigue:

Orientadas al proceso.

Orientadas a los datos.

Orientadas a objetos.

Semánticas.

No metodológicas.

Cliente y usuario El cliente y/o usuario es un factor determinante en el proceso de desarrollo: Proporciona información sobre las actividades y los datos del negocio que han de ser automatizados. Las aportaciones del usuario en el proceso de desarrollo, no sólo han de ser deseables, sino que incluso han de considerarse obligatorias. Su participación como colaborador (no como adversario) ha de ser significativa.

El cliente y/o usuario es un factor determinante en el proceso de desarrollo:

Proporciona información sobre las actividades y los datos del negocio que han de ser automatizados.

Las aportaciones del usuario en el proceso de desarrollo, no sólo han de ser deseables, sino que incluso han de considerarse obligatorias.

Su participación como colaborador (no como adversario) ha de ser significativa.

Metodologías sociales La base es ignorar las cuestiones relativas a la tecnología y centrarse en las necesidades del usuario. Las tres técnicas principales son: Diseño de aplicaciones conjuntas : Reunión fuera de contexto de todos los usuarios y personal (5/10 días) para desarrollar una descripción funcional detallada de los requisitos de la aplicación. Sistemas técnico sociales. Éticas.

La base es ignorar las cuestiones relativas a la tecnología y centrarse en las necesidades del usuario. Las tres técnicas principales son:

Diseño de aplicaciones conjuntas : Reunión fuera de contexto de todos los usuarios y personal (5/10 días) para desarrollar una descripción funcional detallada de los requisitos de la aplicación.

Sistemas técnico sociales.

Éticas.

Add a comment

Related presentations

Related pages

Tema Introducción - YouTube

Provided to YouTube by The Orchard Enterprises Tema Introducción · David calzado y su Charanga Habanera El Charanguero Mayor ℗ 2000 JM Music ...
Read more

Tema 1 Introducción - YouTube

Puedes acceder al Mapa Mental (en formato PDF) de este Tema en este enlace http://www.ptamayo.com/mapasecon/Tema_1.pdf
Read more

TEMA: INTRODUCCION A LA ERGONOMIA - Ensayos

TEMA: INTRODUCCION A LA ERGONOMIA Ensayos: TEMA: INTRODUCCION A LA ERGONOMIA. Ensayos de Calidad, Tareas, Monografías - busque más de 2.352.000+ documentos.
Read more

Tema 1 - Introducción a Matlab

mÉtodos numÉricos i - tema – introducciÓn a matlab ing. richard avilÉs lÓpez, msc. 2. vectores y matrices en matlab. 2.3 funciones con matrices
Read more

01 tema introduccion - MP3 Download, Play, Listen Songs ...

01 tema introduccion - download at 4shared. 01 tema introduccion is hosted at free file sharing service 4shared. Online file sharing and storage - 15 GB ...
Read more

Tema 01 Introduccion Q - Scribd - Read books, audiobooks ...

Tema 01 Introduccion Q - Free download as PDF File (.pdf), Text File (.txt) or view presentation slides online.
Read more

Introducción Tema 1

Introducción Tema 1 - Free download as PDF File (.pdf), Text File (.txt) or read online for free.
Read more

TEMA 1. INTRODUCCIÓN.pdf - Scribd - Read books ...

prof. victoria mousalli mvictoria@ula.ve mayo, 2011 historia del perfilaje en pozos. definiciones bÁsicas.tipos de perfiles importancia del ...
Read more

Introducción al Movimiento | Fisicalab

Introducción al Movimiento: Contenidos teóricos, ejercicios resueltos, imágenes, animaciones y formularios de Física.
Read more