ciclo de vida de un proyecto de software

7
1.2 Ciclo de vida de un proyecto de software. Un ciclo de vida compuesto por una serie de etapas que comprenden todas las actividades, desde el momento en que surge la idea de crear un nuevo producto software, hasta aquel en que el producto deja definitivamente de ser utilizado por el último de sus usuarios. · Expresión de necesidades: en esta etapa se obtendrá un documento con las necesidades y funciones que el sistemas ofrecerá al usuario.(su origen suele ser de una serie de entrevistas al cliente). · Especificaciones: formalizar los requerimientos de la etapa anterior, se obtendrá un nuevo documento que definirá con más precisión el sistema requerido por el sistema. · Análisis: se determinan los elementos que intervienen en el sistema, estructura, relaciones, evolución en el tiempo, detalle de las funcionalidades, las funciones que va a aportar y el comportamiento que tendrá. · Diseño: ¿Cómo debe ser construido el sistema? Aquí se definirá entidades y relaciones de las base de datos, seleccionara el lenguaje adecuado, librerías, configuraciones, redes, etc.… · Observación: son decisiones que se encontraran en el transcurso de las etapas justificadas por políticas de las empresas o rumores de la publicidad. · Implementación: llegado este punto se empieza a codificar algoritmos y estructuras de datos, definidos en las etapas anteriores. · Pruebas: garantizar que el sistema ha sido desarrollado correctamente, sin errores de diseño y/o programación. · Validación: tiene como objetivo verificar que el sistema cumple con los requisitos expresados inicialmente. · Mantenimiento y evolución: en esta última etapa se da mejora o corrección de la aplicación así como posibles modificaciones futuras. 1.2.1 Planificación y gestión del proyecto. La gestión del proyecto comienza con un conjunto de actividades llamadas planificación del proyecto. Se debe realizar una estimación del trabajo a realizar, los recursos necesarios y el tiempo que transcurrirá. Se considera el tamaño del proyecto ya que afectaría la precisión y la eficiencia de las estimaciones. La complejidad del proyecto y el grado de incertidumbre estructural

Upload: paulinanyo

Post on 29-Jun-2015

2.477 views

Category:

Documents


0 download

DESCRIPTION

