Clase02 Dis Sist

14
DISEÑO DE SISTEMAS ING° VICTOR M. ARCE ROJAS [email protected] PROCESOS DE SOFTWARE

description

Diseño de Sistemas 02

Transcript of Clase02 Dis Sist

GERENCIA INFORMTICA

DISEO DESISTEMASING VICTOR M. ARCE [email protected]

PROCESOS DE SOFTWAREProceso de SoftwareObjetivos

Entender qu es el proceso de desarrollo de software Cules son los componentes que debe considerar un proceso de desarrollo de software Modelos de proceso de desarrollo de software Calidad del proceso de desarrollo de softwareProceso de SoftwareConceptos importantes

Personas:los que trabajan

Producto:lo que se obtiene

Proyecto:la pauta a seguir para desarrollar un producto Proceso:la pauta a seguir para desarrollar un proyectoProceso de SoftwareEjemplosConceptoCASOSTRAJEUNA CENASOFTWAREPersonasEl sastreEmpleados de una empresa de cateringNosotros ProductoEl trajeLa cena que se sirveLa aplicacin que elijasProyectoLa secuencia de acciones para hacer un trajeLa secuencia de acciones de servir una cena concreta SI-1ProcesoLo que aprende un sastre cuando aprende a hacer trajesLas instrucciones de la empresa sobre cmo se sirve una cena ??? Capas de la Ingeniera de SoftwareCapa de herramientasCapa de mtodosCapa de procesoCapa de enfoque de calidad

Capas de la Ingeniera de Software(IS)Capa de calidadBase de cualquier proceso de ingenieraLa IS se basa en calidadMejores tcnicas de construccin de softwareCapa de procesoCapa que une calidad y mtodosDesarrollo racional de la ISConjunto de actividades y resultados asociados que sirven para construir un producto softwareCapas de la Ingeniera de Software(IS)Capa de mtodosUn mtodo incluye:Anlisis de requisitosDiseoConstruccin de programasPruebaMantenimientoSuelen estar bastante ligados al procesoCapa de herramientasSoporte automtico o semiautomtico para el proceso y los mtodosHerramientas CASE: Computer Aided Software Engineering (Ingeniera de Software Asistido por Computadora)Metodologas para desarrollo de softwareUn proceso de software detallados y completo suele denominarse Metodologa. Las metodologas se basan en una combinacin de los modelos de proceso genricos (cascada, evolutivo, incremental, espiral entre otros). Adicionalmente una metodologa debera definir con precisin los artefactos, roles y actividades involucrados, junto con prcticas y tcnicas recomendadas, guas de adaptacin de la metodologa al proyecto, guas para uso de herramientas de apoyo, etc. Habitualmente se utiliza el trmino mtodo para referirse a tcnicas, notaciones y guas asociadas, que son aplicables a una (o algunas) actividades del proceso de desarrollo, por ejemplo, suele hablarse de mtodos de anlisis y/o diseo.Metodologas para desarrollo de softwarePodemos clasificar las metodologas en dos grupos: Metodologas Estructuradas y Metodologas Orientadas a Objetos. Por otra parte, considerando su filosofa de desarrollo, aquellas metodologas con mayor nfasis en la planificacin y control del proyecto, en especificacin precisa de requisitos y modelado, reciben el apelativo de Metodologas Tradicionales (o tambin denominadas Metodologas Pesadas, o Peso Pesado). Otras metodologas, denominadas Metodologas giles, estn ms orientadas a la generacin de cdigo con ciclos muy cortos de desarrollo, se dirigen a equipos de desarrollo pequeos, hacen especial hincapi en aspectos humanos asociados al trabajo en equipo e involucran activamente al cliente en el procesoMetodologas para desarrollo de softwareMETODOLOGAS ESTRUCTURADASLos mtodos estructurados comenzaron a desarrollarse a fines de los 70s con la Programacin Estructurada, luego a mediados de los 70s aparecieron tcnicas para el Diseo (por ejemplo: el diagrama de Estructura) primero y posteriormente para el Anlisis (por ejemplo: Diagramas de Flujo de Datos). Estas metodologas son particularmente apropiadas en proyectos que utilizan para la implementacin lenguajes de 3ra y 4ta generacin.Ejemplos de metodologas estructuradas de mbito gubernamental: MERISE (Francia), MTRICA (Espaa), SSADM (Reino Unido). Ejemplos de propuestas de mtodos estructurados en el mbito acadmico: Gane & Sarson, Ward & Mellor, Yourdon & DeMarco e Information Engineering.Metodologas para desarrollo de softwareMETODOLOGAS ORIENTADAS A OBJETOSSu historia va unida a la evolucin de los lenguajes de programacin orientada a objeto, los ms representativos: a fines de los 60s SIMULA, a fines de los 70s Smalltalk-80, la primera versin de C++ por Bjarne Stroustrup en 1981 y actualmente Java o C# de Microsoft. A fines de los 80s comenzaron a consolidarse algunos mtodos Orientadas a Objeto.En 1995 Booch y Rumbaugh proponen el Mtodo Unificado con la ambiciosa idea de conseguir una unificacin de sus mtodos y notaciones, que posteriormente se reorienta a un objetivo ms modesto, para dar lugar al Unified Modeling Language (UML), la notacin Orientada a Objetos ms popular en la actualidad.Algunas metodologas orientadas a objetos que utilizan la notacin UML son:Rational Unified Process (RUP), OPEN, MTRICA (que tambin soporta la notacin estructurada).Metodologas para desarrollo de softwareMETODOLOGAS TRADICIONALESLas metodologas no giles son aquellas que estn guiadas por una fuerte planificacin durante todo el proceso de desarrollo; llamadas tambin metodologas tradicionales o clsicas, donde se realiza una intensa etapa de anlisis y diseo antes de la construccin del sistema.Todas las propuestas metodolgicas antes indicadas pueden considerarse como metodologas tradicionales. En el caso particular de RUP, por el especial nfasis que presenta en cuanto a su adaptacin a las condiciones del proyecto (mediante su configuracin previa a aplicarse), realizando una configuracin adecuada, podra considerarse gil.Metodologas para desarrollo de softwareMETODOLOGAS GILESUn proceso es gil cuando el desarrollo de software es incremental (entregas pequeas de software, con ciclos rpidos), cooperativo (cliente y desarrolladores trabajan juntos constantemente con una cercana comunicacin), sencillo (el mtodo en s mismo es fcil de aprender y modificar, bien documentado), y adaptable (permite realizar cambios de ltimo momento).Entre las metodologas giles identificadas son:Extreme ProgrammingScrumFamilia de Metodologas CrystalFeature Driven DevelopmentProceso Unificado Rational, una configuracin gilDynamic Systems Development MethodAdaptive Software DevelopmentOpen Source Software DevelopmentMetodologas para desarrollo de softwareRational Unified Process (RUP) Extreme Programming (XP)SCRUM(Tarea , investigar sobre la metodologa)