FDS
FDS
FDS
CICLO DE VIDA DE UN
PROYECTO DE SOFTWARE
PRESENTA:
ANTELE PASCUAL NESTOR GUADALUPE GONZALEZ LUIS MARLEN YOSELI MARTINEZ GALMICHE LEYDI PEREZ CASTRO NESTOR ABEL.
1.2 CICLO DE VIDA DE UN PROYECTO DE SOFTWARE El trmino ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propsito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicacin, es decir, para garantizar que el software cumpla los requisitos para la aplicacin y verificacin de los procedimientos de desarrollo: se asegura de que los mtodos utilizados son apropiados. Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementacin. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementacin y en los costos asociados. El ciclo de vida bsico de un software consta de los siguientes procedimientos:
Definicin de objetivos: definir el resultado del proyecto y su papel en la estrategia global. Anlisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restriccin que se pueda aplicar. Diseo general: requisitos generales de la arquitectura de la aplicacin. Diseo en detalle: definicin precisa de cada subconjunto de la aplicacin. Programacin (programacin e implementacin): es la implementacin de un lenguaje de programacin para crear las funciones definidas durante la etapa de diseo. Prueba de unidad: prueba individual de cada subconjunto de la aplicacin para garantizar que se implementaron de acuerdo con las especificaciones. Integracin: para garantizar que los diferentes mdulos se integren con la aplicacin. ste es el propsito de la prueba de integracin que est cuidadosamente documentada. Prueba beta (o validacin), para garantizar que el software cumple con las especificaciones originales. Documentacin: sirve para documentar informacin necesaria para los usuarios del software y para desarrollos futuros. Implementacin Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).
El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicacin dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.
1.2.1 Planificacin y gestin del proyecto La gestin de proyectos busca las tcnicas necesarias para planificar, organizar, supervisar y controlar proyectos de software. El objetivo de gestionar proyectos es tener un producto de alta calidad. La gestin de un proyecto de software se centra en tres partes como son: Personal Problema Proceso
Personal: El factor humano es importante en la ingeniera de software. Es importante tener la capacidad de gestin del personal con el fin de aumentar la preparacin en la organizacin del software; ayudando a atraer, motivar y retener el talento necesario para mejorar su capacidad de desarrollo de software. En toda organizacin que alcanza la madurez en el rea de gestin de personal tiene una mayor probabilidad de implementar unas eficaces prcticas de ingeniera de software, esto gua a que las organizaciones tengan un proceso de software maduro. El problema: Se establecen los objetivos y se deben considerar soluciones alternativas e identificar las dificultades tcnicas y de gestin. Con esta informacin es posible definir unas estimaciones razonables del costo, una valoracin efectiva del riesgo, una subdivisin realista de las tareas del proyecto o una planificacin del proyecto asequible que proporcione una indicacin fiable del progreso. El desarrollador de software y el cliente deben reunirse para definir los objetivos del proyecto. Los objetivos identifican las metas generales del proyecto sin considerar cmo se conseguirn. Se identifican los datos primarios, funciones y comportamientos que caracterizan el problema, intenta abordar estas caractersticas de una manera cuantitativa. Tambin se consideran las soluciones alternativas,
estas permiten a los gestores y a los profesionales seleccionar el mejor enfoque. Proceso: En el proceso de software proporciona la estructura desde la que se puede establecer un detallado plan para el desarrollo del software. Las actividades estructurales se pueden aplicar a todos los proyectos de software, sin tener en cuenta su tamao o complejidad, adems permiten a las actividades estructurales adaptarse a las caractersticas del proyecto de software y a los requisitos del equipo del proyecto. Personal El proceso de software lo componen participantes que pueden clasificarse en cinco categoras: Gestores superiores: definen los aspectos de negocios que a menudo tienen una significativa influencia en el proyecto Gestores tcnicos del proyecto: deben planificar, organizar y controlar a los profesionales que realizan el trabajo del software. Profesionales: proporcionan las capacidades tcnicas para la ingeniera de un producto Clientes: especifica los requisitos para la ingeniera de software. Usuarios finales: interaccionan con el software una vez que se ha entregado para la produccin.
Para gestionar un proyecto de software, se requiere que el jefe del equipo humano tenga motivacin, organizacin, ideas o innovacin. El gestor del proyecto debe concentrarse en entender el problema a resolver, gestionando el flujo de ideas. Existen otras caractersticas como dotes de gestin, incentivo de los logros, espritu de equipo. Hay muchos motivos por los que los proyectos de software pueden tener problemas como son: La escala del desarrollo es grande, esto conduce a tener complejidades y dificultades para coordinar a los miembros del equipo. La incertidumbre se dan cambios continuos que impactan en el equipo del proyecto La interoperabilidad es una caracterstica de los sistemas
El software nuevo debe comunicarse con el anterior y ajustarse a las limitaciones predefinidas impuestas por el sistema. Los miembros de un
equipo de ingeniera del software comparten ideas, piden ayudas a medida que surgen los problemas e interactan los unos con los otros. Problema: Busca un anlisis detallado de los requisitos del software proporcionara la informacin necesaria para las estimaciones, claro esta que puede llevar semanas o meses. Se debe examinar el problema al inicio de proyecto, establecer el problema y delimitndolo. La primera gestin un proyecto de software es determinar el mbito del software. Se define el contexto, que limitaciones se imponen; el objetivo de la informacin, que datos se obtienen del software; y la funcin, que realiza el software para transformar la informacin. Para la descomposicin del problema tiende a aplicarse la estrategia de divide y vencers, cuando se enfrenta a problemas complejos, es decir el problema se parte en problemas ms pequeos y con esto se busca que sean manejables. Proceso: Las fases que caracterizan el proceso de software se encuentran la definicin, el desarrollo y el mantenimiento. El gestor del proyecto decide qu modelo es el ms adecuado para desarrollar el proyecto, luego debe definir un plan preliminar, para luego continuar con la descomposicin del proceso. Se debe tener en cuenta la maduracin del problema, descomposicin del proceso. Es importante invertir tiempo al principio del proyecto para tener un plan con buenas bases que se evidencian durante el desarrollo del proyecto y llevar el control de calidad de dicho proyecto.
1.2.2 Determinacin de requerimientos. La determinacin de requerimientos es el conjunto de actividades encaminadas a obtener las caractersticas necesarias que deber poseer el nuevo sistema, es el estudio de un sistema, actividad o proceso, para comprender cmo trabaja y dnde es necesario efectuar mejoras o cambios considerables. Este es el primer paso en el anlisis de sistemas y se puede decir que es el ms importante. Los requerimientos son la Pieza fundamental en un proyecto de desarrollo de software, es ellos se basan muchos participantes del proyecto para:
Planear el proyecto y los recursos que se usarn en l. Los lderes de proyecto usan los requerimientos como una base para la estimacin del esfuerzo necesario en un proyecto. Especificar el tipo de verificaciones que se habrn de realizar al sistema. Por ejemplo: cuando se est tratando de alinearse a cierta norma oficial o estndar. Planear la estrategia de prueba a la que habr de ser sometido el sistema. Los requerimientos son la base sobre la cual se decide si un caso de prueba fue ejecutado exitosamente por el sistema o no. Son el fundamento del ciclo de vida del proyecto.
Los requerimientos documentados son la base para crear la documentacin del sistema de ah su importancia y la importancia de que deban de ser definidos y manejados de la forma ms adecuada posible.
Los requerimientos deben ser: Especificados por escrito. Como todo contrato o acuerdo entre dos partes Posibles de probar o verificar. Si un requerimiento no se puede comprobar, entonces cmo sabemos si cumplimos con l o no? Descritos como una caracterstica del sistema a entregar. Esto es: que es lo que el sistema debe de hacer (y no como debe de hacerlo). Lo ms abstracto y conciso posible. Para evitar malas interpretaciones.
1.2.3 Anlisis y diseo ANALISIS: Es necesario determinar qu elementos intervienen en el sistemas a desarrollar, as como su estructura, relaciones, evolucin en el tiempo, detalle de sus funcionalidades,que van a dar una descripcin clara de que sistema vamos a construir, qu funcionalidades va a aportar y qu comportamiento va a tener. DISEO: Tras la etapa anterior ya se tiene claro que debe hacer el sistema, ahora tenemos que determinar cmo va a hacerlo (cmo debe ser construido el sistema?; aqu se definirn en detalle entidades y
relaciones de las bases de datos, se pasar de casos de uso esenciales a su definicin como casos expandidos reales, se seleccionara el lenguaje ms adecuado, el Sistema Gestor de Base de Datos a utilizar en un caso, libreras, configuraciones hardware, redes, etc.)La funcin del Anlisis puede ser dar soporte a las actividades de un negocio, o desarrollar un producto que pueda venderse para generar beneficios. Software, que son Programas de computadora, con estructuras de datos y su documentacin que hacen efectiva la logstica metodologa o controles de requerimientos del Programa. Hardware, dispositivos electrnicos y electromecnicos, que proporcionan capacidad de clculos y funciones rpidas, exactas y efectivas 1.2.4 Programacin. Programacin Sistemas. Los encargados de desarrollar software pueden instalar paquetes comprados a terceros o escribir programas diseados a la medida del solicitante. La eleccin depende del costo de cada alternativa, del tiempo disponible para escribir el software y de la disponibilidad de los programadores. Lenguajes de Programacin. Los lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas se denominan programas de programacin. Los lenguajes de programacin se clasifican en tres grandes categoras, maquinas: bajo nivel y alto nivel. Lenguaje de maquina: El lenguaje de maquina es aquel cuyas instrucciones son directamente entendibles por la computadora y no necesitan traduccin posterior para que la UCP pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en trminos de la unidad de memoria ms pequea (bit) = digito binario 0 o 1, en esencia una secuencia de bits que especifican la operacin y las celdas de memoria implicadas en una operacin.
1.2.5 Pruebas e Implementacin. Pruebas: Antes de que pueda ser usado el sistema de informacin debe ser probado. Durante este proceso se debe poner en prctica todas las estrategias posibles para garantizar que el usuario inicial del sistema se encuentre libre de problemas.
La implementacin: Es la ltima fase del desarrollo de sistemas. Es el proceso de instalar equipos o software nuevo, como resultado de un anlisis y diseo previo como resultado de la situacin o mejoramiento de la forma de llevar a cabo un proceso automatizado. Al implementar un sistema lo primero que debemos hacer es asegurarnos qu el sistema sea operacional o que funcione de acuerdo a los requerimientos del anlisis y permitir que los usuarios puedan operarlos. Durante el proceso de implementacin y prueba se deben poner en prctica todas las estrategias posibles para garantizar que el usuario inicial del sistema se encuentre libre de problemas lo cual se puede describir durante este proceso se lleva a cabo las correcciones. Existen seis pruebas bsicas: Prueba de carga mxima: Consiste en probar si el sistema puede manejar el volumen de actividades que ocurren cuando el sistema est en el punto ms alto de su demanda de procesamiento. Prueba de almacenamiento: Determina si el sistema puede almacenar una alta cantidad proyectada de datos tanto en sus dispositivos de discos fijos y movibles. Prueba de tiempo de ejecucin: Determina el tiempo de mquina que el sistema necesita para procesar los datos de una transicin. Prueba de recuperacin: Probarla capacidad del sistema para recuperar datos y restablecer despus de una falla. Prueba de procedimientos: Evaluar la claridad, validez, seguridad as como su facilidad y sencillez de los manuales de procedimientos. Prueba de recursos humanos: Se determinan como utilizar los usuarios el sistema al procesar datos o procesar informes.