1.2 Ciclo de vida de un proyecto de software. Un ciclo de vida compuesto por una serie de etapas que comprenden todas las actividades, desde el momento en que surge la idea de crear un nuevo producto software, hasta aquel en que el producto deja definitivamente de ser utilizado por el último de sus usuarios. · Expresión de necesidades: en esta etapa se obtendrá un documento con las necesidades y funciones que el sistemas ofrecerá al usuario.(su origen suele ser de una serie de entrevistas al cli

TRANSCRIPT

Page 1: Ciclo de vida de un proyecto de software

1.2 Ciclo de vida de un proyecto de software.

Un ciclo de vida compuesto por una serie de etapas que comprenden todas las actividades, desde el momento en que surge la idea de crear un nuevo producto software, hasta aquel en que el producto deja definitivamente de ser utilizado por el último de sus usuarios.· Expresión de necesidades: en esta etapa se obtendrá un documento con las necesidades y funciones que el sistemas ofrecerá al usuario.(su origen suele ser de una serie de entrevistas al cliente).

· Especificaciones: formalizar los requerimientos de la etapa anterior, se obtendrá un nuevo documento que definirá con más precisión el sistema requerido por el sistema.

· Análisis: se determinan los elementos que intervienen en el sistema, estructura, relaciones, evolución en el tiempo, detalle de las funcionalidades, las funciones que va a aportar y el comportamiento que tendrá.

· Diseño: ¿Cómo debe ser construido el sistema? Aquí se definirá entidades y relaciones de las base de datos, seleccionara el lenguaje adecuado, librerías, configuraciones, redes, etc.…

· Observación: son decisiones que se encontraran en el transcurso de las etapas justificadas por políticas de las empresas o rumores de la publicidad.

· Implementación: llegado este punto se empieza a codificar algoritmos y estructuras de datos, definidos en las etapas anteriores.

· Pruebas: garantizar que el sistema ha sido desarrollado correctamente, sin errores de diseño y/o programación.

· Validación: tiene como objetivo verificar que el sistema cumple con los requisitos expresados inicialmente.

· Mantenimiento y evolución: en esta última etapa se da mejora o corrección de la aplicación así como posibles modificaciones futuras.

1.2.1 Planificación y gestión del proyecto.

La gestión del proyecto comienza con un conjunto de actividades llamadas planificación del proyecto.

Se debe realizar una estimación del trabajo a realizar, los recursos necesarios y el tiempo que transcurrirá.

Se considera el tamaño del proyecto ya que afectaría la precisión y la eficiencia de las estimaciones.La complejidad del proyecto y el grado de incertidumbre estructural afectan a la fiabilidad de la estimación.El registro se mide por el grado de incertidumbre en las estimaciones cuantitativas establecidas por recursos, coste y planificación temporal.El objetivo de la planificación del proyecto de software es proporcional un marco de trabajo que permita al gestor hacer estimaciones razonables de recursos, coste y planificación temporal

1.2.2 Determinación de requerimientos.

Page 2: Ciclo de vida de un proyecto de software

DETERMINACION DE REQUERIMIENTOSLa determinación de requerimientos es el conjunto de actividades encaminadas a obtener las características necesarias que deberá poseer el nuevo sistema, es el estudio de un sistema, actividad o proceso, para comprender cómo trabaja y dónde es necesario efectuar mejoras o cambios considerables. Este es el primer paso en el análisis de sistemas y se puede decir que es el más importante.

1.2.3 Análisis y diseño

ANALISIS:

Es necesario determinar qué elementos intervienen en el sistemas a desarrollar, así como su estructura, relaciones, evolución en el tiempo, detalle de sus funcionalidades,…que van a dar una descripción clara de que sistema vamos a construir, qué funcionalidades va a aportar y qué comportamiento va a tener.

DISEÑO:

Tras la etapa anterior ya se tiene claro que debe hacer el sistema, ahora tenemos que determinar cómo va a hacerlo (¿cómo debe ser construido el sistema?; aquí se definirán en detalle entidades y relaciones de las bases de datos, se pasará de casos de uso esenciales a su definición como casos expandidos reales, se seleccionara el lenguaje más adecuado, el Sistema Gestor de Base de Datos a utilizar en un caso, librerías, configuraciones hardware, redes, etc.)

La función del Análisis 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 documentación que hacen efectiva la logística metodología o controles de requerimientos del Programa.

Hardware, dispositivos electrónicos y electromecánicos, que proporcionan capacidad de cálculos y funciones rápidas, exactas y efectivas1.2.4 Programación.

Programación Sistemas

Los encargados de desarrollar software pueden instalar paquetes comprados a terceros o escribir programas diseñados a la medida del solicitante. La elección depende del costo de cada alternativa, del tiempo disponible para escribir el software y de la disponibilidad de los programadores.Lenguajes de Programación

Los lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas se denominan programas de programación. Los lenguajes de programación se clasifican en tres grandes categorías, 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 traducción posterior para que la UCP pueda comprender y ejecutar el programa.

Las instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria más pequeña (bit) = digito binario 0 o 1, en esencia una secuencia de bits que especifican la operación y las celdas de memoria implicadas en una operación.

Ejemplo. Instrucciones en lenguaje de maquina:

Page 3: Ciclo de vida de un proyecto de software

0010, 0000, 1001, 1001, 10001, 1110.

Como se observa estas instrucciones son fáciles de leer por una computadora y difíciles para un programador y viceversa. Por esta razón se hace difícil escribir programas en código o lenguaje de máquina. Y se requiere otro lenguaje para comunicarse con la computadora pero que se hace más fácil de escribir y de leer por el programador. Para evitar la tediosa tarea de escribir programas en este lenguaje se han diseñado otros programas de programación que facilitan la escritura y posterior ejecución de los programas.

— Estos son lenguajes de bajo y alto nivel.— Lenguaje de bajo nivel( ensambladores)

La programación en lenguaje de maquina es difícil, por ello se necesitan lenguajes que permitan simplificar este proceso los lenguajes de bajo nivel han sido diseñados para ese fin.

Estos lenguajes dependen de la maquina o sea del conjunto de instrucciones especificas de la computadora, ejemplo el lenguaje ensamblador en el las instrucciones se escriben en códigos alfabéticos conocidos como nemotécnicos (abreviaturas de palabras inglesas o españolas, ejemplo sumar en ingles

— ADD = suma— SUB= resta— MPY = multiplicar— DIV=dividir— LDA= cargar acumulador— STO= almacenarLas palabras nemotécnicas son más fáciles de recordar que las secuencias de dígitos de 0 a 1.Una instrucciones típica en ensamblador puede ser ADD X, Y, Z.Esta instrucción significa que se deben sumar los números almacenados en las direcciones X,Y y almacenar el resultado en la dirección z, el lenguaje ensamblador traducirá la instrucción a código de máquina, por ejemplo.

— ADD = 1110— X=1001— Y=1010— Z=1011— La instrucción traducida será 1110 1001 1000 1011

Lenguaje de alto nivel.

Los lenguaje de programación de alto nivel (BASIC, PASCAL, FORTRAN, C,COBOL) son aquellos en los cuales las instrucciones o sentencias a la computadora se escriben con palabras similares a los lenguajes humanos.

En general en lenguaje ingles como es el caso de Quick Basic, lo cual facilita la escritura y la comprensión por parte del programador.

Una línea de un programa en Quick Basic es:

— REM Resolución de un triangulo PRINT— INPUT “LADO A= “ ; A— INPUT “LADO B= “; B— INPUT “LADO C”; C— PRINT— LET PERIMETRO= A+B+C— PRINT “PERIMETRO=“; PERIMETRO— END

Page 4: Ciclo de vida de un proyecto de software

Características de los lenguajes de programación:

Transportabilidad: Un programa escrito en un lenguaje de alto nivel se puede escribir con poca o ninguna modificación en distintos tipos de computadora.

Independencia: Los lenguajes deben ser independientes de la máquina o sea una sentencia no depende del diseño de hardware de una computadora en particular.

Los programas escritos en lenguaje de alto nivel no son entendibles directamente por la maquina.Necesitan ser traducidos a instrucciones en lenguaje de máquina que lo entienda la computadora.Los programas que realizan esta traducción se llaman programas compiladores.Los programas escritos en lenguaje de alto nivel se llaman programas fuentesEl compilador traduce el programa fuente en un programa objeto, el cual se utiliza en la fase de ejecución del programa.Algunas computadoras o microcomputadoras utilizan unos programas similares llamados programas interpretes que traducen los programas.El proceso de traducción de un programa fuente se denomina interpretación o compilación, según sea el programa.

1.2.5 Pruebas e Implementación.

Pruebas E Implementación Sistema

— Pruebas: Antes de que pueda ser usado el sistema de información debe ser probado. Durante este proceso se debe poner en práctica todas las estrategias posibles para garantizar que el usuario inicial del sistema se encuentre libre de problemas.— La implementación: Es la última fase del desarrollo de sistemas. Es el proceso de instalar equipos o software nuevo, como resultado de un análisis y diseño previo como resultado de la situación 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 análisis y permitir que los usuarios puedan operarlos.— Durante el proceso de implementación y prueba se deben poner en práctica 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 básicas:— Prueba de carga máxima: Consiste en probar si el sistema puede manejar el volumen de actividades que ocurren cuando el sistema está en el punto más 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 ejecución: Determina el tiempo de máquina que el sistema necesita para procesar los datos de una transición. Prueba de recuperación: Probar la capacidad del sistema para recuperar datos y restablecer después 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.

Existen varios enfoques de implementación:

Page 5: Ciclo de vida de un proyecto de software

— *Es darle responsabilidad a los grupos— *Uso de diferentes estrategias para el enfrentamiento de usuarios. *El analista necesita formular medidas

http://fundamentosdesarrollodesistemas.blogspot.com/2010/02/12-ciclo-de-vida-de-un-proyecto-de.html.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. .-.-.-.-.-.-.-.-. .-.-.-.-.-.-.-.-. .-.-.-.-.-.-.-.-. .-.-.-.-.-.-.-.-. .-.-.-.-.-.-.-.-.

1.2 Ciclo de vida del software

Al igual que en otros sistemas de ingeniería, los sistemas de software requieren un tiempo y esfuerzo considerable para su desarrollo y deben permanecer en uso por un periodo mucho mayor. Durante este tiempo de desarrollo y uso, desde que se detecta la necesidad de construir un sistema de software hasta que este es retirado, se identifican varias etapas que en conjunto se denominan el ciclo de vida del software y en cada caso, en función de cuales sean las características del proyecto, se configurará el ciclo de vida de forma diferente. Usualmente se consideran las etapas: especificación y análisis derequisitos, diseño del sistema, implementación del software, aplicación y pruebas, entrega y mantenimiento. Un aspecto esencial dentro de las tareas del desarrollo del software es la documentación de todos los elementos y especificaciones en cada fase. Dado que esta tarea siempre estará influida por la fase del desarrollo en curso, se explicará de forma distribuida a lo largo de las diferentes fases como un apartado especial para recalcar su importancia en el conjunto del desarrollo del software.

Tal como ya hemos mencionado, las etapas principales a realizar en cualquier ciclo de vida son:

1. Análisis: Construye un modelo de los requisitos2. Diseño: A partir del modelo de análisis se deducen las estructuras de datos,

la estructura en la que descompone el sistema y la interfaz de usuario.3. Codificación: Construye el sistema. La salida de esta fase es código

ejecutable.4. Pruebas: Se comprueba que se cumplen criterios de corrección y calidad.5. Mantenimiento: En esta fase, que tiene lugar después de la entrega se

asegura que el sistema siga funcionando y adaptándose a nuevos requisitos.

http://www.ia.uned.es/ia/asignaturas/adms/GuiaDidADMS/node10.html