Ingeniería del «software». Ciclo de desarrollo del ... ?· Ciclo de vida en espiral 2.1.3.5. Desarrollo…

Download Ingeniería del «software». Ciclo de desarrollo del ... ?· Ciclo de vida en espiral 2.1.3.5. Desarrollo…

Post on 23-Sep-2018

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>Desarrollo de los temas</p><p>TEMA </p><p>48 Ingeniera del software. Ciclo de desarrollo del software. Tipos de ciclos de desarrollo. Metodologas de desarrollo. Caractersticas distintivas de las principales metodologas de desarrollo utilizadas en la Unin Europea. </p><p>I N F O R M T I C A</p><p>elaborado porEL EQUIPO DE PROFESORES DEL CENTRO DOCUMENTACIN </p></li><li><p>48.2 CEDE INFORMTICA </p><p>CENTRO DOCUMENTACIN DE ESTUDIOS Y OPOSICIONES - C/ CARTAGENA, 129 28002 MADRID www.cede .es e -mai l : opos ic iones@cede.es TEL. : 91 564 42 94 </p><p> GUIN - NDICE 1. INGENIERA DEL SOFTWARE 2. METODOLOGAS DE DESARROLLO SOFTWARE </p><p>2.1. Metodologas de desarrollo tradicional 2.1.1. Ciclo de vida de desarrollo software 2.1.2. Elementos del ciclo de vida software 2.1.3. Tipos del ciclo de vida en el desarrollo software </p><p>2.1.3.1. Ciclo de vida clsico en cascada o clsico 2.1.3.2. Ciclo con tcnicas de cuarta generacin 2.1.3.3. Construccin de prototipos 2.1.3.4. Ciclo de vida en espiral 2.1.3.5. Desarrollo por etapas 2.1.3.6. XP o Programacin extrema 2.1.3.7. Modelo iterativo o creciente </p><p> 3. CARACTERSTICAS DISTINTIVAS DE LAS PRINCIPALES METODOLO-</p><p>GAS DE DESARROLLO UTILIZADAS EN LA UNIN EUROPEA </p><p>3.1. MTRICA V3 3.2. Seis Sigma 3.3. CMMI </p></li><li><p>INFORMTICA CEDE 48.3 </p><p>CENTRO DOCUMENTACIN DE ESTUDIOS Y OPOSICIONES - C/ CARTAGENA, 129 28002 MADRID www.cede .es e -mai l : opos ic iones@cede.es TEL. : 91 564 42 94 </p><p>BIBLIOGRAFA </p><p> Anlisis y Diseo de Sistemas. Editorial McGraw-Hill. </p><p> Ingeniera del Software. Editorial McGraw-Hill. </p><p> GAIL, Linda, CHRISTIE, John. Enciclopedia de Trminos de Computacin. Edito-rial PHH, Pentice Hall. </p><p> PHAN THU. Merise Aplique. Eyrolles. </p><p> MATHERON, Merise. Metodologa de desarrollo de Sistemas. Paraninfo. </p><p> FISHER, A. C.A.S.E. Using Software Development Tools. Wiley. </p><p> WILSON, P. Computer Supported Cooperative Work. Intellect Oxford. </p><p> MAP, Metodologa de planificain de S.I. bajo metodologa Mtrica Versin 3, Gua de Referencia, Gua de Tcnicas. Ministerio. </p></li><li><p>48.4 CEDE INFORMTICA </p><p>CENTRO DOCUMENTACIN DE ESTUDIOS Y OPOSICIONES - C/ CARTAGENA, 129 28002 MADRID www.cede .es e -mai l : opos ic iones@cede.es TEL. : 91 564 42 94 </p><p>1. INGENIERA DEL SOFTWARE </p><p>El desarrollo de sistemas de software complejos no es una actividad trivial, que pueda abordarse sin un anlisis previo. El considerar que un proyecto de desarrollo de software poda abordarse como cualquier otro, ha llevado a una serie de problemas que limitan nuestra capacidad de aprovechar los recursos que el hardware pone a nuestra disposicin. </p><p>No existe una frmula mgica para solucionar estos problemas, pero com-binando mtodos aplicables a cada una de las fases del desarrollo de software, construyendo herramientas para automatizar estos mtodos, utilizando tcnicas para garantizar la calidad de los productos desarrollados y coordinando todas las personas involucradas en el desarrollo de un proyecto, podremos avanzar mucho en la solucin de estos. De ello se encarga la disciplina llamada Ingeniera del Software. </p><p>Una de las primeras definiciones que se dio de la ingeniera del software es la siguiente: </p><p>El establecimiento y uso de principios de ingeniera robustos, orientados a obtener software econmico, que sea fiable y funcione de manera eficiente sobre mquinas reales. </p><p> La ingeniera del software abarca un conjunto de tres elementos clave: m-</p><p>todos, herramientas y procedimientos, que facilitan al gestor el control el proceso de desarrollo y suministran a los desarrolladores bases para construir de forma productiva software de alta calidad. </p><p>Los mtodos indican cmo construir tcnicamente el software, y abarcan una amplia serie de tareas que incluyen la planificacin y estimacin de proyectos, el anlisis de requisitos, el diseo de estructuras de datos, programas y procedimientos, la codificacin, las pruebas y el mantenimiento. Los mtodos introducen frecuentemente una notacin espec-fica para la tarea en cuestin y una serie de criterios de calidad. </p><p>Las herramientas proporcionan un soporte automtico o semiautomtico para utilizar los mtodos. Existen herramientas automatizadas para cada una de las fases vis-tas anteriormente, y sistemas que integran las herramientas de cada fase de forma que sirven para todo el proceso de desarrollo. Estas herramientas se denominan CASE (Computer Assis-ted Software Engineering). </p></li><li><p>INFORMTICA CEDE 48.5 </p><p>CENTRO DOCUMENTACIN DE ESTUDIOS Y OPOSICIONES - C/ CARTAGENA, 129 28002 MADRID www.cede .es e -mai l : opos ic iones@cede.es TEL. : 91 564 42 94 </p><p>Los procedimientos definen la secuencia en que se aplican los mtodos, los documentos que se requieren, los controles que permiten asegurar la calidad y las directri-ces que permiten a los gestores evaluar los progresos. </p><p>2. METODOLOGA DE DESARROLLO SOFTWARE </p><p>Se puede definir mtodo como la ordenacin y explicitacin formal de los medios que conducen eficazmente al logro de un objetivo predeterminado de una tarea con-creta. </p><p>A partir de esta definicin, se puede decir que una metodologa es el con-junto de mtodos que se usan en una determinada actividad con el fin de formalizarla y optimi-zarla. </p><p>Existen claramente dos tipos de metodologas software: </p><p> Metodologas de desarrollo de software tradicional. Metodologas de desarrollo giles. </p><p> 2.1. METODOLOGAS DE DESARROLLO TRADICIONALES </p><p> 2.1.2. Ciclo de vida del desarrollo software </p><p> Todo proyecto de ingeniera tiene unos fines ligados a la obtencin de un producto, </p><p>proceso o servicio que es necesario generar a travs de diversas actividades. Algunas de estas actividades pueden agruparse en fases porque globalmente contribuyen a obtener un producto intermedio, necesario para continuar hacia el producto final y facilitar la gestin del proyecto. </p><p>Al conjunto de las fases empleadas se le denomina ciclo de vida. </p><p>Sin embargo, la forma de agrupar las actividades, los objetivos de cada fase, los tipos de productos intermedios que se generan, etc. Pueden ser muy diferentes dependiendo del tipo de producto o proceso a generar y de las tecnologas empleadas. </p><p>La complejidad de las relaciones entre las distintas actividades crece exponencialmente con el tamao, con lo que rpidamente se hara inabordable si no fuera por la vieja tctica de divide y vencers. De esta forma la divisin de los proyectos en fases sucesivas es un primer paso para la reduccin de su complejidad, tratndose de escoger las partes de manera que sus relaciones entre s sean lo ms simples posibles. </p></li><li><p>48.6 CEDE INFORMTICA </p><p>CENTRO DOCUMENTACIN DE ESTUDIOS Y OPOSICIONES - C/ CARTAGENA, 129 28002 MADRID www.cede .es e -mai l : opos ic iones@cede.es TEL. : 91 564 42 94 </p><p>La definicin de un ciclo de vida facilita el control sobre los tiempos en que es nece-sario aplicar recursos de todo tipo (personal, equipos, suministros, etc.) al proyecto. </p><p>El control de calidad tambin se ve facilitado si la separacin entre fases se hace co-rresponder con puntos en los que sta deba verificarse (mediante comprobaciones sobre los productos parciales obtenidos). </p><p>Por ciclo de vida referido al desarrollo software, se entiende la sucesin de etapas por las que pasa el software desde que un nuevo proyecto es concebido hasta que se deja de usar. </p><p>Cada una de estas etapas lleva asociada una serie de tareas que deben realizarse, y una serie de documentos (en sentido amplio: software) que sern la salida de cada una de estas fases y servirn de entrada en la fase siguiente. </p><p>Existen diversos tipos de ciclo de vida, es decir, diversas formas de ver el proceso de desarrollo de software, y cada uno de ellos va asociado a un paradigma de la ingeniera del software, es decir, a una serie de mtodos, herramientas y procedimientos que debemos usar a lo largo de un proyecto. </p><p>La eleccin de un paradigma u otro se realiza de acuerdo con la naturaleza del proyec-to y de la aplicacin, los mtodos a usar y los controles y entregas requeridos. </p><p>2.1.2. Elementos del ciclo de vida software </p><p>Un ciclo de vida para un proyecto software se compone de fases sucesivas compues-tas por tareas planificables. </p><p>Segn el modelo de ciclo de vida, la sucesin de fases puede ampliarse con bucles de realimentacin, de manera que lo que conceptualmente se considera una misma fase se pue-da ejecutar ms de una vez a lo largo de un proyecto, recibiendo en cada pasada de ejecucin aportaciones de los resultados intermedios que se van produciendo (realimentacin). </p><p>Para un adecuado control de la progresin de las fases de un proyecto se hace nece-sario especificar con suficiente precisin los resultados evaluables, o sea, productos interme-dios, en este caso software con determinadas funcionalidades o requisitos, que deben resultar de las tareas incluidas en cada fase. Normalmente estos productos marcan los hitos entre fa-ses. </p><p>A continuacin presentamos los distintos elementos que integran un ciclo de vida: </p></li><li><p>INFORMTICA CEDE 48.7 </p><p>CENTRO DOCUMENTACIN DE ESTUDIOS Y OPOSICIONES - C/ CARTAGENA, 129 28002 MADRID www.cede .es e -mai l : opos ic iones@cede.es TEL. : 91 564 42 94 </p><p>Fases. Una fase es un conjunto de actividades relacionadas con un objetivo en el de-sarrollo software del proyecto. Se construye agrupando tareas (actividades elementales) que pueden compartir un tramo determinado del tiempo de vida de un proyecto. La agrupacin temporal de tareas impone requisitos software temporales correspondientes a la asignacin de recursos (humanos, financieros o materiales). </p><p>Cuanto ms grande y complejo sea un proyecto, mayor detalle se necesitar en la defi-nicin de las fases para que el contenido de cada una siga siendo manejable. De esta forma, cada fase de un proyecto puede considerarse un micro-proyecto en s mismo, compuesto por un conjunto de micro-fases. </p><p>Cada fase viene definida por un conjunto de elementos observables externamente, co-mo son las actividades con las que se relaciona, los datos de entrada (resultados de la fase anterior, documentos o productos requeridos para la fase, experiencias de proyectos anterio-res), los datos de salida (resultados a utilizar por la fase posterior, experiencia acumulada, pruebas o resultados efectuados) y la estructura interna de la fase. </p><p>Entregables ("deliverables"). Son los productos intermedios que generan las fases. Pa-ra un proyecto software, estos entregables pueden ser materiales (componentes, equipos) o inmateriales (documentos, software). Los entregables permiten evaluar la marcha del proyecto mediante comprobaciones de su adecuacin o no a los requisitos funcionales y de condiciones de realizacin previamente establecidos. Cada una de estas evaluaciones puede servir, ade-ms, para la toma de decisiones a lo largo del desarrollo del proyecto. </p><p>2.1.3. Tipos de ciclo de vida en el desarrollo software </p><p>Las principales diferencias entre distintos modelos de ciclo de vida estn en: </p><p> El alcance del ciclo dependiendo de hasta dnde llegue el proyecto correspondiente. Un proyecto software puede comprender un simple estudio de viabilidad del desarrollo de un producto, o su desarrollo completo o, la evolucin del producto con su desarrollo, fabricacin, y modificaciones posteriores hasta su retirada del mercado. </p><p> Las caractersticas (contenidos) de las fases en que dividen el ciclo del desarrollo software o de la organizacin (inters de reflejar en la divisin en fases aspectos de la divisin interna o externa del trabajo). </p><p> La estructura de la sucesin de las fases que puede ser de diferentes formas, tal y como se describe en los siguientes apartados. </p></li><li><p>48.8 CEDE INFORMTICA </p><p>CENTRO DOCUMENTACIN DE ESTUDIOS Y OPOSICIONES - C/ CARTAGENA, 129 28002 MADRID www.cede .es e -mai l : opos ic iones@cede.es TEL. : 91 564 42 94 </p><p>2.1.3.1. Ciclo de vida en cascada o clsico </p><p>Este paradigma es el ms antiguo de los empleados en la IS y se desarroll a partir del ciclo convencional de una ingeniera. No hay que olvidar que la IS surgi como copia de otras ingenieras, especialmente de las del hardware, para dar solucin a los problemas ms comu-nes que aparecan al desarrollar sistemas de software complejos. </p><p>Es un ciclo de vida en sentido amplio, que incluye no slo las etapas de ingeniera sino toda la vida del producto: las pruebas, el uso (la vida til del software) y el mantenimiento, hasta que llega el momento de sustituirlo. </p><p> Ciclo de vida en cascada </p><p> El ciclo de vida en cascada exige un enfoque sistemtico y secuencial del desarrollo de </p><p>software, que comienza en el nivel de la ingeniera de sistemas y avanza a travs de fases se-cuenciales sucesivas. Estas fases son las siguientes: </p><p>Ingeniera y anlisis del sistema </p><p>El software es siempre parte de un sistema mayor, por lo que siempre va a interrelacio-narse con otros elementos, ya sea hardware, mquinas o personas. Por esto, el primer paso del ciclo de vida de un proyecto consiste en un anlisis de las caractersticas y el comporta-</p></li><li><p>INFORMTICA CEDE 48.9 </p><p>CENTRO DOCUMENTACIN DE ESTUDIOS Y OPOSICIONES - C/ CARTAGENA, 129 28002 MADRID www.cede .es e -mai l : opos ic iones@cede.es TEL. : 91 564 42 94 </p><p>miento del sistema del cual el software va a formar parte. En el caso de que queramos construir un sistema nuevo, por ejemplo un sistema de control, deberemos analizar cules son los requi-sitos y la funcin del sistema, y luego se asignarn un subconjunto de estos requisitos al soft-ware. En el caso de un sistema ya existente (supongamos, por ejemplo, que queremos informatizar una empresa) se debe analizar el funcionamiento de la misma las operaciones que se llevan a cabo en ella, y asignaremos al software aquellas funciones que vamos a automatizar. </p><p>La ingeniera del sistema comprende, por tanto, los requisitos globales a nivel del sis-tema, as como una cierta cantidad de anlisis y de diseo a nivel superior, es decir sin entrar en mucho detalle. </p><p>Anlisis de requisitos del software </p><p>El anlisis de requisitos debe ser ms detallado para aquellos componentes del siste-ma que vamos a implementar mediante software. El ingeniero del software debe comprender cules son los datos que se van a manejar, cul va a ser la funcin que tiene que cumplir el software, cules son las interfaces requeridos y cul es el rendimiento que se espera lograr. </p><p>Los requisitos, tanto del sistema como del software deben documentarse y revisarse con el cliente. </p><p>Diseo </p><p>El diseo se aplica a cuatro caractersticas distintas del software: la estructura de los datos, la arquitectura de las aplicaciones, la estructura interna de los programas y las interfa-ces. </p><p>El diseo es el proceso que traduce los requisitos en una representacin del software de forma que pueda conocerse la arquitectura, funcionalidad e incluso la calidad del mismo antes de comenzar la codificacin. </p><p>Al igual que el anlisis, el diseo debe documentarse y forma parte de la configura-cin del software (el control de configuraciones es lo que nos permite realizar cambios en el software de forma controlada y no traumtica para el cliente). </p></li><li><p>48.10 CEDE INFORMTICA </p><p>CENTRO...</p></li></ul>