Documentos de Académico
Documentos de Profesional
Documentos de Cultura
No existe posibilidad alguna de automatizar mas que con herramientas CASE el diseo del software. Un sistema critico requiere un proceso muy estructurado. Sistema de negocio requiere un proceso flexible y agil Especificacion: Funcionalidad del software y restricciones de operacion Diseo e implementacin: P+roducir software Validacion: Hace lo que el cliente desea? Evolucion: Cubrir necesidades cambiantes del cliente Los procesos se pueden mejorar por la estandarizacin, que reduce el tiempo de formacin, y mas economico
b) Prototipos Desechables: Experimentar con los requerimientos que no se comprenden del todo para comprenderlos y mejorarlos. Desventajas: No es rentable producir documentos que reflejen cada versin, Se producen sistemas con una estructura deficiente Funciona bien en sistemas medianos y pequeos. Para sistemas grandes modelo en cascada y evolutivo mezclado. Reutilizacion indispensable pero informal. 3)Ingenieria del software basada en componentes: Se basa en la reutilizacin, algunas veces los componentes son sistemas por si mismos que se pueden usar para proporcionar una funcionalidad especifica. Etapas intermedias son distintas: Analisis de componentes: Se buscan los componentes para implementar, estos proporcionan solo parte de la funcionalidad Modificacion de requerimientos: Si las modificaciones no son posibles el anlisis de lleva a cabo nuevamente Diseo del sistema con reutilizacin: Se disea un marco de trabajo para el sistema Desarrollo e Integracion: Se integran los sistemas Ventajas: Reduce la cantidad de software a desarrollar y reduce costos y riesgos. Desventajas: Puede no cumplir totalmente los requerimientos, y si el software usado no es de control de la empresa, puede perderse el control sobre la evolucin del sistema.
Fases: Inicio: establecer un curso de negocio para el sistema. Evalua la aportacin que hace el sistema al negocio Elaboracion: desarrollar una compresin del dominio del problema. Casos de uso UML Construccion: diseo del sistema, programacin y pruebas. Al terminar debe haber un sistema software operativo Transicin: mover el sistema desde la comunidad de desarrollo a la comunidad del usuario y hacerlo trabajar en un entorno real. Cada fase se puede representar de un modo iterativo con resultados incrementales. El conjunto entero puede verse de forma incremental buenas practicas: Desarrollar software de forma iterativa Gestionar los requerimientos arquitectura basada en componentes Verificar calidad software Controlar cambios software El RUP no es apropiado para todo tipo desarrollo. Innovaciones mas importantes son separacin en fases y flujos de trabajo. Fases dinamicas y flujos estaticos 4.5 Ingenieria asistida por computador CASE Incluye editores texto, diseo, direcc datos compiladores etc. Ejemplos Modelos graficos, comprensin del diseo con un diccionario de datos, generacin interfaces, depuracin etc CASE automatiza tareas rutinarias, ya que no ha tenido xito la inteligencia artificial Clasificacion Funcional: que hacen Proceso: a que ayudan Integracion: En la practica los limites son borrosos
P. administracin: no se puede producir documentacin del sistema. Dificil usar el personal existente P . contractuales: normalmente se basa en la especificacin del sistema, pero aqu debe ser de acuerdo al tiempo invertido. El desarrollador no puede controlar los cambios requeridos P. Validacion: Se intenta minimizar la documentacin, por lo que la validacin independiente es difcil P. mantenimiento: cambios continuos corrompen el sistema por lo k es difcil entender el software
Los sistemas grandes sufren los mismos problemas de req inciertos y cambiantes. Para abordarlos se puede usar un proceso hibrido en donde se experimetan con los requerimientos y diseo. Se utiliza un prototipado , que es un proceso iterativo para desarrollar un sistema experimental que no esta destinada a la utilizacin de los clientes. Tiene obj distintos: Validar u obtener requerimientos. Debe comenzar con aquellos que no se comprenden bien
Metodos Agiles:
Pensados para entregar software funcional de forma rpido a los clientes Metodos: Programacion extrema Scrum Cristal Des software adaptable DsDM des dirigido por caractersticas Problemas de Principios de los mtodos agiles: participacin del cliente: Dificil que el cliente participe con el equipo de desarrollo Los miembros pueden no tener la personalidad para trabajar en equipo Priorizar los cambios puede ser difcil Mantener la simplicidad requiere trabajo extra Redactar un contrato puede ser difcil Son apropiados para sistemas de negocios pequeos y medianos
Programacin Extrema: Usa tcnicas iterativas y participacin del cliente en niveles extremos. Requerimientos se especifican como escenarios y se implementan directamente como una serie de tareas. Los programadores trabajan de a 2 Practicas: Entregas pequeas
Compromiso a tiempo completo del cliente en el equipo de desarrollo No se contempla cambios futuros en el sistema Los requerimientos no se especifican como una lista de funciones requeridas del sistema. Si se requieren cambios en un sistema ya entregado, se desarrllan nuevas tarjetas de historias y el cliente decide la prioridad. Se pueden construir varias veces al dia versiones de software y se entrega cada 2 meses aprox. Se evita pensar en mantenimiento para hacer el software fcil de entender y cambiar. Pruebas: No existe una especificacin del sistma para desarrollar pruebas. Pone nfasis en el proceso de pruebas: Desarrollo previamente probado(1 se crean pruebas, luego el software) pruebas incrementales participacin del usuario en las pruebas uso de bancos de prueba automatizados Al escribir primero las pruebas se define implcitamente una interfaz y una especificacin de funcionamiento Programacion en parejas: Se sientan juntos en la misma estacin, tiene ventajas: Idea de propiedad y responsabilidad comunes Proceso de revisin informal La productividad en pareja parece ser igual que individualmente Desarrollo Rapido de aplicaciones (RAD): Herramientas: lenguaje de prog de base de datos Generador de interfaces Enlaces a aplicaciones de oficina Generador de informes Hacen llamadas a componentes reutilizables, a cdigo de propsito especial o ambos. Permite el desarrollo de aplicaciones relativamente sencillas por un equipo pequeo. Prototipado del software: